Измерение температуры от -55°С до +125°С (шаг 0,1°С)
Установка температуры от -55°С до +124°С (шаг 0,1°С !!!).
Гистерезис от 0,1°С до 90°С (начиная с версии v3.2)
Схема: (12.11.2009 привёл названия сегментов в соответствии с даташитом на индикатор.) На схеме показан второй вариант включения термодатчика, если он не захотел работать по однопроводной шине (что встречается очень редко). Обратите внимание, что подтягивающий резистор на 11 выводе должен быть именно 4,7кОм. Уменьшение или увеличение может привести к нестабильной работе датчика в случае включения по однопроводной схеме. Хотя в последнее время попадаются экземпляры датчиков, которые не хотят работать с таким подтягивающим резистором, приходится подбирать в диапазоне 1,8кОм - 6,2кОм (обычно около 4,0кОм).
Индикатор можно применять как с общим анодом, так и с общим катодом - просто разные прошивки.
"*" обозначены компоненты необходимые для защиты от статического электричества, но их можно не устанавливать.
Управление:
Кнопками "+" и "-" устанавливают температуру включения нагрузки (на экране в первом сегменте отобразится символ подчёркивания "_").
При одновременном нажатии обеих кнопок устройство переходит в режим изменения гистерезиса (на экране в первом сегменте отобразится символ "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, горит "точка")
- И так далее....
- Установим температуру = -5,2°С, гистерезис (dT) = 1,5°С.
- Текущая температура 20 градусов. (PD2 = 0, PD3 = 1, не горит "точка").
- Такое состояние будет сохранятся пока температура не упадёт до Т уст. = -5,2°С.
- Когда температура упадёт до -5,2°С состояние выводов поменяется (PD2 = 1, PD3 = 0, горит "точка")
- Такое состояние будет сохранятся пока температура не поднимется до Т уст. + dТ =
6,7-3,7°С. - Когда температура поднимется до
6,7-3,7°С состояние выводов поменяется (PD2 = 0, PD3 = 1, не горит "точка") - И так далее....
bokorez wrote:Уважаемый, а Вы точно уверены, если к -5,2 в режиме охлаждения применить дельту 1,5, то получится +6,7??? В каком разделе математики можно сие почерпнуть? Понимаю, что это типа мелочь, но ведь глаз режет. -5,2+1,5= -3,7. Тем более, что "соавторы" уже по многим форумам растащили, а ошибочку проморгали.
Таким образом термостат можно применять для использования как в нагревательных целях (тепловентилятор, обогревательный котёл, инкубатор и т.д.), так и для охлаждения (холодильник, морозильник, и т.д.).
Печатная плата: В формате Sprint-Layout 5.0 можно скачать тут. Печатную плату я немного изменил, по сравнению с термометром и прошлой версией термостата, но она пригодна для использования и в них тоже. Тут убрал кварц и добавил контактные площадки для подключения кнопок и управления нагрузкой.
Обратите внимание на перемычки под резисторами в районе стабилитронов - они для того, чтобы можно было не устанавливать резисторы, которые отвечают за защиту от статического электричества (на схеме помечены звёздочкой).
Партлист:
тип | наименование/номинал | ед. изм. | кол-во | примечания | типоразмер |
датчик температуры | DS18B20 | 1 | |||
диод | 1N4148 | 1 | |||
индикатор | E40561-L-O-O-W (E40561-i-O-O-W) | 1 | 7-сегментный, 4 разряда,19х50мм | ||
кнопка | 2 | по вкусу, на основной плате не установлены | |||
конденсатор | 10 | мкФ | 2 | 16V | SMD-B |
конденсатор | 0,1 | мкФ | 2 | 16V | 1206 |
микропроцессор | Attiny2313-20SU | 1 | корпус SOIC20, подойдут любые версии в этом корпусе | ||
регулятор напряжения | 78L05 | 1 | L78L05ABUTR (например) | SOT-89 | |
резистор | 1 | кОм | 1 | 1206 | |
резистор | 4,7 | кОм | 1 | 1206 | |
резистор | 100 | Ом | 2 | 1206 | |
резистор | 470 | Ом | 8 | 1206 | |
реле | 12 | В | 1 | по вкусу, на основной плате не установлено | |
стабилитрон | 5,1 | В | 2 | выводной BZX79-C5V1 | |
транзистор | КТ817 (BC339, BC817) | 1 | на основной плате не установлен |
Code: Select all
#define Cathode //для индикатора с ОК
//#define Anode //для индикатора с ОА
#define heat //точка отображается если T < Tуст.
//#define cold //точка отображается если T > Tуст.
Обратите внимание!!! Раньше предлагалось выставить BODLEVEL0 и BODLEVEL1, что включало Brown-out Detection (BOD) - контроль за напряжением питания. Это полезно при нестабильном питании и предохраняет содержимое энергонезависимой памяти (EEPROM) от порчи во время падения напряжения питания. Но как оказалось есть некоторые подводные камни. При включенном BOD и температуре кристала близкой к 0°С работа устройства оказывалась очень нестабильной - постоянно происходил сброс. Причём уровень BOD не влиял на стабильность работы (пробовал 1.8В, 2.7В, 4.3В). Питание при этом оставалось стабильное (питание от батарейки) - проверялось осциллографом. Поэтому рекомендую убрать "галочки" в конфигурации с всех BODLEVEL. Рекомендую сделать супервизор.
Важно
По отзывам и замечаниям участников форума сделано некоторое количество исправлений и доработок. Прежде чем собирать термостат, посмотрите ветку Термостат ∆T=0,1°C - работа над ошибками.
Перед тем как пожаловаться в форуме на ошибку в прошивке, также прошу, просмотрите эту ветку.
Полезные ссылки в теме.
- Супервизор.
- Для тех, кто раздумывает, как конкреино приделать к термостату супервизор питания, создана специальная ветка форума Супервизор питания.
- Корректировка показаний датчика