Сегодня в литературе можно найти много описаний конструкций часов-термометров, которые в подавляющем большинстве отображают информацию на ЖКИ, что дает им такие преимущества, как компактность и экономичность. Но есть и недостатки. Например, небольшая высота и контрастность изображения на ЖКИ не позволяют прочитать показания с большого расстояния или в темное время суток. Предлагаемые в статье настенные часы-термометр оснащены яркими светодиодными индикаторами желтого цвета свечения с высотой знака 57 мм.
Часы-термометр (далее — просто часы) выполнены на базе микроконтроллера PIC16F628A. В зависимости от загруженной в него программы они работают с датчиком температуры DS18B20 или DS18S20, который может быть размещен не только в комнате, но и за окном или на балконе. Особенность примененного в часах индикатора SA23-11YWA с большим размером знака заключается в том, что в его элементах установлено по четыре светодиода, суммарное падение напряжения на которых достигает 8 В. Это не позволяет соединять индикатор непосредственно с выводами МК, питаемого напряжением 5 В. Пришлось предусмотреть узлы сопряжения, применив в них логические микросхемы с открытым коллектором, способные коммутировать напряжение до 30 В.
Часы выполняют следующие функции:
— отображают время в 24-часовом формате с погрешностью не более 1 с в сутки;
— отображают с дискретностью 1 °С температуру в интервале от -55 до +125 °С, измеренную выносным датчиком;
— каждые 3 с автоматически переходят от отображения времени к отображению температуры и обратно. Возможно постоянное отображение величины, выбранной пользователем;
— в заданное время подают звуковой сигнал (будильник), если он включен.
Предусмотрена ручная установка часов и минут, коррекция показаний по сигналам точного времени. Часы питаются от любого источника постоянного напряжения 12 В, потребляя ток не более 200 мА. В случае отключения этого источника светодиодный индикатор гаснет, но отсчет времени не прерывается, так как питание тактового генератора и микроконтроллера продолжается от резервного источника — литиевого элемента напряжением 3 В.
Схема часов изображена на рис. 1. Для повышения точности хода МК DD3 тактируется от внешнего интегрального кварцевого генератора DD2 частотой 4 МГц. Сигналы с выходов RB4—RB7 МК поступают на преобразователь двоичнодесятичного кода в семиэлементный — микросхему DD4. Логический инвертор DD1.3 в нужные моменты времени включает на индикаторе HG4 элемент А, дополняющий включенные преобразователем DD4 элементы В, F и G до символа "градус''. Инвертор DD1.4 включает элемент G индикатора HG1, когда на нем нужно изобразить знак "минус".
Инверторы DD1.1, DD1.2, DD1.5, DD1.6 по сигналам МК управляют транзисторами VT1, VT2, \Л4, VT5, поочередно подключающими аноды индикаторов HG1—HG4 к цепи +12 В. Транзистор VT3 формирует сигнал, подаваемый на звукоизлучатель с встроенным генератором НА1 при срабатывании будильника.
В программе МК задействованы два таймера-счетчика — TMR0 и TMR1. Первый служит для управления динамической индикацией, второй — для формирования точного интервала времени длительностью 1 с. С таким периодом следуют запросы прерывания при переполнении таймера TMR1, подсчитывающего импульсы частотой F
osc/4 (1 МГц) с предделителем на 4. Подбором константы в регистре TMR1L можно устранить возможную погрешность хода часов.
Сразу после включения питания на индикаторы HG1—HG4 выводятся нули, начинается счет времени и мигает светодиод HL2 — нижняя точка, разделяющая разряды часов и минут. Если кнопка SB1 не нажата, через 3 с вместо времени на индикаторах будет показано значение температуры, измеренное подключенным к разъему ХР2 выносным датчиком. Номера контактов разъема соответствуют номерам выводов датчиков DS18B20 и DS18S20. Если датчик не подключен, неисправен или еще не успел выполнить измерение (так бывает сразу после включения), на индикаторе появится значение 85°. Еще через 3 с вновь будет показано время и т. д.
Кнопкой SB4 "Часы" при необходимости устанавливают соответствующее точному времени число часов, а кнопкой SB5 "Минуты” — минут. Нажатие на кнопку SB6 "Коррекция" приостанавливает счет времени и выводит на индикатор ноль минут. С момента отпускания этой кнопки (обычно по началу шестого сигнала точного времени) счет времени возобновляется.
При нажатии на кнопку SB3 "Установка будильника" на индикатор выводится значение 07:00, но счет микроконтроллером текущего времени продолжается. Удерживая кнопку SB3 нажатой, кнопками SB4 и SB5 устанавливают на индикаторе необходимое время подачи звукового сигнала. После отпускания кнопки SB3 часы переходят в обычный режим, показывая текущее время и температуру.
Когда текущее время совпадет с заданным, на выходе RB2 МК на 1 мин будет установлен низкий уровень напряжения, что приведет к открыванию транзистора VT3 и, если кнопка SB2 "Включение будильника" зафиксирована в нажатом состоянии, включению звукоизлучателя НА1. Эта же кнопка, будучи нажатой, замыкает цепь светодиода HL1 — верхней точки, разделяющей на индикаторе разряды часов и минут. Поочередное мигание верхней и нижней (HL2) разделительных точек сигнализирует о том, что будильник включен. Для его выключения достаточно повторным нажатием на кнопку SB2 разомкнуть ее контакты.
Нажатие на кнопку SB1 "Режим" и ее фиксация в этом состоянии переводит часы в режим постоянного отображения текущего значения той величины, которая была выведена на индикатор в момент нажатия — времени (рис. 2,а) или температуры (рис. 2,6). С размыканием контактов кнопки периодическая смена отображаемой величины возобновляется.
Детали часов смонтированы на двух печатных платах размерами 205x110 мм каждая, изготовленными из фольгированного с одной стороны стеклотекстолита. Плата, на которой находятся индикаторы и органы управления, изображена на рис. 3. Она рассчитана на установку кнопок SB1 и SB2 (с фиксацией) PC700L и кнопок SB3—SB5 (без фиксации) TS-A6PS-130. Под кнопки других типов топологию платы придется, возможно, изменить. Поскольку ширина зазора между корпусами индикаторов HG2 и HG3 всего 2 мм, толщину корпусов расположенных между ними светодиодов HL1 и HL2, возможно, придется уменьшить, обработав их напильником.
Остальные детали часов находятся на плате, изображенной на рис. 4. Значительная часть площади этой платы осталась незанятой и на рисунке не показана. Литиевый элемент CR2032 (G1) помещен в батарейный отсек ВН-642. Плавкую вставку FU1 для удобства замены можно установить в держатель, поместив его в подходящем месте и соединив с контактными площадками платы проводами. Если используемый для питания часов блок уже содержит предохранитель, от вставки FU1 можно отказаться, заменив ее проволочной перемычкой.
Обе платы собраны "этажеркой", помещены в корпус — прозрачную коробку от подарочного столового набора и закреплены в нем термоклеем. Изнутри коробка окрашена темной краской, за исключением прямоугольного участка перед индикаторами, на лицевую поверхность которых для повышения контрастности наклеена прозрачная пленка зеленого цвета. Толкатели кнопок SB1 — SB6 выведены в отверстия, просверленные в передней панели корпуса. Через просверленные в корпусе отверстия подключают и ответные части к установленным на краю печатной платы разъемам ХР1, ХР2.
Правильно собранное устройство налаживания не требует. Необходимо лишь до монтажа МК на плату записать в его память программу, соответствующую типу используемого датчика температуры. Коды программы для датчика DS18B20 находятся в файле c_t_b.hex, а для датчика DS18S20 — в файле c_t_s.hex. Датчик DS18B20 можно заменить более дешевым аналогом DS1822, однако последний измеряет температуру с погрешностью, доходящей до 2 °С, а за пределами интервала -10...+85 °С его погрешность еще больше. При установке датчика на улице советую воспользоваться рекомендациями, приведенными в моей статье "Часы-термометр" ("Радио", 2003, № 10, с. 39 — 41).
Микросхему К555ИД18 можно заменить импортным аналогом SN74LS247, а импортную SN74LS07N — отечественным аналогом К155ЛП9, но в последнем случае придется подобрать резисторы R25—R27, иначе при нажатиях на кнопки будут подсвечиваться элементы индикаторов, управляемых сигналами с тех же выводов МК, с которыми соединены кнопки. Вместо звукоизлучателя НРМ14АХ можно установить генератор мелодий, например, от музыкальной открытки, ограничив до необходимого значения подаваемое на него напряжение.
Материал взят из: Журнала Радио 2008 №12
В архиве исходный код программы на ассемблере для 18S20, 18B20 и прошивки к ним
nastentimer.rar [16,52 Kb] (cкачиваний: 914)