Например TDA7294

РадиоКот >Конкурсы >Поздравь Кота по-человечески 2014! >

Карманные часы "MicroClock"

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

Предисловие

Многим хочется иметь при себе источник точного времени. Первые приходящие в голову варианты - мобильник и наручные часы. Первый вариант отпадает: мобильник может разрядиться в самый неподходящий момент. Втрой тоже: качественные наручные часы стоят не мало. Значит, нужно делать такие часы самому!

Схема устройства

Очевидно, что делать такие часы нужно на микроконтроллере. Питание должно быть от литий-ионного аккумулятора, чтобы не менять батарейки. Аккумулятор нужно заряжать, значит, устройство должно содержать в себе зарядник, причём желательно со стандартным разъёмом, например, microUSB, чтобы можно было подключить зарядник от мобильника.

На основании вышеизложенных требований была составлена такая схема:

 

Сердце устройства - микроконтроллер ATMega8 от Atmel. Он считает время, выдаёт сигналы динамической индикации, опрашивает кнопки и следит за напряжением аккумулятора с помощью делителя R18R19. На микросхеме U2 выполнено зарядное устройство для аккумулятора BAT1. Светодиод D1 светится во время процесса зарядки, погасая по её окончании. Зарядка осуществляется через разъём microUSB.

Фьюзы ATMega8 (галочка - запрограммировано, т.е. "0"):

Микроконтроллер применён в корпусе TQFP32 для уменьшения размеров устройства. Аккумулятор BAT1 - литий-ионный ёмкостью 300мАч со встроенной платой защиты. Его размеры - 36x34x2.8мм. Такой аккумулятор можно найти во многих портативных видеоплеерах. Кварцевый резонатор X1 - обычный часовой на частоту 32,768кГц. Индикатор часов состоит из четырёх отдельных семисегментных индикаторов типа GNS-3012AD-21 с высотой цифры 7,62мм. Транзисторы Q1-Q4 можно заменить на любые маломощные кремниевые PNP. Все резисторы, кроме R4 и R19, - SMD типоразмера 0805, R4 и R19 - выводные мощностью 0,25Вт. Конденсаторы керамические SMD типоразмера 0805.

Печатная плата

Устройство собрано на двух печатных платах: основной плате и плате индикаторов. 

Основная ПП устройства представлена ниже. Скачать её, а так же ПП индикаторов, которая не описывается в виду своей простоты, в формате SL6.0 можно в конце страницы. 

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

Аккумулятор устанавливается на свободное место платы с помощью двустороннего скотча.

Примечание: здесь и далее на фото видна спичка для представления о размере.

Как видно на фото выше, разъём microUSB для надёжности зафиксирован проволокой.

Настройка устройства

Настройка сосотоит из одной операции: подбора резистора R19 таким образом, чтобы точка на индикаторе единиц минут, сигнализующая о разряде акумулятора, зажигалась при напряжении на нём примерно 3,1В. Для настройки вместо аккумулятора удобно подключить лабораторный БП, а вместо R19 - подстрочный резистор номиналом 100кОм. После настройки следует измерить получившееся сопротивление R19 и впаять постоянный резистор (или цепочку резисторов) вместо подстроечного. Измерение сопротивления следует проводить, выпаяв резистор из схемы!

Корпус

Корпусом служит старая батарейка на 4,5В, из которой извлечены элементы и удалены внутренние перегородки. Печатная плата в корпусе крепится с помощью двух пластин из стеклотекстолита, приклеенных к плате (см.фото ПП).

На одной из этих пластин припаян миниатюрный выключатель питания, включенный в разрыв плюсового провода аккумулятора:

На другой пластине находится светодиод индикации зарядки:

 

На передней панели, сделанной из крышки от батарейки, находятся индикатор и кнопки. Индикатор закрыт плёнкой от бутылки для защиты от солнца. Так же к передней панели приклеены два упора для печатной платы. 

Передняя панель крепится в корпусе с помощью гаек, вклееных в неё. Пластинки из стеклотекстолита нужны для устранения неровностей и плотного прилегания корпуса:

Плата вдвигается в корпус, входит в пазы передней панели, которая фиксируется двумя винтами:

Снаружи корпус оклеен плёнкой "под дерево", спереди и сзади наклеены напечатанные накладки:

Управление часами

Поскольку часы питаются от аккумулятора, почти всё время индикаторы погашены, и средний потребляемый ток составляет несколько сотен микроампер. Для индикации времени следует нажать на кнопку Set. Время отобразится на 5 секунд. 

Для установки времени в активном режиме часов следует нажать и держать кнопку Mode до появления надписи St (Set time). После отпускания кнопки загорятся две точки в разрядах единиц и десятков часов. Теперь кнопкой Set устанавливаются часы. После установки часов следует кратковременно нажать кнопку Mode. Загорятся точки в разрядах единиц и десятков минут. Кнопкой Set теперь устанавливаются минуты. Установка завершится после нажатия кнопки Mode. Часы пойдут (замигает точка).

Очень часто часы спешат или отстают. Чтобы компенсировать это, в данных часах предусмотрен алгоритм коррекции.

Для расчёта значения коррекции следует точно установить часы, например, по NTP-серверу. Число минут при установке должно быть равно нулю. Например, устанавливать часы в 12:00 или 16:00 можно, а в 9:01 или 21:43 - нельзя. Теперь нужно подождать ровно 24 часа. За несколько минут до конца этого интервала следует проверить, отстают часы или спешат. Если часы отстают, то нужно заметить, сколько секунд было на часах NTP-сервера, по которому вы выставляли часы, в момент, когда по часам MicroClock закончился интервал в 24 часа. Если же ваши часы спешат, нужно заметить, сколько времени прошло от переключения этих часов до переключения часов NTP-сервера. Теперь надо умножить это количество секунд (не важно, отстают часы или спешат) на коэффициент 10,67. Округлённое значение и будет значением коррекции.

Для ввода этого значения в часы нужно в активном режиме нажать кнопку Mode и держать до появления надписи "Sc" (Set Correction) на индикаторах. После отпускания кнопки на индикаторах появится число и, возможно, знак "-". Для отстающих часов кнопкой Set нужно выставить рассчитанное ранее значение корекции без знака "-", для спешащих - со знаком "-". После нажатия кнопки Mode значение корекции запишется в EEPROM МК. Часы пойдут.

Часы нужно опять выставить, после чего проверить на большом интервале, будут ли они спешить или отставать. Если часы спешат, значение коррекции нужно уменьшить (именно значение, т.е. число со знаком. Например, вместо -120 можно выставить -121 и меньше.), а если отстают - увеличить. Далее снова выставить и опять проверить точность, при необходимости снова изменив значение коррекции.

Внимание! Выставлять часы следует с нулевым числом минут, иначе алгоритм коррекции будет работать неправильно.


Файлы:
Проект в CVAVR
Печатная плата в формате Sprint Layout 6.0
Шестнадцатеричный файл прошивки


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


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

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

29 30 19
1 0 0