Часовые сети прошлого
Старинные часы сейчас, хоть и редко, но еще можно застать на вокзалах, автобусных остановках и иногда просто на улицах городов. Некоторым из них уже более полувека, и появились они во времена, когда большинство управляющих схем создавались при помощи реле. Но тем не менее, даже в таких старинных устройствах была реализована возможность удаленной настройки и синхронизации! Прочитав статью, Вы узнаете как были устроены часовые сети прошлого и как можно оживить древнюю технологию с помощью Arduino.Однажды ко мне обратились с весьма интересной просьбой — восстановить работоспособность старинных часов 60-х годов выпуска. Выглядели они не очень презентабельно и подозрительно напоминали дверцу от шкафа. С первого взгляда казалось, что это кустарная поделка. Но в правом нижнем углу гордо красовалась надпись «Стрела», из чего следовало, что модель заводская.Что сразу привлекло внимание — это механизм, вернее, его полное отсутствие. С обратной стороны часов располагается привод стрелок, представляющий собой странный двигатель с редуктором.Двигатель, хоть и похож на шаговый, но имеет всего два вывода с одной-единственной обмотки. Редуктор изготовлен из латуни и его передаточное число равно 1:12, и таким образом выходит, что двигатель вращает минутную стрелку, а часовая просто следует за ней.Экспериментальным путем выяснилось, что если подать на обмотку двигателя 24 вольта постоянного тока, то минутная стрелка делает один шаг. При смене полярности питания стрелка делает еще шаг. Очевидно, что управляющая часть всей этой электромеханической системы отсутствует. Небольшой взгляд в историю поможет понять, куда же она делась.В 60-е годы, когда электроника еще только-только вставала на ноги, различными учреждениями, организациями и заводами для отображения времени применялись гибридные электромеханические часы. В первую очередь, необходимость в них возникла в сфере пассажирского транспорта — для более эффективной диспетчеризации маршрутов поездов, трамваев и автобусов.Кусочек фотографии С.И. Ахмерова из фотоальбома 1962 г., Новосибирск. Часы, висящие на столбе, являются частью системы троллейбусного сообщения — водители сверяют по ним время.
Требовалось, чтобы несколько часов имели одинаковые показания, при том, что физически могли находиться довольно далеко друг от друга, например в пределах маршрута транспорта или в здании. Задача эта была решена следующим образом: Иллюстрация из книги Н.В. Сидорова «Эксплуатация электрочасовых устоновок», 1962 г.
На картинке представлен практически весь спектр устройств, который мог входить в часовую сеть, и как становится понятно, мне достались именно вторичные часы. Устройство сети достаточно простое: центром являются так называемые электропервичные часы, которые раз в минуту выдают чередующиеся разнополярные импульсы. Групповые реле совместно с батареями служат в роли репитеров-повторителей, позволяющих разносить устройства на большие расстояния. Так как ток, потребляемый обмоткой реле меньше, чем у приводов часовых механизмов, то и потери, связанные с ростом сопротивления в длинных проводах, будут меньше. Батареи же используются в качестве локальных источников питания вторичных часов.Понятное дело, что если есть вторичные часы, то можно попробовать найти и первичные. К сожалению обследование здания, где пролегала предполагаемая часовая сеть не дало особых результатов и самый лакомый кусок системы не был обнаружен. Но в литературе того времени очень хорошо описан принцип их действия: Эти часы являют собой очень интересное звено в эволюции технологий. В них все еще используются хорошо отработанные методы довольно точного измерения временных интервалов при помощи колебаний маятника, являющегося сердцем любых механических часов. Но здесь это сердце приводит в движение электричество. Маятник примерно раз в несколько колебаний замыкает цепь питания электромагнита, дающего ему новый импульс для раскачки. Коромысло, с которым связан маятник, качаясь из стороны в сторону при помощи малой и большой собачек вращает храповое колесо. Смысл этой конструкции в том, что в какую бы сторону не совершал движение маятник, колесо будет вращаться лишь в одном направлении. Оно имеет 80 зубьев, и при периоде колебания маятника равном 1,5 секундам, делает пол-оборота за одну минуту. Дальше в дело вступает эбонитовый рычаг, установленный на этом же колесе — он поочередно замыкает нужные контактные группы: А подгонный ключ позволяет подавать импульсы вручную. Качая его рукоять можно изменять время сразу на всех часах в сети! Сопротивления в цепи тоже играют немаловажную роль — конструкторы прошлого не жалели энергии, потраченной на нагрев воздуха, потому что благодаря сопротивлениям уменьшается искрообразование на контактных группах, что ведет к повышению надежности и долговечности устройства (в те времена этим факторам уделяли больше внимания).
Теперь, поняв принцип работы часовой сети можно было смело сделать простенькое устройство, эмулирующее первичные часы, тем более что с помощью современных технологий это проще простого. Но данный рассказ был бы неполным без еще одной вещи, которая на мой взгляд, оказалась даже интереснее электропервичных часов: Этот невзрачного вида ящик оказался еще одними вторичными часами из той же часофикационной сети, но не такими простыми как первые. Внутри расположился очень занятный механизм: На дверце за циферблатом расположен электромагнит, проводящий в движение минутную стрелку. Часовая, как и в прошлом случае, связана с ней редуктором. Кроме всего этого есть большая шестерня, пронумерованная от 1 до 24, и с большим количеством отверстий для штифтов (нечто вроде нажимных лапок), которые можно туда закрутить. Внутри корпуса закреплены предохранители, сопротивления и старое реле. Все вместе это образует весьма замысловатую схему.Обращение к литературе помогло понять, то это не что иное, как программные часы. Используя штифты, вкручиваемые в большую шестерню, можно задать время включения/отключения какой либо электрической нагрузки в определенное время.В механизме есть свой подгонный ключ, который позволяет подстраивать часы вручную и связан с якорем. В зависимости от полярности напряжения на электромагните, якорь притягивается то в одну, то в другую сторону. Коромысло преобразует поступательное движение во вращательное. А шестерни механизма рассчитаны так, что большое программное колесо делает один оборот за сутки, а пятиминутное и недельное — в соответствии их названиям. В программном и недельном колесе есть отверстия под штифты, которые при обороте колеса замыкают нужные контакты. Точность такого «будильника» составляет пять минут. На часах, доставшихся мне были установлены штифты на время: 8:00, 12:00, 13:00 и 17:00 и на все дни, кроме воскресения. Значит, когда-то эти часы оповещали работников завода о начале смены, обеде и конце рабочего дня.Работа механизма предполагает замыкание контактов на целую минуту. Разумеется, настолько длинный сигнал всех бы раздражал, потому компоненты в корпусе часов обеспечивают прекращение сигнала через определенное время. В соответствии с технологиями того времени, для этого случая применяется термогруппа — два соприкасающихся контакта, один из которых — биметаллический (на фото-слева от реле). При протекании тока через контакт он нагревается и размыкается за счет изгиба контакта. Это еще одна из причин, по которой точность измеряется минутами — термогруппа должна успеть остыть перед следующим срабатыванием. Время размыкания можно грубо регулировать настроечным винтиком.
Итак, схема, эмулирующая первичные часы будет выглядеть следующим образом: В ней применяется импульсный блок питания постоянного тока на 24В, два реле и собственно, контроллер Arduino. Реле на 5В служит этакой гальванической развязкой, и замыкает 24-х вольтовое реле, которое в свою очередь перекоммутирует питание в противоположную полярность. Такой режим работы отличается от обычного, так как первичные часы выдавали импульсы, а здесь напряжение на привод часов подается постоянно. Это решение позволяет упростить схему не в ущерб работе.
Скетч для adruino прост, как мигание светодиодом:
Посмотреть код void setup () {pinMode (2, OUTPUT); // программируем пин два как выход}void loop () {digitalWrite (2, HIGH); // включить релеminute (); // подождать пятьдесят секундdelay (9535); //подстроечная величина, примерно 9,5 секdigitalWrite (2, LOW); // выключить релеminute (); //подождать пятьдесят секундdelay (9535); //подстроечная величина, примерно 9,5 сек}
void minute (){for (int i=1; i<=5;i++){delay(10000);}}
Однако есть свои тонкости, связанные с тем, что минута у Arduino — это вовсе не минута реального времени (это связанно с кварцевым резонатором, тактами, а также инертностью реле, да и это совсем другая история), потому проще величину delay () подобрать вручную: засекая временной промежуток и вычисляя ошибку. После чего вносить поправку в значение подстроечной величины. У меня таким образом получилось настроить часы с точностью около минуты в сутки. Разумеется, можно сделать и лучше, но в этом не было необходимости.Схема в сборе: пятивольтовое реле прошло за свою жизнь через многое, поэтому пришлось залить его силиконовым клеем.Хорошо это или плохо, но сейчас часовая сеть оказалась не нужна, поэтому рассмотренные экземпляры часов продолжат свою работу уже в виде обыкновенных самодостаточных устройств, к которым все привыкли. Они будут как и полвека назад отсчитывать трудовые моменты и служить напоминанием об ушедшей эпохе, где таилось много интересного в казалось бы таких простых вещах.