Попросил меня недавно один мой хороший знакомый оживить вторичные часы для школьного музея, мол, тыжэлектронщик. Я раньше ни о каких вторичных часах и не слышал, хотя, как оказалось, многократно их видел. Товарищ ввел меня в курс дела да ещё снабдил сразу и ссылками на заметки, как это всё решается. Статья реально отличная, после нее не остается никаких вопросов, что нужно этим часам, чтобы тикать, спасибо её автору.
Желательно сперва прочесть её, чтобы вникнуть в тему. Но, так как яжэлектронщик, то после ознакомления решил попробовать решить эту задачу сугубо «железячными» методами без единой строчки кода. H-мост L298N, который формирует импульсы амплитудой 24 вольта нужной полярности, было решено оставить, как в указанной заметке, а вот сигналы для него получать на цифровой «рассыпухе» без применения контроллеров. Тем более, что такая реализация отлично подходит как учебная задача для слушателей недавно вышедших с моим участием бесплатных онлайн-курсов по цифровой схемотехнике для начинающих.
Часы, которые мне передал товарищ, выглядели солидно.
Но больше всего меня впечатлил текст в паспорте часов, который тоже сохранился в коробке. При прочтении вслух от суровой торжественности формулировок аж дух захватывает!
В комментариях к упомянутой выше заметке активно дискутировалась проблема с неточностью отсчета времени, которую привносит задержка от выполнения программы в микроконтроллере. Ну а настенные и наручные кварцевые часы обеспечивают вполне приемлемую точность хода без микроконтроллеров вообще. Так называемые «часовые кварцы» стоят совсем недорого, а работать с ними предельно просто. Они выдают идеально круглую частоту 32768 Гц. Круглую, конечно же, в двоичной системе. Если поделить эту частоту пополам 15 раз подряд, то получится ровно 1 Гц или один импульс в секунду. Поэтому такие кварцевые резонаторы и называются часовыми.
Первая мысль была сделать на плате одну из множества давно известных схем генераторов частоты на кварце, потом поставить делитель на 2 в 15-й степени для секунд, потом еще делитель на 60 для минут. Затем сформировать импульсы для H-моста, управляющего ходом стрелок. Но что-то слишком много получалось микросхем для такой простой задачки. Да и проблема-то отсчета времени типовая, поэтому я предположил, что наверняка для этих целей уже давно были созданы интегральные делители частоты с кварца в секунды и минуты. Ведь сколько раньше вокруг нас было этих электронных часов с будильником и без на самых разных индикаторах. Стал искать информацию.
Предчувствие не подвело. Обнаружилось, что еще в древней 176-й серии микросхем (аналог импортной CD4000, которая еще без букв А и B после цифр) есть счетчик-делитель для часов 176ИЕ12. И его без проблем можно купить до сих пор. Я взял в известном магазине «Чип и Дип» всего за 160 рублей в текущих ценах. И самое интересное, откуда и взялся кликбейтный заголовок, выяснилось, что нет у этой микросхемы импортного прототипа! Как я понял, это сугубо отечественная разработка. Такое обстоятельство меня сильно удивило, ведь электронные настольные часы в свое время были просто повсеместно во всем мире. Если кому-то что-то известно об аналогичных микросхемах иностранного производства, пишите об этом в комментарии, с интересом ознакомлюсь, электроника слишком обширная наука, чтобы одному знать в ней всё или хотя бы половину.
Вот фрагмент из описания 176ИЕ12:
Собственно, для решения задачи запуска вторичных часов нужна только обвязка для кварца и сигналы с 10 и 4 выходов, минуты и секунды. Минутный сигнал по длительности для решаемой задачи не очень удобный, взводится на 20 секунд каждую минуту, как видно на временной диаграмме. А для управления H-мостом нужно иметь два разнополярных сигнала, поступающих на входы In+ и In- и меняющих свою полярность каждую минуту, а также импульс разрешения En, который и открывает транзисторы H-моста для протекания через них тока. Ну и способ ускоренного перемещения стрелок надо выдумать для подстройки показаний часов.
В итоге вырисовалась такая простенькая схема управления мостом:
А ее временная диаграмма выглядит так:
Со счетчика 176ИЕ12 в нормальном режиме работы (тумблер на входе синхронизации первого триггера установлен в положение «ХОД») сигнал с минутного выхода приводит к переключениям выходов In+ и In- в состояние, противоположное предыдущему раз в минуту. Следующий триггер, синхронизируясь импульсом с секундного выхода счетчика, задерживает сигнал In+ ровно на одну секунду, формируя сигнал DEL. Оба триггера находятся в одном корпусе микросхемы CD4013BE, которая нормально сопрягается со 176-й серией, хотя является прототипом более поздней отечественной серии 1561. Так что эту микросхему без проблем можно заменить на КР1561ТМ2 или К561ТМ2, у кого они есть в закромах.
Ну а далее исходный и задержанный на секунду сигнал попадают на логический вентиль «исключающее ИЛИ», для которого можно взять любую из микросхем CD4070BE или КР1561ЛП14. Там четыре таких одинаковых вентиля, можно взять тот, который удобнее при подключении. По своей таблице истинности этот вентиль выдаст высокий уровень на выходе только при несовпадении сигналов на его входах, то есть как раз один раз в минуту ровно на 1 секунду.
Если же перевести тумблер в положение «УСТ», то полярность выходов In+ и In- начнет меняться не раз в минуту, а раз в секунду. И сигнал En фактически станет всегда равным логической единице, держа мост в постоянно активном режиме. Минутная стрелка начнет работать, как секундная. И таким образом можно быстро выставить стрелки часов на нужное время, после чего переключением тумблера вернуть их в нормальный режим работы.
Прототип на макетной плате выглядел как-то так:
Резистор 22 МОм может быть заменен на другой номинал, но не менее 10 МОм. Таких номиналов среди выводных резисторов у меня не оказалось, поэтому на макетке использовались 4 последовательно включенных по 2,7 МОм.
Питание для всего это хозяйства планировалось брать с адаптера на 24 вольта, которых сейчас богатый выбор. А на сами кварцевые «ходики» 5 вольт заводятся с линейного регулятора H-моста, который имеет выход на клеммник. При отладке для питания использовался самодельный лабораторный источник. Макаронный монстр в сборе на столе выглядел не сильно устрашающе.
После отладки и прощупывания осциллографом всех режимов и сигналов никаких особых проблем уже не было. Дальше оставалось лишь набросать в редакторе плату, изготовить ее древним методом лазерно-утюжной технологии, протравить в перекиси водорода и лимонной кислоте, распаять все компоненты, и подключить эту кустарщину к H-мосту в распечатанном на 3D-принтере корпусе. На фото в левом нижнем углу возле трехвыводного регулятора питания виден джампер 5V-EN, который нужно оставить в замкнутом состоянии, чтобы 5 вольт с регулятора поступали на соответствующую клемму из трех синих вверху для питания самодельной платы. Для надежности все соединения между платами выполнялись не через клеммы, а пайкой. Наружу из корпуса торчит только тумблер переключения режимов, разъем питания и провода, идущие к часам.
Остается только подключить часы к выходным клеммам моста, завести питание 24 вольта с адаптера, установить точное время и переключить плату в рабочий режим. Так что если кому-то, как и мне, не сильно нравится или не очень получается программировать, вы можете попробовать решить такую задачу или другую подобную чисто схемотехническими решениями, для этого потребуется не так уж много времени, знаний и усилий.
Комментарии (61)
Serge78rus
07.12.2024 17:18Не очень красиво выглядит коммутация логического сигнала механическим переключателем, приводящая к "висящему" логическому входу во время переключения - не подключенный вход КМОП находится в неопределенном состоянии и очень охотно ловит помехи. В данном случае может это и не так критично - инерционность механики часов выступит в роли ФНЧ, но я бы все таки не стал так делать. Чтобы не усложнять схему введением дополнительных логических элементов я бы дополнил схему резистором в десятки кОм, соединяющим вывод 10 делителя частоты с выводом 3 триггера.
pgkirich Автор
07.12.2024 17:18Хорошее дополнение, спасибо! Да, привязка в типовых схемах не помешает, обычно я ей не пренебрегаю, но в этой задаче нет критичных ситуаций по помехам, поэтому сэкономил целый один SMD резистор :) Я бы тут его скорее повесил на клок триггера (вывод 3) и землю, чтобы во время обрыва входа при щелкании тумблером вход синхронизации был в нуле.
Serge78rus
07.12.2024 17:18Как Вы предлагаете - это первое, что пришло в голову, но смутило то, что при подключении с разорванного состояния, подтянутого к 0, на логический сигнал, находящийся в состоянии 1, триггером будет ловиться лишний фронт, а если "повезет" с дребезгом контактов - то и несколько. Поэтому постарался предложить решение, позволяющее избежать подобной ситуации хотя бы при переводе из режима установки в режим хода.
pgkirich Автор
07.12.2024 17:18Конкретно здесь нам дребезг не грозит, на мой взгляд, поскольку электромеханика часов довольно инерционна, ей требуется импульс около 1 секунды для гарантированного перевода стрелки. А дребезг обычно все же более высокочастотный. Но я за любые продуктивные комментарии, всегда приятно по делу пообщаться с коллегами.
Serge78rus
07.12.2024 17:18Согласен, я и в первом комментарии написал "В данном случае может это и не так критично - инерционность механики часов выступит в роли ФНЧ". Просто, когда работал схемотехником, взгляд натренировался выхватывать подобные вещи в схемах буквально на рефлекторном уровне.
nextbystander
07.12.2024 17:18При подключении резистора между выводами 10 и 3 можно еще оптимизировать схему :)
Вместо перекидного тумблера использовать только контакты на замыкание между выводами 4 делителя и 3 триггера.
nikolz
07.12.2024 17:18Как вариант: ESP8286 стоит 110 руб и позволяет получить коррекцию времени по NTP, вычислить секунду с точностью до 64 бит. Если WiFi не использовать, и просыпаться раз в секунду примерно на 0.1 секунды, то потребление ESP составит в среднем 2 mA.
checkpoint
07.12.2024 17:18Простите, но куда Вы предлагаете вывести время с NTP ?
Если хочется именно цифровой логики, то я бы взял одну микруху GAL22V10 (она же ATF22V10) и сделал всё на ней. Цена - 250 руб.
checkpoint
07.12.2024 17:18Немного подумал, и пришел к выводу что одной GAL не хватет для делителя на 32768. Требуется две.
nikolz
07.12.2024 17:18В вашем варианте надо корректировать время вручную.
Но можно сделать так: NTP использовать для автоматической подстройки часов. Например, ставим фотодиод около 12 часов и фиксируем моменты прохода стрелок. Потом подводим часы на полученное отклонение от времени по NTP.
checkpoint
07.12.2024 17:18Обычно во вторичных часах не предусмотренно какой либо обратной связи и вся сеть точного времени предприятий работала по одному двухжильному проводу.
nikolz
07.12.2024 17:18Обычно в то время и ардуин не было и H-мостов и провод к часам от первичных тянулся на десятки метров.
Но на дворе 21 век. И ESP просто ставится с обратной стороны циферблата. Ее стоимость меньше чем ардуины в 2 раза и ИE12 в 1.5 раза, а для NTP провода не надо.
Serge78rus
07.12.2024 17:18Автор же написал в самом начале "решил попробовать решить эту задачу сугубо «железячными» методами без единой строчки кода". А так то не было бы особых проблем и привести упомянутое автором решение на Ардуино к рабочему виду, про которое написано: "В комментариях к упомянутой выше заметке активно дискутировалась проблема с неточностью отсчета времени, которую привносит задержка от выполнения программы в микроконтроллере". Но, повторюсь, задача была не в этом.
nikolz
07.12.2024 17:18Выше я написал, что решение на ESP решает проблему автоматической коррекции времени по NTP.
Serge78rus
07.12.2024 17:18Прошу не воспринимать это на свой счет, это не обращенный ни к кому конкретно сарказм, но Вы предлагаете использовать ESP для синхронизации времени именно сейчас, когда последние пару месяцев ряд "ардуиноподобных" решений на ESP испытывают проблему получения времени из сети. Во всяком случае это касается ёРадио. Полагаю, что это как то связано с недавними злоключениями NTP серверов в ru-зоне, о чем писалось здесь на Хабре.
ПС: когда писал слово ёРадио, то поймал себя на мысли, что по моему первый раз в жизни набрал на клавиатуре эту букву алфавита.
randomsimplenumber
07.12.2024 17:18На NTP свет клином не сошелся. Есть и другие способы получить достаточно точное время из сети.
nikolz
07.12.2024 17:18Читал про трудности. У меня комп подключен к NTP уже лет ...надцать и проблем я не наблюдаю. Возможно мне просто везет. Но вот данные с терминала сейчас. Все работает без проблем.
Можно передавать время не с NTP а с компа. это и будут первичные часы.
kuzzdra
07.12.2024 17:18проблема с неточностью отсчета времени, которую привносит задержка от выполнения программы в микроконтроллере
WTF? Какие задержки? Ну да, если взять готовую ардуину с кварцем на 16 МГц, а время отмерять с помощью delay(), то где-то так и выйдет. Но это же несерьезно. В микроконтроллере есть возможность подключить часовой кварц, есть таймеры, есть прерывания. Нужно всего лишь немного почитать даташит.
Serge78rus
07.12.2024 17:18Я и написал, что это можно без особых проблем решить.
Если уж говорить конкретно об Ардуино, то для этого даже даташит читать не придется. Там используются миллисекундные прерывания от таймера, по которым инкрементируется программный счетчик времени, что вполне можно использовать (но, как Вы справедливо заметили, не посредством delay()).
randomsimplenumber
07.12.2024 17:18Ну считается что высокочастотные резонаторы не достаточно хороши для часов. Нужно таки заменить кварц и поиграться в fuse. Да, это будет не совсем Arduino;) Хотя, зачем целый микроконтроллер в роли счётчика, если есть готовый счётчик.
Serge78rus
07.12.2024 17:18А чем они недостаточно хороши, ну кроме того, что более высокочастотный генератор потребляет больше энергии? Если речь о стабильности, то помнится, что когда-то по этому показателю наилучшими считались кристаллы с резонансной частотой в районе 5 МГц. И хоть с тех пор, как мне этим пришлось заниматься вплотную прошло уже лет 40, я не думаю, что за это время что-то так уж принципиально изменилось. Тем более, если речь о бытовухе, где обычно используются кварцы не точнее (20...50)*10^-6.
kuzzdra
07.12.2024 17:18Хороший вопрос ;)
Но в той же atmega зачем-то сделали возможость подключения низкочастотного кварца.Serge78rus
07.12.2024 17:18Если от проектируемого устройства не требуется быстродействия, но критично потребление и точность временной шкалы, не позволяющее использовать встроенный RC генератор, то почему бы не сделать тактирование от НЧ кварца? Как пример - ну хотя бы устройство из данной статьи, если его реализовывать на микроконтроллере (правда atmega здесь будет излишней, хватит и "тиньки")
kuzzdra
07.12.2024 17:18Вызывает сомнение, к чему можно пристроить контроллер с настолько урезанным быстродействием ;) (ну разве что к подобному изделию). НЯП в этой позе процессор тактируется от RC-генератора на 1 мгц, а от часового кварца - счетчики. Но настаивать не буду.
Serge78rus
07.12.2024 17:18На самом деле есть масса применений, где управляемое устройство настолько медленной, что быстродействие управляющего контроллера вообще не критично. Примеры: включить/выключить какой-нибудь нагреватель, вентилятор, освещение и т.д. Зачастую, если требуется взаимодействие с человеком, только интерфейс с пользователем - это единственное, что определяет необходимое быстродействие (подавление дребезга кнопок, мультиплексирование индикации и т.д.). Впрочем, здесь уж кому с какими задачами чаще приходилось сталкиваться.
НЯП в этой позе процессор тактируется от RC-генератора на 1 мгц, а от часового кварца - счетчики
А НЯП - это только один из вариантов настройки тактирования.
ПС: Благодаря нашей дискуссии узнал, что теперь и сайт https://www.microchip.com/ недоступен из РФ. Увы...
voldemar_d
07.12.2024 17:18Нужно всего лишь немного
Простите, не удержался: автор же предлагает использовать простой советский...
vesowoma
07.12.2024 17:18И самое интересное, откуда и взялся кликбейтный заголовок, выяснилось, что нет у этой микросхемы импортного прототипа! Как я понял, это сугубо отечественная разработка.
Есть аналог в другом корпусе, но реализация несколько иная, хотя принцип деления тактовой частоты остается естественно. Какая из микросхем была выпущена ранее - не знаю
MM5368Serge78rus
07.12.2024 17:18Это не функциональный аналог К176ИЕ12 - совсем другие формируемые выходные сигналы.
REPISOT
07.12.2024 17:18Частота кварца на 32 ГГц (32768 MHz)?
Это перебор.
pgkirich Автор
07.12.2024 17:18Там еще и 22 миллиома, если посмотреть на мОм вместо МОм. Что поделать, вот такая документация везде :)
vesowoma
07.12.2024 17:18Да на этой схеме все прекрасно. Кроме уже упомянутого - кириллица и латиница на одной схеме (Гц и MHz), у резисторов и кварца подписаны только номиналы, у конденсаторов - только позиционные обозначения, точки на месте соединения наверное у автора схемы были в дефиците - нанесены далеко не везде.
nehrung
07.12.2024 17:18если кому-то, как и мне, не сильно нравится или не очень получается программировать, вы можете попробовать решить такую задачу или другую подобную чисто схемотехническими решениями
Что касается схемно-программного дуализма, то нам эту фишку ещё в вузе объяснили. Однако нельзя забывать о том, что в этом дуализме симметрия соблюдается только до определённого предела, обусловленного порогом сложности - скажем, операционную систему схемным путём создать... крайне затруднительно.
randomsimplenumber
07.12.2024 17:18Ну здесь схема состоит в основном из счётчика. Очень удачно получилось, что есть готовый счётчик.Конечно его можно и из микроконтроллера сделать, и это будет значительно дешевле.
ABRogov
07.12.2024 17:18160 рублей в текущих ценах
Ну не то что бы копеечная цена, $1.5 за штуку, вполне себе цена, учитывая ее "функционал".
По мне так прямо конский ценник. С середины 90х, когда я стал заниматься электроникой, и вплоть до начала 10х, когда я перестал покупать в розничных магазинах, вся вот эта "Дубовая/Кандовая/Деревянная" логика стоила примерно одинаково. Начиная с 3000 рублей до деноминации и до 5-6 рублей в конце. А 160 это даже после всего - за гранью. Наценка скорее всего за архаичность и винтаж. 176 серию вроде не производят после союза, это какая-то мутная (на 9В и при повышенном сгорает) МОП серия была чуть ли не из первых, но точно уже не помню, может знатоки поправят.
randomsimplenumber
07.12.2024 17:18Наценка скорее всего за архаичность и винтаж
Конечно. Но и часов таких не производят. Древние часы - древняя микросхема , логично.
MaFrance351
07.12.2024 17:18Ради интересного пошёл искать в местечковых магазинах. В родном Челябинске не нашёл (хотя помню, как лет семь назад покупал рублей за пятнадцать), в Перми подивился, как разнятся цены на эту логику:
Хотя, казалось бы, уже лютая древность, примерно одинаково стоит...
Serge78rus
07.12.2024 17:18Да, в основном микросхемы серии К176 (планарный аналог - серия 164) требовали питания 9В, но обсуждаемая К176ИЕ12 и еще несколько сугубо "часовых" ИС (К176ИЕ13, К176ИЕ18 и тд) выбивалось из общего ряда и работало от 3В до 15В, как и более поздние КМОП серии К561 (564), К1561 (1564)
pgkirich Автор
07.12.2024 17:18По моему опыту 3 вольта в документации несколько оптимистичны. Не раз сталкивался с тем, что при питании ниже 4,5 В даже совсем простая логика типа И-НЕ начинает сбоить и выдавать черте что. Причем и в буржуинских прототипах CD4000BE (КР1561), не то, что в старых предшественниках. Зарёкся питать от чего-то ниже 5 вольт.
REPISOT
07.12.2024 17:18Собирал недавно схему на CD40XX серии. Работает от 2 В.
pgkirich Автор
07.12.2024 17:18Я ж не написал, что всегда, написал "не раз". Вот недавно как раз разбирал, почему довольно простое устройство из 4011, 4013 и 4020 перестало работать, когда батарейка подсела. И на лабораторнике увидел, что именно 4011 при питании около 4В перестала реагировать на входы вообще. Поднял питание - задышала. И это не единичный случай. Сейчас стало много левака с посредственным качеством. Я как микроэлектронщик со стажем могу даже представить, в каком месте техпроцесс был нарушен, чтобы был тот или иной глюк. Но с паяльником внутрь микрухи не влезешь, приходится это учитывать. Можно и не учитывать, дело сугубо личное.
begin_end
07.12.2024 17:18Так это Чип и Дип, который в сообществе радиолюбителей и электронщиков считается самым дорогим магазином радиодеталей. Обычная цена этой микросхемы 0.3-0.7$ за штуку (как и ее усовершенствованной версии ие18). Иногда можно взять партию с рук на барахолках вообще за бесценок.
LAutour
07.12.2024 17:18По самому дорогому магазину. В разделе "под заказ" у Чип и Дипа не редко попадаются достаточно "копеечные" детали (похоже на какие-то нераспроданные остатки). При этом те-же детали в обычных разделах стоят гораздо дороже.
sergej_pipets
07.12.2024 17:18Полагаю, процентов 80 цены - чиподиповская наценка. Но они могут её и скинуть, если обнаружат у себя залежи неликвидов (у меня так было с кф157хп3 - после моей покупки цену снизили в три раза).
Vad344
Подобные часы "питались" от импульсов, которые генерировала т.н. "часовая станция". Во время моей службы в армии такая станция размещалась в каморке нашего дежурного по части (а вторичные часы - по всей территории части). Помю, пожаловатся дежурный по части (я был его помощником): "Как же эта часовая станция громко щелкает, каждую секунду! Спать мешает, зараза". Я посоветовал ему в 8 вечера отключить её , а в 8 утра снова включить. Командир приходит к 9 утра - никто и не заметит, что ночью часы стояли. Он и выключил. Утром ДЧ мне велит снова включить - а я и не умею (там особая последовательность действий при включении)... ДЧ командиру нажаловался, что "лейтенант его подучил испортить часовую станцию"... ну огреб он, конечно , но это уже другая история.
vvbob
Напомнило как я на срочной был дежурным по клубу ВЧ, наряд был полная халява, я туда очень долго и с помощью кучи интриг, подкупа и политики пробивался :) Был несколько месяцев бессменным дежурным. Все обязанности были - только за порядком присматривать, впускать/выпускать местных парней на занятия баскетболом и т.п., они обычно особых проблем не доставляли. Самая лафа была что от всего начальства далеко и никому ты там по большему счету не интересен, если не дурить то живешь как на "воле". Ну так вот я там слегка заскучал и начал изучать локацию. В процессе изучения, обнаружил дверь под самым потолком, которая была не заперта и вела в "радиорубку", забитую всякой винтажной аппаратурой, по-моему еще ламповой. Очень мне там понравилось, особенно громадный радиоприемник с наушниками, на котором я долго ловил и слушал всякие станции, после чего, наигравшись выключил.
Потом прибежал начальник клуба - оказалось что это не просто приемник, а приемник с которого на весь военный городок транслируются сигналы по проводным точкам. Правда, на удивление он не особо ругался, сказал только больше там не трогать ничего, но даже разрешил слушать музыку, когда все дела переделаю. Хороший, кстати мужик был, не говнистый, как часто бывало среди "отцов-командиров".
pgkirich Автор
Армейские истории всегда прекрасны!