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

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


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

  • Диапазон термостата - 35.0С...40.0С.
  • Гистерезис температуры - 0.0625гр. (не изменяется, значение установлено в программе контроллера).
  • Усложненый алгоритм поддержания заданной температуры.
  • Индикация и обработка аварийных ситуаций.
  • Простое управление одной кнопкой.

Управление.
Нажимаем кнопку, через 3сек начинают мерцать цифры, кнопкой устанавливаем температуру по кругу в диапазоне 35.0С....40.0С. Если в течении 3 сек не было нажатий, производится запись установленной температуры в память и переход в рабочий режим.

При включении, если контрольная сумма не совпадает, то выводится надпись EEP (eeprom), значение порога задается 35,0 градусам, программа не ждет редактирования порога, то есть сразу начинается термостатирование по 35,0 градусам. При изменении значения порога, термостатирование будет осуществляется по предыдущему значению, новое значение порога будет принято после выхода из режима редактирования.

Датчик настроен на 12 битное разрешение. Термостат использует все значения прочитанные с датчика, то есть работает с разрешением 0.0625гр. При выводе на индикатор температуры и порога термостатирования, значения пересчитываются и округляются до десятых.


Индикация и обработка аварийных ситуаций.

К выводу PD7(13) подключен SP-излучатель со встроенным генератором .
При температуре ниже 35.0С появляется логическая "1" на 0.5сек через каждые 2сек.
При температуре выше 40.0С логическая "1" появляется на 0.5сек через каждые 0.5сек.

Вывод PD5(11). Авария_2.
При температуре выше 40.5С появляется логическая "1". Сигнал снимется только после перезапуска устройства.

Вывод PD4(6). Авария.
При температуре выше 40.5С появляется логическая "1". Считается, что произошел пробой симистора и происходит не контролируемый рост температуры. Данный сигнал включает реле К1, которое обесточивает цепь нагрева.

Далее термостатирование будет производиться этим реле.
При температуре выше порога:
    на выводе PD4(6) "авария" логическа "1".
    на выводе PD6(12) "нагрев" логический "0".
    сняты управляющие импульсы с симистора.
При температуре ниже порога:
    на выводе PD4(6) "авария" логический "0".
    на выводе PD6(12) "нагрев" логическа "1".
    включены управляющие импульсы с мощностью 100% (на случай, если по каким то причинам, произошло ложное срабатывание режима "АВАРИЯ")..

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

Алгоритм регулирования температуры.

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

  1. В первом состоянии термостат включен на полную мощность и ждет, пока температура не превысит значение [порог-4 градуса].
  2. Во втором состоянии снижается рост температуры примерно до 0.12 гр. в секунду, зависит от мощности тена и теплоемкости инкубатора. Это состояние нужно, для избежания перерегулирования температуры при первоначальном разогреве. Как только температура сравняется со значением порога, термостат переходит на следующие состояние.
  3. В третьем состоянии происходит ожидание, пока температура не опустится до значения порога (если было перерегулирование во втором состоянии). Это нужно для того, что бы алгоритм управления теном не снизил мощность тена до минимума, находясь в зоне перерегулирования. И стартовал с начальной мощностью тена в 50%.
  4. Для прошивки с фазоимпульсным управлением.
    В двух словах, смысл такой. Термостат работает как большинство других, включением/выключением нагрева. Плюс к этому постоянно идет подбор мощности ламп для оптимального регулирования, программа пытается выбрать такую оптимальную мощность, при которой лампы не будут выключаться. Так же в этом состоянии реализовано плавное включение ламп, что в принципе должно положительно сказаться на их долговечности.
    Регулировка мощности осуществляется 145 значениями. Длина управляющего импульса - 20 микросекунд.
    Для прошивки с алгоритмом низкочастотной шим.
    В четвертом состоянии включается алгоритм низкочастотной шим. Время включенного состояния постоянно и равно 0.3 сек. Мощность регулируется изменением времени паузы в пределах 0..2.5 секунды. При превышении температуры значения порога, выключается нагрев и увеличивается пауза. При равных значениях порога и температуры включается нагрев с установленной паузой, при температуре меньшей значения порога, пауза уменьшается, при больших рассогласованиях скорость изменения времени паузы увеличивается.

Схема.

схема

В схеме можно использовать индикаторы с общим анодом или катодом.

Термостат испытывался с применением оптотиристоров ТО125-12.5-7. В схеме можно применять тиристоры и симисторы включенные по схемам приведенным ниже. Импульсные трансформаторы применяют типов МИТ-4, МИТ-12 или аналогичных.

Управление с помощью оптопар МОС:
Для прошивки с алгоритмом низкочастотной шим, можно применять MOC3021, MOC3022, MOC3023, подключив их к точке А. Оптопары содержащие в своем составе блок "Zero-Cross" (Zero-Cross: схема управления переключением (открыванием симистора) в момент перехода фазы через ноль) MOC3041, MOC3042, MOC3043, MOC3061, MOC3062, MOC3063 можно подключить к точке B на основной схеме. Статья по применению этих оптопар, журнал радиомир 10.2008 (21 Kb) .
Для прошивки с фазоимпульсным управлением, можно применять только MOC3021, MOC3022, MOC3023, подключив их к точке А, они не имеют в своем составе схемы Zero-Cross. Вывод "нагрев", в этой прошивке индуцирует поданную мощность.
Ограничивающие резисторы R* во всех случаях подбираются в зависимости от используемого импульсного трансформатора или типа применяемой оптопары.

подключение тиристоров

Настройка.

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

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

    Для прошивки с низкачастотной шим этот блок не используется. Для включения симистора на выводе PB3(17) генерируются импульсы c частотой ~2кHz и длиной в 10 uSek.

    Fuse High Byte Fuse Low Byte
    RSTDISBL 1 (unprogrammed) BODLEVEL 1 (unprogrammed)
    WDTON 1 (unprogrammed) BODEN 0 (programmed)
    SPIEN 0 (programmed) SUT1 1 (unprogrammed)
    CKOPT 1 (unprogrammed) SUT0 0 (programmed)
    EESAVE 0 (programmed) CKSEL3 0 (programmed)
    BOOTSZ1 0 (programmed) CKSEL2 0 (programmed)
    BOOTSZ0 0 (programmed) CKSEL1 1 (unprogrammed)
    BOOTRST 1 (unprogrammed) CKSEL0 1 (unprogrammed)
    Для PonyProg 0 - галка.

    Фазоимпульсное управление. Прошивка, исходник fi.7z (10 Kb).
    Фазоимпульсное управление. Версия на микроконтроллере AtMega8535, есть печатная плата.
    Низкочастотная шим. Прошивка, исходник low_pwm.7z (10 Kb).
    Посмотреть фото инкубатора (200 Kb).

    Я надеюсь, что Вам понравиться работа этого регулятора. Если это так, то я так же надеюсь, что Вы перечислите мне небольшую сумму денег в виде благодарности. Мой счет яндекс.деньги 410011551997571.

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

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



    Hosted by uCoz