Full-Chip.net

Все об электронике, секреты ремонта
сборки компьютеров и периферии !!!

» » ПИД регулятор для нагрева(охлаждения) UPD
Статистика
7095 (+1)
Всего пользователей
1
Сейчас на сайте
83 (+0)
Всего статей
983 (+2)
Всего комментариев
Реклама


ПИД регулятор для нагрева(охлаждения) UPD 

Появилась необходимость создать ПИД регулятор для охладителя на базе модуля Пельтье. Для удобства был разработан достаточно универсальный ПИД регулятор который способен работать как в режиме охлаждения так и в режиме нагрева. Для реализации был выбран микроконтроллер AVR Atmega328P (просто он есть в Arduino UNO). Все собрано на макетной плате, программа написана в AVRStudio4.

 

ПИД регулятор для нагрева(охлаждения) UPD

 

ПИД регулятор для нагрева(охлаждения) UPD

Схема устройства, для индикации состояния используется дисплей ЖКИ 16х2, 4 кнопки для управления и настройки параметров, два датчика температуры DS18B20 один для измерения температуры объекта управления, второй для измерения температуры окружающей среды.

Регулировка нагрева/охлаждения осуществляется с помощью ШИМ сигнала, в данном случае применяется 8-ми битный таймер по этому кол-во шагов регулирования ограничено в пределах 0-255, это накладывает некоторые ограничения на точность работы регулятора, а также настройки коэффициентов звеньев управления.

ПИД регулятор для нагрева(охлаждения) UPD 

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

Описание работы:

Включение регулятора происходит сразу после подачи питания.

Изменение уставки можно производить на основном экране, во время работы кнопками «UP» и «DOWN» уставка будет изменятся медленно (из-за опроса двух датчиков DS18B20). Предел изменения уставки от -55 до +125 градусов с шагом 0,1 градус.


Главный экран.

ПИД регулятор для нагрева(охлаждения) UPD 

- Вверху слева отображается температура объекта (об=)

- Внизу слева отображается температура на улице (ул=)

- Вверху справа отображается уставка (в данном случае 0.0 С°)

- Внизу справа отображается выход ШИМ в процентах от 0 до 100% (выходная мощность)

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


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

ПИД регулятор для нагрева(охлаждения) UPD

- ПИД регулятор может работать как в режиме охлаждения, так и в режиме нагрева.

Переключения между режимами по нажатию кнопок «UP» и «DOWN».

2. Второй пункт настройка уставки температуры

ПИД регулятор для нагрева(охлаждения) UPD 

3. Третий пункт настроек «Настройка коэф P»

ПИД регулятор для нагрева(охлаждения) UPD

4. Четвертый пункт настроек «Настройка коэф I»

ПИД регулятор для нагрева(охлаждения) UPD

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

ПИД регулятор для нагрева(охлаждения) UPD

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

ПИД регулятор для нагрева(охлаждения) UPD

- При выборе в этом пункте «НЕТ», ПИД регулятор работает в нормальном для себя режиме, то есть быстрый выход на уставку и ее удержание.

- При выборе в этом пункте «ДА», уставка наращивается пошагово (20 шагов, по 1 мин).

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

ПИД регулятор необходимо настраивать с учетом пунка «Плавный разгон»

- если плавного разгона нет, то регулятор настраивается в обычном режиме.

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

 

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

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


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


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


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


Режим быстрого нагрева (нихромовая спираль) Tуст=50 Сo, P=40, I=0.5, D=0

нихромовый нагреватель, накрывается сверку коробкой и меряется температура воздуха, выглядит нагреватель так:


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


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


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

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

 

ПИД регулятор для нагрева(охлаждения) UPD

ПИД регулятор для нагрева(охлаждения) UPD

 

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

 

ПИД регулятор для нагрева(охлаждения) UPD


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

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

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

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

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

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

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

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

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


 

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

 

 

ПИД регулятор для нагрева(охлаждения) UPD

 

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

После настройки Kd переходим к настройке Ki. 

 

 

ПИД регулятор для нагрева(охлаждения) UPD

 

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

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

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

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

 

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

 

ПИД регулятор для нагрева(охлаждения) UPD

 

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

 

В новой версии предполагается добавить:

1. Передачу данных по USART (возможность удаленно мониторить ПИД + настраивать уставку)

2. Сделать настраиваемое кол-во шагов.

3. Сделать настраиваемый шаг по времени (от 1 мин до 60 мин)

4. Использовать таймер/счетчик 0x03FF (повысит точность регулирования в 4 раза)

5. Сделать страрт/стоп по нажатию кнопок "UP"/"DOWN" на главном экране

6. Ввести функцию "автостарт" при подаче питания (отдельным пунктом меню)
ПИД регулятор для нагрева(охлаждения) UPD
Прошивка + еепром pid_v_1_1.rar [6,75 Kb] (cкачиваний: 89)
K:0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Вопрос:
b+b+b=bbb , x+x+x=xxx, c+c+c=?
Ответ:*
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив