РадиоКот :: Часы на ЖКИ с Bluetooth синхронизатором
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: Добавить тег

Часы на ЖКИ с Bluetooth синхронизатором

Автор: Сергей Безруков (aka Ser60)
Опубликовано 06.09.2025
Создано при помощи КотоРед.

После завершения своего первого проекта часов с управлением акселерометром несколько моих знакомых попросили сделать им такие же. Но повторять один и тот же проект даже для подарка скучно. К тому же к этому времени был накоплен опыт разработки часов с установкой времени через Bluetooth интерфейс из смартфона. Последнее оказалось настолько удобным по сравнению с традиционным кнопочным интерфейсом, что во всех своих нынешних проектах часов я и не ищу других решений. Здесь я опишу 3 конструкции часов с батарейным питанием, для минимизации токопотребления которых используются символьные ЖКИ дисплеи. Часы предназначены для установки на прикроватной тумбочке и то, что они не светятся ночью даже хорошо, поскольку иначе они мешают мне спать и любые светящиеся часы я на ночь выключаю. Время на часах, однако, показывается постоянно и при выключенной подсветке дисплея. Поскольку цифры на ЖКИ дисплее не видны в темноте, для чтения времени ночью следует легко стукнуть по тумбочке для кратковременного включения подсветки на 4–5 секунд. Вот как выглядела первая версия таких часов:

Дисплей для этих часов был снят с модуля ЖКИ приобретённого на сайте AliExpress. Модуль включает контроллер дисплея на основе HT1621, но его потребление в несколько десятков микроампер меня совершенно не устроило. Для демонтажа дисплея пришлось отпилить часть платы вблизи выводов дисплея, как показано на правой картинке, после чего его выводы можно отпаять без перегрева, аккуратно отгибая их от платы. Демонтаж подсветки проблем не вызывает. Эти операции я уже успешно проделывал несколько раз.

 

Вся логика работы часов реализована в программе микроконтроллера, входящего в состав Bluetooth модуля. Необходимые сигналы управления ЖКИ с мультиплексом 1:3 и четырьмя общими выводами COM1-COM4 генерируются драйвером IC2. Собственное потребление драйвера в рабочем режиме с подключённым дисплеем оказалось в районе 5 мкА. Включение подсветки дисплея LED1 производится акселерометром, настроенным на максимум чувствительности. В нём уже реализован алгоритм детектирования одиночных (и двойных) ударов, что заметно упрощает программу МК. При детектировании постукивания акселерометр сконфигурирован на формирование запроса прерывания на выводе 12. Для уверенного детектирования одиночного постукивания акселерометр производит 50 измерений ускорения в секунду, потребляя при этом всего 3 мкА. Драйвер дисплея и акселерометр управляются по общей шине I2C.

Помимо алгоритма показа времени в часах реализован будильник. Для увеличения громкости звучания пьезо-излучателя SG1 (модель TDK PS1240P02BT) на его выводы подаются противофазные сигналы частотой 4 кГц, формируемые двумя каналами одного из таймеров МК. Применение пьезо-излучателя вместо электромагнитного положительно сказывается на токопотреблении схемы. Вся схема питается от одной батарейки ААА через повышающий преобразователь IC4, который обеспечивает постоянное напряжение питания схемы при разряде батареи, и тем самым стабилизирует контраст ЖКИ. Питание часов производится от одной батареи размера ААА через микромощный без-дроссельный преобразователь IC4 типа токовый насос (charge pump).

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

   

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

 

Схема этого варианта аналогична предыдущей, разница лишь в подключении дисплея. Этими часами я пользуюсь уже более двух лет, батарею менял один раз. Потребление от батареи около 70 мкА из-за (относительно) высокого потребления драйвера IC2, особенно при работе на дисплей большего размера и низкого КПД преобразователя IC4 на малых токах, который работает постоянно.

Третья конструкции ориентирована на длительную работу от батарей. В ней применён такой же дисплей, что и в первой конструкции и учтены недостатки, связанные с ориентацией подсветки. Как и в первых двух конструкциях, схема собрана на двух печатных платах. На лицевой плате установлен дисплей с драйвером, а на тыльной - акселерометр и МК. Батарейный отсек смонтирован между платами с батареей, ориентированной вниз для удобства её смены. Файлы печатных плат прилагаются. Установленное через Android приложение тусклое свечение подсветки при свете настольной лампы на картинке ниже воспринимается глазом несравненно ярче в темноте.

В этой конструкции я решил отказаться от постоянно работающего повышающего преобразователя, что в устройствах с микропотреблением является ахиллесовой пятой, за счёт более дорогой литиевой батарейки CR123A. Однако, учитывая среднее токопотребление при выключенной подсветке порядка 8 мкА, а также существенно более низкий ток саморазряда литиевой батареи, менять её ожидается лет через 10 в зависимости от частоты включения подсветки. Также, я решил вместо обычного Bluetooth модуля поставить SiP (System in Package) модуль IC1, как и в предыдущей опубликованной здесь конструкции, и применил другое решение для управления дисплеем.

В качестве драйвера дисплея использован 16-битный микроконтроллер IC2 семейства RL78 фирмы Renesas. Более 10 лет назад я проводил сравнение характеристик микромощных ЖКИ драйверов и до сих пор не знаю лучшего, чем этот. Драйвер помимо управления ЖКИ имеет встроенный токовый насос (charge pump) для стабилизации амплитуд управляющих ЖКИ сигналов, что обеспечивает постоянный контраст дисплея по мере разряда батарей. Хотя эта функция не так актуальна для применённой батареи, она практически не увеличивает токопотребление драйвера. Драйвер полностью конфигурируется программой МК и работает в режиме его глубокого сна. Вся логика часов реализована на SiP IC1, связь с драйвером IC2 для смены показаний дисплея обеспечивается по одному проводу через интерфейс UART на скорости 9600 бод. Микромощный таймер, также работающий в режиме глубокого сна МК, управляет миганием двоеточия, разделяющего часы и минуты на дисплее. Наконец, для приёма времени UART модуль при выбранной скорости тактируется от встроенного генератора на 32 кГц, который также используется для генерации сигналов управления ЖКИ, и пробуждает МК на пары десятков микросекунд прерыванием лишь по приёму 4-х цифр времени раз в минуту для обновления дисплея. Благодаря всем описанным факторам, потребление МК получается порядка нескольких микроампер и зависит только от размера дисплея. Если мне ещё раз придётся делать подобные часы, я остановлюсь на этом варианте с более крупным дисплеем из второй конструкции. Для принудительной синхронизации с мобильным устройством следует повернуть часы дисплеем вверх. При этом включается подсветка и часы становятся видимыми смартфону максимум на 30 секунд или до окончания синхронизации.

Синхронизация времени во всех описанные конструкциях часов помимо смартфона может также осуществляться от следующего внешнего синхронизатора. Сам синхронизатор периодически загружает время от NTP сервера посредством WiFi модуля IC2 и передаёт это время на Bluetooth модуль IC1 для синхронизации с батарейными часами. Применение Bluetooth модуля в батарейных часах вместо WiFi существенно снижает требования к батарее, поскольку WiFi модули в активном режиме потребляют порядка 150–250 мА, что не всякая, особенно несвежая, пальчиковая батарея может обеспечить даже на короткое время. По сравнению с WiFi потребление Bluetooth модулей в режиме передачи на мощности 0 дБм не превышает 5 мА. Применять более ёмкие аккумуляторы и возиться с их подзарядкой не мой метод.  

Применённый Bluetooth модуль выпускается фирмой Laird (сейчас Ezurio) и основан на чипе семейства BG22 фирмы Silicon Labs. Он полностью совместим с оригинальным силлабовским модулем BGM220, но заметно дешевле последнего. В составе модуля имеется часовой кристалл, от которого тактируются часы реального времени, хранящие образцовое время для синхронизации с часами между сеансами связи с NTP сервером через WiFi. Более того, в модули семейства Lyra загружены на фабрике AT-команды, которые, правда, в данной конструкции не используются. Вместо них в модуль загружается специальное программа (исходный код прилагается), разработанная в Simplicity Studio IDE. Связь с модулем WizFi360 корейской фирмы WIZnet производится по UART интерфейсу на скорости 115200 бод. Для коммуникации с WiFi модулем из IC1 используются AT-команды, загруженные в WiFi модуль на фабрике. Питание обоих модулей производится от сетевого адаптера на 5В, а требуемое модулям напряжение 3.3В понижается микросхемами IC3 и IC4. Можно было бы использовать только IC4 для питания обоих модулей. Всё время между синхронизацией по NTP Bluetooth модуль находится в режиме сканирования Bluetooth устройств, и как только будет обнаружено устройство с именем, начинающимся с «Clock» и поддерживающее необходимые характеристики, с ним будет произведено соединение и загрузка времени. Соответственно, WiFi модуль активируется только на время синхронизации с NTP сервером, что существенно снижает токопотребление, даже если синхронизатор постоянно питается от сети.

 

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

 


Файлы:
Файлы Eagle
Исходники


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

5 1 4