Добрый вечер форумчане.
Хочу представить Вам УНИВЕРСАЛЬНЫЙ Термостат на ATtiny2313 и DS18B20.
Автор данного термостата hardlock, более подробно можно прочитать про термостат тут (http://hardlock.org....ic.php?f=9&t=10).
Разные версии прошивок и подробное описание их тут (http://hardlock.org....c.php?f=9&t=370)
Что умеет данный термостат:
Измерение температуры от -55°С до +125°С (шаг 0,1°С)
Установка температуры от -55°С до +124°С (шаг 0,1°С !!!).
Гистерезис от 0,1°С до 25°С
Работать как на нагрев так и на охлаждение, переключение джампера и соответствующая прошивка.
Контроль ошибок и вывод их на дисплей, в случае выхода из строя датчика или его обрыв-НАГРУЗКА ОТКЛЮЧАЕТСЯ НА ВСЕХ ПОРТАХ.
Индикатор можно применять как с общим анодом, так и с общим катодом - просто разные прошивки, я использовал индикатор с общим катодом Е40561-L-0-8-W.
Управление:
Кнопками "+" и "-" устанавливают температуру включения нагрузки (на экране в первом сегменте отобразится символ подчёркивания "_").
При одновременном нажатии обеих кнопок устройство переходит в режим изменения гистерезиса (на экране в первом сегменте отобразится символ "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, не горит "точка")
И так далее....
Печатная плата разработана под DIP детали кроме микроконтроллера, у себя смог достать только такие.
Устройство питается от переменного напряжение 12-15В.
Програмирование микроконтроллера, у меня будет прогромматором USBasp, поэтому 10-pin'овый разъем разведен на ПП. При програмировании микроконтроллера, устройство должно быть подключенно к сети питания.
Если у Вас нет прогромматора, но есть LTP-порт, можно прошить с помощью него, как, читаем тут (http://hardlock.org....ic.php?f=18&t=8)
Исходник один на все варианты - компилируется в нужную версию путём комментирования (раскомментирования) нужных дэфайнов: CodevisionAVR- программа в которой написан код.
#define Cathode //для индикатора с ОК
//#define Anode //для индикатора с ОА
#define heat //точка отображается если T < Tуст.
//#define cold //точка отображается если T > Tуст.
Печатная плата в Gerber, Lay6, и в DipTrace, каждый выберить то, что ему удобней.
Последняя картинка анимация печатной платы.
Печатная плата-одностороняя, минимальный зазор между дорожками 0,3мм, минимальная дорожка 0,3мм, минимальный поясок контакта 0,3мм.
Gerber ПП Термостат на ATtiny2313 и DS18B20.rar
Термостат на ATtiny2313 и DS18B20 Схема и ПП в DipTrace, прошивка с исходником.rar
Термостат на ATtiny2313 и DS18B20 Схема, прошивка с исходником ПП в Lay6.rar