Настройка PID регулятора
- Войдите на сайт для отправки комментариев
Вс, 28/11/2021 - 15:33
Всем привет!
Имеется вот такой нижний подогрев: http://alli.pub/64zoci
Хочу сделать для него PID контроллер. Управление происходит диммированием. Датчик температуры: PT100 + MAX31865. Датчик вставлен внутрь, максимально близко к нагревателю. Для PID использую библиотеку Гайвера: https://github.com/GyverLibs/GyverPID
Все время получаю "перелет" при включении, потом, конечно, система стабилизируется, но в начале перелет по температуре просто критический. Нижний подогрев имеет просто огромную инерцию, и после отключения нагрева температура продолжает расти. При выставленной температуре в 60 градусов "перелет" получается до 100-120 градусов. Если выставить температуру 100 градусов, то перелет получается до 150градусов
Второй день бьюсь, не могу подобрать нужные параметры.
Красный - включение нагрева (уровень диммирования)
желтый - заданная температура
синий - реальная температура
настройка для этого графика:
GyverPID pid(5, 0.1, 5);
Как сделать так чтобы в начале не было этого перелета по температуре? Какие параметры настраивать?
Использовать другую, отличную от Гайвера, библиотеку и почитать её описание.
Гайвер не особо радует описанием своих опусов.
Вопрос не в том какую библиотеку использовать, я пробовал разные, все сводится к правильной настройке P, I, D, составляющих.
Никак не могу подобрать правильные коэффициенты чтобы не было раскачки системы и перелета по температуре при первом включении.
попробуй P 0.8 I 0.01 D 4-6
а что рассчитал автоматический калибровщик?
1. Составить формулу, высчитывающую скважность, соответствующую заданной мощности с поправкой на температуру, раз уж ты пытаешься регулировать ptc-элемент.
2. Заложить профиль нагрева, а не ступеньку, как у тебя.
И только после этого можно будет начинать калибровать PID
И, кстати говоря, точную температуру можно снимать прямо с элемента, без лишних резисторов.
попробуй P 0.8 I 0.01 D 4-6
Попробовал 0.8, 0.01, 4
Вот графики:
Выглядит на много лучше чем было у меня до этого, но нагрев крайне медленный, минут 10-15 ушо на нагрев до 60 градусов, и все равно был небольшой перелет до 70 градусов (фото 6-7), после 8-го фото температура стабилизировалась на отметке 58-59 градусов.
Если D поставить 6, то график плавно подымается и стабилизируется на 65 градусах, потом очень медленно ползет вниз. Через 15 минут после старта было 63 градуса. Дальше смотреть не стал.
Попробовал те же настройки, только выставил 120 градусов - график поднялся до 130+ градусов, после чего стал крайне медленно опускаться.
Всем спасибо! Поигрался с настройками. при такой комбинации работает не плохо:
Перелет небольшой есть, при установленных 100 градусах перелет составил всего 1 градус! Можно еще поиграться, но и это уже не плохо!
попробуй P 0.8 I 0.01 D 4-6
Попробовал 0.8, 0.01, 4
Вот графики:
Выглядит на много лучше чем было у меня до этого, но нагрев крайне медленный, минут 10-15 ушо на нагрев до 60 градусов, и все равно был небольшой перелет до 70 градусов (фото 6-7), после 8-го фото температура стабилизировалась на отметке 58-59 градусов.
Если D поставить 6, то график плавно подымается и стабилизируется на 65 градусах, потом очень медленно ползет вниз. Через 15 минут после старта было 63 градуса. Дальше смотреть не стал.
Попробовал те же настройки, только выставил 120 градусов - график поднялся до 130+ градусов, после чего стал крайне медленно опускаться.
подскажи как сделать график?
В скетче выводишь в сериал то что хочешь видеть на графике:
В ардуино ИДЕ открываешь:
Инструменты -> Плоттер по последовательному соединению.
Любуешься графиком ))
В той статейке про ПИД, что я переводил для "Песочницы" - было про настройку коэффициентов, почитайте, может будет полезно
Настройка ПИД
Спасибо! Почитаю