Обзоры покупок

С51 (YSZ-4) Электронные часы-конструктор на микроконтроллере

С51 (YSZ-4) Электронные часы-конструктор на микроконтроллере

С51 (YSZ-4) Электронные часы-конструктор на микроконтроллере

Обновлено: 27 октября 2021

Конструктор покупался на ebay.com за 1.38 фунтов (0.99+0.39 доставка), что эквивалентно 2.16$. На момент покупки это самая низкая цена из всех предложенных.
14404827971806990150w.jpg


 
       Доставка заняла около 3х недель, набор пришел в обычном полиэтиленовом пакетике, который в свою очередь был упакован в небольшой "пупырчатый" пакет. На выводах индикатора был небольшой кусочек пенопласта, остальные детали были без какой либо защиты.
        Из документации только небольшой листочек формата А5 со списком радиодеталей с одной стороны и принципиальной электрической схемой с другой.
14404827844679444550w.jpg

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


14404860717843893680w.jpg

Основой или "сердцем" часов является 8-ми разрядный КМОП микроконтроллер AT89C2051-24PU оснащенный Flash программируемым и стираемым ПЗУ объемом 2кб.
      
   Узел тактового генератора собран по схеме (рис.1) и состоит из кварцевого резонатора Y1 двух конденсаторов C2 и С3, которые образуют вместе параллельный колебательный контур.
14404830358601750590w.jpg

   Изменением емкости конденсаторов можно в небольших пределах изменять частоту тактового генератора и соответственно точность хода часов. На рисунке 2 показан вариант схемы тактового генератора с возможностью регулировки погрешности часов.


   Узел начального сброса служит для установки внутренних регистров микроконтроллера в начальное состояние. Он служит для подачи после подключения питания на 1 вывод МК единичного импульса длительностью не менее 1 мкс (12 периодов тактовой частоты). 
Состоит из RC цепочки, образуемой резистором R1 и конденсатором C1.


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


  Модуль индикации собран на четырехразрядном семисегментном индикаторе с общим катодом DS1 и резистивной сборке PR1.
   Резистивная сборка представляет собой набор резисторов в одном корпусе:

1440484080239623230w.jpg

   Звуковая часть
схемы представляет собой схему собранную на резисторе R2 10кОм, pnp
транзисторе Q1 SS8550(выполняющего роль усилителя) и пьезоэлемента LS1.




   Питание подается через разъем J1 с подключенным параллельно сглаживающим конденсатором C4. Диапазон питающих напряжений от 3 до 6В.



2. Сборка конструктора




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


Я начал с панельки, так как она единственная не является радиодеталью:
14404864031823365070w.jpg

Следующим шагом я припаял резисторы. Перепутать их невозможно, они оба на 10кОм:
144048640516127088290w.jpg

     После этого установил на плату соблюдая полярность
электролитический конденсатор, резисторную сборку (также обращая
внимание на первый вывод) и элементы тактового генератора - 2
конденсатора и кварцевый резонатор:
144048640613157184990w.jpg

Следующим шагом припаиваю кнопки и конденсатор фильтра питания:
144048640415639442780w.jpg

   После этого очередь за звуковым пьезоэлементом и транзистором. В
транзисторе главное установить правильной стороной и не перепутать
выводы:
1440486405910723760w.jpg
В последнюю очередь припаиваю индикатор и разъем питания:
144048640618814107590w.jpg

Подключаю к источнику напряжением 5В. Все работает!!!
14404825042240231230w.jpg

14404825042240231230w.jpg

3. Установка текущего времени, будильников и ежечасового сигнала.





       После включения питания дисплей находится в режиме ("ЧАСЫ:МИНУТЫ") и отображает время по умолчанию 12:59. Ежечасный звуковой сигнал включен. Оба будильника включены. Первый установлен на время срабатывания 13:01, а второй – 13:02.
14404825034481349440w.jpg
      При каждом кратковременном нажатии на кнопку S2 дисплей будет переключаться между режимами ("ЧАСЫ:МИНУТЫ") и ("МИНУТЫ:СЕКУНДЫ"). 

      При длительном нажатии кнопки S1 происходит вход в меню настроек, состоящее из 9 подменю, обозначенных буквами A, B, C, D, E, F, G, H, I. Подменю переключаются кнопкой S1, значения изменяются кнопкой S2. После подменю I следует выход из меню настроек.


А: Установка показаний часов текущего времени
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю B.
144048250315586608260w.jpg

B: Установка показаний минут текущего времени
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.
144048250120204395540w.jpg

C: Включение ежечасного звукового сигнала
По умолчанию включено (ON) – каждый час с 8:00 до 20:00 подается звуковой сигнал. При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в подменю D.

14404825029404709240w.jpg

D: Включение\выключение первого будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю E и F пропускаются.
14404825025886986930w.jpg

E: Установка показаний часов первого будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю F.
144048250519063932700w.jpg

F: Установка показаний минут первого будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для перехода в подменю С.
14404825059054917370w.jpg

G: Включение\выключение второго будильника
По умолчанию будильник включен (ON). При нажатии кнопки S2 значение изменяется между ON (Вкл.) и OFF (Выкл.). После установки значения необходимо нажать S1 для перехода в следующее подменю. Если будильник выключен, то подменю H и I пропускаются и происходит выход из меню настроек.
144048250614232288590w.jpg

H: Установка показаний часов второго будильника
При нажатии кнопки S2 значение часов изменяется от 0 до 23. После установки часов необходимо нажать S1 для перехода в подменю I.
14404825061536529470w.jpg

I: Установка показаний минут второго будильника
При нажатии кнопки S2 значение минут изменяется от 0 до 59. После установки минут необходимо нажать S1 для выхода из меню настроек.

144048250714429768250w.jpg

Коррекция секунд
В режиме ("МИНУТЫ:СЕКУНДЫ") необходимо удержать кнопку S2 для обнуления секунд. Далее коротким нажатием на кнопку S2 запустить отсчет секунд.
14404825075128808270w.jpg

4. Общие впечатления от часов.


Плюсы: 
      + Низкая цена
      + Легкая сборка, минимум деталей
      + Удовольствие от самостоятельной сборки
      + Достаточно низкая погрешность (у меня за сутки отстали на несколько секунд)


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

5. Дополнительно:


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

Добавить комментарий:
Имя:
E-mail:
Комментарий:
Комментарии (42):
Mihailoff
0 #
за статью спасибо и мои 5 баллов. Заказал несколько схожих конструкторов на подарки. Похоже с текущими курсами валют только и остается, что покупать двухдолларовые конструкторы :) Но говоря о достаточно низкой погрешности, нужно учитывать, что механически часы за сутки сбиваются на -20+40 секунд. И для механики это приемлемо. Но электронные часы с погрешностью в несколько секунд в сутки это довольно слабая точность. Возможно она не критична для детского конструктора, но она точно не "низкая погрешность".

chvv
0 #
Я описал в статье, как можно уменьшить погрешность с помощью подстроечного конденсатора. Если бы погрешность составила бы -20 +40 хотя бы - был бы смысл заменить постоянный на подстроечный и подстроить точность. А так из-за нескольких секунд не стоит заморачиваться. Мое имхо.

Rimlyanin
0 #
тут все хуже: электричество кончилось и время сбилось...

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

troyka
0 #
Пара диодов и доп. батарейка решает проблему. Резервное питание можно давать только на контроллер, для экономии. За обзор 5.

chvv
0 #
Можно и одним диодом обойтись. Питание микросхемы может быть от 3 до 6 вольт. Схему запитать от 5В, а параллельно питанию подключить цепочку из аккумулятора на 3.7В и диода.

Rimlyanin
0 #
И насколько хватит батарейки? Контроллер жрет все таки поболее чем скажем DS1307

chvv
0 #
Из описания микроконтроллера: Ток потребления в активном режиме на частоте 12 МГц не превышает 15 мА при 6 В и 5,5 мА при напряжении питания 3 В.

Rimlyanin
0 #
если верить этому http://www.elin.ru/files/pdf/iBDL/iBDL_Batteries.pdf то емкость CR2032 около 200-250мАч, т.е. при потреблении 5,5мА её хватит на 36-45часов, т.е. пару суток без света максимум. В тоже время DS1307 на такой батарейке могут работать гораздо дольше...

chvv
0 #
Значит вывод: Для поддержания работы при аварийном отключения электричества CR2032 хватит, для долговременной работы придется использовать что-то типа 18650 (+ контроллер заряда желательно). .

Rimlyanin
0 #
Угу...

chvv
0 #
Вот похожая схема с аварийным питанием от батарейки на 3В подключенной через пару диодов: http://www.radio-portal.ru/cache/multithumb_thumbs/b_250_0_14540253_00_images_stories_bitovay_clock2051-1.PNG

Evgeny Goncharov
0 #
20 лет назад любил такое собирать. Конструкторов таких не было, приходилось проявлять креатив.

YraY
0 #
Я бы вот такой взял, http://ru.aliexpress.com/item/4-Bits-Electronic-clock-production-suite-LED-electronic-clock-DIY-kit-SCM-LED-digital-clock-parts/32407734264.html?isOrigTitle=true Понятно что на 4 бакса дороже но зато и корпус есть и питание резервное и функционал значительно расширен. Главное за пару лишних сотен рублей законченное и вполне пригодное для для реальных целей устройство получается.

Mihailoff
0 #
Спасибо, такие тоже закажу. Схема почти такая же насколько видно по деталям на фото, но комплект конечно более доработан.

Mihailoff
0 #
помогите подобрать диод для это схемы, плиз. Я понимаю, что он нужен, что бы питание не шло на батарейку. А какой диод нужен - не знаю, ибо не разбираюсь. И еще вопрос. А батарейка не будет разряжаться? Ведь если пустить параллельно питанию без ключа, то ток от батарейки не будет идти на питание схемы, параллельно с основным питанием? Может нужен ключ, но тогда нужен еще и конденсатор, который будет поддерживать питание во время переключения. Или это все лишнее?

troyka
0 #
Подойдет любой диод, Самый бюджетный которык можно везде купить 1n 4001 или 1n4007, ну или запасы из СССР: КД 501 или КД 503, но такие уже раритет, хрен найдешь, а вообще не загоняйся, любой диод подойдет, кроме Ганна,

chvv
0 #
Мне из запасов СССР вспоминается еще КД522 :) Диод подойдет действительно любой. Конденсатор не нужен. Диод пропускает ток только в одном направлении. Пока есть напряжение питание (5В) диод закрывает доступ к батарейке, т.к. на катоде напряжение выше, чем на аноде. И так длится до тех пор, пока напряжение питания не станет ниже 3.7В . Как только пропадет внешнее питание, на катоде станет напряжение меньше чем на аноде, и диод откроется, и 3.7В с аккумулятора пойдет на схему. Я ниже привел схему с запиткой только процессора. При желании, так же можно запитать и всю схему часов. Тогда оба напряжение нужно будет подать через два диода на "+" питания платы. Второй диод нужен, чтоб энергия аккумулятора не расходовалась на детали блока питания, когда он обесточен.

Mihailoff
0 #
Жаль нет кнопки спасибо в каментах. Спасибо troyka и chvv. Попробую прокачать часики, как только доберусь до магазина электроника (я в той части города бываю крайне редко). А пока часики питаются от usb зарядника и выглядят так:

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

chvv
0 #
Запитайте от батарейки только процессор, а не всю схему.

Mihailoff
0 #
Вы же сами считали, что хватит на 36-48 часов. А я потом перепаяю на три пальчика или мизинчика (надо купить только держатель для батареек). Вообще у меня появилась идея, как сделать часы законченными что бы можно было поставить, скажем, на каминную полку. Если все получится, то покажу что получилось.

Mihailoff
0 #
Спасибо, попробую. Переделка минимальная, перерезать дорожку и перепаять диоды. А вообще у меня появилась идея, как сделать законченный вариант часов, что бы можно было поставить на стол или каминную полку.

Mihailoff
0 #
Не получилось. Часы все равно сбрасываются. Питание на 20 лапе микросхемы есть, но часы сбрасываются. Думал не хватает напруги (после диода напряжение падало до 2,5 вольт), запитал от двух батареек. Но не помогло. Наверное, придется оставить мой прошлый вариант, но вместо CR2032 использовать три АА батарейки. На несколько часов работы их должно хватить (попробую замерить силу тока, тогда будет понятно на сколько хватит батареек)

troyka
0 #
Я бы сделал так

chvv
0 #
Посыпаю голову пеплом. Как я за это забыл. При отключении внешнего питания пропадает питание на емкости, висящей на первой ножке (1 ножка - RESET). Вот почему происходит сброс. Отпаяйте + вывод емкости от плюса и подключите его к 20-му выводу.

Mihailoff
0 #
Спасибо! Буду пробовать. принципиально получается, что обе схемы одинаковые.

troyka
0 #
Одинаковые, да. Но ресет не учли, должно заработать теперь. Чудес не бывает))

Mihailoff
0 #
Получилось! Теперь держат время и не сбрасываются. Можно со спокойной душой выкидывать их ))

kiv69
0 #
Отстойные часы. В нормальных часах не должно быть часового кварца и управление одной кнопкой. Ах, да, ещё и синхронизация желательно. После пары купленных подобныйх китайских "высокоточных" "какашек" сел делать сам нормальные, так как китайцы это делать не умеют

Volosaty
0 #
"В нормальных часах не должно быть часового кварца" ????? Не, я понимаю что есть DS3231 (или кто там из них TCXO), но так категорично о часовых кварцах - не понимаю. БТВ, высокочастные кварцы имеют в общем случае такие же допуски и точность, что и банальный часовой.

sergevr
0 #
Собрал уже 4 таких набора. В каждом обошелся платой зарядки лития на TP4056 (от 5 вольт) и двумя фэйковыми литиевыми банками формата 10440. Две фэйковых литиевых банки держат часы включенными примерно 24-26 часов. Корпус подходит вот такой. Место под литий и лпату контроля в нем есть. http://www.aliexpress.com/item/Free-Shipping-5pcs-lot-Plastic-Electronics-Project-Box-Enclosure-Case-DIY-New-3-34-L-x/32334996832.html

chvv
0 #
Есть фото часов в корпусе?

miha217217
0 #
Sergevr, Подскажи схему как сделал

Pavel “Boroda” Ignatenko
0 #
А нет ли какой-нибудь прошивки для этой схемы? Не обязательно оригинальной. Хочется поменять функционал (вернее очень успростить), но не хочется писать с нуля.

chvv
0 #
http://retrocip.cz/minutka/ - Здесь человек писал прошивку для кухонного таймера под эти часы. Может быть это Вам полезно. http://mynobook.blogspot.com/2015/06/stc15f204ea-0-99-59.html - программа таймера под немного другой микроконтроллер http://sokolsp.at.ua/publ/chasy_budilnik_kalendar_na_at89c2051/1-1-0-5 программа часов под такой же контроллер, но другое включение индикатора

Pavel “Boroda” Ignatenko
0 #
Просто огромное спасибо. Первая ссылка именно то, что нужно.

chvv
0 #
Сможете откомпилировать программу с первой ссылки в формат понятный программатору?

Pavel “Boroda” Ignatenko
0 #
Ну... я так понял, что скомпилировать при помощи SDCC. Но еще не пробовал (вернее оно-то мне скомпилировало в asm), что дальше пока не знаю. Нужно получить бинарник из этого (по идее с помощью MCU 8051 IDE) - не пробовал еще. Если есть какие-то подводные камни или готовая инструкция как со всем этим работать, то буду благодарен.

Pilot777
0 #
каков окончательный вариант доработки несбиваемости этих часиков? Уже заказал холдеры 2032. Заранее благодарен.

Алекс
0 #
У кого есть микропрограмма для процессора? сгорела микросхема надо запрограмировать noreplic@bk.ru

Eugen
0 #
Спасибо. Всё поехало сразу - собирал год назад самостоятельно. Работали в машине через 7805, в доме сделал батарейку от пропадания сети, развязавшись диодами. Хочу сейчас повесить исполнительное реле (видимо, надо от пищалки через диодик с ёмкостью на ключевой транзистор). Жаль, что оба будильника выдаются на одну ножку (исчезла 145ИК1901, жаль) - видимо светит мне счётный триггер :) Без перепрошивки контроллера раздельные выводы будильников, видимо, невозможны. А так штука славная. )

Интересные материалы

Berezovy

Berezovy

Бог обзоровБог обзоров

4,1
Рейтинг
2
Обзора

Спасибо за участие в проекте. Ваша оценка принята!

Ок
Live