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

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

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

Одноламповые часы

Автор: A_AVL
Опубликовано 10.09.2012
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2012!"

Поздравляю Кота с Днем Рождения.



             Устройство абсолютно бесполезное. Но плата часов на шести газоразрядных индикаторах спаяна, а транзисторов в анодных цепях ещё нет. Когда будут — непонятно, зависит от почты из Китая. А начать отладку часов хотелось, потому что было свободное время. Поэтому подключаем одну лампу к анодному напряжению постоянно и делаем одноламповые часы. Заодно отладим работу со всей периферией для «больших» часов и заодно удивим коллег и семью. После того, как для часов на газоразрядных индикаторов транзисторы пришли, было решено сделать отдельные одноламповые часы с накальным индикатором.
Итак, ТЗ следующее — Часы должны показывать время, иметь будильник и «пикать каждый час»(отключаемо). Вывод на индикатор —  напрямую в семисегментный код в прямом виде. Отсчёт времени производится с помощью небезизвестной микросхемы DS1307, с обычным часовым кварцем на 32768Гц. Микроконтроллер — ATTINY43U, на котором ещё никто ничего не делал.
Понаналу, как я говорил, индикатором был ИН-1, но в предлагаемом изделии используется накальный индикатор ИВ-9, которых у меня было 2 штуки и девать их в таких микроскопических количествах было откровенно некуда. Пришлось установить один из них в часы, и заодно сделать под это всё печатную плату.

Схема часов приведена на рисунке.


Основой часов является микросхема DS1307 с обычным часовым кварцем. Были у меня и другие микросхемы с коррекцией точности хода, но использовать микросхему с коррекцией, когда сама погрешность индикации времени в одноламповых часах превышает 3 секунды, на мой скромный взгляд, излишне. Питание DS 1307 при отключенном питании часов производится от литиевой батарейки типа BR1225, при её отсутствии — можно использовать любой трёхвольтовый источник напряжения. Наличие батарейки обязательно, иначе часы будут показывать ерунду, а не время. DS1307 с помощью шины I2C подключается к микроконтроллеру, который, собственно, и производит вывод времени на индикатор и реагирует на нажатие кнопок пользователем. Контроллер ATTINY43U (далее — МК) был использован по одной причине — потому, что он у меня был. Микроконтроллер тактируется от внутреннего RC генератора. Вывод информации на индикатор, как и было сказано, производится напрямую в семисегментном коде. При необходимости, можно изменить тип вывода, например для подключения внешнего дешифратора. Таким образом, эти часы могут работать как с семисегментным индикатором, так, например, и с газоразрядным, и любым другим.  На схеме приведен пример подключения к семисегментному накальному индикатору. Согласованием микроконтроллера и индикатора занимается микросхема DD1 типа ULN2003.
Часы очень просты, и их сборка, не должна вызвать никаких проблем.
Печатная плата часов и расположение элементов на ней приведены ниже. Файлы с растровым рисунком платы приведены в разрешении 600dpi. Размер платы- 55х50мм. Плата односторонняя, простая. Микросхема DD3 устанавливается со стороны печатных проводников, её выводы проходят через отверстия печатной платы, и служат заодно креплением индикатора ИВ-9.

Часы, собранные из исправных компонентов, и с запрограммированным микроконтроллером, в наладке не нуждаются. Для программирования часов, собранных на предлагаемой печатной плате используйте комплект прошивок из архива. Использовался программатор AVREAL. Фьюз-биты, по умолчанию установленные в новом микроконтроллере, можно не менять. Для повышения надёжности работы МК при сбоях питания можно установить фьюз BODLEVEL в значение 4.
После включения часов на индикаторе появится время. Принцип отображения — длинная пауза — начало отсчёта, десятки часов — единицы часов — короткая пауза, при этом на семисегментном индикаторе отображается знак «-», десятки минут — единицы минут — длинная пауза и так далее.
В режиме будильника всё то же самое, но в короткой паузе вместо «-» отображается «А».
Управление часами производится с помощью клавиатуры. Кнопка «Режим» переключает режимы работы («Часы» и «Будильник») по кольцу. Долгое её нажатие переключает часы или будильник в режим изменения времени или времени включения будильника. При этом цифра на индикаторе начинает мигать, и кнопкой «+» можно её изменить. Изменение времени производится по одной цифре — сначала десятки часов, затем, после нажатия кнопки «Режим» - единицы часов, затем — десятки минут и единицы минут. Последнее нажатие кнопки «Режим» с в режиме часов обнуляет секунды. Для того, чо бы отключить будильник, установите в режиме установке времени будильника в десятках часов цифру «3».
Нажатие и удержание до писка кнопок «Режим» и «+» отключает ежечасный звуковой сгнал (один писк) и включает его (два писка).
Возможно изменение знакогенератора и вида звукового сигнала напрямую пользователем. Данные действия производятся изменением в дампах EEPROM микроконтроллера, если кому интересно, подробную информацию расскажу в форуме.




Файлы:
Схема расположения элементов. Верх
Схема расположения элементов. Низ
Рисунок печатной платы.
Прошивка для семисегментного индикатора


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




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

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

5 3 1

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