Представляю Вам улучшенный термостат на ATtiny2313 и DS18B20.
Теперь термастат умеет:
Измерять температуру от -55°С до +125°С (шаг 0,1°С)
Установка температуры от -55°С до +124°С (шаг 0,1°С !!!).
Гистерезис от 0,1°С до 25°С
Названия сегментов приведены в соответствие с даташитом на индикатор.
На схеме штрих пунктиром показан второй вариант включения термодатчика, если он не захотел работать по однопроводной шине (что встречается
очень редко). Обратите внимание, что подтягивающий резистор на 11 выводе должен быть именно 4,7кОм. Уменьшение или увеличение может
привести к нестабильной работе датчика в случае включения по однопроводной схеме.
Индикатор можно применять как с общим анодом, так и с общим катодом - просто разные прошивки.
"*" обозначены компоненты необходимые для защиты от статического электричества, но их можно не устанавливать.
Управление:
Кнопками "+" и "-" устанавливают температуру включения нагрузки (на экране в первом сегменте отобразится символ подчёркивания "_").
При одновременном нажатии обеих кнопок устройство переходит в режим изменения гистерезиса (на экране в первом сегменте отобразится символ "d"). Длительное удержание одной из кнопок приводит к ускоренному перебору значений. При отсутствии нажатий на кнопки в течении 5 секунд прибор
переходит в режим отображения измеренной температуры, при этом происходит запоминание изменённых параметров в энергонезависимую память.
Индикация:
В первом сегменте отображается точка, если Т < Т уст., т.е. нагрузка включена. Точка отображается во всех режимах, даже при изменении установленной температуры или гистерезиса (если сохраняется условие Т < Т уст.). В этом же сегменте будет отображаться знак минуса "-" при отрицательной температуре.
Логика изменения состояния управляющих выводов:
Довольно часто возникают вопросы насчёт этого, поэтому нарисую. Пример 1 (нагрев):
-Установим температуру = 25,5°С, гистерезис (dT) = 1,2°С.
-Текущая температура 20 градусов. (PD2 = 1, PD3 = 0, горит "точка").
-Такое состояние будет сохранятся пока температура не достигнет Т уст. + dТ = 26,7°С.
-Когда температура достигнет 26,7°С состояние выводов поменяется (PD2 = 0, PD3 = 1, не горит "точка")
-Такое состояние будет сохранятся пока температура не опустится до Т уст. = 25,5°С.
-Когда температура опустится до 25,5°С состояние выводов поменяется (PD2 = 1, PD3 = 0, горит "точка")
И так далее.... Пример 2 (охлаждение):
-Установим температуру = -5,2°С, гистерезис (dT) = 1,5°С.
-Текущая температура 20 градусов. (PD2 = 0, PD3 = 1, не горит "точка").
-Такое состояние будет сохранятся пока температура не упадёт до Т уст. = -5,2°С.
-Когда температура упадёт до -5,2°С состояние выводов поменяется (PD2 = 1, PD3 = 0, горит "точка")
-Такое состояние будет сохранятся пока температура не поднимется до Т уст. + dТ = 6,7°С.
-Когда температура поднимется до 6,7°С состояние выводов поменяется (PD2 = 0, PD3 = 1, не горит "точка")
И так далее....
Таким образом термостат можно применять для использования как в нагревательных целях (тепловентилятор, обогревательный котёл, инкубатор и т.д.),
так и для охлаждения (холодильник, морозильник, и т.д.). Печатная плата:
Обратите внимание в SMD варианте на резисторы в районе стабилитронов (Точнее по ними) - они отвечают за защиту от статического электричества
(на схеме помечены звёздочкой в штрих пунктире на печатке в ЛАУ 5 при наведнии курсора подсвечиваютя (100* и 100*(VCC)) их можно замениь
премычками. В архиве также есть печатка под DIP. FUSES:
Биты конфигурации , для тех кто шьёт из PonyProg:
Обратите внимание!!! Раньше предлагалось выставить BODLEVEL0 и BODLEVEL1, что включало Brown-out Detection (BOD) -
контроль за напряжением
питания. Это полезно при нестабильном питании и предохраняет содержимое энергонезависимой памяти (EEPROM) от порчи во время падения напряжения питания. Но как оказалось есть некоторые подводные камни. При включенном BOD и температуре кристала близкой к 0°С работа устройства оказывалась очень нестабильной - постоянно происходил сброс. Причём уровень BOD не влиял на стабильность работы (пробовал 1.8В, 2.7В, 4.3В).
Питание при этом оставалось стабильное (питание от батарейки) - проверялось осциллографом. Поэтому рекомендую не ставить "галочки" в конфигурации
с всех BODLEVEL.
Прошивки:
Исходник один на все варианты - компилируется в нужную версию путём комментирования (раскомментирования) нужных дэфайнов:
#define Cathode //для индикатора с ОК
//#define Anode //для индикатора с ОА
#define heat //точка отображается если T < Tуст.
//#define cold //точка отображается если T > Tуст.
Скачать архив можно Download (+93) под одноимённым названием.
<a href="http://cxema.my1.ru/load/9-1-0-508">Файлы к статье Термостат на ATtiny2313 и DS18B20 улучшенный </a>
Добрый день. Делал ваш термостат некоторое время назад. Работает отлично по сей день без проблем и сбоев. Сейчас возникла необходимость ещё в одном таком приборе. Собрал. Не светится сегмент "А". Всё перепроверил монтаж и детали. Перепрошил. Не светится. Ничего не могу понять, в чем дело.
Не надо ни чего моделировать все и так работает, особенно с обновленными прошивками....У меня этот термостат работает больше трех лет,полет отличный....Особенно после небольших доработок...Они все есть в статье...
Было бы ещё более замечательней если: сделать мониторинг температуры (и ее регулирование) без десятых градусов, то бишь на двух разрядах. А вообще практичное устройство! Спасибо!!
Смотрю, что многих беспокоит тема питания МК. В схеме вывод сброса МК висит в воздухе и поэтому, чтобы в EEPROM не прописывалась всякая билиберда при провалах питания нужно повесить супервизор. Я уже давно и успешно использую дешевую альтернативу (подсмотрено когда-то у UA4NX), а именно подключаю светодиод с 20 ножки (+5В) на первую (анодом на +5В) и с первой ножки резистор 3к3 на корпус. Еще ни разу при такой защите EEPROM не слетала. А до этого случалось. Нужно немного доработать схему как на рисунке
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба