РадиоКот :: ПИД регулятор для печи отопительной Бренеран, необязательно для нее и необязательно для отопления.
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Автоматика >

Теги статьи: Добавить тег

ПИД регулятор для печи отопительной Бренеран, необязательно для нее и необязательно для отопления.

Автор: Евгений Геннадьевич Чепкасов, mobtermostat@gmail.com
Опубликовано 03.02.2015
Создано при помощи КотоРед.

Небольшое предисловие.

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

Как известно, задача любого отопительного оборудования - это поддерживать необходимую температуру в заданном пространстве, перед этим выйти на нее максимально быстро, но не перегревая. Читаем инструкцию на Бренеран: «Регулятором мощности после того, как печь нагрела все помещение, Вы можете устанавливать желаемую температуру, прикрывая заслонку регулятора.». Регулятор мощности это дисковая задвижка с ручным приводом через которую подается воздух в топку – поддувало.

И тут возник вопрос: а почему бы не автоматизировать процесс регулирования? Горение в печи на одной закладке должно быть длительным. Пускай само регулируется, человеку останется задача изредка подкидывать дрова в железную печурку.

 

Часть первая. Описание устройства.  

Техзадание.

  1. Устройство должно быть максимально не дорогим.
  2. Исходя из п.1 пришло в голову вращать диск поддувала обыкновенной сервомашинкой.
  3. Управлять сервомашинкой (заслонкой) будет ПИД регулятор (пропорциональный – интегральный - дифференциальный).
  4. Чтобы устройство было более универсальным, добавим еще выход ШИМ с малой частой, вдруг каким электротэном захочется поуправлять или еще чем.
  5. Сделаем индикацию текущей температуры на светодиодный дисплей.
  6. Обойдемся без клавиатуры, будем настраивать коэффициенты при помощи компьютера.
  7. Благодаря п.6, нужна программа-конфигуратор. Нужна, так нужна. Напишем.
  8. Раз нет клавиатуры, добавим переключатели, чтобы можно было оперативно менять задачу (температуру), на одну из трех, заранее установленных . 

Технические характеристики:

Назначение: Недорогой температурный ПИД регулятор своими руками.

Диапазон измерения температуры: -55…125 гр.С.

Два выхода ШИМ. Первый для управления сервоприводом. Частота 50Гц, ширина импульса от 1 до 2 мс. Второй выход ШИМ для непосредственного подключения нагревателей (охладителей) или других устройств. Частота ≈0,15 Гц, ширина импульса от 0 до ≈6,5 сек.

Подключения ПИД регулятора к верхнему уровню осуществляется через последовательный интерфейс UART.

Измерение и индикация текущей температуры на светодиодный семисегментный дисплей.

 

Схема электрическая принципиальная.

Так как схема проста, начну сразу с нее.

 

 

Мозгом устройства является популярный микроконтроллер AtMega8.

Датчик температуры – DS18B20, подключенный по схеме с паразитным питанием, т.е. по двум проводам.

Сервомашинка – сервопривод с ШИМ управлением, я использую MG995. Ширина импульса 1мс соответствует положению 100% и 2 мс это 0%. Частота 50 Гц.

Так же есть, так называемый «медленный ШИМ». Это выход с открытым стоком полупроводникового ключа. 0% - закрыт, 50% открыт полпериода, 100% открыт весь период, а период около 6,5 сек. К нему, например, можно подключить электротэн, с учетом мощности конечно. Вместо МОП транзистора можно поставить оптопару, а к нему подключить мощный семистор.

Светодиодный индикатор работает в режим динамической индикации.

В схеме есть четыре «кнопочки».

Кнопка «RESET» - нажатие ее перезапустит контроллер.

Кнопка «PD6» - если удерживать ее во время перезапуска контроллера, все коэффициенты сбросятся на значения по умолчанию.

Переключатели «PD3:PD2» выбор уставки (температуры). Одной из трех или перевод в режим «максимум».

PD3

PD2

№ уставки

0

0

0

0

1

1

1

0

2

1

1

«максимум»

 

Для конфигурирования с помощью приложения Windows устройство подключается к компьютеру через последовательный интерфейс. Для того чтобы подключить к компьютеру я использую преобразователь USB-RS232_TTL. Но можно в схему встроить чип max232 и подключить к COM порту. Можно использовать микросхему CP2102 и впаять разъем microUSB, благо она дешевая. Можно организовать RS485  или радиоинтерфейс. Кому как нравится. Даже можно поставить модуль bluetooth типа HC-05, компьютер его увидит как удаленный COM-порт.

Стабилизатор напряжения 5В. Собственно можно обойтись без него, если использовать уже готовый стабилизированный источник питания, да и напряжение можно понизить. Если сервомашина будет кратковременно подсаживать питание, вместо стабилизатора нужно поставить диод, а после диода конденсатор побольше.

Ну и разъем для внутрисхемного программирования.

Хочу обратить внимание, что такие элементы как DS18B20, сервопривод, Com-порт и переключатели подключенные к PD3 и PD2 являются внешними устройствами и были включены в схему для более понятной работы устройства и его отладки в симуляции.

 

Алгоритм работы ПО микроконтроллера.

При включении питания, контроллер «вспоминает» из EEPROM коэффициенты и уставки ранее сконфигурированные.

Измеряет температуру один раз в секунду.

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

 U=KpE+Ki∑E+KdΔE; %

где

         Kp, Ki, Kd – коэффициенты пропорциональной, интегральной и дифференциальной составляющих соответственно, дробные со знаком;

E – ошибка, разница между уставкой и текущей температурой.

ΔE – разница между текущей и предыдущей ошибкой.

Значение управляющего воздействия ограничивается рамками минимального и максимального значения, по умолчанию 0 и 100%, но которые так же настраиваются в этих пределах. Кроме того, если управляющее воздействие вышло за эти рамки, интегрирование ошибки в сторону еще большего выхода за границы прекращается.

Обратите внимание, что в формуле отсутствует частота дискретизации, а хотя вроде как и должна бы. Все на самом деле очень просто. Чтобы упростить расчеты, этот параметр исключен. Поэтому при настройке ПИД регулятора коэффициент Ki надо умножить на «частоту дискретизации», а Kd разделить.

"Частоту дискретизации" не стоит делать меньше 2 секунд, т.к. опрос температуного датчика происходит с частотой 1 секунда.

Если устройство перевести в режим «максимум», то исполнительный механизм переводится в максимально допустимое положение, а управляющее воздействие перестает рассчитываться и интегрироваться ошибка до тех пор, пока не будет выбрана одна из уставок.

 

Фьюзы – внутренний RC генератор 8МГц, остальное по умолчанию.

 

Программа PID_Configurator.

 

Как я уже говорил, все настройки осуществляются приложением Windows «PID_Configurator».

Особо о нем рассказывать нечего, так как там все интуитивно понятно.

Опишу элементы управления.

  • «Считать» - считывает данные с устройства и заполняются поля с данными.
  • «Записать» - отправка коэффициентов в устройство. Все числа (кроме ограничений по минимуму и максимуму) имеют дробный формат и могут быть не только положительными, но и отрицательными. Если в этот момент будет включена галочка «reset», расположенная напротив поля Ki, сумма «ошибок» накопленная микроконтроллером будет сброшена.
  • «Открыть» - открывает файл с ранее сохраненной конфигурацией.
  • «Сохранить» - сохранить конфигурацию в файл.

 

В программе имеется возможность  анализа работы всей системы и упрощения получения коэффициентов ПИД регулятора. После нажатия кнопки «Пуск» приложение будет строить тренд, который Вы можете масштабировать и сохранять в файлы. Тренд сохраняется в двух форматах. Первый формат это скрин отображенного на экране тренда, второй это текстовый файл в виде таблицы всего тренда. Этот текст Вы без труда можете вставить, например, в электронную таблицу Excel.

 

Параметры UART.

Если будет нужно использовать радиоудлинитель, преобразователь интерфейса (например в RS-485), модуль Bluethooth и прочее, то нужно будет установить следующие параметры передачи данных:

  • 9600 бод;
  • 1-стоп бит;
  • Нет контроля четности.
  • 8 бит данных.

Плата печатная.

Пришел в магазин и все получилось как всегда. Выбор далеко не богат, город то не самый большой. Решил делать  плату  под те элементы, что есть. Можно было конечно заказать нужные элементы, но мне надо было «вот именно сейчас».

Индикатор – два спаренных FYD-5622. Кнопки типа SWT для перезапуска контроллера и сброса на значения по умолчанию. Переключатели внешние.

Что хочу сказать по поводу платы. Размеры ее можно значительно уменьшить, особенно если использовать планарные элементы.

Индикатор лучше использовать четырехразрядный, и с меньшим количеством ножек. А можно и совсем не ставить. Если  нужна только одна уставка – то внешние переключатели не нужны. Как я говорил уже ранее, можно отказаться от использования стабилизатора на плате (используя готовый внешний источник питания) и  от разъема внутрисхемного программирования.

А можно и использовать мой опытный вариант разводки дорожек платы.

 

Часть вторая. Боевое применение. Или как я настраивал и наслаждался результатом.

Начну с того, что я начал испытание с элементом Пельтье, используемый мной вместо электронагревателя, подключенный к «медленному ШИМ».

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

В общем получилось, выходит на все три уставки, размер колебаний в пределах погрешности датчика, затухающие,  но все же как то не очень красиво.

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

После такого определения коэффициентов, на заданную температуру устройство выходило очень быстро и колебалось в рамках ±0,125 градуса и практически без перерегулирования. Можно было еще поиграться коэффициентами и попробовать сделать характеристику более идеальной, но не стал.

Хотя коэффициенты пришлось подправить,  все же для предварительного определения коэффициентов метод сработал. Возможно Ki пришлось сильно изменить потому что Kp не вынесен за скобки как это часто делают. Но я решил сделать формулу классической.

_____________________________________________________________________________________________________________________

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

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

Поддувало печи Бренеран (или как его гордо называет производитель печи «регулятор мощности») выполнено из трубы диаметром 89мм со встроенным дисковым поворотным затвором.  Это поворотный затвор я решил не трогать, а сделать еще один регулятор.

По плану хотел сделать отдельный дисковый регулятор, установленный на полу (пускай сосет холодный воздух с пола) соединенный с печью гибкой алюминиевой гофрой. В одном из магазинов увидел обратный клапан для системы вентиляции, который почти идеально бы подходил (с небольшой переделкой под сервопривод), но вот не того размера.  Т.е. надо что-то заказывать в инете или обращаться с вентиляционщикам или брать нормальный металл и аккуратненько делать самому. Инет – долго (так и до весны не испытаю), заказывать без практических испытаний на печи – может оказаться дороговато почем зря (конечно устройство уже работает, но все же..), делать самому – опять же без испытаний может оказаться тратой большого количества времени и потом вносить коррективы или переделывать.

Решил для испытаний сделать регулятор из простой консервной банки и детского металлического конструктора. Потом сделаю красиво, а это временно :).

Сервопривод удалил подальше от печи чтобы не нагревался. Как потом оказалось с очень большим запасом.

Отверстие, закрываемое поворотным диском, впоследствии было увеличено в более чем два раза. Плату контроллера была помещена в капроновый контейнер. Сервопривод с платой был соединен пяти метровым неэкранированным проводом, но не смотря на это сервопривод позиционируется точно. Т.е. сигнал ШИМ не искажается.

Ниже на фото, установленный самодельный регулятор на печь. Печь в работе, регулятор полностью открыт.

 

А вот мое рабочее место определения коэффициентов.

 

Изначально я предполагал, что данная часть статьи должна быть самой большой. Однако никаких особенных действий я не делал, все тоже самое что и с элементом Пельтье.

Плюсы и минусы данной печи описывать я тут не буду, не о том статья. Укажу ее марку - АОТ-8 тип 005.  Объем помещения 60м3.

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

Но все же я добился необходимого результата, не смотря позднее время. Кстати Ki убавил где-то на тот же порядок что и с элементом Пельтье от расчетного.  

Ниже Вы может увидеть тренд выхода на уставку 24 градуса. 

А вот продолжение тренда.

      Около 7 часов утра я обнаружил что в печи кончилось топливо, остались небольшие головешки (где-то хватает одной закладки на 6 - 7 часов, но не всегда) и удовлетворенный результатом ушел спать. 

 

Вывод:

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

         Типов ТТ котлов сейчас огромное количество, заводских и самодельных, горизонтальных и вертикальных. И почти все с ручным управлением, почему бы не попробовать? Можно и на самодельных, например на печке-бочке «Бубофоня», использующий принцип  котла-свечки Stropuva. Да и регулировать можно не температуру воздуха, а теплоносителя.

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

         У Вас свой дом подключенный к центральному отоплению? Поставьте сервопривод помощнее на запорную арматуру и регулируете температуру дома. Днем дома никого нет? Можно перейти на температурную уставку с температурой пониже, а управлять уставками можно программируемыми таймерами вместо переключателей или написать свое приложение под Windows или Android.

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

         Да мало ли еще куда его можно применить. Как говорится было бы желание.

       

     ------------------------------------------------------------------------------------------------------------------------------------------------

 


Файлы:
Конфигуратор (Windows)
HEX с сохранением данных в EEPROM
Схема (Proteus)
Плата (layout 6)


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

57 2 0
5 0 0