Многофункциональные часы-термостат с дистанционным управлением
Возникла у меня потребность в настольных часах-термометре, чтобы помимо времени можно было узнать температуру на улице и в доме. В интернете есть множество конструкций такого рода и даже очень продвинутых, но я так и не сделал свой выбор в пользу какой то из них. В каждой не хватало чего то, что как мне казалось просто необходимо иметь подобного рода устройствам. Просто у меня имеется определенный набор требований, из которых я так и не смог ничего убрать, чтобы повторить какую либо из этих конструкций. В моем представлении часы должны работать по принципу включил, настроил и забыл, то есть как можно реже прибегать к их обслуживанию (например корректировать время вследствие его ухода, вновь устанавливать после сбоев электропитания, переводить на летнее и зимнее время и т. п.), Pпоказания на индикатореPдолжны быть видны издалека, но не освещать комнату ночью, желательно наличиеPдистанционного управления. Дальнейшие размышления о том, что ещё я хотел бы иметь в своих часах, привели в результате к появлению устройства со следующим набором функций:
1. Часы - календарь
Отсчёт и вывод на индикатор часов, минут, секунд, дня недели, числа, месяца, годаPP
Наличие автоматической корректировки текущего времени, которая производится раз в сутки (максимальные значения +/-99,98 сек. с шагом 0,02 сек)
Вычисление дня недели по дате (для текущего столетия)
Автоматический переход на летнее и зимнее время
Учитываются високосные годы
2. Будильники
10 независимых будильников с возможностью установки на любой день недели или их совокупность
Возможность при срабатывании включать звуковой сигнал, включать/отключать любую из четырех нагрузок, или запускать терморегулирование.
P3. Таймер
Максимально время отсчета 99ч 59м 59с
Возможность по окончании отсчета включить звуковой сигнал, включить/отключить любую из четырех нагрузок
4. Двухканальный термометр-термостат
Измерение и индикация двух температур, например дома и на улице в диапазонеPот -55 до 125 гр.С с дискретностью 0,1`С.
Два независимых термостата с возможностью установки верхнего и нижнего предела контролируемой температуры в том же диапазоне
Возможность работы на нагрев или охлаждение
Нагрузочная способность каналов управления ~220V,P12A
P5. Четыре канала управления нагрузками
Нагрузочная способность каждого канала: P~220V,P12A
Управление:Pручное, от будильников, по таймеру (первые два канала связаны с термостатами)
P6. Дополнительные функции устройства
Батарея резервного питания, (при работе от батареи устройство имеет полноценное функционирование)
Автоматическая (в зависимости от внешнего освещения) или ручная регулировка яркости индикатора
Полное дистанционное управление на ИК лучах по системе RC-5, настраиваемое под любые клавиши пульта, работающего в этой системе.
Звуковое подтверждение (отключаемое) нажатия кнопок управления и принятия команд с пульта ДУ
Энергонезависимая память для всех настраиваемых параметров
Циклическая индикация позволяет выводить с программируемой длительностью на индикатор до четырех параметров:
1.PPPТекущее время в часах - минутах
2.PPPдень недели число
3.PPPтемпература первого канала (в помещении)
4.PPPтемпература второго канала (на улице)
Наличие интерфейса RS-485 для связи с ПК по протоколу MODBUS-RTUPдля дальнейшей интеграции в систему Умный дом
PСхема устройства изображена на Рис. 1.PОно состоит из трех блоков: A1, A2, A3 которые конструктивно также разделены и собраны на трёх печатных платах.
Центральный блок А1. Основной элемент микроконтроллер ATmega8-16AI (DD1), в котором задействованы следующие узлы:
таймер Т1 формирует временные интервалы для часов реального времени, динамической индикации и управления яркостью;
внешнее прерывание INT1 и таймер Т2 обслуживают инфракрасный приемник B1.
АЦП преобразует в цифровую форму аналоговые сигналы датчика освещения, величины напряжений с блока питания и встроенной батареи.
модуль USART поддерживает связь с компьютером (9600 Бод, 8 информационных и 1 стоповый бит без контроля четности);
таймер Т0 формирует временные интервалы задержек при приёме/передаче пакетов по протоколу "MODBUS-RTU"
сторожевой таймер в случае "зависания" МК обеспечивает его перезапуск;
PТактовая частота МК задана кварцевым резонатором ZQ1 на 7,3728 МГц. Установку МК в исходное состояние (сброс) выполняет цепь R5C4VD1. L1C5 - цепь питания блока PАЦП в МК. Для внутрисхемного программирования МК предназначен разъём XP1. В устройстве применена динамическая индикация. Процесс сканирования кнопок также связан с ней.
PB1служит для приёма команд с пульта дистанционного управления, работающего по системе RC-5. При этом задействуется пять кнопок пульта, которые будут соответствовать пяти кнопкам местного управления. Настройка на пульт описана в руководстве пользователя.
Резистором R33 подстраивается яркость при средней или максимльной освещенности. Настройка точности измерения контролируемых напряжений блока питания и резервнойPбатареи осуществляется резисторами R35, R37 соответственно.
PМикросхема DD2 является драйвером, преобразующим сигналы RX/TX уровней TTL в дифференциальный сигнал стандарта RS-485 для обмена данными с ПК на расстоянии до 1200 метров.
Термодатчики типа DS18B20 имеют цифровой выход, подключены по трёхпроводной схеме и работают по протоколу 1 Wire. Первый датчик измеряет температуру в помещении (внутренний), второй на улице (внешний).
Физически они расположены на одной линии, поэтому для считывания температуры производится адресация датчиков. Устройство работает только с датчиками DS18B20
Процесс записи серийных номеров двух датчиков в энергонезависимую память МК производится следующим образом:
1.Необходимо полностью обесточить устройство (достать батарею резервного питания, отключить сетевой блок питания)
2. Подключить один датчик DS18B20 (измерение температуры в помещении)
3. Удерживая нажатой кнопку UP , включить сетевой блок питания. (произойдет запись серийного номера датчика в память МК, раздастся звуковой сигнал)
4. Отключить сетевой блок питания.
5.Отключить датчик.
6. Подключить другой датчик (измерение температуры на улице)
7. Удерживая нажатой кнопку DN , включить сетевой блок питания (произойдет запись серийного номера датчика в память МК, раздастся звуковой сигнал)
8.Отключить сетевой блок питания
9.Подключить оба датчика
10.PPВключить питание
Теперь устройство будет работать с этими датчиками. Если необходима заменить какой либо из них, то данную процедуру для соответствующего датчика нужно пройти вновь. Если второй датчик не требуется, то один датчик можно прописать на оба канала.
Температура выводится на индикатор с дискретностью 0,1`С. Измерение происходит с интервалом 1 сек.
PБлок индикации A2 содержит пятиразрядный семисегментный индикатор с общим анодом, пять статусных светодиодов, а также элементы, необходимые для управления всем этим. Назначение статусных светодиодов следующее:
HL1(желтый) P- признак включения любого из будильников
HL2(красный)P-Pнизкое выходное напряжение сетевого блока питания или батареи
HL3(желтый) признак работающего таймера
HL4(красный) - ошибки термометра(ов)
HL5(желтый) включено терморегулирование
PМикросхема DD3 представляет собой сдвиговый регистр с защелкой и возможностью перевода выходов в третье состояние и служит для преобразования последовательно поступающих данных в параллельное для вывода информации на цифровой индикатор и статусные светодиоды.PVT1 - VT5 Pпредназначены для усиления питания общих анодов цифровых индикаторов
PБлок управления нагрузками A3 предназначен для коммутации каких либо устройств, включающихся в стандартную электросеть ~220В, 50 Гц. Имеется 4 канала управления. Любой из них может быть включен/выключен вручную, по таймеру, от будильника. Первый и второй канал связаны соответственно с первым и вторым каналами терморегулирования (которые в свою очередь привязаны к первому и второму будильнику).PКаждый канал включает в себя электромагнитное реле и транзисторный ключ для его управления. Контакты реле коммутируют нагрузку. В блоке реализовано экономичное управление реле. Рассмотрим его на примере первого канала. Когда канал выключен, транзистор VT9 закрыт, конденсатор С16 разряжен, реле К1 обесточено. При включении канала открывается VT9, конденсатор C16 заряжаясь через обмотку реле K1, создаёт импульс тока, достаточный для притяжения якоря этого реле. После заряда конденсатора якорь реле удерживается меньшим током, протекающим через резистор R27. Диод VD11 защищает транзистор VT9 от импульсного пробоя в момент его закрытия.
Светодиоды HL6 - HL9 сигнализируют о включенном состоянии соответствующего канала.
В моём варианте подключение внутренней батареи происходит при соединении блоков А3 и А1 через XS4-XP4 , так как нет внешнего доступа к батарейному отсеку. Для этого в XP4 установлена перемычка между 6 и 7 контактами. Это сделано для удобства обслуживания при замене элементов питания или записи номеров термодатчиков в память МК., то есть когда схему нужно полностью обесточить. Если это не требуется, то минус батареи соединяется с минусовой шиной питания напрямую.PP
PНапряжение внешнего источника питания устройства 11...13 В., ток не менее 0,25A. В качестве резервной батареи лучше применить 3 последовательно соединенных алкалиновых элемента типоразмера AA. Ток потребления устройства без блока А3 при максимальной яркости составляет около 120 mA. При пропадании сетевого питания устройство переходит на батарейное, при этом оно полнофункционально (только реле обесточены), потребляет ток около 10.....20 mA и может проработать не менее трёх суток при установке свежих вышеуказанных элементов питания. Индикатор практически гасится до нуля, но процесс сканирования кнопок не прекращается, поэтому он едва подсвечивается. При нажатии на любую кнопку местного управления или пультаPДУ индикатор вновь загорается на 15 секунд, для того, чтобы можно было посмотреть информацию. При появлении сетевого питания индикатор вновь загорается.
PКонструкция
Устройство собрано на трех односторонних печатных платах из фольгированного стеклотекстолита, чертеж и расположение деталей которых находятся в прилагаемых файлах.
Платы центрального блока и блока индикации соединяются между собой перемычками и размещаются в подходящем по размеру корпусе. Блок управления нагрузками конструктивно расположен внутри сетевого фильтра и соединяется кабелем через разъём, расположенный на задней стенкеPкорпуса часов. PP
Замена элементов.
Микроконтроллер DD1 заменим на ATmega8-16AU,PATmega8L-8(AI)AU, микросхема драйвера RS-485Pна SN75176BP, MAX485CPA и т.п., фотоприемник В1 на аналогичный, рассчитанный на несущую частоту 36 кГц, например TSOP1736, TSOP1836SS3V,PSFH506-36, SFH5110-36, TFMS5360, но следует учесть, что расположение выводов фотоприемников разных типов может отличаться. В качестве звукового излучателя HA1 кроме указанного можно использовать другой электродинамический или пьезоэлектрический со встроенным генератором на напряжение 56V, например HCM1206X, HPM14A(X). Светодиодные семисегментные индикаторы можно применить из этой же серии SA08-XXXXX или аналогичные с общим анодом (возможно придется подобрать токоограничительные резисторы R10- R17) Вместо DA1 можно применить отечественный стабилизатор К142ЕН5Б. Применённые электромагнитные реле рассчитаны на питания обмотки12В и номинальный ток 30mA. При использовании реле с большим рабочим током необходимо подобрать резисторы R24 - R27. Напряжение коммутации ~220В,Pток 12А. Вместо фоторезистора CФ2-5 можно применить аналогичные, сопротивление которых при ярком свете составляет 50....1000 Oм
Возможные упрощения устройства.
Если не требуется управление с ПК то можно не устанавливать элементы DD2, R1-R3, XP2. За ненадобностью ИК управления не устанавливаютсяPB1, C1, R4. Исключить автоматическую регулировку яркости можно не устанавливая R33, а вместо фоторезистора R32 поставить постоянный на 10ком. Если не нужно управлять нагрузками, то блок А3 исключается, а на XS4 необходимо установить перемычку между 6 и 7 контактами.PЕсли нет надобности в термометрах, то DD4 и DD5 не подключаются и не устанавливаются R6, HL4.
Сборка и налаживание устройства.
Вначале на плату запаивают все элементы кроме DD1 DD3, B1. DD4 и DD5 пока не подключать. Включив питание, измеряют постоянное напряжение на С10 и затем на С1. В обоих случаях оно должно быть около 5,3В. Желательно проверить свечение всех сегментов цифрового индикатора и статусных светодиодов подавая одновременно с минусовой шины питания на левые по схеме вывода резисторов R10-R18 (ограничивающие ток сегментов) и R19 - R23 (в базовых цепях VT1- VT5).PЕсли все прошло успешно, то отключаем питание, запаиваем DD1 DD3 и B1 и подключаем программатор к разъёму XP1 (стандартный шестиконтактный разъём для внутрисхемного программирования AVR). Демопрошивка для проверки работоспособности устройства прилагается.
FUSE-биты микроконтроллера DD1 должны быть запрограммированы следующим образом:
CKSEL3...0 = 1111 тактирование от высокочастотного кварцевого резонатора;
SUT1...0 =11 Start-up time: 16K CK + 64 ms;
CKOUT = 1 Output Clock on CKOUT запрещен;
BODLEVEL =P1 пороговый уровень для схемы контроляPнапряженияPпитания 2,7В;
BODEN =P0Pмонитор питания включён
EESAVE = 0 стирание EEPROM при программировании кристалла запрещено;
WDTON = 1 Нет постоянного включения Watchdog Timer;
PОстальные FUSE биты лучше не трогать.PFUSEбит запрограммирован, если установлен в 0.
Демопрошивка обеспечивает полноценную работу устройства, но в течении чуть менее двух часов, что вполне достаточно для проверки работоспособности. За полнофункциональной прошивкой обращайтесь к автору.
Управляющая программа для компьютера находится в стадии создания.
Скачать прошивку HEX, печатную плату в LAY и GIF-формате, фотографии устройства,Pруководство пользователя вы можете ниже