на главную
Карта сайта
English version
Вы читаете:

Настенные часы-термометр на микроконтроллере PIC16F684

Измерительная техника
6 месяцев назад

Настенные часы-термометр на микроконтроллере PIC16F684 (часть 1)


Как в Интернете, так и на страницах радиолюбительских журналов можно встретить большое число схем часов, которые, помимо времени, отображают температуру с выносного датчика температуры. Только автором на страницах журнала "Радио" в разные годы было опубликовано несколько таких статей.

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

Настенные часы-термометр (далее - часы) выполнены на базе недорогого микроконтроллера (МК) PIC16F684, который управляет светодиодным драйвером MAX7219. Тактирование и отсчёт времени осуществляются с помощью современных и высокоточных часов реального времени DS3231N. В качестве индикаторов использованы семиэлементные светодиодные индикаторы с высотой знака 75 мм. Плата разработана с учётом возможной установки комплекта индикаторов как с общим анодом (ОА), так и с общим катодом (ОК). В качестве датчика температуры используется цифровой датчик DS18В20. Также вместо него можно использовать датчик DS1820 или DS1822. Программа МК автоматически определяет используемый тип датчика и начинает работать с ним без каких-либо дополнительных настроек.

Часы обладают следующим функционалом:

-отображение времени в формате 24 ч с гашением незначащих нулей в показаниях;

-отображение наружной температуры с выносного датчика или внутренней с датчика температуры, встроенного в DS3231N. Интервал измерений температуры с выносным датчиком DS18B20 - от -55 оС до+125 оС и точностью 0,5 оС в интервале от -10 оС до +85 оС. Точность внутреннего датчика в DS3231N хуже и может варьироваться в интервале ±3 оС;

-возможность установки временного интервала отображения показаний времени и/или температуры (2-9 с);

-регулировка яркости свечения индикаторов;

-автоматическая плавная и настраиваемая пороговая регулировка яркости индикаторов в зависимости от освещённости помещения.

Схема часов

Рис. 1. Схема часов (по клику крупно)

 

Схема часов показана на рис. 1. Счёт времени осуществляется высокоточными часами реального времени DD1, его обмен данными с микроконтроллером DD2 осуществляется по протоколу I2С. В случае отключения основного питания АТС (DD1) резервное питание чипа осуществляется от литиевого элемента G1 СА2032 напряжением 3 В. Связь МК DD2 с драйвером DD3 осуществляется по протоколу SPI, а с внешним датчиком температуры, который подключают к разъёму XS2, по протоколу 1-Wire. Микросхема DD4 инвертирует сигналы, поступающие на драйвер DD6, который вместе с драйвером на DD5 управляет выходными сигналами (размахом 15 В) и соответственно включением индикаторов HG1-HG4. Резисторы А7-А14 служат для ограничения тока через элементы индикаторов.

Питание часов осуществляется от блока питания напряжением 15 В. Мощность, потребляемая часами от сети, не превышает 1 Вт. Напряжение питания +5 В для микросхем часов формируется линейным стабилизатором DA1 (LM7805). Конденсаторы С1 - С13 служат для фильтрации напряжения питания. На плате также предусмотрена установка повышающих DC-DC преобразователей в случае питания часов от источника постоянного тока напряжением 5 В, на схеме они не показаны. Поэтому на плату эти "лишние" детали не устанавливают, хотя место для них предусмотрено.

Фоторезистор А17 и цепь А16С14 формируют сигнал для управления яркостью свечения индикаторов в зависи мости от освещённости в помещении. Цепь R2C11 фильтрует питание для датчика температуры, резистор R4 "подтягивает" к источнику питания его сигнальный вывод. Установка параметров часов осуществляется кнопкой с фиксацией и самовозвратом SB1 и тактовыми кнопками без фиксации SB2-SB4.

Установку параметров часов проводят в следующей последовательности:

1. При первом включении часов, после кратковременного (тестового) включения всех элементов светодиодных индикаторов, начинает отображаться реальное время в 24-часовом формате, и мигают децимальные точки (рис. 2).

Рис. 2.

 

2.Через 3 с (по умолчанию) происходит смена показаний на значение температуры. Если выносной датчик температуры не подключён, на индикаторах будут отображаться прочерки и значок градусов Цельсия.

Рис. 3.

 

После нажатия на кнопку SB2 "Выбор" на индикаторах появится аббревиатура dL13 (рис. 3), где dL (day Light) - дневной свет, а 13 - уровень яркости (по умолчанию). Теперь нажатием на кнопку SB3 "Установка" мы увеличиваем яркость индикации (которая изменяется сразу) до значения, необходимого пользователю. Уровень яркости можно изменять по кольцу от 8 до 15. После нажатия на кнопку SB2 "Выбор" значение этого параметра записывается в память МК, и происходит переход на следующее окно, которое показано на рис. 4.

Рис. 4.

 

3.Аббревиатура nL07 означает (night Light) - ночной свет, где 07 - уровень яркости. Здесь устанавливают уровень яркости индикаторов при снижении освещённости в помещении ниже заданного порога в ручном режиме. Яркость изменяется по кольцу от 0 до 7. В остальном манипуляции аналогичны пункту 1.

Рис. 5.

 

Рис. 6.

 

4.Следующее нажатие на кнопку SB2 "Выбор" выводит на индикаторы аббревиатуру br-A (рис. 5), где br (bright) - яркость, А - автоматический режим. Теперь нажатием на кнопку SB3 "Установка" можно выставить ручной режим - аббревиатура br-h (рис. 6), где h - hand (ручной). И так - каждым очередным нажатием на кнопку по кругу.

В ручном режиме изменение яркости индикаторов происходит скачкообразно при снижении/превышении порогового значения освещённости. В автоматическом же режиме яркость индикаторов изменяется плавно в соответствии с заданными в программе МК параметрами.

Рис. 7.

 

5.Следующее нажатие на кнопку SB3 "Установка" выводит на индикаторы аббревиатуру ti-3 (рис. 7), где ti - (time) время, 3 - значение продолжительности отображения часов-минут (в секундах по умолчанию). Теперь нажатием на кнопку SB3 "Установка" можно выбрать время отображения показания часов и минут от 2 с до 9 с.

Рис. 8.

 

6.Нажатие на кнопку SB2 "Выбор" выводит на индикаторы аббревиатуру tE-3 (рис. 8), где tE - (temperature) температура, 3 - продолжительность отображения температуры в секундах (по умолчанию). Теперь нажатием на кнопку SB3 "Установка" можно выбрать продолжительность отображения показания температуры от 2 с до 9 с.

Продолжение следует

Автор: В. Суров, г. Горно-Алтайск


Рекомендуем к данному материалу ...

Electronic Components Distributor - HQonline Electronics