По сравнению с описанными в статье [1] того же автора предлагаемые настенные часы-термометр оснащены яркими светодиодными индикаторами белого свечения с более чем в два раза большей высотой цифр. Предусмотрены возможность гашения незначащего нуля и автоматическое изменение яркости индикаторов в зависимости от внешней освещённости. К часам можно подключить датчик температуры, наличие и тип которого определяются автоматически. Благодаря помехозащищённому алгоритму считывания показаний этот датчик можно вынести на значительное расстояние от часов.
Схема часов изображена на рис. 1. Для повышения точности их хода микроконтроллер DD2 (PIC16F873A-I/P) тактируется от внешнего интегрального кварцевого генератора DD1 частотой 8 МГц. Часы выполняют следующие функции:
- отображают текущее время в 24-часовом формате с погрешностью не более 1 с за сутки;
- отображают с дискретностью 1 °С измеренную выносным датчиком температуру от -55 до +125 °С;
- каждые 3 с автоматически заменяют значение времени на индикаторах значением температуры или обратно, но возможно и постоянное отображение величины, выбранной пользователем;
- автоматически изменяют яркость свечения индикаторов в зависимости от внешней освещённости, пороговое значение которой устанавливает пользователь.
Предусмотрены ручная установка часов, минут и коррекция показаний по сигналам точного времени. При снятой перемычке S1 действует автоматическое гашение незначащего нуля. Если есть необходимость отображать незначащий ноль, достаточно установить эту перемычку обратно.
Часы можно питать от любого источника постоянного напряжения 28…30 В. Они потребляют ток не более 60 мА. Автор использовал импульсный источник питания от струйного принтера «Lexmark» . В случае отключения этого источника светодиодные индикаторы гаснут, но счёт времени не прекращается, так как питание кварцевого генератора и микроконтроллера продолжается от резервного источника — литиевого элемента G1 напряжением 3 В.
Особенность применённых в часах индикаторов A-501W с высотой знака 126 мм (5 дюймов) — в их элементах установлены по семь пар включённых последовательно светодиодов, суммарное падение напряжения на которых превышает 20 В. Это не позволяет соединять индикаторы непосредственно с микроконтроллером, питаемым напряжением 5 В.
Сигналы с выходов RC0-RC7 микроконтроллера поступают на катоды элементов светодиодных индикаторов HG1-HG4 через электронные ключи микросхемы DD3 (ULN2803A). Сигналы с выходов RA0-RA3 микроконтроллера управляют электронными ключами на транзисторах VT1-VT8, поочерёдно подключающими аноды индикаторов HG1-HG4 к цепи питания.
Сразу после включения питания на индикаторы выводятся нули, начинается счёт времени, мигают десятичные точки (элементы DP) индикаторов HG2 и HG3, разделяющие разряды часов и минут. Обратите внимание, что индикаторы HG3 и HG4 должны быть установлены в часы повёрнутыми на 180°. Это связано с тем, что элемент DP индикатора HG3 используется как верхняя точка двоеточия, разделяющего часы и минуты, а такой же элемент индикатора HG4 служит символом градуса при отображении температуры.
Если контакты кнопочного выключателя SA1 разомкнуты, то каждые 3 с на индикаторах значения времени заменяются значениями температуры, измеренной подключённым к разъёму ХР1 выносным датчиком, и обратно. Фиксация кнопочного выключателя SA1 в замкнутом состоянии переводит часы в режим постоянного отображения текущего значения выведенной на индикатор в момент замыкания контактов величины — времени (рис. 2) или температуры (рис. 3). С размыканием контактов выключателя периодическая смена времени и температуры на индикаторе возобновляется.
Датчик температуры может быть любым из DS18B20, DS1822, DS18S20, DS1820, причём программа определяет его тип автоматически. Номера контактов разъёма ХР1 совпадают с номерами подключаемых к ним выводов перечисленных датчиков. Его можно установить не только в комнате, но и за окном или на балконе. При установке датчика на улице советую воспользоваться рекомендациями, приведёнными в моей статье [2]. Если он не подключён (или оборван соединительный провод), на индикаторы выводится только текущее время.
Кнопкой SB1 при необходимости устанавливают соответствующее точному времени число часов, а кнопкой SB2 — минут. Нажатие на кнопку SB3 приостанавливает счёт времени и выводит на индикатор ноль минут. Если перед этим нажатием число минут на индикаторе было больше 30, то число часов увеличится на единицу. В противном случае оно останется неизменным. С момента отпускания кнопки счёт времени возобновляется. Когда освещённость в помещении соответствует, по мнению пользователя, пороговой, достаточно нажать на кнопку SB4 и удерживать её до появления на индикаторах прочерков. В EEPROM микроконтроллера будет записано значение, пропорциональное текущей освещённости работающего в фотовольтаическом режиме фотодиода VD1 (ФД-256), которое в дальнейшем используется как пороговое. Когда освещённость ниже пороговой, яркость свечения индикатора автоматически уменьшится, а когда выше — увеличится. Кнопку SB4 следует разместить в таком месте, чтобы не затенять фотодиод в процессе установки порога. В авторском варианте она вынесена на плату индикаторов, где закреплена термоклеем.
Конструктивно часы состоят из модуля индикаторов размерами 420×140 мм и модуля контроллера, смонтированного на печатной плате размерами 130×100 мм. Чертёж двух печатных плат (по два индикатора на каждой), из которых состоит модуль индикаторов, не приводится ввиду их простоты и больших размеров. Для жёсткости между индикаторами и платами, на которых они установлены, проложена толстая пластина из изоляционного материала. Чтобы увеличить контрастность изображения, надо индикаторы закрыть автомобильной тонировочной плёнкой.
Лучшим решением (если найдётся ванна для травления нужных размеров) может быть изготовление единой платы индикаторов из стеклотекстолита толщиной не менее 2 мм. Не исключён и вариант проводного монтажа индикаторов на фанерном или пластмассовом листе соответствующих размеров и толщины.
Плата контроллера, чертёж которой изображён на рис. 4, рассчитана на установку кнопочного выключателя В4003 и кнопок с угловыми выводами TS-A6PV-130. Под кнопки другого типа плату, возможно, придётся доработать. Для литиевого элемента CR2032 (G1) на плате установлен держатель ВН-642. Интегральный кварцевый генератор КХО-200 на 8 МГц можно заменить (с небольшим ухудшением точности хода часов) генератором на элементах ТТЛ с отдельным кварцевым резонатором [3].
Правильно собранное устройство налаживания не требует. Необходимо лишь до монтажа микроконтроллера на плату записать в его память выбранную программу. Предлагаются два варианта программы: стандартный (файл c_t_873.hex) и с «солнечной» коррекцией температуры (файл c_t_873_sol.hex). Вариант с коррекцией автор разработал и использует в связи с тем, что у него датчик температуры расположен на солнечной стороне дома. Несмотря на меры, принятые для защиты датчика от прямых солнечных лучей, при ясной солнечной погоде погрешность показаний датчика значительно возрастает. Она была определена экспериментально и скомпенсирована в программе автоматическим вводом в показания датчика поправки в соответствии с таблицей перед их отображением на индикаторе.
Измеренная температура, °С | Поправка, °С |
Ниже -25 | -3 |
-25…-21 | -1 |
-20…+20 | 0 |
+21…+25 | -1 |
+26…+30 | -3 |
Выше +30 | -4 |
ЛИТЕРАТУРА
- Суров В. Настенные часы-термометр. — Радио, 2008, № 12, с.39-41.
- Суров В. Часы-термометр — Радио, 2003, №10, с. 39-41.
- Нечаев И. Конструкции на логических элементах цифровых микросхем, МРБ. вып. 1172. — М.: Радио и связь, 1992
Скачать архив к проекту (файл печатной платы в формате Sprint Layout 6.0 и два варианта программы микроконтроллера)
Автор: В. СУРОВ, г. Горно-Алтайск
Источник: Радио №2, 2016