Термостат своими руками на микроконтроллере - Строительство домов и бань
535 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Термостат своими руками на микроконтроллере

Термостат своими руками на микроконтроллере

Терморегулятор на термопаре К-типа

Автор: DrCaH4ec, drcah4ec@meta.ua
Опубликовано 20.07.2017
Создано при помощи КотоРед.

Всем доброго времени суток!

Представляю вашему вниманию разработанную мной схему терморегулятора на термопаре К-типа.

«Мозгом» данного устройства является микроконтроллер Atmega8 (я использовал корпус TQFP32). Данные выводятся на семисегментный трехразрядный индикатор с общим катодом(цвет свечения на ваш вкус). Ток на катоды индикатора идет через транзисторы(я использовал MMBT3904, но так же подойдут КТ315 или любые другие маломощные биполярные транзисторы обратной проводимости).

Прибор питается от напряжения 5В которое обеспечивает стабилизатор напряжения 7805, нужно взять в корпусе ТО220 и рекомендуется установить на радиатор.

Диоды для диодного моста я взял 1N4007, но также можно использовать любые другие выпрямительные диоды или же готовый диодный мост. Управление осуществляется кнопками S1(Т-), S2(Т+). Сигнал с термопары усиляется операционным усилителем LM358. В устройстве реализована компенсация холодного спая термопары и калибровка 0 операционного усилителя. Термопару можно использовать от мультиметра, но лучше взять ее в защитном кожухе так как ее спокойно можно будет погружать в те вещества, которые вы будете плавить.

Резисторы любой мощности.

«Экзотические» номиналы резисторов в блоке усиления можно получить следующим образом:

Диод D5 обязательно должен быть прикреплен как можно ближе к месту крепления контактов термопары к плате и он должен быть 1N4148 или отечественный аналог КД522.

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

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

Светодиод LED1 индицирует идет ли нагрев.

Минимальная температура которую можно установить – 50 о С; максимальная – 800 о С.

Принцип работы устройства очень простой. Если текущее значение температуры нагревателя измеренное прибором меньше установленного, то на порте B2 микроконтроллера появляется логическая единица, симистор открывается и ток на ТЭН проходит. Иначе, если текущее значение температуры нагревателя измеренное прибором больше или равно установленному, то на порте B2 микроконтроллера появляется логический ноль, симистор закрывается и ток на ТЭН не проходит.

Правильно собранное устройство нуждается только в калибровке.

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

Один из сетевых проводов и выход симистора выведены сзади корпуса наружу и через мощный клемник к ним подключается ТЭН. Также на задней части корпуса выходят провода термопары. Так как провода термопары в моем случае экранированные, на экране находится минус.

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

Калибровка

Включите устройство. Опустите термопару в талую воду со льдом и вращая переменный резистор P1 установите на индикаторе 0 о С, или же если у вас есть градусник, можете измерить им комнатную температуру и вращая переменный резистор Р1 установите на индикаторе такую же температуру, какую показал «эталонный» градусник. Затем закипятите воду, опустите термопару туда и вращая переменный резистор Р2 установите на индикаторе 100 о С. Можете произвести такую операцию несколько раз, пока прибор не покажет нужную температуру без подстройки. Можете так же поверить как он покажет температуру тела.

Использование

Сразу после включения на индикаторе появится надпись приветствия НІ(с англ. – привет).

Затем устройство покажет установленную температуру (при первом включении там будет случайное число) и терморегулятор перейдет в рабочий режим. Где будет показывать текущую температуру, также светодиод будет индицировать идет ли нагрев (светодиод светит – идет, не светит – не идет).

Для установки заданной температуры нагрева нужно зажать обе кнопки и держать до появления надписи «INS» (instalation).

Затем на индикаторе ненадолго появится значение текущей установленной температуры и вы сможете кнопками установить нужную вам температуру. Когда вы это сделали, просто отпустите кнопки и ничего не делайте. Через некоторое время (примерно 5 сек.) на индикаторе появится надпись «SAV»(save). И устройство перейдет в рабочий режим.

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

Схема. Таймер-терморегулятор на микроконтроллере

Автор: Radioelectronika-Ru · Опубликовано 28.11.2017 · Обновлено 16.03.2018

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

Технические характеристики в режиме терморегулятора
Интервал регулируемой температуры, °С ………………………………….от -55 до +125
Разрешающая способность при измерении и регулировании, °С:
в интервале температуры -9,9…-99,9 °С …………………………………..0,1
в интервале температуры -55…-10 °С и +100…+125 °С ……………….1
Погрешность измерения, °С, не более:
в интервале температуры -10…+85 °С ……………………………………..±1
в интервале температуры -55…-10 °С и +85…+125 °С …………………±2
Интервал установки гистерезиса, °С ………………………………………..± 0…50
Верхняя граница установки интервала регулирования, °С …………….-55…+125
Нижняя граница установки интервала регулирования, °С …………….-55…+125
Интервал корректировки показаний термометра, °С……………………..±2

Терморегулятор работает как в режиме нагрева, так и охлаждения. Дополнительно можно установить продолжительность поддержания температуры в интервале 1—999 мин или остановку работы терморегулятора на тот же промежуток времени. В процессе работы подсчитывается суммарная продолжительность подключения нагрузки к сети. Устройство предназначено для работы совместно с датчиком температуры DS18B20 и автоматически определяет его ID-код.

Технические характеристики в режиме таймера
Интервалы установки времени
секунд……………..1…999
минут………….1…999
часов ………………1…999
Направления отсчёта времени …………………..прямое или обратное

Таймер обеспечивает задержку как включения, так и отключения нагрузки.
Схема таймера-терморегулятора показана на рис. 1. Все основные функции возложены на микроконтроллер DD1, управление режимами и ввод данных осуществляют с помощью кнопок SB1—SB3, а информация выводится на трёхразрядный светодиодный индикатор HG1. Питание осуществляется от сети, которую подключают к зажимам 1 и 2 колодки ХТ1. На трансформаторе Т1, диодном мосте VD1, стабилизаторе DA1 и сглаживающих конденсаторах С2 и С4 собран узел питания. Резистор R1 повышает надёжность работы устройства при повышенном сетевом напряжении. Но при желании его можно исключить, установив на плате взамен него проволочную перемычку.

Включение или отключение питания нагрузки осуществляется с помощью реле К1, контакты которого К1.1 нормально разомкнуты и подсоединены к зажимам 3 и 4 колодки ХТ1. Датчик температуры DS18B20 подключают к зажимам 5 и 6. Применена двухпроводная схема подключения датчика: к зажиму 6 присоединён вывод 2, к зажиму 5 — выводы 1 и 3. Для вывода информации на индикатор HG1 использована динамическая индикация с периодом обновления символов около 20 мс.

Управление работой и установку параметров осуществляют с помощью трёх кнопок SB1 “◄” (уменьшение), SB2 “►” (увеличение) и SB3 “∟” (ввод). В зависимости от предварительной установки устройство может выполнять функции универсального терморегулятора или быть в роли таймера. Для выбора функционального назначения необходимо нажать на кнопку SB3 и, удерживая её, подать напряжение питания. На индикаторе HG1 появится номер текущей установки (рис. 2). Кнопками SB1 и SB2 устанавливают режим работы: 1 — универсальный терморегулятор (задан по умолчанию), 2 — таймер. Для подтверждения следует нажать на кнопку SB3. Изменения вступят в силу после следующего включения.

При работе устройства в качестве терморегулятора датчик температуры располагают в месте, где необходимо поддерживать заданную температуру. После подключения прибора к сети на индикаторе “пробегает” тестовая надпись HELLO — терморегулятор готов к работе. В рабочем режиме на индикаторе HG1 постоянно отображается текущее значение температуры. О том, что нагрузка в данный момент включена, свидетельствует мигающая точка в младшем разряде.

Установку температуры производят кнопками SB1 и SB2, по умолчанию она составляет 30 °С. В момент нажатия на любую из этих кнопок на индикаторе HG1 появляется мигающее значение устанавливаемой температуры, а по истечении 5 с после последнего нажатия терморегулятор возвращается в рабочий режим. Все введённые данные сохраняются в энергонезависимой памяти микроконтроллера. При нажатии и удержании кнопок SB1 и SB2 выбранный параметр изменяется быстрее. В зависимости от продолжительности нажатия последовательно переключаются три его скорости изменения.

Для установки других настроек терморегулятора необходимо войти в меню. Для этого следует нажать на кнопку SB3. Изменение настроек производят в соответствии с рис. 3. Через 5 с после последнего нажатия любой кнопки устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. Ниже приведено описание доступных параметров.

ГГР — гистерезис. Параметр, в котором задаётся разность температур включения и отключения нагрузки. Установленное число суммируется с заданной установкой температуры для включения и вычитается для выключения. Если, например, задана температура 30,0 °С, а ГГР — 4,5, то в режиме нагревания отключение нагрузки произойдёт при температуре 30,0 + 4,5 = 34,5 °С, а включение — при 30,0 – 4,5 = 25,5 °С. Если терморегулятор работает в режиме охлаждения, отключение произойдёт при температуре 25,5 °С, а включение — при 34,5 °С. Если установить ГГР равным 0, на индикаторе отобразится надпись ГР и прибор будет работать как обычный термометр, на индикаторе отобразится текущая температура, а нагрузка будет всё время отключена. По умолчанию установлено значение ГГР, равное 3,0.

ВПР — верхний предел температуры. Этот параметр определяет максимально возможное значение устанавливаемой температуры. В случае превышения этого предела, независимо от других установок, нагрузка будет отключена. По умолчанию в ВПР задано значение 80,0.
НПР — нижний предел температуры. Этот параметр определяет минимально возможное значение устанавливаемой температуры. В случае снижения температуры ниже НПР, независимо от других настроек, нагрузка также будет отключена. Значение НПР всегда меньше или равно ВПР. По умолчанию в НПР задано значение 10,0.
ВРВ — продолжительность времени включения (в минутах). Этот параметр задаёт временной интервал, в течение которого поддерживается заданная температура. По его окончании нагрузка будет отключена. Признак истечения установленного временного интервала — постоянно светящаяся точка в младшем разряде индикатора. Повторный запуск таймера производят нажатием на кнопку SB3. Если ВРВ установлено равным 0, на индикатор выводится изображение “—“, а таймер в работе терморегулятора не участвует. По умолчанию таймер отключён.

ВРО — продолжительность времени отключения. Параметр задаёт временной интервал (в минутах), в течение которого устройство находится в выключенном состоянии, предназначен для использования совместно с параметром ВРВ. По окончании установленного интервала времени устройство возвращается к функции поддержания температуры. Если, например, установить значение ВРВ 90, а ВРО 60, терморегулятор будет циклически поддерживать температуру в течение 90 мин, а затем отключаться на 60 мин и снова включаться на 90 мин и т. д. Если ВРО равно 0, на индикаторе выводится изображение “–“, а таймер в работе терморегулятора не участвует. По умолчанию ВРО имеет нулевое значение (таймер отключён).
ПАР — параметры работы. Значение ПАР определяет режим работы терморегулятора: нагревание или охлаждение. При работе совместно с нагревателем в ПАР необходимо установить НА, при работе совместно с охладителем — ОС. По умолчанию в ПАР задано значение НА (работа с нагревателем).

Читать еще:  Трубогиб для металлопластиковой трубы своими руками

ПОП — поправка показаний. Этот параметр позволяет проводить корректировку показаний термометра и в случае необходимости добиться (по образцовому термометру) погрешности измерения менее 0,1 °С. Значение ПОП добавляется к текущим показаниям температуры. Обычно в корректировке показаний нет необходимости, поскольку датчик температуры DS18B20 имеет заводскую калибровку и очень высокую точность измерения. По умолчанию ПОП имеет значение 0,0 (корректировка отсутствует).
РАБ — время работы нагревателя (или охладителя). В этом режиме выводится время (в часах), в течение которого нагрузка была включена. Это позволяет оценить расход электроэнергии. Например, если месячные показания РАБ равны 250, а мощность нагревательного элемента — 0,5 кВт, расход электроэнергии составляет 125кВт·ч.

НОГ — идентификационный номер (ID-код) датчика температуры. Выводится 64-разрядный идентификационный номер датчика DS18B20, представленный в шестнадцатеричном формате. Например, 28А2С86801000017. (последняя цифра отмечена десятичной точкой). Просмотр номера производится нажатием на кнопки SB1, SB2 и может понадобиться для определения, какой из датчиков подключён. Если связь с датчиком нарушена или по каким-либо причинам код считать не удалось, на индикатор будет выведено сообщение Err (ошибка).

Устройство автоматически определяет наличие и исправность датчика температуры. При обрыве цепи или отсутствии датчика на индикаторе появится надпись HI, а при коротком замыкании или неправильном подключении — Lo. При любой неисправности нагрузка автоматически отключается. Провод, соединяющий датчик с устройством, должен иметь сечение не менее 0,5 мм 2 , а длину — не более 10 м. Информация считывается с датчика температуры с периодом 1 с и сравнивается с предыдущим значением. Если скорость роста температуры превышает 30 °С/с или скорость падения температуры превышает 20 °С/с, ситуация интерпретируется как аварийная и нагрузка отключается.

Для просмотра и изменения установок при работе в режиме таймера необходимо войти в меню. Для этого следует нажать на кнопку SB3. Установку проводят в соответствии с рис. 4 Через 5 с после последнего нажатия на любую кнопку устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. После входа в меню появляется текущая установка таймера (индикатор мигает). Кнопками SB1 и SB2 устанавливают временной интервал в пределах 000…999 (по умолчанию задано 100). Если установить 000, таймер блокируется, а в рабочем режиме на индикаторе будет сообщение “—“.

После установки цифрового значения нажимают на кнопку SB3, и затем можно задать единицы измерения времени. Это могут быть секунды SEC (по умолчанию), минуты Ml или часы HOU.
Далее устанавливают режим работы таймера. При выборе ОН, по истечении установленного временного интервала, нагрузка будет подключена, выбор OFF означает, что нагрузка будет отключена. Выбор направления счёта таймера — обратный при выборе ОБС (задан по умолчанию) и прямой при выборе — ПРС. Во время работы таймера на индикаторе отображается время. Запуск таймера осуществляют нажатием на кнопку SB2. Если задан прямой счёт, показания изменяются от нуля до максимального значения, например, 0, 1, 2… и т. д., а если обратный — от максимального значения до нуля, например, 100, 99, 98… и т. д.

Остановку таймера производят кнопкой SB1. При повторном нажатии на неё он перейдёт в исходное состояние. Если выбрана установка на включение, по окончании установленного интервала нагрузка будет подключена и на индикаторе появится сообщение ОН, а если установка на выключение — OFF и нагрузка отключена. О текущем состоянии нагрузки можно судить по десятичной точке в младшем разряде индикатора. Она светит — нагрузка включена, погашена — отключена. В случае установки минут или часов точка каждую секунду кратковременно вспыхивает, если нагрузка отключена, и кратковременно гаснет, если включена.

Для повышения надёжности работы в устройстве применён ряд программных приёмов. В первую очередь, это касается работы с EEPROM микроконтроллера. Каждый параметр в энергонезависимой памяти продублирован в четырёх ячейках. Чтение и запись проводятся поблочно. После каждого чтения содержимое четырёх ячеек сравнивается между собой. Если в одной или двух из них оно отличается от остальных, единое значение всех ячеек блока восстанавливается по тем, в которых оно идентично.

Большинство деталей монтируют на двух печатных платах из фольгированного стеклотекстолита, чертежи которых показаны на рис. 5 и рис. 6. Применены постоянные резисторы для поверхностного монтажа РН1-12, остальные — МЛТ, С2-23. Оксидные конденсаторы — К50-35 или импортные, остальные — К10-17. Реле — JZC-22F3SC20DDC12V, кнопки — DTST-6. Трансформатор должен обеспечивать на выходе выпрямителя напряжение 12 В при токе до 150 мА ХТ1 — однорядный клеммник серии 305. Для программирования микроконтроллера предназначен файл modul_v2.hex.

Платы устанавливают в пластмассовый корпус рис. 7). Внешний вид собранного устройства показан на рис. 8. Резистор R2 был предназначен для защиты микроконтроллера в процессе отработки конструкции, но после изготовления нескольких экземпляров устройств он был исключён и взамен него на плате установлена проволочная перемычка.

В целях упрощения предусмотрена возможность исключения токоограничивающих резисторов R4—R11 в цепях управления сегментами индикатора HG1. В этом случае их заменяют отрезками провода, в микроконтроллер следует загрузить файл modul_v1.hex Чтобы исключить перегрузку по току индикатора и микроконтроллера, подача напряжения на каждый разряд индикатора осуществляется на 0,3 мс, поэтому работают они при номинальном среднем токе. Яркость свечения индикаторов с различным числом включённых элементов немного различается из-за неравномерного распределения тока и различного падения напряжения на выходных транзисторах портов микроконтроллера. Индикатор с общим катодом можно заменить на аналогичный, но с общим анодом. Для этого в начале программы modul_v1 .asm (modul_v2.asm) следует удалить строку tfdefine _COMMON_CATODE_ и заново откомпилировать программу.

При программировании устанавливают следующую конфигурацию микроконтроллера: BODLEVEL=1; BODEN = 0; SUT1 = 1; SUT0 = 1; CKSEL3 = 1; CKSEL2 = 1; CKSEL1 = 1; CKSEL0 = 1; RSTDISBL = 1; WDTON = 1; SPIEN = 0; СКОРТ = 0; EESAVE = 0; BOOTSZ1 = 1; BOOTSZ0 = 1; BOOTRST = 1.

И. КОТОВ, г. Красноармейск Донецкой обл., Украина
“Радио” №3 2012г.

Терморегулятор для холодильника на микроконтроллере ATMEGA8 и термодатчике DS18B20. Схема, плата, прошивка

Содержание / Contents

↑ Немного истории

Моему холодильнику уже добрых 20 лет и за это время он успел сменить в себе два мотора и один термостат, побывал в двух мастерских и теперь это «чудовище Франкенштейна» совсем перестало выключаться.
По опыту скажу, что я очень не люблю такие термостаты, их механическая начинка довольно капризная. А ещё мастера мне попадались уникальные, они чинили одну часть холодильника, и ломали другую. Например, после ремонта у меня перестала включаться лампочка «в салоне» при открывании двери.
«Хочешь, чтобы было сделано хорошо? Сделай это сам!»

↑ Изучение холодильного вопроса и временное решение

Еда начинает портиться! Звать мастера, чтобы он провозился с холодильником пару недель (а у меня в городе такие мастера и есть) — не вариант, что делать? Надо периодически выдёргивать вилку из розетки, имитируя работу термостата! Меня хватило на один день этого мазохизма, поэтому мне нужно удобное решение и собрал я за вечер обычный микроконтроллерный таймер-реле включения/выключения буквально на подносе и это не шутка.

Работает! Его задача — тупо включать компрессор на 15 минут и выключать на 45. Питание взял от импульсника из сломанного DVD плеера, в нём удачно обнаружились два выхода 12 и 5 Вольт. Реле врезал в удлинитель и прижал всё колонками. Изящное временное решение вышло!

↑ Схема моего терморегулятора

Теперь есть «время на подумать» и поискать вдохновения в Интернете для разработки полноценного терморегулятора.
Что в итоге я выяснил:
• компрессор может работать часами, но не сутками, ему нужен отдых;
• после выключения компрессора, нужно минимум 5-10 минут перед повторным запуском.

В остальном, есть простор для творчества.

Тут всё просто. Есть реле RL1 на ток в 16А на каждую группу, управляющую компрессором. Ключ Q1 управляет этим реле, получая команды от микроконтроллера U1. МК тактируется от кварца в 4 МГц.

Кнопки управления всего две, это «PLUS» и «MINUS», подтянуты они к плюсу питания и зашунтированы ёмкостями С4 и С5, для избавления от дребезга контактов.

Используется цифровой термодатчик U1 ds18b20, работающий по однопроводному протоколу.

Вся индикация — на семисегментном LED индикаторе с общим анодом, работающим в динамическом режиме. Светодиод «WORK» это индикатор состояния компрессора, который показывает, включен он или нет.

Питание взял от готового импульсника, на выходе которого, снимается 12В на реле и 5В на всё остальное.

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

В итоге, клеммы с термостата SK будут отключены и перенаправлены на контакты моего реле.

↑ Пишем холодильную программу для МК

Тут не указана процедура опроса кнопки, т.к. она происходит постоянно на всех этапах работы программы. Во время периодического опроса датчика, а это каждые 3 секунды, происходит проверка исправности датчика температуры. В случае потери связи с датчиком, программа перейдёт в аварийный режим, когда вызывается подпрограмма таймера работы/отдыха компрессора. Для возврата в нормальный режим, необходимо будет исправить связь с датчиком температуры и выключить/включить устройство.

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

Прошивка и исходники, как всегда, в подвале статьи! Что касается фьюзов, то они все сняты, кроме CKSEL1, т.е. микроконтроллер настроен на работу от внешнего кварца на 4 МГц.

Читать еще:  Автозарядное устройство своими руками

↑ Индикация и настройки

Теперь поговорим об индикации. В устройстве заложены несколько параметров, которые можно настраивать:
1) температуру внутри — «t» (от 0 до 10 градусов, шаг 0,1 градус);
2) гистерезис заданной температуры — «G» (от 1,0 до 5,0 градусов, шаг 0,1 градус);
3) таймер отдыха компрессора — «h» (от 5 до 60 минут, шаг 1 минута);
4) таймер работы компрессора — «H» (от 10 до 600 минут, шаг 10 минут);
5) время работы компрессора в аварийном режиме — «on» (от 5 до 99 минут, шаг 1 минута);
6) время отдыха компрессора в аварийном режиме — «oF» (от 5 до 99 минут, шаг 1 минута).

Далее фотографии с реальными настройками.

Настройка температуры производится простым нажатием кнопок «PLUS» и «MINUS», при этом первоначальное нажатие покажет текущую заданную температуру, а повторное нажатие одной из двух кнопок, уже изменит её на 0,1 градус.

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

Для проведения настроек других параметров, нужно нажать сразу две «PLUS» + «MINUS» кнопки и отпустить, а затем изменять значения необходимых параметров теми же кнопками «PLUS» и «MINUS».

Переход на следующий параметр в меню, происходит также нажатием сразу двух кнопок «PLUS» + «MINUS».

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

Порядок переключаемых с помощью двух кнопок параметров соответствует порядку пунктов (2 → 3 → 4 → 5 → 6), перечисленному выше.
Применение параметров в программе в реальном времени происходит только в пунктах 1, 2, 5, 6. Параметры пунктов 3 и 4 применяются после событий старта/остановки компрессора.

При подаче питания на устройство на индикаторе высветится оставшиеся время отдыха компрессора. Это подстраховка. Мало ли, вдруг было отключение электричества, и компрессор до этого события работал, его же нельзя вот так сразу запускать. Нужна пауза минимум 5-10 минут, чтобы давление внутри стравилось, иначе пусковой ток будет слишком велик, и это может повредить мотор. В моём случае, он просто не запускался и гудел на пусковой обмотке, потребляя более 2 кВт!

По истечении таймера защиты индикация переключается на постоянное отображение температуры.

Гистерезис необходим для образования температурного «окна», т.е. если установлена температура +5°, а гистерезис равен 2°, то компрессор будет включаться при +7° и выключаться при +3°.

↑ Конструкция и детали цифрового термостата




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

Выпилил окошки и отверстия в заглушке. Хорошо, что у меня завалялся кусок лицевой затемняющей панели от спутникового тюнера!


Все эти кусочки пластика я посадил на термоклей. В итоге вышла довольно симпатичная лицевая панель.

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

Далее прикрутил платы на платформу от крышки.

Датчик DS18B20 протащил через отверстие на задней стенке холодильника, через которое входит фреонная трубка на испаритель внутри камеры. Провёл кабель вдоль короба от термостата и вывел наружу. Заодно и исправил косяк мастеров с лампочкой, которые как выяснилось, криво надели клеммы на патрон от лампы, эх. Но не будем о грустном.

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


↑ Результаты проделанной работы

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

Выставил температуру в +4,5° и гистерезис в 1,5°. Итого вышло, что холодильник включается при +6° и выключается при +3°. По времени вышло, что компрессор работает 10 минут и отдыхает 55 минут, а это 0,15 рабочего времени. В Интернете сказано, что диапазон соотношение цикла работы/отдыха в 0,2-0,9 считается нормальным. Думаю, моя цифра показывает, что экономия электроэнергии находится на высоком уровне.

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

↑ Файлы

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, учредитель журнала «Датагор»

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, учредитель журнала «Датагор»

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, учредитель журнала «Датагор»

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, учредитель журнала «Датагор»

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, учредитель журнала «Датагор»

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, учредитель журнала «Датагор»

На этом всё. Благодарю за внимание!
И да прибудут с вами интересные статьи на Датагоре!

Терморегулятор на микроконтроллере схема

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

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

Сердцем схемы является микроконтроллер PIC16F628, поддерживающий постоянный обмен информацией с цифровым термометром DS1820 по протоколу 1-Wire, а также обрабатывает и анализирует эти данные и выводит ее на ЖК дисплей. В качестве дисплея используется модуль 16х2 MT16S2H фирмы «МЭЛТ»

Блок питания можно собрать самостоятельно на стабилизированное напряжение на 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.

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

Максимальная температура, которую можно задать в термостате, 42 градуса. Минимальная — 25,7. Интервал изменения петли гистерезиса составляет от 0,1 до 0,9 градуса Цельсия. Влажность можно регулировать в диапазоне от 0,1% до 99,9%. При первом включении МК, в его энергонезависимую память будут сохранены следующие величины: температура — 37,5°C, гистерезис — 0,5°С, влажность — 50%. Далее, в память, будут внесены уже необходимые вам параметры. Скачать прошивку и более качественный вариант схемы можно по ссылке выше.

ТЕРМОМОСТАТ НА МИКРОКОНТРОЛЛЕРЕ

ТЕРМОМОСТАТ НА МИКРОКОНТРОЛЛЕРЕ

Термостатирование — сравнение текущей температуры с пороговыми значениями и формирование соответствующих выходных сигналов. Особенность данного устройства в том, что управление всеми режимами осуществляется одной кнопкой. Учитывая возможную необходимость измерять температуру с точностью до десятых долей градуса, здесь так-же реализована эту возможность, совместив диапазон термометра от ?55°С до +125°С с трехразрядным семисегментным индикатором. Десятые доли градусов индицируются только в диапазоне ?10…+100°С, другие температуры отображаются уже без десятых долей. Имеется режим двухпорогового термостата, то есть работа с гистерезисом, с противофазными выходами, что позволяет использовать устройство для поддержания температуры от ?50°С до +99°С как путем управления нагревателем, так и охладителем. Схема термостата представляет собой не полностью завершенное устройство, а лишь его основу: источник питания и выходные каскады можно подключить любые.


Микроконтроллер типа Atiny26, датчик – DS18S20 (DS1820), его следует вынести на проводах в нужное место подальше от нагревающихся компонентов, способных исказить показания. Питание 5В можно получить от любого источника – на схеме показан стабилизатор типа 7805. Индикатор – трехразрядный 7-сегментный «динамический» (с общими анодами или катодами – все равно). В моем случае это был дисплей, который стоит в отечественных телефонах с АОН Русь. так что если есть нерабочий телефон, (да и рабочий тоже, для полезного дела не жалко!), то можно выковырять из него. Кнопка SB1 – любая. В прошивке реализована посегментная динамическая индикация, поэтому число токоограничительных резисторов сведено к трем, их сопротивление должно ограничивать ток через сегмент индикатора на уровне не более 30 мА.
Выходы out1 и out2 способны работать с током до 40 мА, поэтому оконечный каскад может быть любым – от маломощного пятивольтового реле до мощного транзисторного ключа. Эти выходы работают всегда в противофазе.
В устройстве имеется пять функциональных режимов:
— Индикация температуры.
— Индикация верхнего порога термостата.
— Индикация нижнего порога термостата.
— Коррекция верхнего порога.
— Коррекция нижнего порога.
Термостатирование ведется постоянно в любом из рассмотренных режимов. Переключение уровня при повышении температуры на выходах происходит, когда температура превышает верхний порог, а при понижении температуры – когда опускается ниже нижнего.
В первом режиме на индикаторе отображается текущая температура.
Во втором и третьем режимах отображаются соответствующие пороги термостата. Для порогов значения задаются только в целых градусах. Чтобы можно было отличить одно значение от другого, в первом разряде индикатора дополнительно подсвечиваются сегменты А или D соответственно для верхнего и нижнего порогов.

Переключение первой тройки режимов осуществляется кратковременным нажатием на кнопку, причем только режим 1 стабильный – остальные автоматически переходят к нему, если кнопка не нажимается более 2,5 секунд. Из режимов индикации порогов можно перейти к режимам изменения соответствующего порога, если нажать и удерживать кнопку более 2,5 секунд. Как только включается режим изменения значения порога, сразу начинает мерцать соответствующий сегмент А или D на первом индикаторе (признак коррекции порога), и одновременно, пока нажата кнопка, происходит быстрое изменение значения. Дождавшись, когда порог «проскочит» желаемое значение, нужно отпустить кнопку. После этого можно кратковременными нажатиями скорректировать значение в противоположном быстрому изменению направлении. Если при удержании кнопки происходит изменение не в том направлении – надо отпустить ее и снова нажать надолго.


Например, установлены пороги -5 и +15 градусов, нужно сделать их -2 и +2. Включаем режим коррекции верхнего порога, нажав и удерживая кнопку во втором режиме. Спустя 2,5 секунды значение начинает быстро меняться в сторону увеличения. Дождавшись, когда появится на индикаторе 15, отпускаем кнопку. Если на индикаторе появилось 16 – нажимаем кнопку кратко и значение уменьшается на 1, то есть становится 15, что и было нужно. Не трогаем кнопку 2,5 секунды – мерцание сегмента А прекращается – снова включен режим 2. Нажимаем кнопку кратко, включая тем самым режим 3. Теперь нажимаем кнопку надолго и ждем, пока включится режим коррекции нижнего порога. Как только замерцал сегмент D, значение начинает быстро уменьшаться – ждем, пока оно не достигнет значения -2 и отпускаем кнопку. Кратковременным нажатием кнопки возвращаем по одному проскоченному градусу… Далее – как и ранее: не трогаем кнопку 2,5 секунды, по и после выключения режима коррекции не трогаем кнопку – в момент автоматического включения режима 1 произойдет запоминание новых значений порогов.

Стоимость всего термометра с программатором выходит на сумму до 10 уе. самые дорогие элементы — это микросхема программатора, микроконтроллер и датчик температуры. Файл прошивки качаем на ФОРУМЕ .

Микроконтроллеры Процессоры, проекты, программирование

Nav view search

Навигация

Искать

Терморегулятор на микроконтроллере PIC16F676

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

Позиционный принцип терморегулирования

Для регулирования температуры какого-либо объекта можно на выбор использовать несколько алгоритмов. В промышленных системах наиболее часто встречается позиционное управление, либо управление по ПИ или ПИД закону. Наиболее просто реализуется позиционный принцип. Его можно встретить в огромном количестве устройств. Практически все современные полупроводниковые датчики температуры имеют встроенный выход термостатирования, позволяющий максимально упростить итоговую систему. Но подобный подход отличается неинформативностью и сложностью перенастройки. Решить эту проблему можно с применением микроконтроллера и какого-либо индикатора.

Структурная схема терморегулятора

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

Позиционное управление температурой

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

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

Основой термостата выбран популярный микроконтроллер PIC 16 F 676. Его характеристики наиболее оптимально подходят для создания простых измерительных устройств и устройств автоматики. Для тактирования использован внешний кварцевый резонатор на 20 МГц. Индикация температуры производится в динамическом режиме на 3-разрядном светодиодном индикаторе с общим катодом. С целью экономии выводов контроллера, управление сегментами реализовано через микросхему сдвигового регистра 74 HC 164.

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

Температура измеряется датчиком с цифровым выходом модели MCP9800. Его характеристики позволяют отображать результаты измерения с разрешением 0.1 градуса. Точность при этом составляет ±0,5°С. Подключение к микроконтроллеру выполнено по шине I2C, что при необходимости позволяет легко изменить модель датчика на другую.

Управление нагревательным элементом может быть выполнено двумя способами. Один из них реализуется с помощью миниатюрного электромагнитного реле серии RE 03. В приведенной схеме используется модель RE 032005, срабатывающая от напряжения 5В. Нормально-разомкнутый контакт реле способен коммутировать нагрузку переменного тока с напряжением 230В и током 6А.

Печатная плата терморегулятораРасположение элементов сверху Расположение элементов снизу

Альтернативным вариантом реле может стать использование полупроводникового коммутационного устройства. В этом случае на плату устанавливается опторазвязка серии MOC30хх, позволяющая управлять мощным симистором. Рекомендуется использовать модели MOC306x, так как эти элементы имеют встроенный детектор перехода через 0. Его наличие позволяет избежать сложных коммутационных процессов в электрической цепи и связанных с ними недостатков. При использовании опторазвязки не требуется установка транзистора

Работа термостата

Задание температуры срабатывания реле выполняется с помощью трех кнопок. Кнопка S 3 при длительном нажатии переводит управляющую программу в режим установки задания. В этом режиме отображаются мигающие цифры, соответствующие уставке температуры. Кнопки S 3 и S 2 предназначены для соответственно увеличения и уменьшения уставки. Шаг изменения задания равен разрешению датчика и составляет 0.5 градуса. Диапазон изменения уставки — 0..99.9 градусов. Для выхода из режима задания требуется вновь длительно нажать кнопку S 3.

Собранная плата терморегулятора

К сожалению, малый объем памяти микроконтроллера не позволил реализовать задание гистерезиса, поэтому он задается программно.

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

Soft_I2C_Scl : sbit at RA1_bit;

Soft_I2C_Sda : sbit at RA0_bit;

Soft_I2C_Scl_Direction : sbit at TRISA1_bit;

Soft_I2C_Sda_Direction : sbit at TRISA0_bit;

Ссылка на основную публикацию
Adblock
detector