РадиоКот >Схемы >Цифровые устройства >Автоматика >

Теги статьи:

Коррекция точного времени часов по сигналам от GPS

Автор: wws63
Опубликовано 08.09.2022
Создано при помощи КотоРед.

         Много лет назад я разработал свой очередной вариант настенных часов с функцией термометра, в которых тактирование и отсчет времени осуществлялись кварцевым генератором [1]. Эти часики до сих пор исправно работают у меня дома и, хотя их точность хода достаточно высокая (опоздание составляет примерно полсекунды в сутки), раз в пару месяцев, когда уже становится заметным отклонения хода часов, приходится проводить ручную коррекцию времени по данным из интернета.
И вот было решено создать девайс, который по сигналам точного времени со спутника корректировал бы точность хода часиков. В качестве основы выбор пал на модуль глобальной системы позиционирования (GPS) на чипе NEO-6M (U-Blox) Это очень популярный, недорогой и высокопроизводительный модуль GPS с керамической антенной, встроенным чипом памяти и резервной батарей.         

И так, схема устройства проста и компактна, и выполнена на базе микроконтроллера PIC12F1822. Модуль NEO-6M по умолчанию настроен на скорость 9600 бод, асинхронный 8 битной режим без проверки целостности. Аппаратный UART микроконтроллера также настроен на эти параметры. Удостовериться в правильности настроек NEO-6M можно с помощью специализированной программы U-center, подключив GPS модуль к компьютеру через переходник USB-UART (СН340). Описание работы с программой можно найти в интернете.
Несколько слов о работе устройства. Данные с GPS-модуля передаются на управляющую плату в текстовом формате NMEA («National Marine Electronics Association»), и состоят из последовательного набора данных, разделенных запятыми. В нашем случае это сообщение RMC (рекомендованный минимальный набор GPS данных), из которого МК считывает данные времени UTC (Всемирное координированное время) и проверяет совпадение этих данных с нулевыми значениями времени.
Для универсальности устройства и возможности подключения к любым часикам, имеющим функцию ручной коррекции хода часов, в схеме предусмотрена возможность с помощью двух перемычек S1 и S2, подключающих выводы 2 и 4 микроконтроллера к минусу питания, выбрать нужное количество сбросов за сутки (1,3 или 24). По умолчанию, если перемычки не установлены сигнал сброса формируется каждый час, когда показания минут и секунд спутникового времени UTC равны нулю. На схеме устройства показана таблица количества сбросов от состояния перемычек.
Питание (5в) для модуля GPS и МК берется от часиков, сигнал сброса формируется цифровым транзистором BCR108, который можно заменить на любой n-p-n, добавив пару резисторов. Точка подключения на плате часов – контакт кнопки коррекции хода часов.
На выв.5 МК выведен сигнал приема посылок GPS, при желании к нему можно подключить светодиод с токоограничивающим резистором, но на модуле NEO-6M есть своя индикация, так что эту опцию можно использовать по желанию.
Ток, потребляемый устройством, не превышает 45мА.
Плата с МК и модуль GPS с антенной помещены в пластмассовый корпус. Располагать девайс следует как можно ближе к окну.
Файл прошивки и рисунок платы в формате SL6 прилагаются.
P.S. Периодически в СМИ проходит информация, что американцы рассматривают возможность отключения GPS над территорией России. И хотя эта идея бессмысленна, ГЛОНАСС рулит, тем не менее в следующих своих поделках я планирую использовать модули с приемом сигналов GPS+ГЛОНАСС. Да и возможность получать сигнал с разных спутников только повысит чувствительность устройства.
1. "Радио" №2 2016г. В.Суров "Настенные часы-термометр с цифрами высотой 126 мм"


Файлы:
Файл принципиальной схемы
Шестнадцатеричный файл прошивки


Все вопросы в Форум.