Простые часы на светодиодных матрицах.

Многие  радиолюбители,начинающие и не только любят «изобретать велосипед» —  строить СВОИ электронные часы.  Не обошлаэта участь и меня.  Конструкций часов винете сегодня конечно предостаточно,   новот  часов на светодиодных матрицах  почему-то среди них единицы.  В русскоговорящем интернете я нашел толькоодну полностью законченную и описанную конструкцию.  В тоже время,светодиодные матрицы сейчас очень сильно подешевели,  и их стоимость  не выше, а то и ниже,  чем у семисегментныхиндикаторов  такого же размера.     Например примененные мной GNM23881AD  при размере 60х60мм были куплены за 1,5уе  (3индикатора обошлись в 4,5уе),    за этиденьги врядли  можно  купить четыре семисегментника  таких-же  размеров.  А вот  информации, разместить  на матричном индикаторе, можно намногобольше.  Кроме цифр на них можноотображать   любые буквы,  знаки, а с помощью  бегущей строки еще итекст.   Исходя  из этого, появилось  желание  построить  часы   на светодиодныхматрицах,   но  чтоб схема при этом   получилась не сложнее чем  на  семисегментниках.   Также хотелось чтоб она была   достаточно функциональная и не похожая надругие.     Так родилась следующая схема.

Функционал у часов такой:

Отсчет времени,  календарь, день недели.  (високосный годучитывается,  переход  на летнее/зимнее время не осуществляется).

Сохранение хода часов припропадании внешнего питания (потребление составляет 15мка).

Коррекция хода + —  59,9сек\сутки,  с шагом 0,1сек.

9 будильников.  3 из которых «одноразовые», и  6 «постоянных»,  индивидуально настраиваемых по дням недели.

Индивидуально настраиваемаядлительность звукового сигнала каждого будильника (1-15мин).

Звуковое подтверждение нажатиякнопок  (возможно отключить).

Ежечасный звуковой сигнал(возможно отключить).   С 00-00  до 08-00  сигнал не подаётся. 

1 или 2  датчика температуры (Улица и дом).

Настраиваемая бегущая строка,посредством которой выводится вся информация (кроме времени)

Значение коррекции хода, и настройки«бегущей  строки» —  сохраняются даже при пропадании резервногопитания.

«Сердцем» часов выбрана AtMega16A,из-за её доступности, дешевизны и «ногастости». Схему хотелось максимально упростить, поэтому все что можно, было возложено на контроллер.  В результате удалось обойтись всего двумямикросхемами,  контроллером и регистром TPIC6B595.  Если кому то недоступен TPIC6B595,  то можно его заменить на  74НС595 + ULN2803. Оба варианта были опробованы.   Так же можно попробовать применить  TPIC6С595,  она немногослабовата, и  слегка грелась,  но в целом работала стабильно.  Отсчет времени  производится  с помощью асинхронного тайме – Т2.    Ход  часов сохраняется и  при пропадании  питания. В это время бОльшая часть схемы  обесточивается,  а контроллер питается  от батарейки,аккумулятора , или от ионистора.  Мнебыло интересно «по играться» с ионистором,  поэтому применил его.  Токпотребления часами в дежурном режиме составляет 15мка.   При питании от ионисторана 1Ф,  часы «продержались»   четверо суток.   Этого вполне достаточно для поддержания ходаво время перебоев питания.   Еслиприменить батарейку СR2032,  то теоретически, по расчетам  заряда должно хватить на 1,5года.    Наличие сетевого напряжения контроллер«слушает»  через  вывод РВ.3      Этот вывод является инвертирующем входомкомпаратора.  Напряжение питания,  через делитель R2-R3 подается на вывод РВ.3,    и в нормальном состоянииравно примерно 1,5в.  Если внешнеенапряжение упадет ниже  4,1 вольта,  то напряжение на выводе РВ.3    станет  меньше 1,23вольта,  при этом  сгенерируется прерывание от компаратора, и вобработчике этого прерывания  выключаютсявсе «лишние»  узлы контроллера   и сам контроллер усыпляется.  В этом режиме продолжает работать толькоотсчитывающий время таймер Т2.  Припоявлении внешнего питания, напряжение на РВ.3  снова  подымится выше 1,23в,  контроллер «увидев» это, переведет все узлы врабочее состояние.  Если  вместо ионистора, будет использоватьсябатарейка СR2032,  то её нужно подключить через диод(предпочтительнодиод шоттки).  Анод  диода подключается к + батарейки,  а катод к катоду VD1. 

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

9 будильников разделены на 3 одноразовых и 6многоразовых.  При включениибудильников   1-3, они  срабатывают только один раз.  Для того чтоб они сработали еще раз, их нужноповторно включать вручную.  А будильники4-9  многоразовые,  т.е. они будут срабатывать ежедневно, вустановленное время.  Кроме того этибудильники можно настроить  на сработкутолько в определенные  дни недели.  Это удобно, например если не хотите чтоб будильник разбудил Вас ввыходные.  Или  например Вам нужно просыпаться в будние дни в7-00,  а в четверг в 8-00, а на выходныхбудильник не нужен.  Тогда настраиваемодин многоразовый  на 7-00 в  понедельник-среду и пятницу,  а второй на 8-00 в четверг…..      Кроме того все будильники имеют настройкудлительности сигнала,  и если Вам, длятого чтоб проснуться,  мало сигнала втечении 1 минуты,  то можно увеличить егона  время от 1 до 15мин.

Коррекция хода производится один раз в сутки, в 00-00.  Если часы спешат к примеру на 5 сек всутки,  то в 00-00-00 время  установится в 23-59-55,  если же часы отстают,  то в 00-00-00 время установится в 00-00-05.   Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки.     С исправным кварцем больше вряд липонадобиться.   Коррекция осуществляетсяи в дежурном режиме при питании от батареи.

Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом.  Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов.   Микроконтроллер AtMega16a можно заменить на «старый»  AtMega16 с буквой L.  При этом, теоретически должен немногоувеличится ток потребления от батарейки. Наверное будет работать и просто  AtMega16, но могут возникнутьпроблемы при работе от батарейки.  Диод  D1 — желательно любой диод шоттки.   С обычным выпрямительнымтоже работает,  но чтоб обезопасить себяот различных глюков,  связанных с тем чточасть схемы питается напряжением «до диода», а часть «после диода»  лучшепоискать шоттки.  Транзистор VT1 – любой   n-p-n.

Управление часами осуществляется двумя кнопками.  Их количество можно было довести до 8шт, недобавляя больше вообще ни одного компонента, кроме самих кнопок,   но захотелось  попробовать «выкрутится» всего двумя.   Кнопки условно названы «ОК» и «ШАГ».  Кнопкой «ШАГ» как правило происходит переходк следующему пункту меню,  а кнопкой «ОК»изменение параметров  текущего меню.    Сигнал сработавшего  будильника  также выключается   кнопками «ОК» или «ШАГ».    Нажатие  любой кнопки  во время сигналабудильника  отключает  его.    Схема управления получилась такой:

Конструктивно часывыполнены на одной ПП.  Размер ППсоответствует размеру индикаторов.   Минимальная ширина дорог ПП – 0,4мм, расстояние между – 0,4мм.   Такчто любители «ЛУТа»  смогут без трудаизготовить плату самостоятельно.
Все элементы — в SMD исполнении, и расположены с одной стороныплаты.  А индикаторы с другой.  Получается миниатюрный монолитный блок, который легко встроить в какой ни будьнебольшой плоский корпус.

Корпус «спаян» изстеклотекстолита,  прошпаклеван ипокрашен в цвет «спелая вишня».   Стеклопередней панели – обычное  тонированноестекло.

Финальный результат.

Проект в протеусе у меня почему то не заработал,  так что отлаживал в железе.  Если кто соберет в протеусе,  и у него нормально заработает — присылайте,обязательно выложу.

Обсуждение и вопросы можно задавать  на форуме  http://radiokot.ru/forum/viewtopic.php?f=25&t=50199   Если у кого появятся интересные идеи что ещеможно добавить в часы – пишите не стесняйтесь, реализую все, что смогу (правда кодер я слабенький..…).  

Видео работы часов — http://www.youtube.com/watch?v=kYM-qe5YGf0    (что то не получается у меня нормальноснять видео.  Изображение в реальностиплавное и четкое,  а на видео выходит  дерганное и «рваное»….)

Прошивка и исходникна си (CodeVision_AVR_2.05)

Плата Lay



Прошивка на українській мові — скачать 

1 ответ