Как стать автором
Обновить

Создание контроллера вторичных часов “Воронеж”

Время на прочтение12 мин
Количество просмотров13K
Всего голосов 85: ↑84 и ↓1+83
Комментарии65

Комментарии 65

НЛО прилетело и опубликовало эту надпись здесь
По эпюрам, расскажите мне где и зачем должен стоять ИИ? Почему перед ним идут импульсы и после него? Что означают эти импульсы, какой в них практический смысл?
Я спрашиваю без какого либо подкола, и допускаю что я не понимаю очевидные вещи.
НЛО прилетело и опубликовало эту надпись здесь
Вот, своими словами, объясните по этому графику, как передать время 00:00:00, если всё очевидно и понятно (самое простое время).
НЛО прилетело и опубликовало эту надпись здесь
Не знаю, что за график сверху, но вы сейчас передаёте 99 часов.

Касательно импульсов, а почему так в эпюрах ИИ стоит где-то по середине, а у вас вначале?
НЛО прилетело и опубликовало эту надпись здесь
Хм… Возможно вы правы.

Согласен с @Gengenid, что положение ИИ между ТИ определяет цифру. :)

Я только не могу понять, как кодируется ноль (крайним импульсом или его отсутсвием) и с какой стороны этот крайний импульс должен быть (оно big-endian или little-endian, так сказать).

Да это можно эмпирическим путём установить, но идея мне очень понравилась.
НЛО прилетело и опубликовало эту надпись здесь
Да, вы абсолютно правы. Сегодня в ночи sfrolov прислал осциллограммы первичных часов, и полностью всё совпало с вашим предположением. Утром попробовал повторить, таки да! Оно работает!
Вот, утром перед работой набросал, попробовал. Таки да, работает!





Тайминги пока неверные, есть ещё что править, но в целом да — это оно.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вот тут ничего не было, но были подтяжки к сигнальным линям и конденсаторы по питанию, справедливости ради, сигнал с L9110S был чище (осциллограммы в середине статьи). А вот с IR4427 более зашумлён. Но я не ставил никаких фильтрующих конденсаторов по питанию.

почему для разных разрядов разное количество ТИ.

Мне кажется, что эти эпюры рисовал кто-то незнакомый с работой этих часов. :/

У десятков часов — девять ТИ, то есть восемь промежутков для ИИ. У единиц часов — десять ТИ. У десятков минут — восемь ТИ, у единиц — опять девять ТИ. У десятков секунд — восемь дырок для ИИ, но ТИ у них то ли восемь, то ли девять, ибо последний импульс состоит только из вертикальной палочки. У единиц секунд — опять девять ТИ.

Кажется разумным, чтобы их было девять или десять. Или чтобы у десятков минут их было пять-шесть, а у десятков часов — один-два ТИ вместо десяти. Действительно что-то непонятное.

НЛО прилетело и опубликовало эту надпись здесь
Либо инженер рисовал в день выдачи зарплаты ;).

В тексте указано, что пачка ТИ состоит из 10 импульсов. Так что это художник так видит.

Рискну предположить, что если СИ — синхроимпульс, ТИ — тактовый импульс, то ИИ — информационный импульс или инфоимпульс.

UPD: отвечал на вопрос "что же такое ИИ?", не заметив, что и в документации, и параграфом выше это было написано. >_<

Ну да, я об этом говорил в тексте. Но для чего он нужен?

У меня сложилось впечатление, что он как раз и задаёт, какую цифру показывать на индикаторе.

У всех этих пакетов есть отрицательный сигнал СИ в самом начале, потом череда тактовых импульсов. И один из этих тактовых импульсов доходит не до нуля, а "проваливается" вглубь на -3 вольта. И он устанавливает отображаемую цифру, насколько я понял.

Если что, я электроникой только в институте лет пять назад занимался, моим словам веры нет. Просто это интересно. :)

Как интересно. Они по сути просто экран на проводе. Думал, что они имеют собственные часы с дешевым тактовым генератором и по проводу только "подводятся".

ps на них можно вывести 99:99?

Нет, это просто показометр. Можно даже дату показывать (нет ограничения, можно вывести 99:99:99).
НЛО прилетело и опубликовало эту надпись здесь
На самом деле, если прям очень сильно захотеть, можно пройтись по библиотекам и найти много интересной информации, я так в Ленинке нашёл по моделям паровых двигателей просто сокровищницу. Но это надо очень-очень много свободного времени, либо потратить отпуск.

Мы в Ленинке ещё будучи пионерами выискивали инфу по АОНу до того как они появились на МК. До18 одних ещё и не пускали тогда.

Зато пускали в филиалы ГП-НТБ, которых AFAIR в Москве было несколько, и где я нашёл книжку с описанием систем сигнализации телефонной связи (в т.ч. междугородней) :)

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

Спасибо!

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

Потупив взгляд в пол, скромно шаркаю ножкой.

а буквы писать можно?

В рамках протокола, к сожалению только цифры, но если влезть в железо…

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

Чтобы ответить на этот вопрос, надо знать ответ на другой: какой тип цифровых индикаторов применен в этом будильнике-приёмнике? Светодиодный, газоразрядный, вакуумно-люминесцентный, жидкокристаллический, на электронных чернилах?

Вообще, для этих целей есть Q&A
НЛО прилетело и опубликовало эту надпись здесь
Буквально первый же результат поиска находит вот такие работы Сергея Фролова: вот тут и тут.


А вы видимо не читали пост, раз мне советуете публикации на которые я ссылался трижды в посте, даже приводил цитаты из них.

P.S. Кстати, на его видео часы показывают ярче и чётче, чем на вашем.

Об этом я тоже написал.
НЛО прилетело и опубликовало эту надпись здесь
Он тоже в своем посте не до конца понял.

Просто у Вас часы видимо прилично поработавшие, и индикаторы у них выгорели

Стрелочные часы поинтереснее

Они сильно примитивнее устроены. Ну я оба варианта разбирал.

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

СИ - 50 Гц (0,020 сек) - отображение 6 индикаторов НН:ММ:ss, без видимого мерцания.

ТИ - 300 Гц (6 пачек - на каждый индикатор, поочередно загорается и гаснет)

частота импульсов в пачке - 3000 Гц (300*10 импульсов в пачке).

Схема информационного сигнала очень принципиальная (не точная).

Могли бы вы нарисовать, что вы имеете в виду? Между пакетами нет паузы, есть пауза между посылками каждой цифры.

ну например так, только в этом примере 4 пачки вместо 6 (видимо нет секунд)

Титанический труд! Супер!

Громадное спасибо, от тебя в двойне приятно такое слышать!

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


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

"Сергей не был готов делиться информацией", "не удалось уговорить продавца, чтобы я смог снять живые сигналы с его часов" - странные какие-то люди в роли собаки на старом сене. Охраняют тайну коммерческую что-ли :)

Вообще это печально. Стараешься, помогаешь, а про тебя такое пишут.

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

В любом случае, я невероятно вам благодарен за всю информацию, и подчёркиваю это.

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

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

И тут я понял что без класического подхода программирования, когда пишется тест, а потом под него пишется код тут просто не обойтесь. Так я открыл для себя VisualMicro - расширегие для Visual Studio. Из коробки можно создать проект который будет запускаться прямо на ардуино. Далее я создал отдельный проект библиотеку на СИ и отдельный проект для написания тестов.

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

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

Имел дело с подобным протоколом, отрицательные импульсы формируют сигналы сброса/установки счётчиков, интересно было бы схему внутренностей посмотреть, но предполагаю напряжения 12 В многовато. Вот предположительная последовательность для формирования 01:23:45.

НЛО прилетело и опубликовало эту надпись здесь
Громадное спасибо, да, оно

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

а индикаторы похожи на просто неравномерно выгоревшие и программно это не лечится.

А есть фотографии устройства?

индикаторы похожи на просто неравномерно выгоревшие и программно это не лечится

Так оно и есть. Разбирал когда-то подобные часы. Индикаторы пришлось выбросить - они вот так вот светились даже просто при подаче напряжения.

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

Ну и на правах оффтопа мой небольшой опыт формирования импульсов с помощью МК.

У меня есть мысль всё переписать на си, но тогда потеряется прогресс на гите. Кстати, как обойти эти проверки и сразу писать в порт, ну кроме ассемблерных вставок?
НЛО прилетело и опубликовало эту надпись здесь
А жёлтая термоусадка хорошо косплеит повидавший виды бело-серый ПВХшный кембрик…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий