Калибратор частотомера из GPS приёмника

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (6 оценок, среднее: 4,67 из 5)
Загрузка...

Несколько лет назад я уже изготавливал эталонный генератор для калибровки частотомеров. Но время летит и аналоговое телевидение, которое я использовал в качестве источника опорного сигнала, в нашей стране прекращает вещание.
На глаза попалось несколько сайтов, на которых радиолюбители экспериментировали с GPS приёмниками известной фирмы uBlox, применяя их в качестве источника стабильного сигнала. Должны работать приёмники NEO-6T, NEO-7 и NEO-8.

Почитал документацию и удивился — производитель обещает стабильность частоты (после синхронизацией с сетью спутников GPS) около 10 минус 12 степени! (а стабильность обычного кварцевого генератора обычно около 10 минус 5). Т.е. по такому прибору можно калибровать самодельные частотомеры.
Схема калибратора вышла простой до безобразия: один широкодоступный микроконтроллер, несколько резисторов и шесть светодиодов. Всё.
Первая прошивка настраивает приёмник на формирование частот 2,3,4,6,8 и 12MHz.
Вторую прошивку я доработал и немного расширил список формируемых сигналов: 250kHz, 500kHz, 1, 2, 3, 4, 6, 8, 12, 16 и 24MHz. Переключение осуществляется кнопкой по кругу.
Светодиоды отображают то выбранную частоту (частыми миганиями), то уровень принимаемого сигнала (линейкой из горящих светодиодов от 1 до 6).
В качестве источника питания я применил аккумулятор от мобильного телефона. Так легче перемещать на подоконник приёмник для ускорения синхронизации со спутниками. После того, как светодиод  1pps перестанет мигать и загорится непрерывно, можно калибровать свой частотомер. Сигнал снимается с выхода управления светодиодом 1pps.

Модуль приёмника у меня вот такой: https://www.ebay.com/itm/rym25ai-10hz-uart-usb-interface-gps-glonass-qzss-antenna-module/171607323229

Файлы прошивок и рисунок печатной платы можно скачать тут

Если у Вас возникнут вопросы или Вы захотите связаться со мной, сделайте это с помощью формы на страничке «Обратная связь»

62 thoughts on “Калибратор частотомера из GPS приёмника

  1. Здравствуйте Eddy. собрал калибратор,подал питание,поочередно замигали светики,начал мигать светодиод на модуле,красный который, и все….т.е. идет синхронизация со спутниками. подскажите пож.сколь долго по времени может занять этот процесс?

  2. Это зависит от условий приёма и расположения спутников на орбите. Они не геостационарны, как телевизионные, а постоянно перемещаются. Бывает что в зоне прямой радиовидимости из окна с десяток «висит», тогда модуль с холодного старта секунда за 15-20 уже синхронизируется, а бывает, что группировка на тыльной стороне дома. В таком случае модуль может и несколько минут синхронизироваться. Обновление альманаха происходит примерно за 12-15 минут. После этого в течении трех суток, если не снимать с модуля питание, он будет выполнять не холодный, а горячий старт с ускоренным поиском спутников.
    Радиосвязь штука капризная 🙂

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

  4. Если на модуле приёмника светодиод замигал, спутники он увидел. Далее если сигнал от модуля NEO-7 доходит до контроллера (RX-TX не перепутаны и соединены верно), индикация контроллера должна измениться, а светодиод приёмника должен загореться непрерывно.

  5. Добрый день .Собрал данный калибратор , после включения помигают по очереди светодиоды и на этом все .Модуль рабочий . Какие сигналы должны быть на контролере , почему контролер (засыпает ) может с фус битами что напутано . Если кто может , помогите с данной проблемой .
    Заранее благодарю .
    Петр . 73! .

    1. Доброго дня, Пётр.
      Если Вы фузы не трогали, то в прошивке с ними всё нормально. Проблемы могут быть если программатор К150. Не знаю почему, но регулярно получаю письма с жалобами на результаты прошивки именно этим программатором.
      Вот тут на форуме есть материалы других людей, повторявших прибор:
      http://vrtp.ru/index.php?showtopic=16698&st=200

      1. Спасибо за ответ . Программатор TL866 пробовал и К-150 Смотрел им калибровочную константу ,TL866 ее не показывает . Какие сигналы должны быть на 6 и 7 ноге пика и как он должен работать при отключенном модуле . С модуля сигнал приходит а с пика положительное напряжение питания и все .

  6. Контроллер обменивается с GPS-приёмником командами по ногам TX-RХ и они «договариваются» для нормальной работы калибратора. Осциллографом по этим линиям будут видны пачки импульсов на фоне трехвольтовых уровней линий.

  7. Все я это понимаю и сигналы на пике просмотрел сразу . ( Хантек 5102 ) . После включения пробегает дорожка светодиодов туда и обратно и все останавливается .Так должно происходить при включении ? . На пике нет сигналов кроме как из модуля . Меня интересует почему тормозит пик . Уже грешу на вирус , может покопался в прошивке .Может кто знает какие должны стоять фус биты .

  8. Чтобы вирусы лазили по прошивкам я такого ни разу не видел. А программаторы могут пакостить.
    Пик ждет приёма спутников. Когда их будет поймано более трёх штук, он начнет с модулем общаться согласно установленной частоты.

    1. Доброе утро .То что вирусы портят файлы я думаю Вы сталкивались , а прошивка не исключение .
      Я не могу понять автора прошивки , зачем ставить бит защиты от чтения , программаторы ругаются .
      Почему не обнародовать фус-биты .
      По поводу спутников : На внешнюю антенну до 10 спутников принимает а выход с пика нет и кнопка не работает . А я так понимаю что пик должен менять конфигурацию модуля . На Пик грешить не могу , 2 штуки купленные в разное время в разных магазинах . Один работал в CW-ключе без проблем .
      Жалко потраченного времени .
      Петр .ua6bqr 73!/

  9. Вирусы портят исполняемые файлы — с помощью которых они могут распространяться. HEX-файл для этой цели не подходит.
    Фузы открыты на всех моих прошивках и программатор их спокойно читает и показывает.
    Бит защиты стоит на всех моих прошивках. Зачем читать прошивку, если Вы не контроллер?
    Плохие программаторы портят калибровочную константу в контроллере, из-за чего частота тактового генератора изменяется и контроллер перестаёт понимать обмен на стандартных скоростях, при этом вполне нормально работает в разных новогодних гирляндах/моргалках.
    Попробуйте воспользоваться нормальным программатором, хотя бы PICkit2 или PICkit3. На Али они всего по 8 долларов. Мало того, что прошивают корректно, они позволяют восстанавливать поврежденную другими программаторами калибровочную константу.

    1. Если программатор TL866ii Plus не подходит для Вашей прошивки тогда извините меня что отвлек Вас . Для меня эта тема закрыта .
      Удачи Вам .
      С уважением Петр . 73 ! .

  10. Пётр, Пётр. Ну вы кажется обиделись на Эдди. 2 года назад, я был на вашем месте, и Эдди меня туда же «послал»… PicKit2 заказать на али не мог, собрал сам, из мусора, доволен. Больше проблем не имею. Спасибо, Эдди, столкнул старика…
    Вопрос по теме. Эдди, а можно использовать модули от старых навигаторов(Mio к примеру)? У меня их много. Пока прибор не нужен, но собрать стоит, вдруг понадобится. Вдруг он сможет данные о месте положения отправить по RF 433 сможет.

    Ещё вопрос. А вы можете создать простую с схему/прошивку? энкодер(допустим от мышки)+пик+ключ(транзистор) как регулятор оборотов/света/или просто напряжения?

    И ещё вопрос pic10f222 можно заменить на pic10f206?
    Извините, что свалил всё в одну кучу, Не люблю плодить сообщения…

    1. Если модули именно NEO-6-7-8 то почему бы и нет. (хотя как теперь выяснилось, модули не со всеми буквами умеют нужные частоты генерировать на выходе:
      «Configurable Timepulse frequency range:
      NEO-6G/Q/M/P/V — 0.25 Hz to 1 kHz
      NEO-6T — 0.25 Hz to 10 MHz»
      Могу. Всё могу. Ну почти. Когда время есть.
      У пика 206 нет на борту АЦП, как у 222. Так что увы.

  11. «Могу. Всё могу. Ну почти. Когда время есть.»
    Смоги, если время позволит.
    Мои нужды: станок-сверлилка на литии(DC/DC-24В), станок намотка литий(3,7В), токарник (12В), и так далее. везде нужен рег.вращения. Алгоритм прост, МК на 10-12 ступеней. Напряжение не важно, МК всё равно на 3-5В и подача импульсная. Общий (-).
    У тебя была прекрасная схемка «шкала на 12сд». Вот её и энкодер, пик 16ф676, транюк с материнки. Просто, доступно, дёшево ну и функционально.
    Как-то я просил на анимированую зарядку для лития, таймер добавить и вкл/выкл. от аксиломера(датчиков уйма, в каждом шагомере, смартфоне, джостике…). Паяльник у меня на этой схемке. А теперь посмотри на свой Т100(у меня такой же 2шт) и сделай так же, только без темпиратуры, и на табарейках.
    с уважением

  12. Привет.
    Спасибо, Eddy, за полезные разработки.
    Собрал калибратор, все запустилось с пол-пинка, но не до конца. Светодиод на GPS модуле продолжает моргать 1 pps.
    Светодиоды контроллера поочередно индицируют уровень (светятся 5 шт — 5 спутников, как я понял) и выходную частоту. Кнопкой частота переключается, судя по светодиодам.
    Сигал ТХ до модуля доходит (импульсы присутствуют только при переключении частоты, в остальное время там питание).
    Скорее всего проблема в самом GPS модуле NEO-6M, не хочет он выдавать нужные частоты.
    Есть еще вот такой безымянный китаец:
    https://item.taobao.com/item.htm?spm=a1z09.2.0.0.79602e8dVShIPh&id=575970854802&_u=62q0cs6g02ab
    но он «голый», без переходной платы. Попробую сдуть с платы NEO-6M и запаять этот — вдруг заработает.:)

    1. Уже на форумах и тут всплывало, что китайцы часто продают модули с разборки, с кастомными прошивками. Так что одно название не гарантирует.. Увы.

  13. Собрал калибратор, все заработало но есть один вопрос.Подскажите пожалуйста, если в контролере затерта калибровачная константа повлияет ли это на точность выходной частоты с модуля?

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

  14. Вот чего понять не могу, так это откуда частоты снимать. В статье написанно «Сигнал снимается с выхода управления светодиодом 1pps.». Это где? На самом модуле GPS? У меня модуль NEO-8 там прямо нога 1pps выходит, я так понимаю мне с нее сигнал снимать? И как вообще это работает, контроллер модуль перестраивает на выдачу нужной частоты?

  15. Точно такая же ситуация как у petr958. Один в один. Шил самодельным PICKit2, он меня пока ни разу не подводил. У меня контроллер PIC12F629, может с этим связано? Или модуль все таки? Пока доигрался до того что спалил стабилизатор на модуле…..Модуль у меня вот такой(не рекламма)http://jewelfox.ru/lot.php?id=15294. Кстати, мой экземпляр ловит в помещении только со внешней антенной, которую в форточку выставил, смотрел через u-center. Ловил вернее:( Что посоветуете, даже не знаю куда копать…

  16. Да , и на схеме и печетке различия есть, светики по разному распаяны и резистор R3 на схеме 1k а на печатке 10k. Где правильно? Я сделал все как на печатке и такой результат. Пока проверить не могу, модуль спалил.

  17. Собрал на макетке под свои «хотелки»: выход частоты на штырьки и BNC, а питание — через адаптер 9В. Светодиоды соединил как на печатке из архива, а резюки все по 1к поставил. Прошивал самодельным полнофункциональным клоном PicKit2, по ходу пришлось калибровочную константу восстанавливать. Заработало сразу, если не считать, что вначале rx-tx наоборот припаял. Когда они перепутаны, то при включении линейка светиков пробежит туда-обратно и на этом все. Спутник ловит в зависимости от текущих условий: вчера это заняло меньше минуты, а сегодня — минут 15-20. Очень полезное устройство, спасибо автору!

  18. Добрый вечер. Собрал плату, прошил 12F629. Сначала прошивал TL866 программатором, но оказалась что он не правильно шьет данную микросхему. Стирает калибровочную константу, контроллер после прошивки не работает (нет бегущего светодиода). Одолжил Pickit 3, собрал схему для восстановления калибровочной константы, прошил по новой. Бегущий светодиод при включении появился, но больше никакой реакции. Проверял с модулями НЕО-6 и НЕО-8 под открытым небом, менял местами TX RX, видит более 10 спутников. Какая скорость обмена должна быть? У меня модуль работает на 9600.

    1. Доброго дня.
      Как раз на 9600 контроллер с модулем и общается. На всякий случай проверьте питание контроллера (помехи и напряжение).
      Калибровочную константу PICkit восстанавливает без схем, в меню Tools есть опция. Попробуйте ещё ей восстановить.

  19. Добрый день. Собрал на макетке схему для калибровочной константы с сихронизацией от сети 50 Гц. Оказалось что она равна 3440, а уменя было 348С. Прошил и все заработало. Спасибо за помошь. 🙂

  20. Добрый день. Пробую собрать ваш калибратор, но не хотелось бы ошибиться в выборе комплектующих. Как вам удалось получить на выходе 12, 16 и 24MHz, если по даташитам на приёмники NEO-6T, NEO-7 и NEO-8 максимум Frequency of time pulse signal 10 MHz? К сожалению ссылка на ваш модуль с ebay умерла и посмотреть его параметры не получилось. NEO-7 и NEO-8 проверялись с этой прошивкой и точно заработали? Получается выше 10 это недокументированные частоты и они есть?

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

      1. А вы на каком собирали? На шестом? NEO-6T? Они вроде все обратно совместимы. По крайней мере так пишут в даташитах. Но всё равно непонятно, как вам удалось получить на выходе 12 и выше, если для них всех указана верхняя 10?

        1. На шестом и седьмом. Оба были позже раздарены знакомым после использования по назначению калибратора. Так что сейчас даже подопытного нет под руками.

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

  21. Судя по даташиту разница в internal oscillator — crystal (M) и с температурной компенсацией tcxo (N). И в 7N всякие Data Logging, Programmable flash, Additional SAW и LNA. Небольшая разница в чувствительности. Про выход ничего не пишут. Полагаю, должен быть в обоих версиях. Закажу, попробую.

  22. Здравствуйте уважаемый Eddi! Взяв за основу Вашу конструкцию, я сделал приёмник-компаратор. Это даёт возможность не только получать на выходе сетку частот но и сличать, и вычислять погрешность установки частоты опорных генераторов 5 и 10 MHz. Теперь вопрос, могу ли я опубликовать эту конструкцию на радиолюбительском сайте http://www.cqham.ru , разумеется с ссылкой не Вас? Не будете ли Вы против?
    А за конструкцию Вам огромное спасибо! Давно искал что то на подобие. Сам я к сожалению не программист и написать ПО для контроллера я не в состоянии.
    С уважением Александр.

  23. Здравствуйте уважаемый Eddi! Хочу повторить Ваш «Калибратор частотомера из GPS приёмника» и не могу прошить МК. Есть 3 мк в дип и 2 мк в смд, программатор PIKkit 3 и JDM. На диповских я когда то делал термометр, генератор розового шума, и всё прошивалось, а сейчас чтобы я ни делал у меня вылазит красный экран с надписью: Verification of Program Memory failed at address 0x000000. Что с этим делать ума не приложу, я не программист, я повторюшка. И блок пришёл NEO-7M-0-000.
    С уважением Александр.

    1. Доброго дня, Александр.
      А для чего Вы пытаетесь делать повторную верификацию? Вы не доверяете верификации, которую делает программатор автоматически во время программирования каждой ячейки?
      Посмотрите, как я прошиваю контроллеры:
      https://www.eddy.com.ua/archives/719
      И запаяйте контроллер в плату калибратора

  24. Eddi! Меня смущает вот что. После записи, да горит зелёный экран, что всё записано и проверено. Я выключаю программу и снова её включаю, и пытаюсь её прочитать(раньше читалось и воспроизводилось то что ты записал), а там одни нули и калибровочная константа. Я провёл запись на программаторе JDM и icprog106, а также WINpic800 везде вылазит красный экран с надписью: Verification of Program Memory failed at address 0x000000 либо что то подобное . Если после зелёного экрана верификации вставить МС в устройство и оно будет работать, то тогда всё ОК. БОЛЬШОЕ СПАСИБО

  25. Если поле зелёное, то при записи каждой ячейки памяти программатор произвел верификацию и перешел к следующей. После успешной записи всего кристалла программатор прошил конфигурационное слово и закрыл возможность чтения. Если Вы не контроллер, зачем Вам читать его? Им надо пользоваться в плате, а не читать байты..
    (я ими занимаюсь с 1987 года постоянно, но до сих пор не научился понимать поле байтов в окне программатора)

  26. Здравствуйте, Eddy. Тоже собрал устройство. Модуль NEO-7M. Все работает без проблем. Правда, чтобы уверенно ловил спутники, приходится выносить ближе к балкону. Выносную антенну применять не стал, наоборот, выходной сигнал пустил по кабелю. Форма сигнала, естественно, отвратительная получается, но это не имеет принципиального значения. Откалибровал свои частотомеры. Оказывается, никому из них верить нельзя было.

Добавить комментарий