Неравномерно идущие часы
Идея этих часов состоит в том, что стрелки на них двигаются неравномерно, то ускоряясь, то отставая, но тем не менее, в среднем, часы показывают правильное время. Сейчас расскажу, как такие сделать.
Вскрытие
За основу взяты настенные стрелочные кварцевые часы. Они могут быть оформлены как угодно, но в 99% случаев внутри стоит стандартный китайский механизм с пластмассовыми деталями. Вот такой:
Вскрываем корпус, попутно отмечая наличие свободного места, что нам очень на руку.
Аккуратно разбираем механизм, стараясь не забыть, какая шестеренка куда ставится.
Часы приводятся в движение шаговым двигателем, который состоит из статора с обмоткой и ротора с постоянным магнитом. На обмотку раз в секунду подаются электрические импульсы, и с каждым импульсом ротор поворачивается на 180°. Вот двигатель в разобранном виде:
Плата часового генератора закреплена с обратной стороны обмотки. Вот как она выглядит:
Пересадка мозга
Управлять часовым механизмом будет микроконтроллер ATtiny13A, выбранный, в основном, по принципу «ставим, что есть». На двигатель нужно подавать импульсы чередующейся полярности длительностью примерно 100 мс. Каждый импульс перемещает секундную стрелку на одну отметку.
Как видим, все очень просто: подключаем контроллер двумя выводами к обмотке, подаем питание… Стоп! Но ведь часы питаются от одной полуторавольтовой батарейки, а минимальное рабочее напряжение для ATtiny13A — 1,8 вольт. Как быть? На самом деле, контроллеры AVR могут работать и при напряжении питания 1 вольт и даже ниже (например), но при выполнении двух условий. Во-первых, тактовая частота должна быть низкой, в районе десятков килогерц. Во-вторых, тактирование должно осуществляться от внешнего источника.
Где взять внешний тактовый сигнал? Решение очевидно: от штатного часового генератора. Он вырабатывает сигнал частотой 32 768 Гц (2 15 Гц), снять который можно с одного из выводов кварца (с какого именно — определяется экспериментально). Берем нашу плату и припаиваем к ней провода для снятия питания, тактового сигнала, а также для управления двигателем. Нужно также перерезать дорожки от родного генератора к выводам обмотки.
Схема подключения микроконтроллера проста, как две копейки:
Только прошу обратить внимание на два момента. Во-первых, при сверхнизком напряжении питания выходные ключи портов открываются не полностью, поэтому, для уменьшения сопротивления, выводы запараллелены попарно (PB0 с PB1, и PB2 с PB4). Во-вторых, конденсатор в цепи питания следует поставить танталовый, с минимальным током утечки.
Контроллер смонтирован на обрезке макетной платы и прекрасно расположился в свободном пространстве в углу корпуса:
Поскольку перепрошить МК непосредственно в схеме не удастся, настоятельно советую не припаивать его намерво, а установить в панельку.
Прошивка
Логика работы часов следующая: интервалы между шагами секундной стрелки имеют случайную длительность, но полный оборот она должна проходить ровно за минуту, чтобы не нарушалась точность хода. Экспериментальным путем было установлено, что минимальный интервал между импульсами составляет 1/4 секунды, попытка двигать стрелку быстрее приводит к пропуску шагов. От этого и будем отталкиваться, пусть длительность каждого интервала будет кратна этому минимальному значению. Удобно будет разделить минуту на 240 «тиков» по четверти секунды каждый.
Главная проблема, возникшая при написании прошивки, состояла в том, как случайным образом разбить минуту на 60 интервалов. Потратив пару часов и исписав несколько листов бумаги, я составил два алгоритма. Первый заключался в формировании массива из 240 элементов, в который помещались номера всех «тиков». Затем из массива случайным образом выбирались 59 элементов, каждый из которых представлял собой номер «тика», на котором происходило бы движение стрелки. Второй алгоритм заключался в делении четырехсекундного интервала (16 «тиков») случайным образом на две части, каждая из которых затем также делилась надвое. После выполнения этих операций над 15 интервалами, получалось 60 значений в диапазоне от 1 до 13 «тиков», причем сумма всех этих значений составляла ровно 240.
К сожалению, ни первый, ни второй алгоритмы мне не удалось реализовать на ATtiny13 ввиду крайне малого объема памяти этого МК (1 КБ FLASH и всего 64 байта SRAM). Наверное, какой-нибудь гуру ассемблера смог бы это сделать, но я поступил проще и жестко забил в код одну таблицу длительностей интервалов. То, что ритм движения стрелки будет повторяться каждую минуту, не должно сразу броситься в глаза.
Программа устроена следующим образом. Каждый «тик» (1/4 секунды) по таймеру генерируется прерывание, во время которого проверяется номер «тика», и, если нужно, подается напряжение на обмотку двигателя, а также из таблицы извлекается длительность следующего интервала. Через 100 мс генерируется второе прерывание, по которому напряжение, подаваемое на обмотку, отключается. Всё остальное время контроллер находится в спящем режиме для уменьшения энергопотребления. Ссылка на полный исходный код приведена в конце статьи.
Необходимо также прошить Fuse-биты контроллера для того, чтобы включить режим внешнего тактирования (значения, отличные от заводских, выделены):
SELFPRGEN = 1
DWEN = 1
BODLEVEL1 = 1
BODLEVEL0 = 1
RSTDISBL = 1
SPIEN = 0
EESAVE = 1
WDTON = 1
CKDIV8 = 1
SUT1 = 1
SUT0 = 0
CKSEL1 = 0
CKSEL0 = 0
Спешу заметить, что после установки фьюзов данным образом контроллер нельзя будет перепрошить без внешнего источника тактирования.
Сборка
Итак, контроллер запрограммирован, установлен на плату, котрая, в свою очередь, закреплена в корпусе каплей клея. Можно собирать механизм обратно, крепить стрелки и радоваться полученному результату:
Разбираемся с работой часовых сетей в лабораторных условиях
Как вы помните, во время посещения блошиного рынка, мне встретились прекрасные вокзальные вторичные часы, которые я в результате не купил. И что-то вот у меня клокотало внутри, и решил, раз уж разбираться с системой первичных-вторичных часов, то по-крупному. В результате были закуплены заводские первичные часы, вторичные часы, а дома я построил настоящую часовую сеть, посмотрел как настраивать первичные часы, как настраивать вторичные, ощутил всю боль часовщиков, которые обслуживают такие сети и в результате сделал собственные первичные часы, вместо заводских. В статье буду разбирать, как работает система первичных и вторичных часов, а также попробуем сделать свои первичные часы.
С чего всё начиналось
На самом деле, идеи поковыряться со вторичными часами у меня появились ещё задолго до поездки в Санкт-Петербург. Ещё давным-давно у sfrolov я читал о первичных и вторичных часах. Плюс, ещё в школе меня завораживало как работают часы на всех этажах, с громким щёлканьем стрелки.
Также, по долгу службы много ездил по России, и на каждом предприятии встречал различные вторичные часы, и меня они всегда интриговали. Фотография ниже сделана мной в 2014 году на старейшей станции в России — ГРЭС-3 им. Р.Э. Классона на главном щите управления.
Часы показывают точное время. Портрет основателя станции Р.Э. Классона.
И вот с тех времён, мне всё хотелось разобраться и подержать в руках живые, настоящие часы и научиться с ними работать. А также понять, как же на них переводили время во всей организации.
Закупаемся
После посещения “Уделки” я начал активно шерстить всевозможные доски объявлений в поисках первичных и вторичных часов. Первичные часы, с успехом нашлись ещё в Питере. Как оказалось, достаточно дефицитная штука, и не так часто бывают на досках объявлений, но мне дико повезло, и нашёл даже недалеко от того места, где мы жили.
Первичные часы ПЧК-3, сразу после покупки.
Вторичные часы я начал искать уже в Москве. В принципе я хотел красивые пузатые часы, с металлическим корпусом. Но то меня не устраивала цена, то надо было ехать на другой конец Москвы, а то и в область. В результате купил “новые” (неиспользованные) часы, в заводской упаковке, такие же как стояли у меня в школе, пускай и не такие красивые.
Вторичные часы в заводской упаковке.
Специально для вас заснял распаковку этих часов, чтобы передать хотя бы частичку того восторга, которого я испытал.
Часы стоят на 12, внутри паспорт и меня они ненамного моложе. Единственное, что прямо с завода было грязное стекло, не очень аккуратно нанесена краска цифр. В общем, вблизи было видно достаточно большое количество дефектов. Но, думаю, с такого расстояния их видели только изготовители и часовщики.
Сразу после распаковки.
Конечно же, после распаковки, когда у тебя есть первичные часы и вторичные часы, их хочется сразу поженить, и потом уже разбираться, как это всё работает.
Первый запуск
Пока оставим технические детали, просто проверим, работает ли оно всё в связке. Телефонной лапши, которая использовалась в часовых сетях, у меня нет, поэтому использую обычный сетевой провод. Гильзуем концы, и закрепляем всё в клеммах.
Подключённые провода к часам.
Сбрасываем первичные часы и замираем в ожидании чуда.
Самая длинная минута в жизни.
Не переживайте, для вас я тоже снял кинцо, как это было.
Вы тоже обратили внимание, что стрелка дёрнулась, но не щёлкнула? Это не бага, это фича! И дальше мы поговорим, почему это произошло.
Для того чтобы было удобно работать со всем этим добром, и это всё часовое хозяйство не занимало драгоценное место на рабочем столе, я изготовил импровизированный стенд, на котором всё и закрепил:
Часовой стенд, стильно, модно, молодёжно.
Пара слов о работе первичных часов
Для меня стало настоящим откровением, что время, которое показывают первичные часы, никак не связано с тем временем, которое показывают вторичные часы. И, видимо, оно нужно просто для удобства работы часовщика (да простят меня за этот термин, я правда не знаю как называется должность человека, который обслуживал такие вот часовые сети).
По сути, первичные часы просто генерируют управляющие импульсы раз в минуту, для перевода стрелки вторичных часов. Ещё есть возможность ускоренной подгонки минут, но это какая-то странная функциональность, я пробовал её в деле, но работает она криво: можно стартануть её только после импульса на перевод минуты и остановить, после второй минуты. Количество импульсов за минуту слабо прогнозируемо.
И в целом, если бы на этих часах, не было бы дисплея, ничего страшного бы не случилось, он нужен просто для справки. Сверху имеется крышка, которая позволяет добраться до управляющих кнопок и клемм.
Содержимое под крышкой.
Снял небольшое видео, чтобы вы смогли сами увидеть, как это выглядит.
Меня более всего подивила батарейка, ей громадное количество лет, а она до сих пор в строю и держит заряд!
Батарейке 30 лет, а она всё ещё жива.
Об устройстве вторичных часов
Вторичные часы сделаны очень просто: там стоит мотор и редуктор 1:12, то есть на один оборот мотора, делается один отсчёт минутной стрелки.
Моторчик и редуктор.
Эмпирическим путём я выяснил, что если менять полярность, то мотор делает один “щёлк”, думаю что это тип шагового двигателя. Вместо тысячи слов лучше посмотреть одно видео.
Точная подводка часов делается через вон тот пластиковый “пимтик” сверху. Проиллюстрирую очередным видео:
Главное, что все эти часы переводились вручную, что, как мне кажется, было дичайше неудобно. Наверняка это делалось в полночь, поэтому думаю, эти часы обслуживающий персонал не любил (переводить часы на пересменке, ага).
Что ещё полезного есть, я не поленился и отсканировал паспорт этих часов, если кому интересно, могут скачать его отсюда.
Для нас же самая полезная информация, как управлять этими часами, что они кушают:
То есть, у нас есть управляющий импульс длительностью от 1,6 до 2,4 с, с периодом 60 с, входной сигнал должен быть от 18 до 30 В и входное сопротивление часов у нас 1кОм. Последнее важно, чтобы подбирать блок питания (на 30 В, у нас будет всего 30 мА). Это важнейшие параметры, которые упростили дальнейшую разработку.
Глянем-ка осциллоскопом
Теперь, главное, для чего это всё затевалось. Давайте посмотрим, какие сигналы идут от первичных часов к вторичным.
Подключаем осциллограф.
Мне пришлось вывести осциллограф практически в режим самописца, чтобы записать такой длинный сигнал, и это был предел его возможностей. И что же мы видим в результате?
Сигнал от первичных часов.
“Замечательно” голосом доктора Ливси из “Острова Сокровищ”. Что же мы здесь видим? А очень просто, у нас идёт сигнал, каждые 60 секунд, и он меняет свою полярность. То есть, на двигатель идёт сигнал сначала одной полярности, потом другой. Посмотрим длительность и амплитуду сигнала.
Сигнал положительной полярности.
Сигнал отрицательной полярности.
Видно, что сигнал имеет амплитуду 27 В, и длительность ровно 1500 мс, или 1,5 секунды.
Теперь понятно, почему часы в первом включении побились в конвульсиях, но стрелку не сдвинули: пришёл импульс не той полярности.
После чего, я попробовал часы подключить к обычному блоку питания. Если просто касаться клемм БП, и потом переворачивать и касаться клемм другой полярности, то часы начинают идти. К слову сказать, можно делать очень короткий импульс, 1,5 секунды — это большой запас. Также эмпирическим путём я установил, что часы могут работать даже при напряжении 12 В. Это нежелательно, но можно использовать. На точность хода это никак не повлияет, так как перестановка минут явление дискретное.
В результате, имея все эти данные, можно сделать свои первичные часы.
Создаём свои первичные часы
Когда я думал, как делать эти часы, у меня в голове было два варианта: взять модуль блока питания на 5 вольт (AC-DC преобразователь), DC-DC повышающий преобразователь (например, XL6009) и им делать высокое напряжение в 27 В. Другой вариант, использовать готовый блок питания на 12 В (проверено, работает), и использовать понижающий DC-DC преобразователь на 5 В (например, mini560) для питания контроллера. В качестве коммутирующего устройства можно использовать реле, либо драйвер двигателя на основе Н-моста.
Было закуплено компонентов для повторения всех вариантов, но мне не захотелось разводить 220 В на плате, так как считаю это небезопасным в домашних проектах (настоятельно рекомендую ознакомиться с этим постом). Блок питания на 12 В у меня есть. Поэтому было принято остановится на нём.
Хотя конечно, решение с блоком питания прям на плате, было бы сильно элегантнее. Но безопасность дороже.
▍ Исходники проекта:
- Arduino Nano. — 450 руб. (Тут подойдёт совершенно любая плата, которая есть у вас в наличии).
- Драйвер двигателя L9110S — 90 руб.
- Понижающий преобразователь DC-DC mini560 5В 5А — 120 руб.
- Блок питания на 12 В — (был в наличии, но так 400 руб.);
- Разъём для подключения блока питания — 30 руб.
- Макетная плата 70×50 мм — 60 руб.
По поводу драйвера двигателя, в процессе экспериментов я спалил три штуки таких драйвера. Они очень чувствительны к уровню напряжений, сгорают если выйти за пределы (даже 20 вольт не переваривают), к полярности (ну тут я сам себе злобный буратина) и к нагрузке. В целом, если вы не уверены в себе, можно просто использовать спаренное реле, и поначалу я делал на нём, но уж больно оно громко щёлкает.
Реле для управления часами.
Либо другой вариант, использовать что-то более серьёзное, типа микросхемы ir4427 (она и дешевле будет готового модуля).
На хабре очень не любят проекты на Ардуино, но честно говоря, я могу сделать это на абсолютно любом контроллере, написать на ассемблере, сях, плюсах, питоне и т.п. Просто Ардуино доступно: пришёл и купил, и экономит кучу времени. Поэтому прошу понять мою профессиональную слабость.
▍ Собираем всё в кучу
Пару часов пайки и получаем вот такое симпатичное устройство:
Сигнальные провода идут от пинов контроллера D2 и D3 к пинам драйвера B-1A и B1-B. Последовательность подключения значения не имеет. На драйвер мы подаём 12 В, а контроллер питаем от пяти, после понижающего DC-DC преобразователя.
▍ Код
За полчаса набросал рабочий код, который очень простой. Но в отличие от подобных проектов, решил использовать таймер, который рассчитал вот тут. Там прям в примере генерируется готовый код, идеально подходящей к моей задаче. Код проекта обитает вот тут, я лишь заострю внимание на одном моменте. Приведённый ниже кусок кода — это обработчик прерывания таймера.
ISR(TIMER1_COMPA_vect) < digitalWrite(ledPin, digitalRead(ledPin) ^ 1); static uint8_t seconds = 0; static uint8_t pos_neg = 0; static uint8_t sending = 0; if (sending) < sending--; if(0 == sending) < digitalWrite(POS_SIG, HIGH); digitalWrite(NEG_SIG, HIGH); >> seconds++; if (seconds == 60) < seconds = 0; sending=2; if (pos_neg) < digitalWrite(POS_SIG, LOW); pos_neg = 0; >else < digitalWrite(NEG_SIG, LOW); pos_neg = 1; >> >
Думаю всё достаточно очевидно: когда идёт переполнение секунд, мы выставляем сигнал на ножке. На какой ножке — определяется переменной pos_neg. Длительность импульса задаётся переменной sending и в данном случае она равна двум. Когда импульс подходит к концу, мы восстанавливаем исходный сигнал.
Единственное, что меня волнует — это какая погрешность у такого таймера. Предметно не искал, но любопытно через сколько набежит лишняя минута (или наоборот уйдёт).
▍ Подключаем и пробуем!
Для примера я сделал тик не каждые 60 секунд, а каждые 3 секунды. Минимум можно сделать, каждые две, так как тик равен 1,5 секунды. Хотя с советскими допусками, если похимичить, можно и раз в секунду сделать.
Подключённые самодельные первичные часы.
Специально для вас снял видео работы:
Такая частота хода нужна, в первую очередь для отладки и демонстрации работы. Заменить переменную с 3 на 60 и залить заново код, дело нескольких секунд.
Резюмируя
Вот так, небольшой проект одного выходного дня вырос в достаточно прикольное устройство. Если посмотреть, за сколько продают подобные самодельные контроллеры вторичных часов на различных площадках, то понимаешь, что самодельное устройство — это приличная экономия, да и плюс достаточно неплохой опыт. Так что смело повторяйте, оно работает.
Хочу поблагодарить sfrolov за то, что увлёк меня вторичными часами. Очень надеюсь, что он нас порадует своими публикациями на этом ресурсе.
Полезные ссылки:
- Код проекта на гитхабе.
- Паспорт на часы “Стрела” типа ВЧС1-М2ПВ24Р-300-323К.
- Публикации sfrolovраз и два.
- Часовые сети прошлого. Аналогичный проект первичных часов на хабре. Очень хорошо и подробно рассказывается об устройстве таких сетей. Рекомендую к прочтению. astrei спасибо за пост!
- Основы электробезопасности при проектировании электронных устройств.
- AVR Timer Interrupts Calculator.
P.S.
Если кому интересны оригинальные первичные часы, или самодельные вторичные — пишите. Если будет много интересующихся, подумаю об изготовлении платы.
Идеи для тех, кто хочет собрать свои часы
Каждый самодельщик рано или поздно приходит к тому, что ему вот прямо сейчас необходимо создать свои часы. Зачем, почему — никто не знает. Если вы пришли к такому же пониманию, «их есть у меня». А именно — собственный хит-парад самодельных часов, которые позволят как комплексно прокачать скиллы в сборке, программировании и т. д., так и украсят любой дом своим присутствием.
В этой статье умышленно будут обойдены вниманием известные проекты часов, изготовленные из радиоламп или вращающейся линейки светодиодов, установленной на диске вышедшего из строя старого HDD, так как мы постараемся остановиться на более неизвестных и эффектных экземплярах, и если известные проекты и будут затронуты, то совсем чуть-чуть 🙂
▍ Часы буквенные
На первом месте находится проект, который отличается как своей эстетической привлекательностью, так и относительной простотой создания.
В основе проекта лежит использование адресной светодиодной ленты, которая подсвечивает определённые буквы. Если кто-то не в курсе, поясним — такая лента позволяет включать любой светодиод, обращаясь к нему по адресу. В качестве «мозга» проекта используется любой микроконтроллер.
Например, вот здесь автор статьи тоже предложил свою реализацию подобных часов и выложил исходники проекта, среди которых как векторные панели для лазерной резки, так и исходный код для микроконтроллера esp32, который был взят в качестве «мозга». Почему именно этот микроконтроллер: для удобства дальнейшего беспроводного подключения к нему по Wi-Fi и конфигурирования (установка времени и т. д. и т. п.).
Как выяснилось, подобного типа часы многим не дают покоя, и другие хабражители тоже поделились своими проектами. Основной проблемой такого типа часов является грамотно составить матрицу слов.
Примеры подобных удачных матриц можно посмотреть в той же теме, ссылка на которую приведена выше:
Техническая реализация подобного проекта достаточно проста, в то же время, выглядит он весьма эффектно.
Если же кого-то интересует англоязычная реализация, то подробное описание её есть здесь.
▍ Часы с «висящими» в воздухе стрелками
Достаточно интересный проект, который позволяет создать часы, визуально выглядящие так, как будто их стрелки парят в воздухе. Проект новый, выложенный всего лишь 2 февраля 2023 года и уже набравший почти 900 000 просмотров:
Все компоненты этих часов распечатаны с использованием 3D-принтера. В качестве привода использован шаговый двигатель и сочетание зубчатой и червячной передачи. Приводятся часы в действие с помощью управления на основе команд микроконтроллера Arduino Nano. Минутная стрелка, как можно заметить на видео, является опорой, а часовая стрелка подвешена с использованием неодимовых магнитов:
Страница проекта с полным описанием, моделями для распечатывания и исходниками кода для Arduino находится здесь.
Несмотря на некоторую спорность применённых решений, а именно вопросов к долговечности всего механизма в целом, данный проект имеет право на жизнь и выглядит вполне интересно. По мнению же автора статьи, лучше всего будет взять саму идею подобного проекта за основу и переработать её с целью увеличить долговечность. Как вариант, использовать полностью магнитные подвесы всех элементов, а также заменить круговую шестерню, расположенную по диаметру часов, на что-то подобное магнитному редуктору:
То есть, возможно, установить даже не редуктор как таковой, а принцип перемещения с помощью «магнитных зубцов», если их так можно назвать.
Кроме долговечности, это позволит избавиться от скрежета шестерёнчатых передач.
▍ Качающиеся часы
Этот проект начинался как личное увлечение разработчика и перерос в нечто большее, когда разработчик превратил своё изобретение в коммерческий продукт и стал выпускать гибкие приводы на основе него:
Итак, как же это всё работает? На гибкой основе расположена токопроводящая катушка, на которую подаётся питающее напряжение изменяющейся полярности. Под катушкой находится неодимовый магнит. В зависимости от полярности поданного напряжения катушка или притягивается к магниту, или отталкивается от него. На этом и основан принцип действия подобного привода. В дальнейшем разработчик разместил на нём ещё и линейку светодиодов, что позволило сделать своеобразный гибкий, качающийся в воздухе дисплей.
Несмотря на то, что подобная катушка генерирует магнитное поле силой всего лишь 2.7 мкТл, его вполне хватает для успешного функционирования. Наработка на отказ гибких элементов зависит от частоты и может быть выражена, согласно даташиту, в виде следующей таблицы:
Часы на самодельном аналоге подобного устройства могли бы быть реализованы, например, для повышения долговечности, в виде работающих с краткой периодичностью, включаясь только по нажатию кнопки, чтобы показать время.
Однако ознакомление с приводом подобного типа натолкнуло на мысль, что такой «шатающийся» дисплей мог бы быть изготовлен в виде своеобразного «поршня», подпружиненного с двух сторон, на котором установлен комплекс из микроконтроллера, массива светодиодов, отклоняющей катушки и приёмной катушки для беспроводного питания всей системы.
Беспроводная система питания могла бы быть реализована на основе воздушного трансформатора, примерно подобного тому, как показан ниже:
Для гашения вибраций, возникающих во время движения неуравновешенной системы, которой будет являться подобная сборка, она должна быть установлена на тяжёлом основании.
Готовых проектов часов подобного типа видеть не приходилось, однако это могло бы быть весьма любопытно:
▍ Часы из массива стрелочных часов
Весьма трудоёмкий проект, однако и довольно впечатляющий (как и громкий в работе, надо полагать, так как в нём использовано аж 48 шаговых двигателей! О_о).
Если вкратце, проект базируется на 25 Arduino Nano, одна из которых является главной (Master) и 24 подчинённых (Slave). Общение между ними осуществляется с помощью протокола SPI через разъём ICSP. Кроме того, автор проекта пошёл ещё дальше и для каждых часов-юнита спроектировал свою печатную плату. Огромный объём работы…
Тем не менее, все требующиеся исходники заинтересовавшиеся могут найти на странице проекта.
▍ Часы, рисующие на песке
Следующий проект пока не претворён в жизнь и ждёт своих реализаторов. Тем не менее, в случае успешной реализации он обещает быть восхитительным и умиротворяющим одновременно. То есть это больше идея для проекта, на которую автора статьи натолкнуло японское искусство рисования на песке — бонсэки:
Нечто подобное проекту нашлось только в виде дизайнерского стола, где движущийся шар рисует узоры на песке:
Принцип действия подобного стола основан на том, что под ним установлена механическая система, перемещающая магнит, который, в свою очередь, тянет металлический шар, катящийся по песку и рисующий узоры.
Однако, на взгляд автора статьи, устройство механической части могло бы быть существенно упрощено, если использовать любой из известных ЧПУ-приводов, например, тот же самый H-Bot:
Один из вариантов его реализации и исходный код разработки автора был выложен в одной из предыдущих статей.
Кроме того, как можно видеть, у такого движущегося шара имеется одна существенная проблема: он постоянно касается песка и, соответственно, будет оставлять непрерывную линию (что может быть проблемой, если мы попытаемся писать на песке отдельные цифры на манер тех, которые показывают электронные индикаторы.
Что можно было бы сделать в этом случае? А можно поступить очень интересным образом — усовершенствовать перемещающуюся головку:
- укрепить на ней небольшую платформу, которая может перемещаться на небольшое значение вверх/вниз;
- установить на эту платформу магнитный подвес, который частенько используют для создания декоративных «летающих в воздухе» предметов, например, горшков с цветами:
Для реализации подобного подвеса обычно используется массив из размещённых по кругу магнитов, а также ряд электромагнитных катушек, расположенных внутри этого круга.
В днище самого «летающего» предмета также расположен мощный редкоземельный магнит. Кроме того, среди массива магнитов и катушек расположены ещё и аналоговые датчики Холла, которые могут измерять малейшее отклонение магнитного поля.
Работает это следующим образом: так как стабильная левитация предметов в магнитном поле невозможна, висящий над магнитами предмет постоянно стремится завалиться вбок, в ту или иную сторону. Соответственно, изменяются показания аналоговых датчиков Холла, расположенных по кругу на основании (достаточно даже 3 штук). Микроконтроллер, отслеживающий эти изменения, даёт ШИМ-импульсы на катушку, которая отталкивает падающий подвешенный предмет. Так как этот процесс протекает с большой частотой, наблюдателю кажется, что предмет свободно левитирует (хотя на самом деле он постоянно стремится завалиться, и только электронный контроль удерживает его от этого).
Полное техническое описание и исходный код Arduino Pro Mini для создания подобного магнитного подвеса можно найти вот здесь. Те из читателей, кто захочет подробнее поискать информацию по теме, могут погуглить по ключевым словам «repulsive magnetic levitation».
А вот вариант ещё проще — с одной катушкой и даже без ардуин:
Кстати, небольшое дополнение: единственный вариант, когда подобная левитация в магнитном поле без электронного контроля возможна, представляет собой случай, где предмет должен быть сильно раскручен — тогда он является маховиком, где силы, воздействующие на него, не дают опрокинуться вбок:
То есть теоретически можно было бы избежать сложной системы из катушек и магнитов, всего лишь сильно раскрутив волчок с помощью бегущего по кругу магнитного поля, источником которого является массив катушек в основании (принцип наподобие обычного электрического двигателя).
Однако вернёмся обратно к нашим часам. В результате всех этих манипуляций можно было бы получить поразительную систему, где по поверхности песка шар рисует отдельные цифры текущего времени, причём эти цифры не связаны друг с другом непрерывной линией и для рисования отдельных цифр шар «взлетает» над поверхностью и перелетает в новое место на песке (картинка кликабельна):
Уверен, что у любого наблюдающего за этим процессом челюсть отвисла бы весьма основательно! 😉
Правда, необходимо будет придумать ещё систему стирания нарисованного…
Желающие получить результат быстро и без особых усилий могут попробовать адаптировать следующий проект под рисование на песке, так как он практически полностью соответствует требованиям:
Страницу проекта с исходниками можно найти здесь.
▍ Часы-выдвижные столбики
Ещё один проект кинетических часов, где время отображается с помощью физического изменения формы. Готовых проектов подобного рода и их исходников найти не удалось, что открывает определённые возможности для самодельщиков.
Подобные часы могли бы отражать время с помощью выдвижных столбиков, изображающих цифры:
Для обеспечения бесшумной скоростной и точной работы можно было бы использовать альтернативный привод — самодельный цилиндрический линейный двигатель, который мы рассматривали в одной из предыдущих статей. Вкратце: подобного типа двигатели используются на высокоточных промышленных роботах, в том числе для smd-монтажа электронных компонентов. Работают быстро, бесшумно, мощно, точно (так что всякие сервы и шаговые двигатели можно выкинуть в топку).
Однако те, кто не хотели бы идти полностью своим путём, могут использовать наработки другого проекта, который позволяет собрать примерный аналог описанного:
Страница с полным описанием проекта находится здесь.
Желающие могут собрать и альтернативный вариант, где происходит отклонение с помощью сервоприводов соответствующих сегментов дисплея, имитирующего электронный:
Страница с полным описанием проекта находится здесь.
▍ Часы из часов
Те, кто хотят действительно «зубодробительного» проекта, могут попробовать собрать, так сказать, часы из часов, которые собираются из семисегментных индикаторов и позволяют выводить как текущее время, так и другие надписи и изображения, потому что подобный экран ведёт себя как обычный графический дисплей:
Страница проекта со всеми инструкциями и исходниками находится здесь.
▍ Часы-слайдер
Четыре шаговых двигателя, Arduino и motorshield — вот и всё, по большому счёту, что нужно для создания следующих часов:
Трудно сказать про них ещё что-то подробнее… Минимум трудов — максимум зрелищности. Страницу проекта смотрим здесь.
▍ Часы из шариков для настольного тенниса
Согласно закону Парето, если его несколько интерпретировать, не всегда необходимо прикладывать безумные усилия для достижения эффектного результата. Именно это и предлагают следующие часы, собранные всего лишь из 128 шариков для настольного тенниса, адресной светодиодной ленты и Arduino.
Просто, эффективно, эффектно:
Подытоживая, хочется сказать, что этот обзор не является полным и наверняка вам захочется добавить в него свои варианты. Однако автор постарался добавить в него те из них, которые привлекли его внимание и были им отложены для себя, чтобы заняться, когда появится свободное время. Возможно, они будут для вас полезны и интересны.
- ruvds_статьи
- arduino
- самодельные часы
Шаговый двигатель в часах как работает
Глядя на циферблат современных кварцевых часов с невероятным количеством стрелок, сложно поверить, что долгое время камнем преткновения в их производстве было изготовление шагового двигателя, способного поместиться в корпус разумных размеров.
Возвращаясь к истории развития кварцевых калибров, стоит вспомнить, что своеобразным мостиком от чистой механики к кварцу стали электро-механические часы самых разных конструкций. Мы с умилением рассматриваем хитроумные резонаторы, в т.ч. с использованием кварца, замысловатые системы передачи колебаний на колесную систему, и не задумываемся, что причиной всего этого разнообразия технических решений было отсутствие у часовщиков миниатюрного электродвигателя, способного поместиться в корпусе наручных часов. Традиционные моторы, использовавшиеся в 1950-1960-х годах, категорически не подходили для этой задачи. Перелом произошел, когда в часы удалось поместить шаговый электродвигатель.
Первую победу шаговый двигатель одержал в 1957 году, когда на Всемирной выставке в Брюсселе экспонировался первый в мире советский фрезерный станок с цифровым программным управлением. Этот экспонат был удостоен Большой золотой медали и открыл новую страницу в станкостроении. Современная техника немыслима без фрезерных, токарных, электроэрозионных и многих других станков с цифровым управлением. Большая часть из них действует благодаря шаговым двигателям.
Затем шаговые двигатели обосновались в механизмах управления прокатных станов, прессов и других металлургических машин, стали одним из самых распространенных элементов автоматики. Они работают на кораблях, самолетах и искусственных спутниках Земли — везде, где требуется быстрое, точное и надежное исполнение воли человека.
В обычном электродвигателе магнитное поле страгивает с места ротор, который дальше продолжает вращение по инерции. Точно предсказать, на сколько оборотов или на какую часть оборота повернется ротор, невозможно. Это приемлемо в электровозе, который останавливают с помощью тормозов, но не в часах, стрелки которых должны совершать точно отмеренные движения. Шаговые моторы получили свое название из-за того, что в них ротор каждый раз поворачивается на строго определенный угол, или шаг. Более того: ротор в них не имеет инерции и, даже будучи отключенным от питания, мотор надежно фиксирует вал в том положении, в котором его обесточили. Чтобы добиться таких характеристик, конструкцию классического электродвигателя пришлось кардинально пересмотреть.
На принципиальном уровне шаговые электродвигатели состоят из статора, на котором расположены обмотки возбуждения, и ротора, имеющего намагниченные половины – одну отрицательную и одну положительную. Шаговые двигатели с магнитным ротором позволяют получать больший крутящий момент и обеспечивают фиксацию ротора при обесточенных обмотках.
Ротор гибридного двигателя имеет зубцы, расположенные в осевом направлении. Он разделен на две части, между которыми расположен цилиндрический постоянный магнит. Таким образом, зубцы верхней половинки ротора являются северными полюсами, а зубцы нижней половинки — южными. Кроме того, верхняя и нижняя половинки ротора повернуты друг относительно друга на половину угла шага зубцов. Число пар полюсов ротора равно количеству зубцов на одной из его половинок.
Статор двигателя также имеет зубцы, обеспечивая большое количество положительных и отрицательных полюсов, в отличие от основных полюсов, на которых расположены обмотки: чем больше зубцов, тем меньший шаг может сделать двигатель, а значит, выше будет его точность. К примеру, если у двигателя (как на рисунке 1), 4 основных катушки и 4 зубца на роторе, то за один шаг он сможет повернуться на 90 градусов. При наличии большего числа зубцов (рисунок 2) как на статоре, так и на роторе, длина шага уменьшится, а вместе с ней уменьшится и угол поворота. Зубцы ротора обеспечивают меньшее сопротивление магнитной цепи в определенных положениях ротора, что улучшает статический и динамический момент. Это обеспечивается соответствующим расположением, когда часть зубцов ротора находится строго напротив зубцов статора, а часть между ними.
Главное преимущество шаговых приводов — точность. При подаче тока на обмотки шаговый двигатель повернется строго на определенный угол. Чем меньше угол — тем выше точность.
Увы, описанный выше мотор не мог поместиться в часовой корпус. Но после долгих поисков японские инженеры из компании Seiko смогли произвести на свет миниатюрный шаговый двигатель (рис. 3), у которого была всего одна катушка индуктивности, а ротор и статор имели по два полярных «зубца». Проблем при производстве такого мотора было сразу несколько. Намотать несколько тысяч витков тончайшей проволоки на катушку, обеспечить невысокое энергопотребление данного изделия, получить достаточную мощность для вращения колесной системы – все эти задачи нужно было решить в одном изделии. Японцы с ними справились, и предложенная ими компоновка двигателя применяется и по сей день.
Шаг в секунду и быстрее
Решение японских инженеров произвело революцию в часовой отрасли и решило ключевую, но отнюдь не единственную задачу. Подобный мотор хорош для классического трехстрелочника, но плохо подходит для привода хронографа или дополнительного счетчика. Решение этой проблемы нашли уже швейцарские мастера, которые лишь спустя несколько лет после появления Astron смогли прийти в чувства и вновь начать удивлять публику, в том числе и на кварцевом поприще. Среди производителей механизмов особняком от всех стоит швейцарская компания Soprod, начавшая производство кварцевых калибров в 90-х. «Опытное» подразделение исконно механической фабрики стало производить демократичные калибры, но вскоре, оценив перспективы рынка, перенесло фокус внимания на кварцевые механизмы высокого класса. Основным достижением компании Soprod можно считать уникальную методику программирования и начало применения микромоторов с возможностью вращения стрелок в обе стороны благодаря использованию сразу двух маленьких, но мощных катушек индуктивности. Да и шаг стрелки теперь зависел не от колесной передачи, а от того, сколько микроскопических магнитных зубцов удавалось разместить не роторе, непосредственно на котором и была закреплена стрелка каждого счетчика.
Теперь стало можно свободно располагать в любой части циферблата без привязки к колесной системе любое количество стрелок и наделять их совершенно фантастичеким функционалом. Хотите ретроградный указатель дня недели, часа или даже ретроградные минутные или секундные счетчики? Никаких проблем, ведь запрограммировать схему отправлять импульс на микромотор можно в любом порядке и направлении. По одному импульсу в день и возврат в исходное положение на 8-й день – вот вам ретроградный календарь. Ранее такие функции были атрибутами высококлассной механики, теперь они реализованы в самых разных часах и доступны широкому кругу покупателей. Яркий пример подобных часов – флагманские модели бренда Adriatica или Vostok Europa.
Некоторые бренды идут дальше и предлагают совсем необычные решения. Одним из наиболее интересных подходов дизайнеров к платформе калибров свободной компоновки Soprod SOP FM13D является модель Victorinox Swiss Army Chrono Classic 1/100. В ней на два мотора прикреплены счетчики сотых долей секунд, первый диск показывает цифры первого порядка, другой – второго. При запуске хронографа стрелка отсчета секунд начинает движение, отсчитывая целые секунды, и диски начинали вращаться, отмеряя сотые доли. Удивительный симбиоз технической возможности и дизайнерской идеи произвел на свет одну из самых оригинальных моделей хронографов с возможностью отсчета одной сотой.
Точность и мощность
Именно этими двумя словами можно охарактеризовать калибры последнего поколения от лидера индустрии – компании ETA. Если об аспекте точности (PreciDrive) мы говорили в прошлой статье, посвященной вопросам термокомпенсации, то сегодня коснемся вопроса мощности часового мотора. Технология PowerDrive была разработана компанией ETA специально для высокоточных кварцевых хронографов. Шаговые моторы нового поколения способны делать 200 шагов в секунду, что кроме перспектив для маркетологов и дизайнеров открывает совершенно новые просторы в хронометрии. Безусловно, просто мотора для такой работы мало, необходимо изготовить микросхему, которая будет управлять одновременно сразу несколькими моторами, каждый из которых в определенном режиме будет иметь разный функционал. Кроме того, актуальным остается вопрос энергопотребления. В ETA не раскрывают секрета, но говорят, что при ускоренном перемещении стрелок (во время работы хронографа, или при переводе показаний в ускоренном режиме), потребление энергии даже ниже, чем в стандартном режиме. Увы, более подробную информацию о калибрах с данной технологией найти практически невозможно. Производитель хранит все детали в секрете, ведь сейчас это одно из главных конкурентных преимуществ кварцевой линейки некоторых брендов Swatch Group, таких как Certina, Hamolton, Longines.
В любую сторону света
Другим, стоящим отдельно от всех брендом Swatch Group является Tissot с технологией T-Touch. Тактильное стекло в рамках данной статьи мы рассматривать не станем, зато поговорим о том, как с помощью всего двух стрелок часы могут предоставлять информацию о перспективах изменений погоды (как заправский барометр) и даже указывать направление на север и юг (как самый настоящий компас). Процесс перехода из обычного режима отображения времени и превращение часовой и минутной стрелок в стрелки компаса выглядит как некое таинство. Если вращать часы, держа их горизонтально, то ни секунды не оставаясь на месте, стрелки все время будут упорно показывать вам верное направление к полюсам. А как только новоиспеченный турист наиграется с этим прекрасным усложнением, они вновь займут свои места и покажут текущее время. Как же это происходит?
Для этого нам придется заглянуть внутрь одних из первых часов в линейке T-Touch. Уже наметанным взглядом мы увидим по две катушки индуктивности для каждой из стрелок, расположенные не как у Soprod V-образно, а на оборот — параллельно друг другу. Дальше нам остается лишь понять, что под металлической платиной скрываются уже знакомые шаговые моторы с очень маленьким шагом, способные перемещать стрелки на очень маленький угол. Однако стоит отдать марке Tissot должное: даже в кулуарных разговорах с производителями современных калибров все признают, что скорость и точность движения стрелок в T-Touch для многих является недостижимой. Все остальные тонкости реализованы благодаря очень хитрой схеме управления с электронным компасом, барометром, альтиметром и прочими «наворотами», которая передает импульсы на моторы, чтобы те послушно исполнили команды.
Для самых маленьких
По иронии судьбы, самые компактные в мире моторы используются в одних из самых крупных и массивных часах на рынке. Речь идет о флагманских моделях Casio в линейке G-Shock. Несколько лет назад компания уже анонсировала самый маленький в мире шаговый мотор, да еще и приводимый в действие солнечной энергией. Но японцам было нужно больше места в и без того не маленьком корпусе. Для чего? Чтобы поместить в часы GPS-антенну, Bluetooth-передатчик и еще пару датчиков (удара и положения стрелок). Перебирая, на чем бы сэкономить место, остановились на моторах. Проволоку взяли потоньше, намотали ее поплотнее – уже минус в объеме и плюс в мощности. Всех секретов японцы опять же не раскрывают, но поместить сразу 5 моторов вместе со всем перечисленным выше списком деталей им удалось. Да и моторы обрели новый статус – «на 26% меньше чем самый маленький мотор в мире» — инженеры Casio улучшили свой собственный рекорд. А покупатели получили новые часы с широчайшим функционалом, потрясающей надежностью и хронографом 1/100 секунды.
Кварцевый люкс
Возможно, для кого-то это выражение звучит немного иронично, но только не для компании Seiko. В верхней линейке марки Grand Seiko кроме высококлассных автоматических или гибридных калибров вроде Spring Drive, имеются и чисто кварцевые модели, которые по качеству материалов и обработке платин не уступают люксовым швейцарским механическим изделиям.
Одной из проблем, характерной для кварцевых часов, является недостаточный момент, развиваемый шаговым двигателем, из-за чего дизайнеры вынуждены использовать облегченные стрелки. В линейке калибров 9F в Grand Seiko пластиковым деталям места нет, и чтобы обеспечить мотору мощность, достаточную для работы с металлической колесной системой, создатели калибра применили в нем двухимпульсную систему регулирования, отправляющую каждую секунду на мотор не один электрический импульс, а целых два. Развивать больший момент двигателю помогает и увеличение индуктивности катушки: разработанная Seiko технология позволила использовать при ее намотке более тонкую проволоку (толщиной 15 мк вместо обычных 30 мк) и добиться более плотной укладки. Как следствие, число витков и напряженность генерируемого катушкой магнитного поля увеличились в четыре с лишним раза. Позже эта технология очень пригодилась Seiko при создании Spring Drive. Теперь кварцевым механизмам линейки по плечу любые стрелки — даже те, с которыми ранее могли справиться только механические часы.
Автор: Дмитрий Лисов
При перепечатке активная ссылка обязательна
105 [Catalogue_ID] => 1 [Parent_Sub_ID] => 0 [Subdivision_Name] => Статьи [Template_ID] => 23 [ExternalURL] => [EnglishName] => articles [LastUpdated] => 2024-01-23 11:16:24 [Created] => 2016-09-26 11:34:35 [LastModified] => 2024-01-23 11:16:24 [LastModifiedType] => 1 [Hidden_URL] => /articles/ [Read_Access_ID] => 1 [Write_Access_ID] => 3 [Priority] => 3 [Checked] => 1 [Edit_Access_ID] => 3 [Checked_Access_ID] => 3 [Delete_Access_ID] => 3 [Subscribe_Access_ID] => 0 [Moderation_ID] => 1 [Favorite] => 0 [TemplateSettings] => [UseMultiSubClass] => 1 [UseEditDesignTemplate] => 0 [DisallowIndexing] => 0 [Description] => [Keywords] => [Title] => [ncH1] => [ncImage] => [ncIcon] => [ncSMO_Title] => [ncSMO_Description] => [ncSMO_Image] => [Language] => ru [DisplayType] => inherit [LabelColor] => purple [Cache_Access_ID] => 0 [Cache_Lifetime] => 0 [Comment_Rule_ID] => 0 [SitemapPriority] => 0.5 [SitemapChangefreq] => daily [IncludeInSitemap] => 1 [img] => [Pic] => [AlterTitle] => [MainMenu] => 1 [SubMenu] => 0 [SectionText] => [MainArea_Mixin_Settings] => [ncDisallowMoveAndDelete] => 0 [_nc_final] => 1 [img_name] => [img_url] => [img_preview_url] => [img_size] => [img_type] => [img_download] => [img_fs_type] => [Pic_name] => [Pic_url] => [Pic_preview_url] => [Pic_size] => [Pic_type] => [Pic_download] => [Pic_fs_type] => [ncIcon_name] => [ncIcon_url] => [ncIcon_preview_url] => [ncIcon_size] => [ncIcon_type] => [ncIcon_download] => [ncIcon_fs_type] => [ncImage_name] => [ncImage_url] => [ncImage_preview_url] => [ncImage_size] => [ncImage_type] => [ncImage_download] => [ncImage_fs_type] => [ncSMO_Image_name] => [ncSMO_Image_url] => [ncSMO_Image_preview_url] => [ncSMO_Image_size] => [ncSMO_Image_type] => [ncSMO_Image_download] => [ncSMO_Image_fs_type] => [_db_inherit_Template_ID] => 22 [_db_inherit_Read_Access_ID] => 1 [_db_inherit_Write_Access_ID] => 3 [_db_inherit_Edit_Access_ID] => 3 [_db_inherit_Checked_Access_ID] => 3 [_db_inherit_Delete_Access_ID] => 3 [_db_inherit_Moderation_ID] => 1 [_db_inherit_LastModifiedType] => 1 [_db_inherit_SitemapPriority] => 0.5 [_db_inherit_Language] => ru [_db_inherit_IncludeInSitemap] => 1 [_db_inherit_SitemapChangefreq] => daily [_db_inherit_DisallowIndexing] => 0 ) —>