Радиоканал 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 писал на ассемблере.

Исходники.
Поделиться публикацией
Похожие публикации
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 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
                    на e-bay 20$ за пучок
                      0
                      а я по 9 с усилителем брал
                      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 и вызывать глюк каждый раз при регистрации импульса.

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

                                                          Самое читаемое