Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите с проэктом печи нагрева. (Не могу толком понять алгоритм)
Помогите с проэктом печи нагрева.
mikhail09p Дата: Сб, 14.05.2011, 11:43  |                                                                                                                Сообщение # 31
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Во-во! Так я и сделал, только в теле программы.
ЯНДЕКС Дата: 14.05.2011
MiXaS Дата: Пт, 27.09.2013, 16:32  |                                                                                                                Сообщение # 32
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата (ADMIN)
MAX - максимальное воздействие - 100% (значение 255 для команды HPWM) - то есть постоянный импульс с выхода ШИМ (в Picbasic это выглядит как HPWM 1,255,1000) MIN - минимальное воздействие - 0% (значение 0) - отсутствие импульса (в Picbasic это выглядит как HPWM 1,0,1000) err = РП - ТП ' вычислить текущую ошибку - в данном случае это значит вычесть из требуемой температуры текущую - получим разницу (err) между ними ' УВ - управляющее воздействие if (MIN < УВ < MAX) then 'если УВ не достигло предела, то integral = integral + error ' то добавить ошибку в сумму ошибок Endif 'Рассчитаем предварительный результат: УВ_temp = Kp*err + Ki*integral*t_step + Kd*(err - pre_err)/t_step 'Это сама формула для вычисления ПИД.(но как я уже говорил, вся сложность в том, что она не идеальна для всех случаев, поэтому я и говорил про "сказку") 'Осталось подобрать эти коэффициенты, в чем и заключается сложность. 'Вычисляем непосредственное значение УВ (так как оно может выходить за максимальный или минимальный диапазон после вычислений) If УВ_temp > MAX then УВ = MAX endif If УВ_temp < MIN then УВ = MIN pre_err = err ' текущая ошибка стала "ошибкой предыдущего вычисления" для следующего вычисления


Эту конструкцию повторил и опробовал! Работает. Но как Максим и говорил есть трудности с подбором коэф. Ладно если бы их было хотя бы 2.
На работе мне приходится софтить ПЛК ОВЕН. Разработчики для этой железяки написали много библиотек в том числе и ПИД регуляторы с различными выходными воздействиями. Есть даже с двумя выходами для трехходовый клапанов. 1 фаза открыть, вторая закрыть. Но это так, к слову.
Есть один ПИД с функцией автонастройки коэф. Регулятор раскачивает систему: перерегулирует, потом недорегулирует, приэтом измеряет период. В результате нескольких макушем синусоиды, если позволите, автонастройка заканчивается и ПИД выходит в режим регулярования. Иногда очень полезно, но при очень инертной системе, например, поддерживание температуры в торговом центре, практицески не подходит.
В общем решил написать что-то подобное. Покапал и понял, что автоматику в университете нам практицески не дали. Вот теперь коэф сижу подбираю и мечтаю всеже написать автонастройщика.
Monolith Дата: Сб, 28.09.2013, 15:54  |                                                                                                                Сообщение # 33
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 30
Репутация: 0   ±
Замечания:   ±
На сайте с 04.08.2013

Статус: Offline

Klim, из практики повтора устройств и применения в печах с просторов интэрнета:
- у каждого тэна своя тепло-инерция и она различна на диапазонах 0 - 200 и 200-500 намного проще вычитать ее 
- формула вещь хорошая но все как всегда упирается в коэффициенты применяемые в них
- НЕ ЖАДНИЧАТЬ  на ОУ чем линейные ее график тем лучше и для точности и для настройки
- оператору не оставлять так называемые кнопки входа в сервис настройки на лицевой панэли

Pavel_78 Дата: Пн, 30.09.2013, 07:51  |                                                                                                                Сообщение # 34
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 01.02.2012

Статус: Offline

Может немного не в тему- если для предприятия необходимо, то может быть на промышленном контроллере проще сделать. Например ОВЕН. У него библиотеки по ПИД регулированию с самонастройкой имеются. Сам не пробовал их, писал свой регулятор но с коэффициентами намучился, пока подобрал. А по методу регулирования- то использовать не ШИМ, а фазоимпульсное регулирование. Это позволит  компенсировать теплоемкость ТЭНов, поскольку они постоянно разогретые и их разогревать или охлаждать необходимо в меньшей мере. Хотя шум в сети добавится.
MiXaS Дата: Пн, 30.09.2013, 17:07  |                                                                                                                Сообщение # 35
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата (Pavel_78)
Например ОВЕН. У него библиотеки по ПИД регулированию с самонастройкой имеются.


ДЭЖЭВЮ прям.
Pavel_78 Дата: Вт, 01.10.2013, 07:50  |                                                                                                                Сообщение # 36
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 01.02.2012

Статус: Offline

Ладно, не пинайте сильно не дочитал последние сообщения. Человеку помочь хотел. Для разнообразия на Segnetics можно посмотреть - у него то же самонастраивающийся ПИД.
MiXaS Дата: Вт, 01.10.2013, 10:12  |                                                                                                                Сообщение # 37
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата (Pavel_78)
Segnetics
Тоже хорошая штука, даже лучше чем ОВЕН.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите с проэктом печи нагрева. (Не могу толком понять алгоритм)
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: