ПИД регулятор температуры

Автор: callous_vk от 17-09-2016, 16:24, посмотрело: 1576

0
ПИД регулятор температуры

ПИД регулятор для работы с модулем пельтье как в режиме нагрева так и в режиме охлаждения. Все устройство реализовано на микроконтроллере Atmega328P (Arduino UNO). Все собрано на макетной плате, программа написана в AVRStudio4.
Для индикации используется ЖКИ 16Ч2, управление — 4 кнопки, 2 — датчика DS18B20 для измерения температуры объекта и внешней температуры (по датчику объекта осуществляется управление).
Управляется температура модуля пельтье с помощью ШИМ регулирования, используется таймер/счетчик 0x03FF. Для удобной настройки и управления есть возможность подключения к ПК через переходник USB-RS485 или (USB-USART если из схемы выбросить преобразователь для RS485).
Так это все выглядит на макетке:
ПИД регулятор температуры


Вид закрепленного модуля пельтье:
ПИД регулятор температуры

Сторона которая нагревается прилеплена на термопасту к радиатору с кулером, закреплена двумя прижимными скобами, бумажки здесь для того чтобы через скобу не передавалось тепло от радиатора к охлаждающей стороне модуля. Для того чтобы сменить стороны нагрев-охлаждения необходимо поменять местами + и - на модуле. Для того чтобы модуль выдавал хорошие низкие температуры прижим должен быть весьма хорошим. К тому же после отключения ПИД регулятора охлаждающаяся сторона модуля пельтье мгновенно прогревается до температуры стороны нагрева.

Вид главного экрана после включения:
ПИД регулятор температуры

Закрашенное знакоместо в первой строчке на индикаторе обозначает что ПИД регулятор работает (генерируется ШИМ), стрелочка во второй строчке указывает на режим вниз — охлаждение/ вверх — нагрев.
ПИД регулятор температуры

Соответственно кружочек в первой строке обозначает что ПИД остановлен (ШИМ сигнал не генерируется).

«об» — температура объекта управления
«ул» — температура улицы (внешняя)


Включить или отключить роботу ПИД можно с главного экрана зажав кнопки вверх/вниз соответственно для включения/отключения работы ПИД.


Для перехода в режим настройки параметров зажать кнопку «RIGHT». Настройки листаются по кругу с выходом на основной экран при помощи кнопок «RIGHT» и «LEFT».

1.Первый пункт настроек «Настройка режима»
ПИД регулятор температуры

 — ПИД регулятор может работать как в режиме охлаждения, так и в режиме нагрева.
Переключения между режимами по нажатию кнопок «UP» и «DOWN».

2. Второй пункт настройка уставки температуры
ПИД регулятор температуры


3. Третий пункт настроек «Настройка коэф P»
ПИД регулятор температуры


4. Четвертый пункт настроек «Настройка коэф I»
ПИД регулятор температуры


5. Пятый пункт настроек «Настройка коэф D»
ПИД регулятор температуры


6. Шестой пункт «Плавный разгон»
ПИД регулятор температуры

 — При выборе в этом пункте «НЕТ», ПИД регулятор работает в нормальном для себя режиме, то есть быстрый выход на уставку и ее удержание.
 — При выборе в этом пункте «ДА», уставка наращивается пошагово (20 шагов, по 1 мин).

При выходе на уставку ПИД регулятор работает в штатном режиме

ПИД регулятор необходимо настраивать с учетом пунка «Плавный разгон»
 — если плавного разгона нет, то регулятор настраивается в обычном режиме.
 — если плавный разгон есть, то регулятор необходимо настраивать на малый шаг. То есть при уставке в -3,0 С° и текущей температуре +23,3 С° шаг будет составлять (23,3 С° + 3,0 С°)/20=1,315 С°. При таком шаге рекомендуется настраивать регулятор задав ему уставку 21 С° при текущей температуре 23,3 С° (при настройке на мелком шаге, в режиме плавного разгона регулятор будет более мягко работать, колебания будут меньше).

7. Седьмой пункт «Кол-во шагов»
ПИД регулятор температуры


8. Восьмой пункт «Время шага»
ПИД регулятор температуры


9. Девятый пункт «Авто старт»
ПИД регулятор температуры

«Автостарт» отвечает за запуск ПИД регулятора после подачи питания.

Коротко по реализации самого ПИД в программе микроконтроллера:


Теперь несколько видео работы здесь старая версия схемы/программы с использованием 8 разрядного ШИМ, поэтому точность приблизительно в 4 раза ниже чем в новой версии:

Режим быстрого охлаждения (модуль Пельтье) Tуст=-2 С, P=25, I=3.5, D=0.5



Режим быстрого охлаждения (модуль Пельтье) Tуст=-2 С, P=30, I=4.5, D=3



Режим быстрого охлаждения (модуль Пельтье) Tуст=-2 С, P=20, I=5, D=4



Режим быстрого нагрева (модуль Пельтье) Tуст=50 С, P=20, I=2, D=20



Режим плавного охлаждения (модуль Пельтье) Tуст=-2 С, P=25, I=3.5, D=0.5



Для работы с модулем Пельтье настройка дифференциальной составляющей обязательна, процесс протекает очень быстро.

Сделать сам ПИД не так уж и сложно, но вот правильно его настроить это серьезный вопрос. Существует достаточно много методик настройки ПИД регуляторов как чисто теоретических так и теоретически-практических. Мы рассмотрим чисто практический подход, он будет гарантировать правильную работу ПИД регулятора в той системе где проводилась его настройка.

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

ПИД регулятор температуры

ПИД регулятор температуры


E(n) = T(n) - T0(n) – невязка, рассогласование системы.

Кp,Кi,Кd—коэффициенты усиления пропорциональной, интегрирующей и дифференцирующей составляющих регулятора соответственно.

n — номер выборки.

U(n-1) — предыдущее воздействие.

Рассмотрим воздействие каждой из 3-х составляющих отдельно.

Исходя из формулы, можно понять, что P составляющая будет иметь большое влияние в системе с быстрым изменением невязки. Чем больше текущая невязка отличается от прошлой, тем больше влияние P на формирование воздействия. В первый момент времени когда предыдущей невязки еще нет, то есть E(n-1)=0, P составляющая будет вырождаться к виду P=Kp*E(n) и соответственно будет формировать первый толчок в системе.

I составляющая зависит от текущей невязки, и предназначена для убирания остаточного рассогласования в системе.

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

Сначала настраивается Kp при этом Ki=0 и Kd=0
ПИД регулятор температуры

Ограничения:

Пропорциональный регулятор всегда будет удерживать температуру ниже заданной (чем меньше Кp тем больше будет рассогласование в системе ).

Очень важно понимать физические ограничения регулятора, поскольку у нас используется ШИМ управление, с скважностью от 0 до 255, то колебания будут наблюдаться всегда, поскольку у нас ограничен размер шага регулировки, но в установившемся режиме колебания будут не значительны.

Тзад — заданная температура (уставка)

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


1 – коэффициент Кp слишком велико в системе наблюдаются колебания.

3 – коэффициент Кp близок к оптимальному, если допускается перерегулирование.

4 – коэффициент Кp близок к оптимальному, если не допускается перерегулирование.

5 – коэффициент Кp слишком мал, выход на уставку затянут.

После настройки Kp при использовании Kd, будем настраивать его при этом Ki =0, если Kd использоваться не будет, переходим к настройке Ki.
ПИД регулятор температуры

Kd постепенно увеличивается, для того чтобы получить переходную характеристику вида 2.

После настройки Kd переходим к настройке Ki.
ПИД регулятор температуры


После настройки Kp и Kd получается характеристика 1, при этом видно что удерживаемая температура ниже заданной. Для минимизации конечной невязки применяется И составляющая.

2 – коэффициент Ki слишком мал, выход на уставку затянут.

3 – коэффициент Ki близок к оптимальному.

4 – коэффициент Ki слишком велик, в системе наблюдается перерегулирование.

И в конце несколько картинок с разными вариантами настройки ПИД:
ПИД регулятор температуры

ВАЖНО: В данном случае графики приведены для режима нагрев, все рассуждения применимы к режиму охлаждения, при этом графики следует отобразить зеркально по вертикали относительно линии Тзад.

Для ПК существует программа позволяющая конфигурировать, следить и анализировать работу ПИД регулятора.
ПИД регулятор температуры


Программа в текущем каталоге создает файл temperature.csv в который каждую секунду записывается дата/время/температура по которым в дальнейшем можно построить график и посмотреть отработку ПИД регулятором возмущений либо выхода на уставку.

Плавное охлаждение в 5 шагов, последний шаг - уставка (10,0 С):
ПИД регулятор температуры


Плавное охлаждение в 10 шагов, последний шаг - уставка (10,0 С):
ПИД регулятор температуры


Обычная работа ПИД уставка(10,0 С):
ПИД регулятор температуры


Поскольку глубина шага формируется по принцыпу (Ттек - Тзад)/Кол-во шагов, то последний шаг добирает оставшуюся разницу после деления.

Ссылки на статьи на full-chip.net 1-я версия (есть прошивка и фьюзы) и 2-я версия с повышенной точностью пока без прошивки.

Категория: Цифровая, Микроконтроллеры

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.