Site Loader

Самодельные электронные часы, элементная база — часть 1, измерение времени / Habr

Наверное, каждый гик, увлекающийся самодельной электроникой, рано или поздно приходит к идее сделать свои, уникальные, часы. Идея вполне неплоха, разберемся как и на чем их лучше сделать. В качестве отправной точки будем считать, что человек умеет программировать микроконтроллеры, понимает как переслать 2 байта по i2c или serial-порту, и может спаять вместе несколько проводов. В принципе, этого достаточно.

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

Итак, какие доступные в «железе» способы измерения времени мы можем использовать?

Встроенный RC-генератор процессора

Самая простая идея, которая может придти в голову — это просто настроить программный таймер, и им отсчитывать секунды. Так вот, эта идея никуда не годится. Часы-то работать конечно будут, только вот точность встроенного генератора никак не регламентируется, и может «плавать» в пределах 10% от номинала. Вряд ли кому-то нужны часы, уходящие в месяц на 15 минут.
Модуль реального времени DS1307

Более правильный вариант, он же использующийся в большинстве «народных» изделий — это часы реального времени. Микросхема обменивается с микроконтроллером по I2C, требует минимума обвязки (кварц и пара резисторов). Цена вопроса около 100р за микросхему, или около 1$ на ебее за готовую плату с микросхемой, модулем памяти и разъемом для батарейки.

Схема из даташита:

Что не менее важно, микросхема выпускается в DIP-корпусе, значит припаять ее может любой начинающий радиолюбитель. Встроенная батарейка обеспечивает работу часов, даже если питание было отключено.

Казалось бы, все хорошо, если бы не одна проблема — невысокая точность. Примерная точность часовых кварцев — 20-30ppm. Обозначение ppm — parts per million, показывает число миллионных долей. Казалось бы, 20миллионных — это супер, однако для частоты в 32768Гц получается 20*32768/1000000 = ±0,65536Гц, т.е. уже полгерца. Путем несложных подсчетов видно, что генератор с такой разницей за сутки «натикает» лишних (или недостающих) 56тыс тактов, что соответствует 2 секундам в день. Кварцы бывают разные, некоторые пользователи писали и об ошибке в 5 секунд в день. Как-то не очень точно — за месяц такие часы уйдут как минимум, на минуту. Это уже приличная разница, заметная невооруженным глазом (когда любимый сериал бабушки начинается в 11.00, а часы показывают 11.05, разработчику таких часов перед родственниками будет неудобно).

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

Модуль реального времени DS3231

Мы не первые, кто задался вопросом точности, и компания Dallas пойдя навстречу пожеланиям, выпустила более совершенный модуль — DS3231. Он называется «Extremely Accurate Real Time Clock», имеет встроенный генератор с температурной коррекцией. Точность в 10 раз выше, и составляет 2ppm. Цена вопроса чуть повыше, но корпус микросхемы рассчитан под SMD-монтаж, паять не так удобно, зато можно купить на ебее готовую плату.


(фото с сайта продавца)

Точность в 6 секунд в месяц, это уже неплохой результат. Но мы пойдем дальше — в идеале, часы в 21 веке вообще не нужно подстраивать.

Радиомодуль DCF-77

Метод скорее экзотический, но для полноты картины его нельзя не упомянуть. Немногие знают, но сигналы точного времени передаются по радио еще с 70х годов. Передатчик DCF-77 расположен в Германии недалеко от Франкфурта, и на СДВ-частоте 77.5КГц передаются метки точного времени (да, у них уже 20 лет назад были настенные и настольные часы, которые не надо подстраивать).

Способ хорош тем, что схема имеет малое энергопотребление, так что сейчас производятся даже наручные часы с такой технологией. Готовую плату приема DCF-77 можно купить на ebay, цена вопроса 20$.

Многие часы и метеостанции имеют возможность приема DCF-77, проблема лишь в том, что до России сигнал практически не доходит. Карта покрытия с Википедии:

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

GPS-модуль

Если часы будут стоять недалеко от окна, то вполне реальный метод получения точного времени — GPS-модуль. Эти модули можно недорого купить на ebay (цена вопроса 10-15$). Например, Ublox NEO-6M, подключается напрямую к serial-пинам процессора, и выдает строки NMEA на скорости 9600.

Данные приходят примерно в таком формате » $GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,,*1A», и распарсить их даже для слабой Arduino труда не составляет. Патриоты кстати, могут приобрести более дорогой модуль Ublox NEO-7N, поддерживающий (по отзывам) как GPS так и «Глонасс».

Очевидно, что про разные часовые пояса GPS-модуль ничего не знает, так что их вычисление и смену летнего/зимнего времени, разработчику придется продумать самому. Другой минус использования GPS — относительно высокое энергопотребление (впрочем, некоторые модули можно отдельными командами переводить в «спящий режим»).

Wi-Fi

И наконец, последний (и самый очевидный на сегодняшний момент), способ получения точного времени — это брать его из Интернета. Здесь есть два подхода. Первый, и наиболее простой — использовать в качестве платы часов что-то типа Raspberry PI с Линуксом, тогда делать ничего не надо, все будет работать «из коробки». Если же хочется «экзотики» — то самым интересным вариантом является модуль esp8266.

Это недорогой (цена вопроса около 200р на ebay) WiFi-модуль может обмениваться с сервером по serial-порту процессора, при желании его можно также перепрошить (сторонних прошивок довольно много), и часть логики (например опрос сервера времени) сделать в самом модуле. Сторонними прошивками поддерживается куча всего, от Lua до C++, так что вариантов «размять мозги» вполне достаточно.

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

Часы на микросхеме КА1016ХЛ1 и светодиодных индикаторах

РадиоКот >Схемы >Аналоговые схемы >Бытовая техника >

Часы на микросхеме КА1016ХЛ1 и светодиодных индикаторах



 

Каких только конструкций электронных часов не встретишь сегодня на просторах Интернета! В основном они собраны на микроконтроллерах, и кроме функций отображения времени и будильника могут ещё отображать дату, день недели, температуру и т.д., в том числе с различными визуальными эффектами. В качестве дисплея могут выступать светодиодные, люминесцентные, газоразрядные, жидкокристаллические индикаторы и даже механически вращающиеся поверхности накопителей на жёстких дисках и лопастей вентиляторов. Несмотря на доступность повторения таких конструкций появилось желание вдохнуть новую жизнь в старые часы на микросхеме КА1016ХЛ1, собранные когда-то из набора радиоконструктора «Старт 2035», которые прослужили верой и правдой довольно длительное время. К сожалению (или к счастью), используемый в них «подсевший» от времени люминесцентный индикатор УИ-4 уже не найти в продаже, поэтому придётся заменить его на что-то другое. Кроме того, часы такого класса ничего «не умеют», кроме отображения текущего времени и работы примитивного будильника. В большинстве случаев этого, может быть, и достаточно. Но имеются и другие недостатки, такие как слишком большая яркость индикатора при слабом освещении и отсутствие резервного питания на случай отключения питающего напряжения.

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

Схема включения микросхемы КА1016ХЛ1 в целом не отличается от схем известных конструкций, описанных в книгах:  [В. Борисов. Электронные часы из деталей радиоконструктора. В помощь радиолюбителю. Выпуск 106. с.39-49]   и   [С.А.Бирюков. Электронные часы на МОП интегральных микросхемах. МРБ 1178. с.35-39]. Вариант применения светодиодных семисегментных индикаторов также был описан в статьях Автомобильные часы на микросхеме КА1016ХЛ1 и [В.Каравкин. Автомобильный будильник на ИМС КА1016ХЛ1. Радиоконструктор, 2011, N4, с.32,33]. Однако, вместо счетверённого светодиодного индикатора пришлось применить отдельные индикаторы 8016B с общим анодом (высотой символа 0,8 дюйма), а вместо инверторов К561ЛН2 — транзисторные ключи. В ходе экспериментов выяснилось, что микросхема КА1016ХЛ1 совмещает по времени импульсы управления сетками С1..С5 для различных разрядов, если в них отображаются одинаковые цифры. Поэтому, за счёт параллельного включения сегментов, такие разряды светятся слабее. Например, при отображении значения времени «22:20» цифры «2» будут светиться заметно слабее, чем цифра «0». Первая версия часов так и работала, с цифровыми транзисторами VT1..VT8 типа DTC114EE в качестве инверторов и всего 8 ограничительными катодными резисторами в их коллекторных цепях, однако через некоторое время описанный эффект начал сильно раздражать. Поэтому было решено разъединить катоды индикаторов резисторами R17..R44 (их теперь стало 28 штук). Но при этом максимально допустимый ток через транзисторные ключи VT1..VT8 увеличился до 4 раз (при отображении четырёх одинаковых цифр), и применение цифровых транзисторов с максимальным током 100 мА стало невозможным. Теперь вместо них установлены более мощные BC817 с внешними резисторами в базовых цепях R1..R16 (раньше эти резисторы были встроены в состав цифровых транзисторов). Такая доработка потребовала изготовления новой печатной платы (но на плате последней ревизии сохранена возможность установки 8 ограничительных резисторов вместо 28, что может быть полезным для экспериментов по подбору их номинала с целью получения требуемой яркости свечения — ведь 8 резисторов легче заменить, чем 28). Примерные номиналы ограничительных резисторов для индикаторов различных цветов приведены в таблице на принципиальной схеме (самые лучшие с точки зрения энергопотребления — ярко-зелёные индикаторы, худшие — красные). Резисторы R54..R57 добавлены для надёжного закрывания ключей VT1..VT8 и исключения паразитной подсветки сегментов.

Для управления яркостью индикаторов сначала планировалось использовать метод широтно-импульсной модуляции на основе таймера NE555 и фоторезистора. При уменьшении освещённости сопротивление фоторезистора увеличивалось, и возрастала скважность формируемых импульсов, которые управляли подачей питания на коллекторы анодных ключей VT9..VT12. Однако, при проверке этого метода оказалось, что импульсы с выхода таймера идут вразнобой с сеточными импульсами, и вместо регулировки яркости получается «мельтешение» разрядов, особенно при малой освещённости. Чтобы не усложнять уже и без того «навороченную» схему, регулировку яркости было решено сделать простым плавным изменением уровня питающего напряжения на коллекторах VT9..VT12 через мощный транзистор VT13 с достаточно большим коэффициентом усиления. За счёт импульсного характера управления индикаторами рассеиваемая узлом мощность оказалась незначительной. Но таймер всё равно пригодился – для управления миганием точек, так как штатный вывод 5 микросхемы КА1016ХЛ1 для этого непригоден также из-за особенностей формирования сеточных импульсов: точки средних индикаторов HL2 и HL3 зажигаются не одновременно, и этот эффект вдобавок зависит от комбинации отображаемых знаков.

За основу источника бесперебойного питания (UPS), показанного на основной схеме часов, взят Бесперебойник для часов, который показал наилучшие результаты по сравнению с другими конструкциями: Преобразователь напряжения 1,5 — 9 вольт и DC-DC преобразователь 1.2-9 вольт. Номиналы деталей изменены таким образом, чтобы обеспечить нормальное функционирование микросхемы КА1016ХЛ1. Резистор 2R2 закрывает транзистор 2VT1 при появлении внешнего питания, прерывая генерацию и исключая разряд аккумулятора. Последний подзаряжается через резистор 2R1, номинал которого зависит от ёмкости применённого аккумулятора (меньший номинал — для большей ёмкости). Вместо светодиода установлен обычный диод 2VD2, отключающий от аккумулятора лишние цепи при пропадании внешнего питания. Стабилитрон 2VD1 с напряжением стабилизации 2В служит для защиты от перенапряжения при работе без нагрузки с отсоединённым аккумулятором, ограничивая в этом режиме неконтролируемый рост напряжения на базе транзистора 2VT1 и, как следствие, выходного  напряжения преобразователя. В то же время стабилитрон практически не нагружает аккумулятор, когда он подключён. Микросхема КА1016ХЛ1 категорически отказывается работать при напряжении питания меньше 12 вольт, хотя в некоторых работах утверждается, что она работает при напряжении питания от 8 до 18 вольт. Замечено, что увеличение напряжения питания выше уровня 15 вольт, даже в виде импульсов, приводит к выводу микросхемы из строя. Поэтому выходное напряжение источника бесперебойного питания выбрано порядка 13,5..13,7 вольт при работе от аккумулятора и 14,5..14,7 вольт – при работе от внешнего питания, что гарантирует надёжную работу часов в любом режиме. Источник бесперебойного питания собран на отдельной плате вместе с дополнительными элементами блока питания, не показанными на основной схеме:

К таким дополнительным элементам относятся следующие дешёвые готовые модули: миниатюрный источник питания 220 AC – 5V 0,6A DC и преобразователь напряжения DC-DC MT3608, используемый для формирования напряжения 15В из напряжения 5В. Кроме того, на плате для питания часов предусмотрен разъём Micro USB (если планируется питание только через этот разъём, плату блока питания 5В можно не устанавливать).

Часы собраны на двух платах размером 100×50 мм, соединённых через втулки M3: на основной плате собственно часов и на плате блока питания с источником бесперебойного питания. Указанные размеры плат (не более 100 мм) позволяют недорого заказать их изготовление в Китае. Если плату блока питания ещё можно изготовить методом ЛУТ, то основную плату уже, наверное, не получится. Нужно заметить, что печатные платы и светодиодные индикаторы – самые дорогие элементы этой конструкции. Вид собранной основной платы часов снизу:

Некоторые радиоэлементы могут быть выводными и напаиваться на плату снизу, например: мощный ограничительный резистор R49, излучатель BA1 (можно использовать подходящий излучатель с сопротивлением катушки порядка 40 Ом или пьезоэлектрический, включив параллельно его выводам резистор номиналом 10 кОм), кварцевый резонатор ZQ1, подстроечный конденсатор C9, электролитический конденсатор C5:

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

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

Для передней панели подойдёт прозрачное оргстекло толщиной 2 мм, в качестве задней панели – такой же материал или непрозрачный пластик. Можно обклеить оргстекло светлой тонирующей автомобильной плёнкой, но в этом случае яркость свечения индикаторов, возможно, придётся увеличивать.

Вид собранной основной платы спереди:

Вид сбоку:

Один из вариантов готовой конструкции спереди:

и сзади:

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

 

Вид платы блока питания сверху (показана старая версия платы, поэтому могут быть отличия):

и снизу:

Вместо перемычки 2J1 на плате блока питания можно использовать подходящий ползунковый переключатель:

Для проверки функционирования источника бесперебойного питания (пока без платы часов) нужно подключить предварительно заряженный аккумулятор (напряжение на нём должно быть не меньше 1,2..1,4 вольт), замкнув перемычку 2J1, и проконтролировать напряжение на выходе (U-рез; U+рез) — оно должно быть в указанных на схеме пределах. Затем подсоединить к контактам разъёма (U-рез; U+рез) нагрузку в виде резистора номиналом 10 кОм (выводы последнего можно вставить в отверстия гнездового разъёма) – выходное напряжение должно оставаться в допуске. Можно при этом проконтролировать напряжение на аккумуляторе – оно должно оставаться на уровне не ниже 1,2 вольт, т.е. не должно «проседать» под нагрузкой. Предел работоспособности наступает при напряжении на аккумуляторе меньше порядка 1В — в этом случае напряжение на выходе преобразователя становится меньше 12 вольт, и микросхема КА1016ХЛ1 перестаёт работать. При проведении тестового «прогона» источника бесперебойного питания с аккумулятором б/у неизвестной ёмкости (из старой переносной телефонной трубки) микросхема КА1016ХЛ1 проработала без сбоев 8 часов! Необходимо помнить, что соединять платы между собой нужно при отключённом аккумуляторе.

Органы управления часов:

При длительном отсутствии внешнего электропитания необходимо выключить источник резервного питания (UPS) перемещением движка переключателя вниз. После подачи питания перевести движок переключателя вверх.

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

Во вложении: рисунки печатных плат в формате Sprint Layout и гербер-файлы для заказа на производстве.

 

 

 

Файлы:
Печатные платы

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


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

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


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

Как сделать часы на микросхеме

Продолжаем делать занимательные и интересные электронные поделки. Помните переходник, который раньше сделал для планарного микроконтроллера? На его основе хочу сделать электронные часы, схему не очень-то и выбирал, просто вбил в Google «простые часы на ATmega8» и взял первою простую схему без корректировки времени и других наворотов. Это оказалась схема… с нашего сайта 🙂

Схема часов

Сама схема часов на рисунке, что мы на ней видим? Начнем с семисегментного четырёхразрядного индикатора с общим катодом (минусом), подключать индикатор можно и без резисторов — ничего страшного не станет. Дальше у нас сердце часов — микроконтроллер ATmega8. Это можно сказать народный микроконтроллер: низкая цена, богатый набор функций, всевозможные компараторы АЦП.

кварц часов 32

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

Как сделать часы на микросхеме

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

Как сделать простые электронные часы

ОК. Мы разобрались с принципиальной схемой, теперь прошивка — она находится в архиве и там же печатная плата для переходника. Фюзи которые нужно выставить: CKOPT, BOOTSZ1, BOOTSZ0, SUTO1, SUTO0, CKSEL3, CKSEL1, CKSEL0. При выставлении бита CKOPT к часовому кварцу подключаются два внутренних конденсатора микроконтроллера. Это для PonyProg. Корпус обязательно надо подпаять на минус (массу). Питание у меня 5 вольт. От более пониженного напряжения не запитывал, но теоретически часы корректно могут работать от 2.7 вольта до 5.6 вольт. Предупреждаю: 5.6 вольт критическое напряжение для микроконтроллера и его легко можно вывести из работоспособности. Для индикации взял два семизарядных трех сегментных LED индикатора с переходником — для управление нам нужно 11 проводков. Все это собрано навесом и дожидается достойного корпуса, когда придумаю какого именно… Думаю потом собрать часы посложнее. С вами был KALYAN.SUPER.BOS

Самодельные электронные часы, элементная база — часть 2 / Habr

Привет, geektimes! В первой части статьи были рассмотрены принципы получения точного времени на самодельных часах. Пойдем дальше, и рассмотрим, как и на чем это время лучше выводить.
Итак, у нас есть некая платформа (Arduino, Raspberry, PIC/AVR/STM-контроллер, etc), и стоит задача подключить к нему некую индикацию. Есть множество вариантов, которые мы и рассмотрим.

Сегментная индикация


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

Осторожно, траффик!

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

Есть 1001 статья как подключить светодиод к микроконтроллеру, гугл в помощь. Сложности начинаются тогда, когда мы захотим сделать большие часы — ведь смотреть на мелкий индикатор не особо удобно. Тогда нам нужны такие индикаторы (фото с eBay):

Они питаются от 12В, и напрямую от микроконтроллера просто не заработают. Тут нам в помощь приходит микросхема CD4511, как раз для этого предназначенная. Она не только преобразует данные с 4-битной линии в нужные цифры, но и содержит встроенный транзисторный ключ для подачи напряжения на индикатор. Таким образом, нам в схеме нужно будет иметь «силовое» напряжение в 9-12В, и отдельный понижающий преобразователь (например L7805) для питания «логики» схемы.

Матричные индикаторы


По сути, это те же светодиоды, только в виде матрицы 8х8. Фото с eBay:

Продаются на eBay в виде одиночных модулей либо готовых блоков, например по 4 штуки. Управление ими весьма просто — на модулях уже распаяна микросхема MAX7219, обеспечивающая их работу и подключение к микроконтроллеру с помощью всего лишь 5 проводов. Для Arduino есть много библиотек, желающие могут посмотреть код.
Плюсы: невысокая цена, хорошие углы обзора и яркость.
Минус: невысокое разрешение. Но для задачи вывода времени вполне достаточно.

ЖК-индикаторы


ЖК-индикаторы бывают графические и текстовые.

Графические дороже, однако позволяют выводить более разнообразную информацию (например график атмосферного давления). Текстовые дешевле, и с ними проще работать, они также позволяют выводить псевдографику — есть возможность загружать в дисплей пользовательские символы.

Работать с ЖК-индикатором из кода несложно, но есть определенный минус — индикатор требует много управляющих линий (от 7 до 12) от микроконтроллера, что неудобно. Поэтому китайцы придумали совместить ЖК-индикатор с i2c-контроллером, получилось в итоге очень удобно — для подключения достаточно всего 4х проводов (фото с eBay).

ЖК-индикаторы достаточно дешевые (если брать на еБее), крупные, их просто подключать, и можно выводить разнообразную информацию. Единственный минус это не очень большие углы обзора.

OLED-индикаторы


Являются улучшенным продолжением предыдущего варианта. Варьируются от маленьких и дешевых с диагональю 1.1″, до больших и дорогих. Фото с eBay.

Собственно, хороши всем кроме цены. Что касается мелких индикаторов, размером 0.9-1.1″, то (кроме изучения работы с i2c) какое-то практическое применение им найти сложно.

Газоразрядные индикаторы (ИН-14, ИН-18)


Эти индикаторы сейчас весьма популярны, видимо из-за «теплого лампового звукасвета» и оригинальности конструкции.

(фото с сайта nocrotec.com)

Схема их подключения несколько сложнее, т.к. эти индикаторы для зажигания используют напряжение в 170В. Преобразователь из 12В=>180В может быть сделан на микросхеме MAX771. Для подачи напряжения на индикаторы используется советская микросхема К155ИД1, которая специально для этого и была создана. Цена вопроса при самостоятельном изготовлении: около 500р за каждый индикатор и 100р за К155ИД1, все остальные детали, как писали в старых журналах, «дефицитными не являются». Основная сложность тут в том, что и ИН-хх, и К155ИД1, давно сняты с производства, и купить их можно разве что на радиорынках или в немногих специализированных магазинах.


С индикацией мы более-менее разобрались, осталось решить, какую аппаратную платформу лучше использовать. Тут есть несколько вариантов (самодельные я не рассматриваю, т.к. тем кто умеет развести плату и припаять процессор, эта статья не нужна).

Arduino


Самый простой вариант для начинающих. Готовая плата стоит недорого (около 10$ на eBay с бесплатной доставкой), имеет все необходимые разъемы для программирования. Фото с eBay:

Под Arduino есть огромное количество разных библиотек (например для тех же ЖК-экранов, модулей реального времени), Arduino аппаратно совместима с различными дополнительными модулями.
Главный минус: сложность отладки (только через консоль последовательного порта) и довольно-таки слабый по современным меркам процессор (2КБайт RAM и 16МГц).
Главный плюс: можно сделать много чего, практически не заморачиваясь с пайкой, покупкой программатора и разводкой плат, модули достаточно соединить друг с другом.

32-разрядные процессоры STM


Для тех кто захочет что-то помощнее, есть готовые платы с процессорами STM, например плата с STM32F103RBT6 и TFT-экраном. Фото с eBay:

Здесь мы уже имеем полноценную отладку в полноценной IDE (из всех разных мне больше понравилась Coocox IDE), однако понадобится отдельный программатор-отладчик ST-LINK с разъемом JTAG (цена вопроса 20-40$ на eBay). Как вариант, можно купить отладочную плату STM32F4Discovery, на которой этот программатор уже встроен, и его можно использовать отдельно.

Raspberry PI


И наконец, для тех кто хочет полной интеграции с современным миром, есть одноплатные компьютеры с Linux, всем уже наверное известные Raspberry PI. Фото с eBay:

Это полноценный компьютер с Linux, гигабайтом RAM и 4х-ядерным процессором на борту. С краю платы выведена панель из 40 пинов, позволяющая подключать различную периферию (пины доступны из кода, например на Python, не говоря о C/C++), есть также стандартный USB в виде 4х разъемов (можно подключить WiFi). Так же есть стандартный HDMI.
Мощности платы хватит к примеру, не только чтобы выводить время, но и чтобы держать HTTP-сервер для настройки параметров через web-интерфейс, подгружать прогноз погоды через интернет, и так далее. В общем, простор для полета фантазии большой.

С Raspberry (и процессорами STM32) есть одна единственная сложность — ее пины используют 3-вольтовую логику, а большинство внешних устройств (например ЖК-экраны) работают «по старинке» от 5В. Можно конечно подключить и так, в принципе заработает, но это не совсем правильный метод, да и испортить плату за 50$ как-то жалко. Правильный способ — использовать «logic level converter», который на eBay стоит всего 1-2$.
Фото с eBay:

Теперь достаточно подключить наше устройство через такой модуль, и все параметры будут согласованы.

ESP8266


Способ скорее экзотический, но довольно-таки перспективный в силу компактности и дешевизны решения. За совсем небольшие деньги (около 4-5$ на eBay) можно купить модуль ESP8266, содержащий процессор и WiFi на борту.
Фото с eBay:

Изначально такие модули предназначались как WiFi-мост для обмена по serial-порту, однако энтузиастами было написано множество альтернативных прошивок, позволяющих работать с датчиками, i2c-устройствами, PWM и пр. Гипотетически вполне возможно получать время от NTP-сервера и выводить его по i2c на дисплей. Для тех кто хочет подключить много различной периферии, есть специальные платы NodeMCU с большим числом выводов, цена вопроса около 500р (разумеется на eBay):

Единственный минус — ESP8266 имеет очень мало памяти RAM (в зависимости от прошивки, от 1 до 32КБайт), но задача от этого становится даже интересней. Модули ESP8266 используют 3-вольтовую логику, так что вышеприведенный конвертор уровней тут также пригодится.

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


Я в итоге остановился на использовании Raspberry PI с текстовым индикатором, настроенным на работу с псевдографикой (что вышло дешевле чем графический экран той же диагонали). Сфоткал экран настольных часов во время написания этой статьи.

Часы выводят точное время, взятое из Интернета, и погоду которая обновляется с Яндекса, все это написано на Python, и вполне работает уже несколько месяцев. Параллельно на часах запущен FTP-сервер, что позволяет (вкупе с пробросом портов на роутере) обновить на них прошивку не только из дома, но и из любого места где есть Интернет. Как бонус, ресурсов Raspberry в принципе хватит и для подключения камеры и/или микрофона с возможностью удаленного наблюдения за квартирой, или для управлением различными модулями/реле/датчиками. Можно добавить всякие «плюшки», типа светодиодной индикации о пришедшей почте, и так далее.

PS: Почему eBay?
Как можно было видеть, для всех девайсов приводились цены или фото с ебея. Почему так? К сожалению, наши магазины часто живут по принципу «за 1$ купил, за 3$ продал, на эти 2 процента и живу». В качестве простого примера, Arduino Uno R3 стоит (на момент написания статьи) 3600р в Петербурге, и 350р на eBay с бесплатной доставкой из Китая. Разница действительно на порядок, безо всяких литературных преувеличений. Да, придется подождать месяц чтобы забрать посылку на почте, но такая разница в цене думаю, того стоит. Но впрочем, если кому-то надо прямо сейчас и срочно, то наверно и в местных магазинах есть выбор, тут каждый решает сам.

ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК

   Предлагаю для повторения схему простых электронных часов с будильником, выполненные на микроконтроллере типа PIC16F628A. Большим плюсом данных часов является светодиодный индикатор типа АЛС, для отображения времени. Лично мне порядком надоели всевозможные ЖКИ и хочется иметь возможность видеть время из любой точки комнаты в том числе в темноте, а не только прямо с хорошим освещением. Схема содержит минимум деталей и имеет отличную повторяемость. Часы испытаны на протяжении месяца, что показало их надежность и работоспособность. Думаю из всех схем в интернете, эта наиболее простая в сборке и запуске.

Самодельные электронные часы на контроллере

   Принципиальная схема электронных часов с будильником на микроконтроллере:

Принципиальная схема электронных часов с будильником

   Как видно из схемы часов, микроконтроллер является единственной микросхемой, используемой в данном устройстве. Для задания тактовой частоты используется кварцевый резонатор на 4 МГц. Для отображения времени использованы индикаторы красного цвета с общим анодом, каждый индикатор состоит из двух цифр с десятичными точками. В случае использования пьезоизлучателя, конденсатор С1 — 100мкФ можно не ставить. 

Печатная плата и детали часов с будильником на PIC16F628

   Можно применить любые индикаторы с общим анодом, лишь бы каждая цифра имела собственный анод. Чтоб электронные часы были хорошо видны в темноте и с большой дистанции — старайтесь выбрать АЛС-ки чем покрупнее. 

электронные часы с светодиодными индикаторами

   Индикация в часах осуществляется динамически. В данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить потребление тока. Аноды каждой цифры управляются микроконтроллером PIC16F628A. Сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы R1 … R8 подключены к выводам порта МК. Поскольку засвечивание индикатора происходит очень быстро, мерцание цифр становится незаметным. 

электронные часы своими руками на АЛС

   Для настройки минут, часов и будильника — используются кнопки без фиксации. В качестве выхода для сигнала будильника используется вывод 10, а в качестве усилителя — каскад на транзисторах VT1,2. Звукоизлучателем является пьезоэлемент типа ЗП. Для улучшения громкости вместо него можно поставить небольшой динамик. 

конструкция самодельных часов с МК

   Питаются часы от стабилизированного источника напряжением 5В. Можно и от батареек. В часах реализовано 9 режимов индикации. Переход по режимам осуществляется кнопками «+» и «-«. Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки — одна секунда.

электронные часы с будильником в плите

   Кнопкой «Коррекция» часы — будильник переводятся в режим настроек. При этом кратковременная подсказка выводится на пол секунды, после чего корректируемое значение начинает мигать. Коррекция показаний осуществляется кнопками «+» и «-«. При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Все значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения — включении питания.


светящиеся электронные часы на микроконтроллере

   Если в течение нескольких секунд ни одна из кнопок не нажата, то электронные часы переходят в режим отображения времени. Нажатием на кнопку «Вкл/Выкл» включается или выключается будильник, это действие подтверждается коротким звуком. При включенном будильнике светится точка в младшем разряде индикатора. Думал куда бы пристроить часы на кухне, и решил вмонтировать их прямо в газовую плиту:) Материал прислал in_sane.

   Форум по электронным часам

   Обсудить статью ЭЛЕКТРОННЫЕ ЧАСЫ БУДИЛЬНИК


РадиоКот :: Простые часы на микроконтроллере.

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Простые часы на микроконтроллере.

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

В качестве индикатора был использован 7-сегментный 4-х разрядный индикатор с общим катодом и объединенными одноименными сегментами. Почему объединенными? Да, просто на плате меньше дорожек и перемычек и все намного компактнее при использовании динамической индикации. О которой, кстати, можно почитать тут.
И вот что получилось на одностороннем стеклотекстолите размерами 60х40 мм:

Кнопкой S2 устанавливают минуты, а кнопкой S3 — часы. Я еще сделал кнопку на сброс (S1), которая позволяет установить время на полночь, иногда бывает полезно, хотя ее можно не устанавливать. Точка, разделяющая часы и минуты, моргает с частотой 1,25 Гц, то есть 0,4 секунды горит, 0,4 сек. нет.
Блок питания от старого принтера Canon он дает 5В и 24В, нагружаю только линию 5В.

Файлы:
Печатная плата в формате SL 4.0
Прошивка с исходником

Вопросы, как всегда в Форум.


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

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


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

Цифровые светодиодные часы своими руками


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

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

Для того, чтобы сделать цифровые светодиодные часы своими руками, понадобится:
* Кит-набор
* Паяльник, припой, флюс
* Бокорезы
* Крестовая отвертка
* Приспособление для пайки «третья рука»
* Блок питания 5В с выходом USB

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


Также в комплекте есть кабель USB, на конце которого находится штекер под разъем питания на часах, от которого они и будут питаться.


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

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

Их в схеме всего три, номиналы у них одинаковые и даже подписаны на бумажке, на которой они были закреплены в комплекте.

Удобно то, что определять сопротивление резисторов здесь не нужно, поэтому просто устанавливаем на места с надписью на плате R1, R2 и R3 данные резисторы. Для того, чтобы при пайке радиодетали не выпали, подгинаем им выводы.

Шаг второй.
Далее ставим на плате керамические неполярные конденсаторы, их номиналы в данном случае разные и подписаны на корпусе.


В схеме у нас их три, два из них емкостью 22пФ с цифрой 22 на корпусе и один конденсатор на 0,1 пФ с цифрой 104 на корпусе. В каком порядке их поставить смотрим по инструкции.

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


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

Шаг четвертый.
После этого переходим к микросхемам, их в данном случае две, одна имеет восемь выводов, другая 28. Спутать одну с другой тут не получиться, а для их правильной установки нужно совместить ключ на микросхеме, который выполнен в виде полукруга или точки с ключом на плате, также на плате первый контакт выполнен в виде квадрата.

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

Шаг пятый.
Ставим кнопки на плату, которые в дальнейшем позволят настроить часы.


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

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


Шаг шестой.
Теперь хорошенько припаиваем все выводы радиодеталей, предварительно нанеся флюс на контакты.

Из электронной части почти все, осталось припаять светодиодную матрицу. Устанавливаем ее на свое законное место и припаиваем.

На этом паяльник можно выключать.

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


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

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

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

Купить Kit-набор на Aliexpress

Доставка новых самоделок на почту

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

*Заполняя форму вы соглашаетесь на обработку персональных данных

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

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *