Как сделать светодиодные часы. Часы электронные светодиодные. Настройка, особенности работы

Вспоминаю… Тридцать лет назад шесть индикаторов были маленьким сокровищем. Тот, кто мог тогда сделать с такими индикаторами часы на ТТЛ логике, считался искушенным знатоком своего дела.

Свечение газоразрядных индикаторов казалось более теплым. Через несколько минут мне стало интересно, заработают ли эти старые лампы, и захотелось что-нибудь сделать на них. Теперь-то сделать такие часы очень просто. Достаточно взять микроконтроллер…

Поскольку тогда же я увлекался программированием микроконтроллеров на языках высокого уровня, я решил немного поиграть. Я попытался сконструировать простые часы на цифровых газоразрядных индикаторах.

Цель конструирования

Я решил, что часы должны иметь шесть цифр, а время должно устанавливаться минимальным количеством кнопок. Кроме того, я хотел попытаться использовать несколько наиболее распространенных семейств микроконтроллеров разных производителей. Программу я намеревался писать на языке C.

Газоразрядным индикаторам для работы требуется высокое напряжение. Но иметь дело с опасным сетевым напряжением я не хотел. Часы должны были питаться безвредным напряжением 12 В.

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

Вот что у меня получилось:

  • Индикация времени: ЧЧ ММ СС
  • Индикация будильника: ЧЧ ММ --
  • Режим отображения времени: 24 часа
  • Точность ±1 секунда в день (зависит от кварцевого резонатора)
  • Напряжении питания: 12 В
  • Потребляемый ток: 100 мА

Схема часов

Для устройства с шестиразрядным цифровым дисплеем естественным решением был мультиплексный режим.

Назначение большинства элементов блок-схемы (Рисунок 1) понятно без комментариев. В определенной степени нестандартной задачей было создание преобразователя уровней ТТЛ в высоковольтные сигналы управления индикаторами. Драйверы анодов сделаны на высоковольтных NPN и PNP транзисторах. Схема позаимствована у Стефана Кнеллера (http://www.stefankneller.de).

ТТЛ микросхема 74141 содержит двоично-десятичный дешифратор и высоковольтный драйвер для каждой цифры. Возможно, заказать одну микросхему будет сложно. (Хотя я не знаю, производятся ли они вообще кем-либо сейчас). Но уж если вы нашли газоразрядные индикаторы, 74141 могут оказаться где-то рядом:-). Во времена ТТЛ логики альтернативы микросхеме 74141 практически не было. Так что попробуйте найти где-нибудь одну штуку .

Индикаторам требуется напряжение порядка 170 В. Разрабатывать специальную схему для преобразователя напряжения не имеет смысла, поскольку существует огромное количество микросхем повышающих преобразователей. Я выбрал недорогую и широко доступную микросхему MC34063. Схема преобразователя почти полностью скопирована с технического описания MC34063. К ней лишь добавлен силовой ключ T13. Внутренний ключ для такого высокого напряжения не подходит. В качестве индуктивности для преобразователя я использовал дроссель. Он показан на Рисунке 2; его диаметр 8 мм, а длина 10 мм.

КПД преобразователя вполне хороший, а выходное напряжение относительно безопасно. При токе нагрузки 5 мА выходное напряжение падает до 60 В. R32 выполняет функцию токоизмерительного резистора.

Для питания логики используется линейный регулятор U4. На схеме и на плате есть место для резервного аккумулятора. (3.6 В - NiMH или NiCd). D7 и D8 - это диоды Шоттки, а резистор R37 предназначен для ограничения зарядного тока в соответствии с характеристиками аккумулятора. Если вы собираете часы просто для развлечения, аккумулятор, D7, D8 и R37 вам не потребуются.

Окончательная схема показана на Рисунке 3.

Рисунок 3.

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

Перечень компонентов схемы, рисунок печатной платы и схему размещения элементов можно найти в разделе «Загрузки».

Процессор

Управлять эти несложным устройством может практически любой микроконтроллер с достаточным количеством выводов, минимально необходимое количество которых указано в Таблице 1.

Таблица 1.
Функция Выводы
Питание 2
Кварцевый резонатор 2
Управление анодами 6
Драйвер 74141 4
Вход кнопок 1
Пьезоизлучатель 1
Всего 16

Каждый изготовитель разрабатывает собственные семейства и типы микроконтроллеров. Расположение выводов индивидуально для каждого типа. Я постарался сконструировать универсальную плату для нескольких типов микроконтроллеров. На плате установлена 20-контактная панелька. С помощью нескольких проволочных перемычек вы можете адаптировать ее для разных микроконтроллеров.

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

Вся специфика включения различных микроконтроллеров отражена в Таблицах 2…5 и на Рисунках 4…7.

Таблица 2.
Freescale
Тип MC68HC908QY1
Кварцевый резонатор 12 МГц
Конденсаторы C1, C2 22 пФ
Программа freescale.zip
(см. раздел «Загрузки»)
Установки

Примечание: Параллельно кварцевому резонатору включен резистор 10 МОм.

Таблица 3.
Microchip
Тип PIC16F628A
Кварцевый резонатор 32.768 кГц
Конденсаторы C1, C2 22 пФ
Программа pic628.zip
(см. раздел «Загрузки»)
Установки Внутр. генератор 4 МГц - I/O RA6,
MCLR OFF, WDT OFF, LVP OFF,
BROUT OFF, CP OFF, PWRUP OFF

Примечание: Микросхему необходимо развернуть в панельке на 180°.

Таблица 4.
Atmel
Тип ATtiny2313
Кварцевый резонатор 12 МГц
Конденсаторы C1, C2 15 пФ
Программа attiny.zip
(см. раздел «Загрузки»)
Установки Кв. генератор 8 МГц, RESET ON

Примечание: Добавьте SMD компоненты R и C к выводу RESET (10 кОм и 100 нФ).

Таблица 5.
Atmel
Тип AT89C2051
Кварцевый резонатор 12 MHz
Конденсаторы C1, C2 22 пФ
Программа at2051.zip
(см. раздел «Загрузки»)
Установки --

Примечание: Добавьте SMD компоненты R и C к выводу RESET (10 кОм и 100 нФ); выводы, отмеченные звездочками, соедините с шиной питания +Ub через SMD резисторы 3.3 кОм.

Сравнив коды для разных микроконтроллеров, вы увидите, что они очень похожи. Различия имеются в доступе к портам и определению функций прерываний, а также в том, что зависит от компонентов обвязки.

Исходный код состоит из двух секций. Функция main() настраивает порты и запускает таймер, формирующий сигналы прерывания. После этого программа сканирует нажатые кнопки и устанавливает соответствующие значения времени и будильника. Там же в главном цикле текущее время сравнивается с будильником и включается пьезоизлучатель.

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

Запуск схемы

Монтаж компонентов и настройку начинайте с источника питания. Запаяйте регулятор U4 и окружавшие его компоненты. Проверьте наличие напряжения 5 В для микросхемы U2 и 4.6 В для U1. Следующим шагом соберите высоковольтный преобразователь. Подстроечным резистором R36 установите напряжение 170 В. Если диапазона подстройки окажется недостаточно, немного измените сопротивление резистора R33. Теперь установите микросхему U2, транзисторы и резисторы схемы драйверов анодов и цифр. Соедините входы U2 с шиной GND и последовательно подключайте по одному из резисторов R25 - R30 к шине питания +Ub. В соответствующих позициях должны зажигаться цифры индикаторов. На последнем этапе проверки схемы соедините с землей вывод 19 микросхемы U1 - должен запищать пьезоизлучатель.

Исходные коды и откомпилированные программы вы найдете в соответствующем ZIP файле в разделе «Загрузки». После зашивки программы в микроконтроллер тщательно проверьте каждый вывод в позиции U1 и установите необходимые перемычки из проволоки и припоя. Сверяйтесь с изображениями микроконтроллеров, приведенными выше. Если микроконтроллер запрограммирован и подключен правильно, должен заработать его генератор. Вы можете установить время и будильник. Внимание! На плате есть место для еще одной кнопки - это запасная кнопка для будущих расширений:-).

Проверьте точность частоты генератора. Если она не укладывается в ожидаемый диапазон, слегка измените номиналы конденсаторов C1 и C2. (Припаяйте параллельно конденсаторы небольшой емкости или замените их другими). Точность хода часов должна улучшиться.

Заключение

Небольшие 8-битные процессоры вполне приспособлены для языков высокого уровня. Изначально язык C не предназначался для небольших микроконтроллеров, однако для простых приложений вы прекрасно можете использовать его. Ассемблер лучше подойдет для сложных задач, требующих соблюдения критических времен или максимальной загрузки процессора. Для большинства радиолюбителей подойдут как бесплатные, так и условно-бесплатные ограниченные версии компилятора C.

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

Закончили? Тогда настройтесь на созерцание вакуумных ламп и смотрите…

…возвращаются старые времена … :-)

Примечание редакции

Полным аналогом SN74141 является микросхема К155ИД1, выпускавшаяся минским ПО «Интеграл».
Микросхему без труда можно найти в сети Интернет.

На фото прототип, собранный мной для отладки программы, которая будет управлять всем этим хозяйством. Вторая arduino nano в верхнем правом углу макетки не относится к проекту и торчит там просто так, внимание на нее можно не обращать.

Немного о принципе работы: ардуино берет данные у таймера DS323, перерабатывает их, определяет уровень освещенности с помощью фоторезистора, затем все посылает на MAX7219, а она в свою очередь зажигает нужные сегменты с нужной яркостью. Так же с помощью трех кнопок можно выставить год, месяц, день, и время по желанию. На фото индикаторы отображают время и температуру, которая взята с цифрового термодатчика

Основная сложность в моем случае - это то, что 2.7 дюймовые индикаторы с общим анодом, и их надо было во первых как то подружить с max7219, которая заточена под индикаторы с общим катодом, а во вторых решить проблему с их питанием, так как им нужно 7,2 вольта для свечения, чего одна max7219 обеспечить не может. Попросив помощи на одном форуме я получил таки ответ.

Решение на скриншоте:


К выходам сегментов из max7219 цепляется микросхемка , которая инвертирует сигнал, а к каждому выводу, который должен подключаться к общему катоду дисплея цепляется схемка из трех транзисторов, которые так же инвертируют его сигнал и повышают напряжение. Таким образом мы получаем возможность подключить к max7219 дисплеи с общим анодом и напряжением питания более 5 вольт

Для теста подключил один индикатор, все работает, ничего не дымит

Начинаем собирать.

Схему решил разделить на 2 части из-за огромного количества перемычек в разведенном моими кривыми лапками варианте, где все было на одной плате. Часы будут состоять из блока дисплея и блока питания и управления. Последний было решено собрать первым. Эстетов и бывалых радиолюбителей прошу не падать в обморок из-за жестокого обращения с деталями. Покупать принтер ради ЛУТа нет никакого желания, поэтому делаю по старинке - тренируюсь на бумажке, сверлю отверстия по шаблону, рисую маркером дорожки, затем травлю.

Принцип крепления индикаторов оставил тот же, как и на .

Размечаем положение индикаторов и компонентов, с помощью шаблона из оргстекла, сделанного для удобства.

Процесс разметки







Затем с помощью шаблона сверлим отверстия в нужных местах и примеряем все компоненты. Все встало безупречно.

Рисуем дорожки и травим.




купание в хлорном железе

Готово!
плата управления:


плата индикации:


Плата управления получилась отлично, на плате индикации не критично сожрало дорожку, это поправимо, настало время паять. В этот раз я лишился SMD-девственности, и включил 0805 компоненты в схему. Худо-бедно первые резисторы и конденсаторы были припаяны на места. Думаю дальше набью руку, будет легче.
Для пайки использовал флюс, который купил . Паять с ним одно удовольствие, спиртоканифоль использую теперь только для лужения.

Вот готовые платы. На плате управления имеется посадочное место для ардуино нано, часов, а так же выходы для подключения к плате дисплея и датчики (фоторезистор для автояркости и цифровой термометр ds18s20) и блок питания на с регулировкой выходного напряжения (для больших семисегментников) и для питания часов и ардуино, на плате индикации находятся посадочные гнезда для дисплеев, панельки для max2719 и uln2003a, решение для питания четырех больших семисегментников и куча перемычек.




плата управления сзади

Плата индикации сзади:

Ужасный монтаж смд:


Запуск

После припаивания всех шлейфов, кнопок и датчиков пришло время все это включить. Первый запуск выявил несколько проблем. Не светился последний большой индикатор, а остальные светились тускло. С первой проблемой расправился пропаиванием ножки смд-транзистора, со второй - регулировкой напряжения, выдаваемого lm317.
ОНО ЖИВОЕ!


Большие часы на светодиодах

Вступление.

Началось всё так. На даче у меня был старый механический будильник (made in USSR), у которого были проблемы с механикой. Я решил собрать электронные часы. Первая проблема - какой индикатор выбрать. ВЛИ и ГРИ не подходать из-за больших перепадов температур на даче. ЖКИ отпадает по той же причине. Остаётся светодиодный индикатор. Мне надоело разглядывать мелкие цифры на индикаторах, а большие семисегментники редкие и дорогие. Решено было сделать индикатор с высотой цифры 50мм из отдельных зелёных светодиодов.

С индикатором разобрались, но им нужно как-то управлять. При этом часы должны идти даже при длительном отсутсвии питания. Будем делать на МК ATTiny2313 и микросхеме RTC DS1307, которая так же имеет встоенный контроллер питания и позволяет подключить батарейку.

1. Индикатор.

Делать будем, как я уже сказал, из отдельных зелёных светодиодов диаметром 5мм. Вот схема индикатора:

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

2. Основная часть.

Схема, как я уже говорил, на ATTiny2313 и DS1307. Вот она:

Тут уже пояснения требуются. Справа два сдвоенных семисегментника и два светодиода - внутренняя схема маленького индикатора с ОА. Зачем два индикатора? Ночью большой индикатор ярким свечением может мешать спать (часы будут около кровати), по этому индикацию можно переключить на маленький индикатор переключателем SW1. В положении "Ночн." работает маленький индикатор, в положении "Дневн." - большой. Этот маленький индикатор я достал из стиральной машины, распиновка есть на печетке. Батрейка на 3В, CR2032. Транзисторы Q1-Q4 можно заменить на любые другие маломощные PNP транзисторы, например на КТ315. Q6-Q9 - на PNP током КЭ не менее 1А, Q5 - на NPN с током коллектора не менее 0,4А. Блок питания может быть любой с напряжением 9-20В, полярность не важна, можно даже переменку пускать. Ток не менее 1А. Стабилизатор U4 нужно установить на радиатор. Кстати, чем меньше входное напряжение - тем легче живётся стабилизатору. У меня БП такой:

Теперь переходим к сборке.

3. Сборка.

Идём в магазин и покупаем детали.

Делаем платы и начинаем паять. Запаять 88 светодиодов, столько же резисторов и 44 диода - не легко, но оно того стоит.

Теперь соединяем всё проводами. Я использовать шлейфы и разъёмы PLS/PBS. Вам помогут эти картинки:

Теперь прошиваем МК. Вот фьюзы:

И включаем:

Кнопки и разъёмы я использовал такие:

4. Корпус.

Корпус я сделал из фанеры и бруска 20*40, зашкурил и покрыл лаком. Сзади поставил два крепежа для крепления на стену.

Кстати, для заклеивания окошек для индикаторов я использовал плёнку от зелёных бутылок, выглядит красиво и защищает от засветки солнцем.

Теперь несколько фотографий:

В продаже можно встретить много различных моделей и вариантов электронных цифровых часов, но большинство из них расчитаны на использование внутри помещений, так как цифры маленькие. Однако иногда требуется разместить часы на улице - например на стене дома, или на стадионе, площади, то есть там, где они будут видны на большом расстоянии многими людьми. Для этого и была разработана и успешно собрана данная схема больших светодиодных часов, к которым можно подключить (через внутренние транзисторные ключи) LED индикаторы сколь угодно большого размера. Увеличить принципиальную схему можно кликнув по ней:

Описание работы часов

  1. Часы. В данном режиме идёт стандартный вид отображения времени. Имеется цифровая коррекция точности хода часов.
  2. Термометр. В этом случае устройство производит измерение температуры комнаты либо воздуха на улице, с одного датчика. Диапазон от -55 до +125 градусов.
  3. Предусмотрен контроль источника питания.
  4. Вывод информации на индикатор попеременно - часов и термометра.
  5. Для сохранения настроек и установок при пропадании 220В, применена энергонезависимая память.


Основой устройства является МК ATMega8, который прошивают выставляя фузы согласно таблице:

Работа и управление часами

Включив часы в первый раз, на экране появится рекламная заставка, после чего переключится на отображение времени. Нажимая на кнопку SET_TIME индикатор пойдёт по кругу из основного режима:

  • режим отображения минут и секунд. Если в этом режиме одновременно нажать на кнопку PLUS и MINUS , то произойдет обнуление секунд;
  • установка минут текущего времени;
  • установка часов текущего времени;
  • символ t . Настройка продолжительности отображения часов;
  • символ o . Время отображения символов индикации внешней температуры (out);
  • величина ежесуточной коррекции точности хода часов. Символ c и значение коррекции. Пределы установки от -25 до 25 сек. Выбранная величина будет ежесуточно в 0 часов 0 минут и 30 секунд прибавлена или вычтена из текущего времени. Более подробно читайте в инструкции, что в архиве с файлами прошивки и печатных плат.

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

Удерживая кнопки PLUS /MINUS делаем ускоренную установку значений. После изменения каких-либо настроек, через 10 секунд новые значения запишутся в энергонезависимую память и будут считаны оттуда при повторном включении питания. Новые настройки вступают в силу по ходу установки. Микроконтроллер отслеживает наличие основного питания. При его отключении питание прибора осуществляется от внутреннего источника. Схема резервного модуля питания показана ниже:


Для уменьшения тока потребления отключаются индикатор, датчики и кнопки, но сами часы продолжают отсчитывать время. Как только напряжение сети 220В появится - все функции индикации восстанавливаются.


Так как устройство задумывалось как большие светодиодные часы, в них есть два дисплея: большой светодиодный - для улицы, и маленький ЖКИ - для удобства настройки основного дисплея. Большой дисплей расположен на расстоянии несколько метров от блока управления и соединен двумя кабелями по 8 проводов. В управление анодами внешнего индикатора индикаторов, применены транзисторные ключи по приведенной в архиве схеме. Авторы проекта: Александрович & SOIR.

Часов с звуковым сигналом будильника таймер для управления бытовыми приборами.

Та́ймер это прибор который в установленное время включает или выключает оборудование своими коммутирующими контактами. Таймеры реального времени позволяют установить время срабатывания в установленное время суток. Самым простым примером такого таймера будет будильник.

Область применения таймера обширная:
-управление осветительными приборами;
-управление поливом домашних и садовых растений;
-управление вентиляцией;
- управление аквариумом;
- управление электрообогревателями и так далее.

Предлагаемый таймер может быстро и недорого сделать даже начинающий радиолюбитель.
Я сделал его на базе конструктора часов . ()

Применять таймер мне нужно было для управления поливом растений на даче.

Весь процесс изготовления посмотреть в видео:


Перечень инструментов и материалов
- любые электронные часы со звуковым сигналом будильника;
-отвертка;
- ножницы;
-паяльник;
-кембрик;
- два реле на 12В;
-блок питания на 12В от адаптера;
-соединительные провода;
-фольгированный текстолит для печатной платы или макетная плата;
-реле времени промышленное или самодельное;
-резистор;
-транзисторы КТ815(или аналоги);
-диод.

Шаг первый. Распайка платы таймера.
Схема таймера
Все что необходимо это распаять по схеме компоненты на макетную плату и припаять два провода от пъезоизлучателя часов. Собираем простейшую схему с промежуточным реле и транзисторным ключом. При подаче первого импульса звукового сигнала с часов включается реле Р1 , нормально-разомкнутый контакт замыкается и включает нагрузку, одновременно через второй нормально-разомкнутый контакт реле Р1 и нормально-замкнутый контакт реле времени происходит самоблокировка реле Р1. Вместе с нагрузкой включается реле времени РВ- начинается отсчет заданного времени работы нагрузки. По окончанию этого времени РВ размыкает контакт и реле Р1 обесточивается, нагрузка выключена. Схема готова к следующему циклу. Диод служит для предотвращения обратного импульса в схему часов(можно использовать любой маломощный диод). Светодиод для индикация включения нагрузки. В этой схеме нужно промежуточное реле с двумя нормально разомкнутыми контактами, но у меня в наличии не было -я применил два китайских реле(катушки подключены параллельно).Если нагрузка будет более мощной,то соответственно надо использовать реле с более мощными контактами. У меня был адаптер на 12В, я установил его схему прямо на макетную плату. В принципе можно применить любой маломощный источник питания на 12В.


Если короче то часы включают нагрузку а реле времени по истечению выдержки отключают.
Если у Вас нет промышленного реле времени то можно сделать самостоятельно по простой схеме. С увеличением емкости конденсатора С1 увеличивается время работы реле.


Шаг второй. Проверка работы таймера.
У меня схема заработала при первом включении.
Осталось задать время будильника. В моих часах есть две установки времени будильника. Для моего случая как раз достаточно –включить полив например утром в 7часов на выдержку в один час, а вечером в 20 часов еще раз полить. При нажатии кнопок часов издаются звуковые сигналы, поэтому при настройке схему таймера надо обесточить, чтобы исключить ложные срабатывания. В моих часах есть функция «куранты» -каждый час с 8 до 20часов то есть можно кроме будильника использовать при необходимости эти сигналы. Если не нужно то есть функция «куранты» отключается.

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

На весь работу пошло пару выходных вечеров и 75 рублей (