Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


2896
Многофункциональные часы-термостат с дистанционным управлением

Возникла у меня потребность в настольных часах-термометре, чтобы помимо времени можно было узнать температуру на улице и в доме. В интернете есть множество конструкций такого рода и даже очень продвинутых, но я так и не сделал свой выбор в пользу какой то из них. В каждой не хватало чего то, что как мне казалось просто необходимо иметь подобного рода устройствам. Просто у меня имеется определенный набор требований, из которых я так и не смог ничего убрать, чтобы повторить какую либо из этих конструкций. В моем представлении часы должны работать по принципу включил, настроил и забыл, то есть как можно реже прибегать к их обслуживанию (например корректировать время вследствие его ухода, вновь устанавливать после сбоев электропитания, переводить на летнее и зимнее время и т. п.), показания на индикаторе должны быть видны издалека, но не освещать комнату ночью, желательно наличие дистанционного управления. Дальнейшие размышления о том, что ещё я хотел бы иметь в своих часах, привели в результате к появлению устройства со следующим набором функций

  1. Часы - календарь
    • Отсчёт и вывод на индикатор часов, минут, секунд, дня недели, числа, месяца, года
    • Наличие автоматической корректировки текущего времени, которая производится раз в сутки (максимальные значения +/-99,98 сек. с шагом 0,02 сек)
    • Вычисление дня недели по дате (для текущего столетия)
    • Автоматический переход на летнее и зимнее время
    • Учитываются високосные годы
  2. Будильники
    • 10 независимых будильников с возможностью установки на любой день недели или их совокупность
    • Возможность при срабатывании включать звуковой сигнал, включать/отключать любую из четырех нагрузок, или запускать терморегулирование.
  3. Таймер
    • Максимально время отсчета 99ч 59м 59с
    • Возможность по окончании отсчета включить звуковой сигнал, включить/отключить любую из четырех нагрузок
  4. Двухканальный термометр-термостат
    • Измерение и индикация двух температур, например дома и на улице в диапазоне от -55 до 125 гр.С с дискретностью 0,1°С.
    • Два независимых термостата с возможностью установки верхнего и нижнего предела контролируемой температуры в том же диапазоне
    • Возможность работы на нагрев или охлаждение
    • Нагрузочная способность каналов управления ~220V, 12A
  5. Четыре канала управления нагрузками
    • Нагрузочная способность каждого канала: ~220V, 12A
    • Управление: ручное, от будильников, по таймеру (первые два канала связаны с термостатами)
  6. Дополнительные функции устройства
  • Батарея резервного питания, (при работе от батареи устройство имеет полноценное функционирование)
  • Автоматическая (в зависимости от внешнего освещения) или ручная регулировка яркости индикатора
  • Полное дистанционное управление на ИК лучах по системе RC-5, настраиваемое под любые клавиши пульта, работающего в этой системе.
  • Звуковое подтверждение (отключаемое) нажатия кнопок управления и принятия команд с пульта ДУ
  • Энергонезависимая память для всех настраиваемых параметров
  • Циклическая индикация позволяет выводить с программируемой длительностью на индикатор до четырех параметров:
    1. Текущее время в часах - минутах
    2. день недели – число
    3. температура первого канала (в помещении)
    4. температура второго канала (на улице)
  • Наличие интерфейса RS-485 для связи с ПК по протоколу MODBUS-RTU для дальнейшей интеграции в систему “Умный дом”

Схема устройства изображена на Рис. 1. Оно состоит из трех блоков: A1, A2, A3 которые конструктивно также разделены и собраны на трёх печатных платах.

Центральный блок А1. Основной элемент — микроконтроллер ATmega8-16AI (DD1), в котором задействованы следующие узлы: 

— таймер Т1 формирует временные интервалы для часов реального времени, динамической индикации и управления яркостью;
— внешнее прерывание INT1 и таймер Т2 обслуживают инфракрасный приемник B1.
— АЦП преобразует в цифровую форму аналоговые сигналы датчика освещения, величины напряжений с блока питания и встроенной батареи. 
— модуль USART поддерживает связь с компьютером (9600 Бод, 8 информационных и 1 стоповый бит без контроля четности);
— таймер Т0 формирует временные интервалы задержек при приёме/передаче пакетов по протоколу "MODBUS-RTU"
— сторожевой таймер в случае "зависания" МК обеспечивает его перезапуск;

Тактовая частота МК задана кварцевым резонатором ZQ1 на 7,3728 МГц. Установку МК в исходное состояние (сброс) выполняет цепь R5C4VD1. L1C5 - цепь питания блока АЦП в МК. Для внутрисхемного программирования МК предназначен разъём XP1. В устройстве применена динамическая индикация. Процесс сканирования кнопок также связан с ней.

B1служит для приёма команд с пульта дистанционного управления, работающего по системе RC-5. При этом задействуется пять кнопок пульта, которые будут соответствовать пяти кнопкам местного управления. Настройка на пульт описана в руководстве пользователя. 

Резистором R33 подстраивается яркость при средней или максимальной освещенности. Настройка точности измерения контролируемых напряжений блока питания и резервной батареи осуществляется резисторами R35, R37 соответственно.

Микросхема DD2 является драйвером, преобразующим сигналы RX/TX уровней TTL в дифференциальный сигнал стандарта RS-485 для обмена данными с ПК на расстоянии до 1200 метров. 

Термодатчики типа DS18B20 имеют цифровой выход, подключены по трёхпроводной схеме и работают по протоколу 1 Wire. Первый датчик измеряет температуру в помещении (внутренний), второй – на улице (внешний).
Физически они расположены на одной линии, поэтому для считывания температуры производится адресация датчиков. Устройство работает только с датчиками DS18B20

Процесс записи серийных номеров двух датчиков в энергонезависимую память МК производится следующим образом:

  1. Необходимо полностью обесточить устройство (достать батарею резервного питания, отключить сетевой блок питания)
  2. Подключить один датчик DS18B20 (измерение температуры в помещении)
  3. Удерживая нажатой кнопку “UP” , включить сетевой блок питания. (произойдет запись серийного номера датчика в память МК, раздастся звуковой сигнал)
  4. Отключить сетевой блок питания.
  5. Отключить датчик.
  6. Подключить другой датчик (измерение температуры на улице)
  7. Удерживая нажатой кнопку “DN” , включить сетевой блок питания (произойдет запись серийного номера датчика в память МК, раздастся звуковой сигнал)
  8. Отключить сетевой блок питания
  9. Подключить оба датчика
  10. Включить питание

Теперь устройство будет работать с этими датчиками. Если необходима заменить какой либо из них, то данную процедуру для соответствующего датчика нужно пройти вновь. Если второй датчик не требуется, то один датчик можно прописать на оба канала.
Температура выводится на индикатор с дискретностью 0,1°С. Измерение происходит с интервалом 1 сек.

Блок индикации A2 содержит пятиразрядный семисегментный индикатор с общим анодом, пять статусных светодиода, а также элементы, необходимые для управления всем этим. Назначение статусных светодиодов следующее: 
HL1(желтый) - признак включения любого из будильников
HL2(красный) - низкое выходное напряжение сетевого блока питания или батареи 
HL3(желтый) – признак работающего таймера 
HL4(красный) - ошибки термометра(ов) 
HL5(желтый) – включено терморегулирование

Микросхема DD3 представляет собой сдвиговый регистр с защелкой и возможностью перевода выходов в третье состояние и служит для преобразования последовательно поступающих данных в параллельное для вывода информации на цифровой индикатор и статусные светодиоды. VT1 - VT5 предназначены для усиления питания общих анодов цифровых индикаторов

Блок управления нагрузками A3 предназначен для коммутации каких либо устройств, включающихся в стандартную электросеть ~220В, 50 Гц. Имеется 4 канала управления. Любой из них может быть включен/выключен вручную, по таймеру, от будильника. Первый и второй канал связаны соответственно с первым и вторым каналами терморегулирования (которые в свою очередь привязаны к первому и второму будильнику). Каждый канал включает в себя электромагнитное реле и транзисторный ключ для его управления. Контакты реле коммутируют нагрузку. В блоке реализовано экономичное управление реле. Рассмотрим его на примере первого канала. Когда канал выключен, транзистор VT9 закрыт, конденсатор С16 разряжен, реле К1 обесточено. При включении канала открывается VT9, конденсатор C16 заряжаясь через обмотку реле K1, создаёт импульс тока, достаточный для притяжения якоря этого реле. После заряда конденсатора якорь реле удерживается меньшим током, протекающим через резистор R27. Диод VD11 защищает транзистор VT9 от импульсного пробоя в момент его закрытия. 

Светодиоды HL6 - HL9 сигнализируют о включенном состоянии соответствующего канала.

В моём варианте подключение внутренней батареи происходит при соединении блоков А3 и А1 через XS4-XP4 , так как нет внешнего доступа к батарейному отсеку. Для этого в XP4 установлена перемычка между 6 и 7 контактами. Это сделано для удобства обслуживания при замене элементов питания или записи номеров термодатчиков в память МК, то есть когда схему нужно полностью обесточить. Если это не требуется, то минус батареи соединяется с минусовой шиной питания напрямую.

Напряжение внешнего источника питания устройства — 11...13 В., ток не менее 0,25A. В качестве резервной батареи лучше применить 3 последовательно соединенных алкалиновых элемента типоразмера ”AA”. Ток потребления устройства без блока А3 при максимальной яркости составляет около 120 mA. При пропадании сетевого питания устройство переходит на батарейное, при этом оно полнофункционально (только реле обесточены), потребляет ток около 10.....20 mA и может проработать не менее трёх суток при установке свежих вышеуказанных элементов питания. Индикатор практически гасится до нуля, но процесс сканирования кнопок не прекращается, поэтому он едва подсвечивается. При нажатии на любую кнопку местного управления или пульта ДУ индикатор вновь загорается на 15 секунд, для того, чтобы можно было посмотреть информацию. При появлении сетевого питания индикатор вновь загорается.

Конструкция 
Устройство собрано на трех односторонних печатных платах из фольгированного стеклотекстолита, чертеж и расположение деталей которых находятся в прилагаемых файлах. 
Платы центрального блока и блока индикации соединяются между собой перемычками и размещаются в подходящем по размеру корпусе. Блок управления нагрузками конструктивно расположен внутри сетевого фильтра и соединяется кабелем через разъём, расположенный на задней стенке корпуса часов.

Замена элементов. 
Микроконтроллер DD1 заменим на ATmega8-16AU, ATmega8L-8(AI)AU, микросхема драйвера RS-485 на SN75176BP, MAX485CPA и т.п., фотоприемник В1 на аналогичный, рассчитанный на несущую частоту 36 кГц, например TSOP1736, TSOP1836SS3V, SFH506-36, SFH5110-36, TFMS5360, но следует учесть, что расположение выводов фотоприемников разных типов может отличаться. В качестве звукового излучателя HA1 кроме указанного можно использовать другой электродинамический или пьезоэлектрический со встроенным генератором на напряжение 5…6V, например HCM1206X, HPM14A(X). Светодиодные семисегментные индикаторы можно применить из этой же серии SA08-XXXXX или аналогичные с общим анодом (возможно придется подобрать токоограничительные резисторы R10- R17) Вместо DA1 можно применить отечественный стабилизатор К142ЕН5Б. Применённые электромагнитные реле рассчитаны на питания обмотки12В и номинальный ток 30mA. При использовании реле с большим рабочим током необходимо подобрать резисторы R24 - R27. Напряжение коммутации ~220В, ток 12А. Вместо фоторезистора CФ2-5 можно применить аналогичные, сопротивление которых при ярком свете составляет 50....1000 Oм 

Возможные упрощения устройства.
Если не требуется управление с ПК то можно не устанавливать элементы DD2, R1-R3, XP2. За ненадобностью ИК управления не устанавливаются B1, C1, R4. Исключить автоматическую регулировку яркости можно не устанавливая R33, а вместо фоторезистора R32 поставить постоянный на 10ком. Если не нужно управлять нагрузками, то блок А3 исключается, а на XS4 необходимо установить перемычку между 6 и 7 контактами. Если нет надобности в термометрах, то DD4 и DD5 не подключаются и не устанавливаются R6, HL4.

Сборка и налаживание устройства.
Вначале на плату запаивают все элементы кроме DD1 – DD3, B1. DD4 и DD5 пока не подключать. Включив питание, измеряют постоянное напряжение на С10 и затем на С1. В обоих случаях оно должно быть около 5,3В. Желательно проверить свечение всех сегментов цифрового индикатора и статусных светодиодов подавая одновременно с минусовой шины питания на левые по схеме вывода резисторов R10-R18 и R19 - R23 (в базовых цепях VT1- VT5). (ограничивающие ток сегментов) Если все прошло успешно, то отключаем питание, запаиваем 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 = 1 — пороговый уровень для схемы контроля напряжения питания 2,7В;
• BODEN = 0 монитор питания включён 
• EESAVE = 0 — стирание EEPROM при программировании кристалла запрещено; 
• WDTON = 1 — Нет постоянного включения Watchdog Timer;

Остальные FUSE – биты лучше не трогать. FUSE–бит запрограммирован, если установлен в “0”. 

Демопрошивка обеспечивает полноценную работу устройства, но в течении чуть менее двух часов, что вполне достаточно для проверки работоспособности. За полнофункциональной прошивкой обращайтесь к автору .

Руководство пользователя находится в прилагаемых файлах. Управляющая программа для компьютера находится в стадии создания.

Схема в формате GIF 
Рисунок печатной платы и расположение элементов в форматах SprintLayout 5 и GIF 
Демонстрационная прошивка - функционирование в течении 2 часов. 
Фотографии, поясняющие конструкцию часов 
Руководство пользователя

Автор проекта: Баталов Алексей E-mail: alexperm72 (собачка) mail.ru ICQ: 477022759 Офф. сайт автора.

Обсудить статью на форуме



Источник: http://eldigi.ru/site/term/14.php
Категория: Устройства на микроконтроллерах | Добавил: brys99 (13.11.2011)
Просмотров: 8849 | Комментарии: 1 | Теги: Многофункциональные часы-термостат | Рейтинг: 5.0/1


Всего комментариев: 1
0
1 MARKIZ   (06.07.2014 14:07) [Материал]
я просто в восторге от разработки этой схемы. в ней практически задействованы все основные функции, которые только можно... !!!!!!!!!!!! БРАВО !!!!!!!!!!

Пожалуйста остав

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024