Электронный термостат на микроконтроллере
Простой универсальный термостат на микроконтроллере PIC16F628A и датчике DS18B20
Термометр позволяет измерять температуру в диапазоне от -55 до +125 градусов, а также осуществлять функции термостата во всем диапазоне температур, с гистерезисом +/- 1 градус. Т.е. реле будет включено при температуре на 1 градус ниже заданной и выключено, при температуре на 1 градус выше заданной. Кроме того, я постарался сделать его максимально универсальным, поэтому здесь размещено две схемы, одна под индикатор с общим анодом (ОА), другая под индикатор с общим катодом (ОК). Также есть возможность применять датчики DS18B20 и DS18S20.
Управление осуществляется 2-мя кнопками. при нажатии на любую - дисплей индицирует заданную температуру (показания мигают). Далее кнопками +1 или -1 изменяют в ту или иную сторону порог темростата. Если кнопки не нажимать, то через несколько секунд термометр выйдет из режима установок, внесенные изменения будут сохранены в энергонезависимой памяти EEPROM, мигание прекратиться и дисплей будет отображать текущую температуру.
В термостате применен 3-х разрядный светодиодный индикатор с общим анодом (или общим катодом). Индикация температуры осуществляется так: температура ниже -9 градусов, отображается знак минус и 2 цифры. От -9 до +99 добавляется символ градуса в 3-м знакоместе, при плюсовой температуре знак + естественно не отображается. Температура выше 100 градусов также отображается без символа градуса. В качестве датчика температуры использован ходовой, можно сказать классический датчик - DS18B20 или DS18S20 (DS1820). Хоть термостат и может работать на температурах до 125 градусов, длительная эксплуатация его в таких режимах не рекомендуется, датчик долго не проживет. Оптимальная макс.температура 80. 90 градусов.
На схеме указан стабилизатор 78L05, схема с ним вполне работает, но микросхема греется. Для большей надежности все же лучше применить более мощный стабилизатор 7805.
Естественно, что под каждый из типов индикации и вариант датчика идет своя прошивка. Т.е. всего имеется четыре разных прошивки.
- Под ОК, с датчиком DS18B20
- Под ОА, с датчиком DS18B20
- Под ОК, с датчиком DS18S20
- Под ОA, с датчиком DS18S20
Заказать: Ваша страна:
Электронный термостат на основе МК
Механический термостат в течение долгого времени использовался в промышленности, бытовой технике и многих других устройствах для измерения и контроля температуры определенных процессов. В качестве датчика обычно использовался биметаллический датчик, который сделан из двух разных металлов, расширяющихся с разной скоростью при нагреве. Эти две металлические полоски соединены вместе, и когда температура повышается, они расширяются, и замыкают цепь.
При понижении температуры они остынут и вернутся к своей первоначальной позиции, разомкнув цепь. Изменяя расстояние между этими двумя полосками можно управлять температурой, при которой они замкнут цепь. До недавнего времени механический термостат широко использовался из-за его низкой стоимости по сравнению с электронным. Использование электронного термостата становятся все более популярными в настоящее время, так как стоимость полупроводников продолжает падать по мере развития технологий. Электронный контроль температуры является более простым и надежным чем механический.
Параметры этого микроконтроллера:
256 байт флэш памяти и 16 байт статического ОЗУ.
Рабочее напряжение от 2,0 В до 5,5 В постоянного тока.
3 порта ввода-вывода.
1 аналоговый компаратор.
Максимально допустимый ток на портах ввода-вывода 25 мА.
Электронный термостат на микроконтроллере Attiny2313. Схема и описание
Электронный термостат на микроконтроллере является весьма полезным устройством в подсобном хозяйстве. При помощи термостата в зимнее время возможно установить плюсовую температуру в кессоне, а летом наилучший температурный режим в теплице. Не лишним будет термостат и в организации отопления загородного дома.
Описание устройства
Этот электронный термостат на микроконтроллере достаточно прост и не требует много радиокомпонентов. Основа его — микроконтроллер Attiny2313. функция которого — опрос датчика температуры DS18B20, управление исполнительным устройством и вывод информации на экран трехразрядного светодиодного индикатора с общим анодом. Диапазон поддерживаемой температуры термостата можно уставить в диапазоне от 0 до 99,9 градуса.
Переключатель SA4 предназначен для переключения режима управления исполнительным устройством. В одном положении переключателя SA4, при повышении температуры выше заданного порога, включается исполнительное устройство, например, вентилятор для охлаждения, а при снижении температуры отключается. В другом же положении SA4, при понижении фактической температуры ниже установленного значения, включается обогреватель для поддержания температуры, при повышении же температуры нагреватель отключается.
В дежурном режиме на светодиодном индикаторе отображается фактическая температура. Шаг отображения температуры составляет 0,1 градуса, а при температурах ниже минус 9,9 градуса с шагом в 1 градус, так как первый разряд индикатора отображает знак минус.
Порядок управления электронным термостатом
Как уже было сказано выше, кнопка SA4 предназначена для выбора типа режима управления исполнительным устройством (режим нагрева или охлаждения) Для того чтобы узнать текущую поддерживаемую температуру, необходимо нажать кнопку SA3. Кнопки SA1 и SA2 предназначены для изменения температуры и ее записи в память микроконтроллера Attiny2313.
Для изменения значения порога термостата нужно нажать и удерживать кнопку SA3 и одновременно при помощи кнопок SA1 и SA2 увеличивать или уменьшать значение температуры. Теперь чтобы микроконтроллер записал в память данное значение нужно отпустить кнопку SA3, а затем одновременно нажать на SA1 и SA2.
Блок коммутации нагрузкой собран на оптопаре VD1 и симисторе VS1. Питание схемы осуществляется от маломощного трансформатора (ток вторичной обмотки около 0,15А), напряжение, с вторичной обмотки которого выпрямляется диодами VD1 и VD2 и стабилизируется микросхемы 78L05.
При программировании микроконтроллера Attiny2313 программатором необходимо выставить фьюзы следующим образом:
- CKSEL0=0
- CKSEL2=0
- CKSEL3=0
- SUT0=0
- SUT1=0
Скачать прошивку (скачено: 969)
Источник: Радиоконструктор, 7/2012