Инкубатор v3.1.4 StartCd


Добро пожаловать!

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

Внимание! Данный проект находится в стадии тестирования.

Этот проект развитие проекта опубликованного в журнале радио за март 2010 года.

Краткий обзор.

Регулирование температуры.
В регуляторе совмещены релейный и пропорциональный алгоритмы управления нагревателем. Термостат работает как большинство других, включением/выключением нагрева. Плюс к этому постоянно идет подбор мощности подаваемой на нагреватель, программа пытается выбрать такую оптимальную мощность, при которой лампы не будут выключаться. Так же в этом состоянии реализовано плавное включение (и выключение) ламп, что в принципе должно положительно сказаться на их долговечности. Регулирование осуществляется фазо-импульсным методом. Для прошивки с алгоритмом низкочастотной шим, время включенного состояния постоянно и равно 0.3 сек. Мощность регулируется изменением времени паузы в пределах 0..2.5 секунды.

Аварийные ситуации.
Если произошел пробой симистора, то программа отслеживает это и включается режим регулирования температуры аварийным реле, которое работает на размыкание силовой цепи нагревателя. Пользователь сам устанавливает порог аварийной температуры в диапазоне 39.0-45.0 градусов. Регулирование температуры ведется по двум датчикам, при выходе из строя одного из датчиков, регулятор переключается на регулирование температуры по оставшемуся датчику. Если температура превышает температуру аварии минус пол градуса, то включается реле аварийного охлаждения.

Функция поворота лотков.
Время паузы может задаваться до 10 часов. Движение лотков может управляться концевыми выключателями. Также движение лотков, например, при отсутствии концевых выключателей, можно задавать по времени, в программе запоминается время движения с разрядностью в 0.1 секунду.

Канал влажности.
Используется датчик DHT11. В более ранних версиях используется психрометрический способ (влажность определяется по разности показаний сухого и влажного термометра). При влажности, ниже, установленной в программе, на заданное пользователем время, параметр "t.on" на выводе устанавливается высокий уровень напряжения, затем идет пауза заданная параметром "t.oF". Время включения и паузы можно задавать в пределах 0-200 секунд. Подбор их времен позволяет избежать эффекта перерегулирования.

Связь с компьютером.
Программа на компьютере осуществляет мониторинг температур и влажности, при выходе за установленные пределы, подается сигнализация.


Управление.

Управляется термостат тремя кнопками "температура", "влажность" и "мотор". Каждая кнопка служит для входа в режим редактирования соответствующего параметра.

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

Кнопкой "температура" задается
  • Усt - температура стабилизации термостата.
  • РА3 - допустимая разница между температурой верхнего и нижнего датчика DS18B20, при превышении данного значения будет включено соответствующие реле.
  • АВР - температура аварии.
Кнопкой "влажность" задаётся
  • ВLA - порог влажности.
  • t.on - время на которое вывод будет включен.
  • t.oF - время паузы между включением вывода.
Кнопкой "мотор" задаётся
  • OFF - время выключенного состояния двигателя поворота лотков.
Одновременное нажатие всех трех кнопок
  • -1- коррекция первого датчика.
  • -2- коррекция второго датчика.
  • -3- коррекция третьего датчика.
Одновременное нажатие кнопок "температура" и "влажность"
  • Принудительный поворот лотков.
Одновременное нажатие кнопок "влажность" и "мотор"
  • РУЧ режим ручного позиционирования лотков и настройки времени движения мотора.
Если в выше перечисленных режимах (кроме режима "РУЧ") не нажимать кнопки в течении четырех секунд, то происходит сохранение параметра в энергонезависимую память и переход в рабочий режим. Во всех режимах новое измененное значение, принимается только после выхода в рабочий режим.

Рисунок поясняющий работу кнопок. Для прошивок на микроконтроллере AtMega8.


Рисунок поясняющий работу кнопок. Для прошивок на микроконтроллере AtMega168.


Лотки.

При редактировании параметра "OFF" (времени выключенного состояния двигателя), время задается в минутах в диапазоне девять часов пятьдесят девять минут, например на экране 2.30 – два часа тридцать минут.

Есть три варианта управления движением лотков.

  1. С движением лотков по концевикам и по времени.
  2. С движением лотков только по концевикам.
  3. Лотки управляются с помощью актуатора. Вывод через время заданное в прараметре "OFF" инвертируется. Далее этот вариант не рассматривается, с связи со своей простотой.
Для всех прошивок интерфейс одинаков.

Ниже описана возможность задавать движение, как по времени так и по концевикам, в первой версии прошивки. Если в ней не использовать концевики, то останется движение только по времени.

Движение лотков может задаваться по времени и по концевикам. При первом включении после прошивки или при искажении сохраненных данных в еепром, время движения лотков задается равным 50,0 секундам. Для установки времени движения, предназначен режим «РУЧ» ручного управления поворотным механизмом. Время в режиме «РУЧ» индицируется в секундах, в программе запоминается с разрешением в 0,1 секунду. Для входа в него следует нажать две кнопки «влажность» (плюс) и «пауза» (минус), при этом на экране выведется название режима «РУЧ». Далее, нажатие кнопки «влажность» (плюс) включает движение вперед, на экране отображается время включенного состояния. При нажатии кнопки «пауза» (минус), включается режим реверс, соответственно время на экране начинает уменьшаться. Для обнуления времени следует нажать кнопку «температура», при нажатом состоянии кнопки экран гасится. Для принятия и сохранения значения в EEPROM следует удерживать кнопку «температура» нажатой более трёх секунд, при этом произойдет сохранение параметра в EEPROM и переход в рабочий режим. Если подождать 25 секунд, при этом, если не было нажатий термостат переходит в рабочий режим без принятия и сохранения параметра в еепром. То есть этим режимом можно пользоваться для установки положения лотков. Внимание, при выходе из этого режима, если используется движение по времени и ни один концевик не замкнут, следующие включение двигателя будет в реверс! Принудительный поворот лотков можно включить удерживая кнопки «температура» и «пауза» более 2 секунд.

Последовательность настройки времени движения лотков.
  1. Нажатием «влажность» (плюс) и «пауза» (минус), вызвали режим «РУЧ».
  2. Подвели лотки на исходное положение.
  3. Нажали кнопку «температура» для сброса времени.
  4. Нажатием «влажность» (плюс) подводим механизм на нужное расстояние, допускается нажатие кнопки «пауза» (минус) для корректировки положения.
  5. Нажали и удерживаем кнопку «температура» более 3 секунд.
В-общем то для управления лотками можно использовать сразу контроль конечниками и контроль по времени. В этом случае выход из строя конечника к поломке механизма не приведет (произойдет останов по времени). Также если используется движение только по времени, то, например, в результате отключения электричества в момент движения лотков они будут находиться не в исходном состоянии. При подаче питания и истечении времени паузы начнется движение вперед на заданное в настройках время, что может привести к поломке механизма.

В прошивках с движением лотков только по концевикам, время движения мотора не запоминается и не учитывается.


Влажность.

Используется психометрический способ, что это такое и рекомендации по выполнению влажного термометра хорошо освещены в интернете. Для определения влажности в интернете была найдена таблица и дополнена с помощью этой программы, если Вы найдете в таблице ошибки, то сообщите пожалуйста. Для управления влажностью применен следующий алгоритм. Если влажность меньше установленного порога влажности, то на вывод "ВЛАЖНОСТЬ" в течении времени заданном в параметре "t.on" подаётся высокий уровень напряжения включающий исполнительный механизм, далее на выводе устанавливается низкий уровень напряжения на время заданное в параметре "t.oF". Время в параметрах задается в пределах 0..200 секунд.

Короткое нажатие на кнопку «влажность» включает на 20 секунд отображение вычисленной влажности. Следующие нажатие, включает отображение температуры второго датчика. При этом в последнем разряде горит точка. Следующие нажатие, включает отображение температуры третьего "влажного" датчика. Во всех разрядах горят точки. Сделанно это для того, что бы различать показания датчиков. В схеме предусмотренно подключение дополнительного индикатора, на который постоянно выводится рассчитанное значение влажности.

Влажность вычисляется в диапазоне 35,0-43,5 градусов для сухого термометра.


Схема.

Плата дополнительной индикации.

Для управления поворотным механизмом выделено два выхода, «движение» вывод 5 и «реверс» вывод 4 (74HC595). И два входа для концевых выключателей SA1 и SA2. Схемы подключения двигателя использованы из журналов, в частности "Н. Заец. Устройство управления двигателем инкубатора. Радио №5 2002". Здесь (294 Kb) небольшая подборка статей, на которые обращал внимание, при разработке. При движении вперед на выводе «движение» устанавливается высокий уровень напряжения. При реверсе включение происходит в следующем порядке, на выводе «реверс» устанавливается высокий уровень напряжения, через 100 миллисекунд на выводе «движение» устанавливается высокий уровень напряжения и начинается отсчет времени. Выключение происходит в обратном порядке, на выводе «движение» устанавливается низкий уровень напряжения, через 100 миллисекунд на выводе «реверс». Если используются концевые выключатели, то их замыкание выключает двигатель и включается счет паузы. При замкнутом выключателе SA1 включение поворотного механизма всегда будет осуществляться вперед, при замкнутом SA2 в реверс.

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

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

Эту схему я нарисовал в микрокапе, может есть проще.. Для ее управления требуется подавать высокий уровень напряжения только на один вывод микроконтроллера. При движении вперед устанавливается высокий уровень напряжения на выводе "ДВИЖЕНИЕ", при движении в реверс устанавливается высокий уровень напряжения на выводе "РЕВЕРС". Соответственно для этой схемы есть своя прошивка.

Включение устройства

При включении, параметры считываются из EEPROM, если их контрольная сумма не совпадает с сохраненной, то параметры инициализируются значениями по умолчанию температура стабилизации – 37.5 градусов, температура аварии – 40.0 градусов, время выключенного состояния двигателя – 2 часа, время включенного состояния двигателя – 50.0 секунд, коррекции датчиков – 0 градусов. Влажность 50%, время работы влажности 5 секунд, пауза влажности 30 секунд. На экран выводится надпись «EEP» (EEPROM). Подается звуковая сигнализация.

Алгоритмы работы и аварийные ситуации.

В термостате предусмотрена сигнализация выхода температуры за пределы диапазона регулирования. К выводу "ZUMER" подключен звуковой излучатель со встроенным генератором. При температуре ниже 35.0°C на выводе устанавливается высокий уровень напряжения длительностью 0.5 секунды с периодом 2 секунды. При температуре выше температуры аварии минус 0.5 градуса, на выводе устанавливается высокий уровень напряжения длительностью 0.5 секунды, с периодом в 1 секунду. При пропадании датчика или искажении данных в EEPROM на выводе устанавливается высокий уровень напряжения длительностью 1.5 секунды, через 0.5 секунды.
При температуре выше температуры аварии на выводе "LED_ALARM" устанавливается высокий уровень напряжения, данный вывод служит для индикации превышения температуры верхней допустимой границы, высокий уровень напряжение снимется только после перезапуска устройства. При этом на выводе "SILOVOE_RELE" также устанавливается высокий уровень напряжения включая транзисторный ключ, который включает реле, нормально замкнутые контакты размыкаются обесточивая нагревательный элемент. Считается, что произошел пробой симистора и происходит не контролируемый рост температуры. Далее термостатирование будет производиться этим реле. При этом в момент выключения реле будут подаваться управляющие импульсы на симистор, на тот случай, если по каким то причинам, произошло ложное срабатывание режима "АВАРИЯ".

В термостате для регулирования температуры предназначено два датчика Т1 и Т2. Третий датчик Т3 - "влажный", по нем вычисляется влажность. Датчик Т1 располагается вверху, Т2 внизу регулируемого объема.

Термостат всегда регулирует температуру по датчику, температура которого выше. В рабочем режиме всегда показывает температуру первого (верхнего) датчика. То есть, если по каким либо причинам, температура нижнего датчика Т2 превысила температуру верхнего Т1, то термостат переключается на регулирование температуры по датчику Т2.

При проподании любого из датчиков Т1 или Т2, термостат переходит на регулирование температуры по оставшемуся датчику. Если пропал датчик Т1, то на экране будет отображаться температура датчика Т2 и в последнем разряде гореть точка. При этом влажность также будет вычисляться по оставшемуся датчику. При пропадании датчика Т3, запрещается работа вывода управления влажностью. При проподании любого датчика подается звуковая сигнализация, на выводе "LED_ALARM" устанавливается высокий уровень. Если датчик(и) заново определился, то термостат выключает подачу сигнализации и включается режим нормальный работы. Однако при этом вывод "LED_ALARM" не сбрасывается. Выключить его можно только перезапустив устройство.

Вывод "РАЗНОСТЬ Т1-Т2" включается, если разница температур датчиков Т1 - Т2 будет больше заданной в параметре "РАЗ" (разность), выключается при температуре равной заданной в параметре "Усt". Данный вывод служит для выравнивания температуры по всему объему, так как горячий воздух поднимается кверху, температура Т1 будет выше температуры Т2. Например, можно включать дополнительный вентилятор, для перемешивания воздуха.
Иными словами, температура нижнего датчика Т2 выравнивается по верхнему Т1

Вывод "АВР. ОХЛАЖДЕНИЕ" предназначен для аварийного охлаждения, при достижении температуры датчика Т1 или Т2 температуры Таварии-0,5 градуса вывод включается, выключится при температуре равной заданию.
К примеру включается аварийный вентилятор который встроен в корпус инкубатора для подачи воздуха с наружи, в это же время открывается заслонка в верхней части инкубатора, вентилятор в нижней части.....произошло охлаждение до заданной температуры, вентилятор выключился/заслонка закрылась.
Другой вариант в инкубаторе стоит змеивик под водяное охлаждение, открывается клапан водяной подачи (холодной воды), пошла холодная вода по змеивику, произошло охлаждение.


На выводе "НАГРЕВ" устанавливается высокий уровень напряжения при решении управляющей программы микроконтроллера о включении нагрева.

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

Управление симистором/тиристором.

На выводе микроконтроллера "TRIAC", для включения симистора генерируются импульс длительностью 25 микросекунд. В схеме можно применять тиристоры и симисторы включенные по схемам приведенным ниже. Импульсные трансформаторы применяют типов МИТ-4, МИТ-12 или аналогичных. Если нет возможности их достать, то можно сделать самодельный. Трансформатор содержит две изолированные друг от друга обмотки по 45 витков провода ПЭЛШО 0,18 магнитопровод – кольцевой К10х6х4.5 из феррита 2000НМ. Внимание, изоляция обмоток должна быть выполнена качественно и выдерживать сетевое напряжение.

Управление с помощью оптопар МОС.

Для прошивки с фазоимпульсным управлением, можно применять только MOC3021, MOC3022, MOC3023, подключив их к выводу микроконтроллера "TRIAC", они не имеют в своем составе схемы Zero-Cross. Вывод "НАГРЕВ", в этой прошивке индицирует поданную мощность.

Для прошивки с алгоритмом низкочастотной шим, также можно применить оптопары содержащие блок "Zero-Cross" (Zero-Cross: схема управления переключением (открыванием симистора) в момент перехода фазы через ноль) MOC3041, MOC3042, MOC3043, MOC3061, MOC3062, MOC3063 подключив их к выводу "НАГРЕВ".

Схемы подключения оптопар.

Для симистора.

Для встречно-параллельно включенных тиристоров.


Статья по применению этих оптопар, журнал радиомир 10.2008 (21 Kb).

Схема подключения оптотиристора ТО125.

Ограничивающие резисторы R* во всех случаях подбираются в зависимости от используемого импульсного трансформатора или типа применяемой оптопары.

Для правильной работы узла управления симистором, следует проконтролировать работу блока синхронизации с сетью, на схеме VT1, R1, R2, R3, C1, VD1. Осциллограммы его работы:

  • Черный - напряжение с выхода диодного моста.
  • Синий - синхроимпульсы с коллектора VT1.
  • Красный - управляющие импульсы на симистор (с вывода "TRIAC").
Ширину синхроимпульсов можно менять резистором R2, уменьшая сопротивление увеличиваем ширину импульса. Например, если на максимальной мощности наблюдается подмаргивание ламп, то это значит, что синхроимпульс имеет маленькую длину и управляющий импульс подается на симистор в тот момент, когда еще ток в цепи не достиг значения тока удержания симистора. Также, если синхроимпульс будет чересчур длинным, то это может негативно повлиять на алгоритм фазоимпульсного управления.

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

Инкубатор выполнен на четырех платах скачать.

  1. Плата микроконтроллера.

  2. Плата индикации и кнопок.

  3. Плата выходов.

  4. Плата дополнительной индикации.

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

В платах индикации применен индикатор TOT-3361AH-JN .

Если плата выходов будет потреблять ток более 700мА, то диоды в диодном мостике и диод на питание 12В выходной платы, следует заменить на более мощные.

Плата выходов дана как пример разводки. Так как есть много вариантов построения выходных цепей, управления мотором, способа управления симистором и т. д. я не могу развести окончательный вариант платы. Пользователь сам разрабатывает свой вариант этой платы. При этом надо придерживаться принципа по которому разведен мой вариант. Обратите внимание, силовые линии питания + и - 12В максимально приближены друг к другу и нигде не разветвляются, транзисторы на включение реле находятся в близи своего реле, что минимизирует длину проводников, по которым текут относительно большие токи. Так же хочу обратить внимание, на плату приходит два питания +5В и +12В, их земли не объедены! То есть возвратные токи силовой части идут только по своей земле и соединяются только на плате микроконтроллера в общей точке соединения земель, после выхода диодного моста. На плате выходов присутствует разьем (5 проводов) на плату дополнительной индикации. На дополнительном индикаторе постоянно выводится рассчитанная влажность. Данную плату можно не собирать и не подключать.

Принцип разводки силовых и сигнальных кабелей.

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

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

Связь с компьютером.

Программа принимает данные от инкубатора передающиеся по токовой петле на скорости 4800 бод. Строятся графики температур трех датчиков, вычисляется влажность по алгоритму заложенному в микроконтроллере. Так же принимается состояния выходов микросхемы U3 74HC595. Для датчиков Т1 и Т2 настраиваются пороги выше/ниже, при выходе за них программа сигнализирует об этом. Для Т3 задаются пороги влажности. Для отмены сигнализации надо выполнить двойной клик по мигающему квадрату (справа от значений порогов). Скачать.

Файлы.

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

Обсуждение конструкции на www.fermer.ru

На главную - startcd.narod.ru



Hosted by uCoz