терморегулятор для ТТ котла

Smarodina
Offline
Зарегистрирован: 03.02.2018

всем привет, сделал контроллер для пеллетной горелки, все работает но есть нюанс... у контроллера есть 10 режимов мощности горелки для поддержания заданной температуры, сейчас режим вибирается PID регулятором но я не могу его настроить чтоб он мог прийти к какому то режиму и на нем работать пока не изменятся факторы которые будут влиять на температуру... PID регулятор слишком быстрый для системы отопления, или я не понимаю как он работает:( 

 

суть в том что я хочу чтоб были заданные режимы работы между которыми регулятор бы выбирал...

rkit
Offline
Зарегистрирован: 23.11.2016

PID регулятор ровно такой быстрый, каким ты его сделаешь. А вот какой-то выбор заданных режимов он не осуществляет, он работает с линейными(+-) объектами управления.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Здесь чего-то такое делали.

Smarodina
Offline
Зарегистрирован: 03.02.2018

как сказать регулятору что у меня жутко медленная система с большой инерцией?

Smarodina
Offline
Зарегистрирован: 03.02.2018

совсем нето... с кучей делеев... у меня контроллер ориентирован на "пользователя" 4 кнопки и сегментный десплей часов на 4 цифры. пуск, стоп, плюс и минут температура.

rkit
Offline
Зарегистрирован: 23.11.2016

Smarodina пишет:

как сказать регулятору что у меня жутко медленная система с большой инерцией?

Установить жутко маленький интегральный компонент. Или уменьшить частоту дискретизации.

Smarodina
Offline
Зарегистрирован: 03.02.2018

rkit пишет:

Smarodina пишет:

как сказать регулятору что у меня жутко медленная система с большой инерцией?

Установить жутко маленький интегральный компонент. Или уменьшить частоту дискретизации.

 

буду пробовать... сейчас происходит так: нажимаю запуск, горелка запускается, на максимум, гонит до заданной температуры, затем ступенчато скидывает, происходит перелет температуры на 3-4 градуса и контроллер скидывает режим на минимальный, затем вода остывает и процесс повторяется... 

 

как я это вижу, регулятор пробует подобрать режим из имеющихся но из за инерции получается перелет... 

 

мне не понятно почему регулятор не понижает мощность "на подходе" к заданной температуре... а "жарит" до достижения заданной температуры.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Попробуйте плясать от текущей температуры ТН

Smarodina
Offline
Зарегистрирован: 03.02.2018

что вы имеете в виду?

SLKH
Offline
Зарегистрирован: 17.08.2015

Smarodina пишет:

 

мне не понятно почему регулятор не понижает мощность "на подходе" к заданной температуре... 

значит, ему такое не поручено. что там запрограммировано по "зависимость мощности горелки от  отклонения температуры (канал "пропорционально")"?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Smarodina пишет:

мне не понятно почему регулятор не понижает мощность "на подходе" к заданной температуре... а "жарит" до достижения заданной температуры.

Потому, что накопилась большая интергральная составляющая.

Один из простых вариантов решения проблемы:

- Замерь инерционнсть
  - Включаешь вручную нагреватель на максимум.
  - греешь до температуры близкой к рабочей (Тр)
  - выключаешь и смотришь на сколько смогла повыситься температура по сравнению с моментом отключения. Пусть это  будет Тв

- При температуре ниже заданной на 1.5 - 2 Тр ( Т< Tр-1.5Тв ) выставляешь флаг и включаешь нагреватель на максимум не используя ПИД. Если Т > Tр-1.5Тв и флаг выставлен, то переходишь в режим ПИД со сбросом интегральной составляющей и флага. 

То же самое можно сделать и если температура сильно вылетела. Но там дельту надо подбирать по скорости охлаждения.

 

И еще алгоритм ПИД выдает требующуюся мощность нагрева, обычно в интервале 0-1 (float) или 0-100 (int). В большинстве случаев это затем переводится в медленный ШИМ из предположения, что есть только один режим нагрева (Вкл/Выкл). В твоем случае переводить надо не в ШИМ, а в один из твоих 10и режимов.
 

 

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019