Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 08.04.2014, 12:15  
Uvavan
Временная регистрация
 
Регистрация: 18.04.2011
Сообщений: 84
Сказал спасибо: 23
Сказали Спасибо 6 раз(а) в 4 сообщении(ях)
Uvavan на пути к лучшему
По умолчанию Какой не какой ПИД на STM32F103

Здравствуйте!
Делаю для собственного удовольствия и собственных нужд ПИД регулятор (возможно и жалкое подобие ). Регулятор для двигателя на постоянке, управление через ШИМ таймера 2 канал 4. Пользовался ссылками 1 и 2 и 3
Код:
PHP код:
 E=RevN RevT;
        
E=E*(-1);
        
//E=E/334;
        
if (E!=0
        {    
            
U=0;
            
U=Kp*E;
            
I+=E;
            if (
›=4000)
            {
                
I=4000;
            }
            if (
I‹=(-4000))
            {
                
I=-4000;
            }
            
U+=Ki*I;
            
U+=Kd*(E-Eprev);
            
t=TIM2-›CCR4;
            
U+=t;
            if (
U›=5000)
            {
                
U=5000;
            }    
            
TIM2-›CCR4=U;
        }
        
Eprev=E
E=E*(-1); для инвертирования значения ошибки так как при уменьшение скорости период от оптопары увеличиваться а не уменьшается.
Если я правильно понял работу ПИДа при прикладывание усилия на вал двигателя (и его замедление) величина ШИМ увеличивается до достижения заданных оборотов.
Как работает у меня. Заполнение увеличиваться но достигает какого то значения, останавливается и немного "прыгает вокруг" этого значения, хотя заданная скорость не достигнута. До ограничения 5000 единиц не доходит.
Это правильная работа регулятора?
Реклама:
Uvavan вне форума  
Непрочитано 08.04.2014, 13:35  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Какой не какой ПИД на STM32F103

Сообщение от Uvavan Посмотреть сообщение
E=E*(-1); для инвертирования значения ошибки
Вместо этого, я б посоветовал в первой строке E=RevT - RevN;
Boba_spb вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой стек для Ethernet ATmega128 + ENC28J60 выбрать? LionRJ Микроконтроллеры, АЦП, память и т.д 11 17.03.2011 07:37
Какой мультиметр купить? koiah Измерительное оборудование 64 23.08.2010 22:15
Какой длины взять провод-антенну digitest Электроника - это просто 7 12.02.2010 23:03
помогите зачем нужен ASMфаил иHEXфаил.и какой нужно прошиват golinskiy Микроконтроллеры, АЦП, память и т.д 4 21.05.2006 10:41
Разработчикам. Какой чёрт дёргает Вас ставить.. kintos Коллекция глюков 9 04.02.2005 20:38


Часовой пояс GMT +4, время: 15:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot