Эффективная система управления мощностью нагревателя — pid регулятор, было б очень хорошо если бы можна было ввести готовые коэффициенты в формулу ПИД регулятора. Но на практике оказывается что каждую систему нужно настраивать индивидуально. Математическая модель системмы регулирования могла бы упростить жизнь и высчитать эти коэффициенты Kp, Ki, Kd в формуле Пропорцмонально Интегрально Дифференциального регулирования системмы, но нет смысла строить матмодель для единтчного экземпляра, более того — для построения математической модели системмы регулирования нужно знать много параметров которые либо сложно либо вообще невозможно получить до построения самого устройства.
Я больше практик нежели теоретик поэтому мне ближе запустить pid регулятор с разными настройками и выбрать Kp, Ki, Kd максимально подходящие под мои задачи. К слову сказать для инкубатора или дегидратора система регулировки предполагает подачу ШИМ сигнала на нагреватель и контроль температуры с помощью цыфрового термодатчика. Вычислительных возможностей arduino будет достаточно для такого эксперимента. Единственный ресурс который прдётся потратить — это время.
Постановка задачи.
Нужно настроить pid регулятор на минимальное отклонение температуры от заданной. Что мы имеем ?
- очень инертную систему не критичную ко времени входа в режим
- вычислительные мощности имеют приличный запас
- достаточно простая схема управления мощностью нагревателя
Способ реализации.
Наберёмся терпения — ведь достаточно единожды настроить pid регулятор , ввести в программу регулирования полученные коэффициенты и забыть проблемы построения математических моделей и тому подобного. Тем более, что все процессы будут происходить в автоматическом режиме.
- выбираю из разных методик настройки метод Ziegler-Nichols , позволяющий настроить работающую систему
- задаю Kp в диапазоне от 0 до 500 с шагом 25 при Ki= Kd=0 в каждом случае систему запускаю на 30 минут и начиная с 25 минуты и до 30 определяю максимальное и минимальное значение температуры — эта разность и станет критерием при выборе оптимального значения
- повторяю процедуру Kp в диапазоне около оптимального значения от Kp(оптимальное)-25 до Kp(оптимальное)+25 с шагом 5 при Ki= Kd=0
- вычисляю новое Kp(оптимальное)
- повторяю процедуру Kp в диапазоне около оптимального значения от Kp(оптимальное)-5 до Kp(оптимальное)+5 с шагом 1 при Ki= Kd=0
- вычисляю новое Kp(оптимальное)
Не трудно догадаться, что pid регулятор на вычисление Kp(оптимальное) потратит достаточно приличное время, но единожды!
Коэффициенты Kp и Ki,Kd pid регулятор получает по формуле.
Получив в результате предыдущих манипуляций Kp(оптимальное) запускаем pid регулятор со следующими параметрами Kp=Kp(оптимальное) и Ki=Kd=0. Даём системе установиться например час времени и вычисляем период Tc колебательного процесса засекая момент когда температура точно соответствует заданному значению. Теперь получен результат согласно методики Ziegler-Nichols :
- Kp = 0,65 * Kp(оптимальное)
- Ki = 0,5 * Tc
- Kd = 0,12 * Tc