Термостат для овощехранилища на pic 628 своими руками

Добавил пользователь Morpheus
Обновлено: 10.09.2024

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

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

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

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

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

Принципиальная схема

Принцип действия классический. Он основан на разбалансировке моста постоянного тока состоящего из резисторов R1-R4, в диагональ которого включен компаратор на операционном усилителе А1. Терморезистор R2 следит за температурой. Он установлен прямо на плате устройства.

Переменным резистором R4 устанавливают момент балансировки моста в зависимости от температуры (то есть, в зависимости от сопротивления тероморезистора R2).

Принципиальная схема простого терморегулятора для хранилища овощей

Рис. 1. Принципиальная схема простого терморегулятора для хранилища овощей.

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

На лампы Н1-Н4, служащие нагревателем, через диод VD5 поступает напряжение электросети, но только одной из полуволн. В результате эффективное напряжение на лампах составляет около 180V.

Печатная плата для схемы термостабилизатора

Рис. 2. Печатная плата для схемы термостабилизатора.

Расположение деталей на плате терморегулятора

Рис. 3. Расположение деталей на плате терморегулятора.

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

Измерительный мост и операционный усилитель питаются напряжением 18V от стабилитрона VD2. При этом режим работы ОУ оптимален, и обеспечивается достаточно высокая точность измерения, но напряжение 18V недопустимо высоко для затвора полевого транзистора VТ1. Поэтому, напряжение на его затворе ограничено стабилитроном VD1 и резистором R6.

Сопротивление открытого канала транзистора IRF840 менее одного Ома, поэтому, при мощности нагрузки 240W (четыре лампы по 60W каждая) на транзисторе рассеивается минимальная мощность, и он практически не нагревается. Нет нагрева и от источника питания, так как в нем нет привычного мощного гасящего сопротивления.

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

Детали

Датчиком температуры (R2) является терморезистор ММТ-4 номинальным сопротивлением 22кОм. Можно использовать аналогичный терморезистор с другим номинальным сопротивлением, от 10 до 100 кОм, при этом, сопротивление резистора R1 должно быть равно номинальному сопротивлению R2.

Стабилитрон КС518А можно заменить другим стабилитроном на напряжение 15-20V. Диоды КД209 - любые маломощные выпрямительные, например, КД105.

Диод VD5 должен быть на обратное напряжение не ниже 400V и ток не ниже 2А. Его можно заменить отечественным КД226Г. Е, КД257Б. Д, КД280Г. Ж. или другим аналогичным.

Конденсатор С1 должен быть рассчитан на напряжение не ниже 20V, конденсатор С2 -на напряжение не ниже 360V.

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

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

МЕНЮ

реклама

ВАЖНОЕ

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

Дело оказалось в том, что в ассемблерном исходном тексте программы, по которой работает микроконтроллер, отсутствует директива
__COnfig _XT_OSC & _WDT_OFF & _PWRTE_ON,
означающая, что используется кварцевый резонатор среза XT, сторожевой таймер микроконтроллера WDT выключен и действует таймер PWRT, задерживающий начало работы микроконтроллера после включения питания на время, необходимое для "раскачки" кварцевого резонатора. Именно невыключенный сторожевой таймер, периодически возвращая микроконтроллер в исходное состояние, не дает термометру возможности нормально работать.

Устранить дефект можно несколькими способами. Первый из них — вписать в исходный текст программы приведенную выше строку с директивой конфигурации (в любое удобное место между директивой «include и завершающей программу директивой end), повторить трансляцию и получить новый НЕХ-файл. Второй способ — дополнить строкой: 02400EOOF13F80 уже имеющийся НЕХ-файл. Ее можно ввести в любое место этого файла до завершающей его строки: 00000001FF. Естественно, придется повторить загрузку в микроконтроллер кодов из полученного в результате повторной трансляции или исправленного НЕХ-файла.

Многие программы—оболочки программирования позволяют задать нужную конфигурацию микроконтроллера, не внося в НЕХ-файл информацию о ней. Видимо, именно так поступил автор исходной программы, забыв рассказать об этом в статье. Например, работая с оболочкой IC-Prog, можно выключить сторожевой таймер, сняв "галочку" в окошке WDT на панели конфигурации. Это нужно сделать после загрузки в буфер программных кодов, но до выполнения операции программирования микроконтроллера. Панель должна иметь показанный на рис. 1 вид независимо от способа, которым установлена конфигурация.

При повторении термометра возникла необходимость установить в него четырехразрядный светодиодный индикатор BQ-M51DRD с общими анодами разрядов взамен использованных в исходной конструкции индикаторов с общими катодами. Схема термометра после такой замены показана на рис. 2. Он дополнен также узлом управления исполнительным устройством термостата на более мощном, чем в первоначальном варианте, транзисторе VT1 и реле К1.

Транзистор открыт, и к обмотке реле приложено напряжение, когда измеренное значение температуры меньше заданного. Если термостат управляет электронагревателем, в цепь питания последнего следует включить нормально разомкнутые контакты реле. А при необходимости поддерживать отрицательную температуру в морозильной камере в цепь питания компрессора холодильного агрегата включают нормально замкнутые контакты реле.
Чертеж односторонней печатной платы предлагаемого варианта термометра изображен на рис. 3 Конденсаторы С1 и С2 — керамические, СЗ — оксидный (К50-35). Все резисторы — МЛТ, некоторые из них расположены под индикатором HG1, где имеется свободное место. Диод VD1 установлен со стороны печатных проводников, его выводы припаяны непосредственно к выводам обмотки реле.

Интегральный стабилизатор КР142ЕН5А можно заменить КР142ЕН5В или импортным 7805. У примененного автором реле SYS1-S-105L есть полный аналог HJR-4102-L-05V. Если имеется реле с большим напряжением срабатывания, верхний вывод его обмотки вместе с подключенным к нему катодом диода VD1 нужно соединить с плюсом источника соответствующего напряжения в обход стабилизатора DA1. Светодиод КИП-М01 Б-1К можно заменить любым другим подходящих размеров и цвета свечения, а индикатор BQ-M51DRD -CA56-21SRWA. Изготовленный термометр с выносным датчиком изображен на фотоснимке рис. 4 Потребляемый ток, если реле не сработало, не превышает 29, а при сработавшем реле — 80 мА.
Чтобы заставить микроконтроллер обслуживать новый индикатор, пришлось переработать программу, прежде всего, ее участок, отвечающий за установку на соответствующих выводах портов RA и RB высоких и низких уровней напряжения. Новая программа устанавливает их инверсными относительно прототипа, что и требуется при изменившейся полярности подключения светодиодов индикатора. В связи с этим претерпел изменения и алгоритм определения состояния кнопок SB1 и SB2, причем логика установки заданного значения температуры этими кнопками осталась прежней.

Следует иметь в виду, что при первом включении термометра в энергонезависимой памяти микроконтроллера находятся случайные данные, не соответствующие, как правило, никаким разумным значениям температуры По этой причине светодиод HL1 может беспорядочно мигать, а реле К1 —срабатывать. Все приходит в норму после первой же установки температуры кнопками SB1 и SB2.

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

Принцип действия датчика DS18B20 достаточно подробно описан в [1], поэтому повторяться не буду. Приведу лишь взятую из [2] табл. 1 где указаны коды, передаваемые датчиком при различной температуре. Их двоичные значения при положительной темпера туре имеют в старших разрядах нули, а при отрицательной – единицы. На этом и основан анализ значений температуры в переработанной программе. Он ведется с использованием флага переноса С в регистре STATUS. После добавления в программу блоков, начинающихся в ее ассемблерном тексте метками L2A, L2B, L2C, L2D и L2E правильно обрабатываются все возможные ситуации:
- заданная температура положительна и выше измеренной положительной;
- заданная температура положительна и ниже измеренной положительной;
- заданная температура положительна, а измеренная отрицательна;
- заданная температура отрицательна, а измеренная положительна;
- заданная температура отрицательна и выше измеренной отрицательной;
- заданная температура отрицательна и ниже измеренной отрицательной.

Теперь при заданной температуре +10 "С высокий уровень на линии RA3 (выводе 2) микроконтроллера будет установлен при измеренном значении ниже +10°С и вновь станет низким при температуре + 12 °С — на 2 "С выше заданной Эта логика сохранится и при заданной температуре -10 °С. Высокий уровень будет установлен при температуре ниже -10 °С, а низкий — как только температура возрастет до -8 "С.

Ширину зоны гистерезиса (в рассмотренном случае 2 °С) можно изменить, откорректировав следующий фрагмент программы:
MOVLW 0x02; гистерезис в градусах
MOVWF DT_ALARM

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



Обновление от RGB :



Понадобился простой термостат для автоклава. В продаже нашел такой, но для аквариума и теплиц цена одна, а для температурного режима до 125 градусов по Цельсию цена сразу вырастает четырехкратно, как то не справедливо, тем более схема его собрата известна, отличается для различных температурных режимов только прошивкой. Решил повторить. Схема и прошивка оказалась отшлифована по всем параметрам. Большое спасибо ее автору.
Все прошло как по маслу, никаких неприятностей с наладкой, ни каких ошибок в схеме и даже не было ошибок в монтаже в моем исполнении. Получился универсальный термостат на микроконтроллере PIC16F628A и датчике DS18B20 или DS18S20.


Схема с общим анодом и исполнительным узлом на реле.





Да, уж. В мастерской холодно, -1 градус мороза. В черной термоусадке - это микросхема датчика температуры.



Термостат в сборе без корпуса. На нижней плате виден трансформатор 15 вольт, 110 мили Ампер

Термометр термостата позволяет измерять температуру в диапазоне от -55 до +125 градусов, а также управление нагрузкой во всем диапазоне температур, с гистерезисом +/- 1 градус. Т.е. реле будет включено при температуре на 1 градус ниже заданной и выключено, при температуре на 1 градус выше заданной. Универсальность схемы состоит в том, что его легко переделать под индикатор с общим анодом (ОА), и под индикатор с общим катодом (ОК). Также есть возможность применять датчики DS18B20 и DS18S20. Вместо реле установить симисторний регулятор.
Я применил 3-х разрядный светодиодный индикатор с общим анодом. Исполняющий узел на реле от автомобильного девайса, хотя сделал плату и на симисторе, но так ее не распаял. Не было уже необходимости. Датчик QT18B20, аналог DS18B20. Есть небольшая проблема этой схемы для моего использования: мне термостат нужен при рабочих температурах 100-125 градусов, а рекомендуемая температура работы датчика 80. 90 градусов. Но лично видел заводского исполнения автоклав с таким датчиком. Прикупил пару на запас. Стабилизатор 7805 может греться, по этому я плату развел под корпус DPAK, можно на плату установить и корпус ТО-220, подрезав немного ноги, широкая дорожка дополнительно снимет тепло. Естественно, что под каждый из типов индикации и вариант датчика идет своя прошивка. Всего имеется четыре разных прошивки. Под ОК, с датчиком DS18B20. Под ОА, с датчиком DS18B20. Под ОК, с датчиком DS18S20 (DS1820). Под ОA, с датчиком DS18S20 (DS1820).
Управляется термостат 2-мя кнопками. при нажатии на любую - дисплей индицирует заданную температуру (показания мигают). Далее кнопками +1 или -1 изменяют в ту или иную сторону порог термостата. Через несколько секунд термостат выйдет из режима установок, все изменения будут сохранены в энергонезависимой памяти EEPROM, мигание прекратиться и дисплей будет отображать текущую температуру.
Конструктивно сделал плату многоэтажной, с возможностью замены исполнительного узла и замены блока питания. сединение меду платами - цанговый разъем, можно заменить шлейфом от дисковода


В архиве находятся схемы и печатные платы для индикаторов как с общим Анодом, так и с общим Катодом, и пример установки симистора вместо реле (не проверял в работе), четыре прошивки под различные индикаторы и датчики.

Основа первой схемы терморегулятора - микроконтроллер PIC16F84A с датчиком температуры DS1621 обладающим интерфейс l2C. В момент включения питания, микроконтроллер сначала инициализирует внутренние регистры температурного датчика, а затем проводит его настройку. Терморегулятор на микроконтроллере во второй схеме выполнен уже на PIC16F628 с датчиком DS1820 и управляет подключенной нагрузкой с помощью контактов реле

Терморегулятор на микроконтроллере PIC16F628 с датчиком температуры DS1820

Особенность конструкции: Индикация на ЖК - дисплей текущей температуры. Возможность управления нагревательным элементом или другим мощным внешним прибором. Возможность работы в режиме термостата.

Блок питания можно собрать самостоятельно на стабилизированное напряжение на 5 вольт. Чтоб узнать как запрограммировать датчик температуры DS1820 кликните мышкой на картинку выше с надписью терморегулятор схемы

Терморегулятор на микроконтроллере PIC16f84 для теплого пола с датчиком температуры DS1621

Устройство работает по интерфейсу l2C. В момент подачи питания, микроконтроллер сначала инициализирует внутренние регистры температурного датчика, а затем проводит его настройку.

Как только инициализация заканчивается, микроконтроллер считывает из энергонезависимой памяти заданные уровни температуры. Затем терморегулятор осуществляет циклический опрос температурного датчика и выводит значение температуры на светодиодный индикатор. Для отображения десятых долей температуры, десятичная точка у индикатора HG2 соединена через сопротивление R14 на общий провод. В конце сравнения заданного и фактического значений температуры программа формирует низкий или высокий уровень сигнала на второй выход RА3 микроконтроллера PIC16f84. Это сигнал и является управляющим для включения терморегулятора.

Требуемую температуру в память микроконтроллера PIC16F84A можно вносить с шагом в пол градуса Цельсия. Выбор нужного значения температуры осуществляется тумблерами SB1 и SB2, а ее запись в энергонезависимую память осуществляется нажатием и удержанием более 1 секунды кнопки SB3.

Температурный датчик DS1621 располагаем в подходящего по диаметру трубки и вблизи с нагревательным кабелем теплых полов. Соединение датчика и терморегулятора осуществляем 4-х проводным кабелем длинной до двух метров. Прошивку к микроконтроллеру скачивайте по ссылке чуть выше, а о программирование PIC микроконтроллеров читаем тут.

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

Оптическая развязка цепей между термостатом и нагревательными элементами теплых полов выполнена на оптосимисторе MOC3041.

Величину температурного гистерезиса можно задавать в интервале от 1 до 10 градусов. Температурный максимум, поддерживаемый регулятором, около 70 градусов. При первом включении схемы в энергонезависимую память МК записывается гистерезис включения и выключения термостата - 5 градусов и поддерживаемая температура -40 градусов. После подачи питания должны загореться все сегменты цифрового индикатора кроме точек. Для задания температуры используются кнопки SB1 и SB2. SB1 — уменьшение, SB2 — увеличение. Гистерезис задается этими же кнопками, но при нажатой SB3. Функциональность кнопок SB1 и SB2 в данном случае такая же. Если задать температуру в сорок градусов, а гистерезис десять, то при сорока градусах будут срабатывать термонагреватели, а при 40+10 = 50 они отключатся.

Номиналы сопротивлений резисторов R8,R9,R10 могут лежать в интервале от 4,7кОм до 10кОм. А вот номиналы сопротивлений R5 и R6 — критичны и должны быть такими, чтобы общий ток, идущий через HL2 и оптрон U1, был не выше 25 миллиампер. Можно вообще HL2 выкинуть из схемы, достаточно и лампы HL1, и тем самым снизить нагрузку на выходе МК.

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

Основа схемы — уже знакомый микроконтроллер PIC16F628A. В роли датчика температуры применен DS18B20, способный правильно функционировать до +125 градусов. Показания установленной и реальной температуры индицируется четырехразрядным семисегментным светодиодным индикатором с общим анодом.

Задание нужной температуры осуществляется при помощи двух кнопок SB1 и SB2. Коммутация нагрузки происходит с помощью оптотиристоров ТО125-12,5-6. При помощи сопротивления R1 задается ток протекающий через светодиоды оптронов, номиналом около 50мА. Оптотиристоры необходимо разместить на радиаторах, согнутых из полоски алюминия площадью 100см 2 . В роли сетевого трансформатора можно использовать любой, обеспечивающий на выходе вторички напряжение 6В при токе нагрузки — от 100 мА. Прошивку к МК и чертеж печатной платы забираем по ссылке выше

Основой схемы является, уже знакомый нам микроконтроллер PIC16F628A. Применение ЖК дисплея позволило освободить несколько выводов МК, что существенно упростило согласование по времени считывания данных с датчика температуры и влажности и вывода результирующей информации на экран. В этой схеме используется универсальный датчик температуры и влажности DHT22.

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

SB1 — увеличение задаваемой температуры.
SB2 — уменьшение ---/---/---
При нажатой SB3: SB1 — увеличение задаваемого гистерезиса, SB2 — соответственно уменьшение
SB4 — обеспечивает уменьшение устанавливаемой влажности, SB5 — увеличение

Читайте также: