РадиоКот :: Первичные Часы
Например TDA7294

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

Теги статьи: Первичные часыAVRДобавить тег

Первичные Часы

Автор: LEVV2006
Опубликовано 10.02.2022
Создано при помощи КотоРед.

Всем привет!

История проекта берет свое начало с обычного объявления на АВИТО.
Некто продавал первичные часы собственного изготовления за 5000р. Все бы ничего, и я бы прошел бы мимо, но в описании к объявлению было столько изящных слов, что они заставили меня задумать. А действительно ли так сложно сделать первичные часы?

Вот эта мысль и натолкнула меня на этот проект «Выходного дня».

Техническое задание, которое я сформировал:

  1. Удобное управление и корректировка времени
  2. Питание от USB (Как было в объявлении)
  3. Автоматическая корректировка времени после выключения/включения питания.

Поговорим о комплектующих:

  1. Часы: Реализованы на микросхеме DS3231 в корпусе SO-8. Редкая, но очень удобная из-за своих размеров. Эту микросхему вы все знаете Стабильнее её я пока не встречал.
  2. Преобразователь: Реализован на микросхеме MAX1771. Только потому, что их у меня много.
  3. Драйвер часов: Микросхема DRV8870DDA. Это драйверы управления электродвигателем.
  4. Контроллер: ATTINY841. Выбирал из-за размеров и функционала. Но, к сожалению, микросхема мне не очень понравилась. Показалась что она еще сыровата. Были некоторые необъяснимые глюки.
  5. Память: Нашел эту крошечную микросхему 24LC01. Про неё могу сказать только одно, она ОЧЕНЬ медленная. Но для наших задач пойдет.

Поговорим о логике работы всей системы.

При инициализации ножка SQW микросхемы DS3231 настраивается на импульсы с частотой 1Гц.
Эти импульсы подаются на ножку микроконтроллера, который в свою очередь запрашивает время с микросхемы часов и обрабатывает алгоритм корректировки вторичных часов.
Если алгоритм говорит о необходимости корректировки времени на вторичных часах, то МК включает преобразователь MAX1771, корректирует время и выключает преобразователь.
В целом ничего сложного по основному алгоритму нет.

А вот возможность отключать/включать питание с последующий корректировкой заставил задуматься.

Для реализации этой функции необходимо записывать в память текущее состояние вторичных часов и полярность. И запись нужно производить каждый раз при изменении любого из параметров.
Изначально для этого хотел использовать EEPROM микроконтроллера, но циклов записи/перезаписи слишком маленькое. Да еще в МК ATTINY841 какая-то ерунда с памятью. 8 из 10 перезаписей корректны, а 2 нет. И это происходит рандомно!
В этой ситуации нам поможет микросхема 24LC01. У неё гарантированных 1000000 циклов перезаписей (А это 2,5 года непрерывной работы часов).

С данными мы разобрались.

Но для стабильности работы алгоритма нам нужен еще датчик наличия напряжения.
На плате часов по сути 2 цепи питания. Одна с конденсатором на 100 uF питание преобразователь. Другая через диод имеет гирлянду из конденсаторов на 470 uF.
Когда отключается питания, то контроллер понимает, что питания нет и на запасённой энергии в гирлянде успевает дозавершить выполнение всех алгоритмов и прекратить выполнять новые.
Тем самым мы избавляемся от ненужных ошибок при пропадании питания.
При появлении питания МК сравнивает показания часов (DS3231 продолжают идти так как они с батарейкой) и тем, что записано в памяти 24LC01. И если требуется, то автоматически корректирует время.

Настройка часов:

Предусмотрено 2 режима.
Режим 1: Бываю случае когда время может отставать на 1-2 минут. Это часто связано с тем, что механизм может подклинивать. Для быстрой корректировки нужно зажать кнопку (2) на 5с. Стрелка перескочит на 1 минуту вперед.
Режим 2: Полная корректировка. Зажать кнопку 1 на 5с. Загорится зеленая лампочка. Ход времени остановиться и кнопкой 2 уже можно выставить необходимое время. Для применения настроек нужно зажать кнопку 1 до погасания лампочки.

В целом ничего сложного по итогу нет. Получилась крохотная платка с необходимом функционалом.

Прикрепляю к статье все исходники что у меня есть + максимально документированную прошивку.

Я не исключаю что можно написать пришивку и лучше и избавиться от некоторых микросхем, но это уже совсем другая история!

Спасибо что дочитали до конца! Надеюсь, было полезно и интересно.


Файлы:
Схема
Плата
Прошивка


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




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

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

21 2 4

Эти статьи вам тоже могут пригодиться: