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

 

   Многие радиолюбители, начинающие и не только любят «изобретать велосипед» - строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную и описанную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной 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 исполнении, и расположены с одной стороны платы. А индикаторы с другой. Получается миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.

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

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

 

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

 

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

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

 

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

 

Скачать [208,12 Kb] (cкачиваний: 980) прошивку, исходник и печатку

 

Обсуждение на ФОРУМЕ



Источник

   
goda # 1
 
 
Прям "часовые маньяки " одни на сайте wink Автору респект и уважуха за такой девайс просто молодец.


   
Oberon64 # 2
 
 
Шикарная штука! Я аж загорелся. Смущает немного СМД исполнение т.к. с ним раньше дела практически не имел, но наверное всетаки попробую, уж очень понравились часики.


   
KotTrigger # 3
 
 
По моему это статья уже была тут


   
medved7000 # 4
 
 
а вот как быть с ногами микрухи U2, если можно дайте номера выводов OE. MR. ST_CP. SH_CP. и DS. Заранее спасибо


   
leotom # 5
 
 
medved7000,OE(он же G)-9.SH_CP(он же SRCK)-13 ST_CP(он же RCK)- 12 MR(он же SRCLR)-8 +VC-2 DS(он же SER IN).-3 GRND-10.11.19
Если надо есть робочая схема в протеусе (вместо TPIC6B595 74НС595+ULN2803), печатка под связку 74НС595+ULN2803(под Sprint-Layout), печатка TPIC6B595 с подпысаными елементами, печатка на плату переходник под светодиодные матрицы с ОА

До речі хто допоможе перекласти Год на Рік в рядку "god_txt []= {13,24,14,255}, // текст "Год" " буду вельми вдячний.


   
medved7000 # 6
 
 
Спасибо, за информацию. И еще пару вопросов… как сильно греется TPIC6C595 (у нас в Минске только с буквой "С" найти удалось) и если можно дайте ссылочку на связку 74НС595+ULN2803....как я понял 2803 играет роль "усилителя" выходов Q и ее питание соответственно на + (10) и GND (9)


   
troynec # 7
 
 
Доброго времени суток, как бы получить печатку с подписанными элементами.


   
Oberon64 # 8
 
 
troynec - под видеороликом таеое слово - источник- клацни на нее и там гдето есть еще ссылочки, я видел но не помню где…


   
Mermen # 9
 
 
чем корпус красили, шпаклевали ? и вообще про технологию изготовления корпуса(ов) можно по подробнее ?


   
troynec # 10
 
 
Oberon64 - ссылочки то есть но толку от них нет, все тоже самое, а мне надо с подписанными деталями и куда какие перемычки


   
Oberon64 # 11
 
 
Пройдись по всем ссылкам до конца - однозначно есть, я видел.


   
troynec # 12
 
 
Oberon64 проходил по всем и по форуму нигде нет


   
Oberon64 # 13
 
 
http://s42.radikal.ru/i097/1106/8d/4f606d4e2cf3.gif
Заставил старого больного человека ( smile ) искать ссылку.
Удачи!


   
troynec # 14
 
 
Oberon64 огромное спасибо за помощь, осталось найти регистр сдвига, а так все готово.


   
Oberon64 # 15
 
 
Я нашел все кроме матриц , правла регист в ДИП-корпусе, но я думаю выкручусь…
А вообще по этим часикам есть классная тема - http://radiokot.ru/forum/viewtopic.php?f=2&t=50199


   
medved7000 # 16
 
 
Вот сегодня наконец-то надыбал последнюю микруху ULN 2803, начну делать на днях, матрицы у нас дорогие (больших размеров) - купил 192 обычных красных светодиода, геморойно конечно, но придеться попаять. Волнует один вопрос - регулируется ли как программно яркость свечения матрицы (светодиодов), например ночью, если в харю (извиняюсь) светит сиё чудо, будет наверно не очень приятно, или только тупо увеличивать сопротивление резисторов (в данном случае 75 Ом). Хотелось бы получить ответ. Заранее спасибо


   
Oberon64 # 17
 
 
Зайди на приведенный выше адрес - там эта тема поднималась, да и вообще информации по этим часам на порядок больше…


   
KotTrigger # 18
 
 
Мда.. с матрицами у нас проблемы.. нету таких((


   
ASUS # 19
 
 
https://www.youtube.com/watch?v=dFFkdtSP_qw&feature=autoplay&list=HL1316637986&lf
=mh_lolz&index=2&playnext=1
--------------------
против лома нет приема, разве что законы ома, лом ужасен и велик, он хороший проводник)))


   
Oberon64 # 20
 
 
А мне наконец то удалось найти матрицы, завтра вытравлю печатку и приступлю к сборке.


   
Oberon64 # 21
 
 
Жуткий облом у меня вышел - матрицы привезли с ОА. Если кто собирал чаcы на таких матрицах, пожалуста скинте печатку под них (мне нужна на TPIC6B595, автор к сожалению такой вариант не выкладывал).


   
Саня777 # 22
 
 
Может кто подскажет,вылетает микросхема TPIC6B595
Нагрева корпуса нет.Часы работают стабильно полтора ,два часы и хлоп микросхемы нет.


   
Nikolai4 # 23
 
 
Все обсуждение и решение проблем на форуме, сылка в статье, проверь к.з. по питанию микросхемы, сопли…


   
Zets # 24
 
 
У меня в протеусе тоже не эмулировалось. Убрал транзисторы и вместо них поставил элементы НЕ (у меня в МК строки перебираются и грубо говоря выдают 1 где должно быть 0) и стало работать. Правда динамическую индикацию он с трудом отображает.


   
olegua55a # 25
 
 
Цитата: Zets
У меня в протеусе тоже не эмулировалось. Убрал транзисторы и вместо них поставил элементы НЕ (у меня в МК строки перебираются и грубо говоря выдают 1 где должно быть 0) и стало работать. Правда динамическую индикацию он с трудом отображает.

в протеусі PB3 підєднай до +5 запрацює!


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25