Радиоканал 433МГц и синхронизация времени от GPS

image Доброго времени суток!
Хочу поделиться опытом создания системы единой синхронизации времени в пределах квартиры/офиса c элементами олдскул и постапокалипсиса.

Всегда хотел сделать часы, не нуждающиеся в коррекции времени. В студенчестве пытался собрать приёмник сигналов синхронизации времени на ДВ (DCF77), даже кварц нужный выпилил. Но сигнал из Германии доходил слабый, да и антенна нешуточная получалась.

Потом появилась возможность синхронизации от GPS. В своё время приобрел RS232 GPS модуль, выдающий информацию о координатах в NMEA, который подключал к чёрно-белому PALM m105 и радовался программе PathAway. Но прогресс на месте не стоял, появились другие задачи и GPS модуль провалялся на полке до текущего момента.

Недостаток синхронизации времени от GPS — необходимость располагать приемник в прямой видимости хотя бы одного спутника, что в разрезе часов не всегда приемлемо. В связи с этим появилась появилась идея беспроводной синхронизации, т.е. приёмник располагается на подоконнике и по радиоканалу раздаёт близлежащим желающим точное время. Городить дуплексный канал, чтобы время синхронизировалось по запросу, счёл излишним. GPS приёмник сам передаёт синхронизацию с заданным периодом.

В качестве радиоканала применил лежащие без дела узлы дохлой автосигнализации (рабочая частота 433мГц). После обновления сетевого оборудования в родной конторе (провайдерской) освободились свитчи отечественного производства LightCOM S100, управление которого строилось на процессоре PIC18F452, так что дополнительных финансовых расходов не предвиделось.

Для избежания дальнейших вопросов ниже по тексту, устройство с GPS-приёмником и передатчиком синхронизации буду называть передатчиком, а часы с приёмником синхронизации — приёмником.
Исторически привык собирать схемы на монтажных платах при помощи МГТФ.
image
Так что сторонников ЛУТа прошу не пинать. Выпилив процессор приклеил его к монтажке. Схемы передатчика и 2-х часов не привожу, в коде есть пинауты.
Итак начну с передатчика:
image
Система функционирования передатчика проста. Принимаем USART портом PICa NMEA предложения и достаем оттуда данные о текущем времени, дате и актуальности этих данных. Как только подходит период синхронизации (у меня 4 минуты) — передаём всё это в эфир. Из особенностей схемы передатчика замечу следущее:

— схема питается от 5 вольт, в то время как брелок хочет 12 Вольт. Пришлось городить диодно-конденсаторный удвоитель напряжения.
— чтобы не делать преобразователь уровней из RS232 в TTL вскрыл GPS модуль и вывел TTL сигнал до выходного RS232 преобразователя.

Вот обратная сторона передатчика:

image

Особенность радиообмена автосигнализации — необходимость в передаче т.н. преамбуле — меандра определенной длительности для выхода приемных цепей и АРУ в стабильный режим (можно почитать спецификацию на keeloq в интернетах). Итак, передав преамбулу, передаём нужные байты и в конце — байт контрольной суммы для уменьшения вероятности ошибок на приёмной стороне.

Первый приемник синхронизации (часы) сделал на основе индикатора от списанного кассового терминала:

image

Особенность этих часов, да и любых, использующих внешнюю синхронизацию — отсутствие необходимости в собственных точных часах (RTC), обычно реализуемых на микросхемах с кварцами 32768 или имеющихся на борту большинства современных микроконтроллеров. В принципе таки часы можно делать и на RC-генераторе. Главное чтобы точность не значительно плыла за время периода синхронизации.

image

Схема часов тривиальна. Индикатор подключен в режиме 4-битной шины данных. На вход int0 PICa приходит выход от приёмника автосигнализации. Для реализации отображения больших цифр на 2-х строчном текстовом индикаторе пришлось использовать клиенто-изменяемые символы в cgram. Дизайн символов честно спер.
Найдя в загашнике лампы ИН-14, которые чуть младше меня, не смог удержаться от создания вторых часов:

image

Схемотехнически, тут также нет особых изысков, но все же:
— индикация стстическая (благо есть много свободных выводов у PICa да и 155ИД1 хватает).

image

— пришлось вешать на радиатор греющиеся элементы

image
умножителя напряжения (180Вольт по спецификации на лампы ИН14)

image

Еще пару дизайнерских ходов для подчёркивания постапокалиптического сюжета:

— решил упаковать часы в противогаз, для чего пришлось сделать манекен головы из монтажной пены и кусков пенопласта:

image

— в индикацию добавил глюков (покажу на видео)
— добавил зуммер для создания звуков работающего дозиметра
— глюки и сигнал дозиметра формируются с помощью функции rand() в c18, seed которой формируется с участием атмосферных шумов, берущихся в с выхода приёмника.
— переключение минут сопровождается выключением умножителя и красивом потуханием индикации

Готовые часы номер 2:

image

Видео работы:



Еще видео:



Писал первый раз на c18. Раньше под PIC писал на ассемблере.

Исходники.
Поделиться публикацией
Похожие публикации
Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

Зачем оно вам?
Реклама
Комментарии 61
  • +4
    потрясающе
    • +4
      Ух ты. А я сначала посмотрел видео и подумал, что глючат, ан нет так надо. Крутой дизайн.
      • +1
        Для синхронизации времени в Москве можно использовать RWM ru.wikipedia.org/wiki/RWM

        А если нужно, чтоб устройства были покомпактнее, можно воспользоваться готовой ардуино-совместимой платкой jt5.ru/arduino/colibri/ Там микроконтроллер и RF трансивер на 868MHz.

        • +2
          я не в Москве.
          Есть и более дешёвые трансиверы. Например, на основе NRF24L01 (2.4ГГц).
          • 0
            трансивер, трансиверу рознь :)

            ваш пример — неплохо подойдет для синхронизации внутри помещения.
            а решение, что на EZRadioPRO с 13dBm мощности — для синхронизации хоть между зданиями :)))
            • +1
              он и задумывался для работы внутри помещения и именно маломощный передатчик, чтоб помех лишних не создавать
              • +1
                У «правильных» трансиверов выходная мощность задается программно, можно повышать/понижать.
              • 0
                китайцы продают nRF24L01 на платах с усилителями. на открытом воздухе у меня удавалось до 1200 метров без ошибок.
                • 0
                  да, без усилителя nRF24L01 мало где пригодны, мощность излучения всего 0dBm.

                  такие, без усилителя на www.sparkfun.com/products/691 стоят 20$ за штучку.
                • 0
                  А на какой частоте у вас 1200м получилось? ;-)

                  Что-то мне подсказывает, что вы вылезли за диапазон 2400-2483,5Мгц, и естественно вам никто не мешал :-)
            • 0
              Кхм, согласно разделу «Часовая программа работы радиостанции», информация о времени приходит всего по 20 минут в час? Если да, то это однозначно вершина советского юзабилити, особенно по сравнению с GPS.
              • 0
                С относительно стабильным генератором секунд в устройстве, которое использовало бы RWM, этого вполне достаточно. Радует наличие информации о астрономическом времени.
                • 0
                  В принципе, да, но, думаю, гораздо удобнее, если устройство, будучи включенным в любой момент времени (или после неожиданной потери питания), получало бы сигналы точного времени сразу после включения.
                  • 0
                    согласен, но так либо эфир забивать ежесекундными посылками, либо делать двунаправленный обмен
            • 0
              Плин, сурово! Ночью, наверное, вообще здорово выглядит!
              • +1
                Классно. Надо другу радиолюбителю посоветовать.
                • 0
                  Суровые часы получились! Такими только минуты до начала ядерной войны отсчитывать. А как покажут 00:01 — хватать противогаз и укрываться в складках местности. Кстати, его еще можно использовать по назначению?
                  • 0
                    можно. только от окуляров подтягивающую проволоку отцепить.
                  • +2
                    Вообще класс)
                    Только предупреждайте нервных друзей если они не знают о противогазе, а то может конфуз приключиться)
                    • –6
                      Оффиса.
                    • +4
                      охренеть. просто охренеть.
                      • +3
                        А ну как если ебанёт газовая атака, надо срочно экипироваться, а у вас противогаз на часы натянут.
                        • +2
                          противогаз сохранил фунциональность
                          • 0
                            Ну это хорошо, но времени будет мало, а из него ещё пенопласт выковыривать…
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • +33
                            Позволю себе немного madskillz'а:
                            • 0
                              А как глюки в отображении делали?
                              • 0
                                оу, сорри — не заметил. уже нашел. Но все-равно, интересно узнать подробнее
                                • 0
                                  в принципе в исходниках попытался максимально комментов написать.
                              • +2
                                Можно добавить в схему акселерометр и внести зависимость глюков от его показаний: например, чтобы после хорошего стука глюки на некоторое время исчезали вообще.
                                • +2
                                  вариант. но художественный замысел в том, что глюки вызваны какбэ повышенным радиационным фоном
                                  • –1
                                    И микрофон, что бы возгласу «Работай, сука!» они синхронизировались.
                                  • +5
                                    Отличная штука получилась! И ИН-14 невероятно круты. Где ж их найти…
                                  • +2
                                    В окуляры противогаза было бы неплохо вставить затемняющий фильтр, чтобы не было видно цоколей ламп и прочего содержимого.
                                    • +2
                                      Единственный минус конструкции — после БП девайс будет бесполезен, так как в случае серьезной заварухи спутники посбивают первыми:)
                                      • +2
                                        согласен. источник точного времени можно сделать например из песочных часов web-камеры и чего-то с OpenCV :) Главное формировать пакет синхронизации и послать его в эфир.
                                      • 0
                                        А сзади противогаза специально красным замазали с имитацией под отрубленную голову? :)
                                        Или у меня фантазия бурная? :)
                                        • +1
                                          просто из аэрозольных красок под рукой оказалась автомобильная грунтовка :)
                                          • 0
                                            Спасибо за ответ, значит таки второе :)
                                        • +1
                                          Вы — герой комиксов, сумасшедший ученый! Браво!
                                          • 0
                                            Теплые ламповые цифры…
                                            Клевые округлые такие =)
                                            • +2
                                              У меня, кстати, весьма неплохо ловится ДВ-сигнал из Германии в Москве на обычную погодную станцию Oregon (которая с беспроводными датчиками). При этом станция стоит не на окне, а в глубине квартиры. Более того, на индикаторе сигнала точного времени две полосочки из двух. Единственное неудобство, что у центрально-европейского времени есть летнее время, а у нас уже нет: приходится пояс часовой два раза в год менять, спасибо Медведу.
                                              • +2
                                                а по-подробней? какая модель?
                                                • 0
                                                  Oregon Scientific RMR500. Обычная бытовая погодная станция. Она уже слегка устарела, есть более современные аналоги.
                                                  На погодной станции есть переключатель источника сигнала точного времени: Гринвич, UK и Франкфурт на Майне, EU. Я принимаю сигнал из Германии.
                                                  Место действия: окраина Москвы, плотная 14 — 17-этажная застройка, 7 этаж, в коридоре.
                                              • 0
                                                Обратный отсчет с издаванием звуков смотрелся бы просто завораживающе-жутковато.
                                                • 0
                                                  гы-гы до конца смены или до конца смены пятницы ;)
                                                • 0
                                                  Отличные часы получились! Лампы впечатляют. Можно вас попросить принципиальную схему выложить?
                                                  • +1
                                                    я её отдельно не рисовал. могу описать:
                                                    — индикация статическая (4 дешифратора 155ИД1)
                                                    — умножитель для ламп — на 34063 с MOSFETом (масса схем в гугле)
                                                    — PIC 18F452 с кварцем 10МГц (см даташит на него + распиновка в исходниках)
                                                    — питание умножителя коммутируется p-канальным mosfetом (имя не скажу — из тушки ноутбука вынул)
                                                    в принципе всё.
                                                  • +1
                                                    Постапокалиптическая схема!

                                                    Ламповые индикаторы 25-летней выдержки, smd компоненты, микроконтроллеры, выпиленные из плат найденных на свалке… и ИД1 на панельке :)
                                                    Все это говорит, что нам никакие катастрофы не страшны.
                                                    • 0
                                                      про МГТФ забыл :)
                                                      лампы 35-летние
                                                      • 0
                                                        Старею :( В уме 4-х значные цифры уже плохо считаю… :(
                                                    • +1
                                                      На одной из фотографий заметил надпись, «WiFi bot». Описание как делали и чего добились не напишете?
                                                      • 0
                                                        тест на внимательность пройден! :)
                                                        вкратце:
                                                        2-х моторная платформа
                                                        мозг: D-Link DIR-320 с прошивкой от Олега, usb-хабом и флешкой.
                                                        в нём на perl-е написан демон, принимающий команды по WiFi, также видеостриммер usb web-камерой.
                                                        демон передаёт команды через usb-com преобразователь, грешен, ардуиноподобной железке, которая через ШИМ управляет платформой и приводом web-камеры.
                                                        Управление и наблюдение за пейзажами с web-камеры осуществляется с компа под виндой, для чего написан на C# клиент.
                                                    • +1
                                                      Кстати можно было бы на самом деле привязать глюки к радиационному фону.
                                                      Поставить туда, например схемку со счетчиком СБМ-20 и вызывать глюк каждый раз при регистрации импульса.

                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.