Предлагаемая конструкция электронных часов отличается от всех, опубликованных ранее, тем, что не ведет автономного счета времени, а получает сведения о нем, принимая радиосигналы со спутников навигационной системы GPS. Это гарантирует постоянную и высокую точность показаний. Их не приходится корректировать даже после временного отключения питания.
Сегодня рядовым радиолюбителям стали доступны модули GPS-приемников многих фирм. Кроме своих прямых функций — выдачи пользователю информации о его координатах, скорости и направлении движения, — они сообщают ему точное время и дату. Это дает возможность построить на базе такого модуля часы, всегда показывающие правильное время и идущие с недостижимой для часов с обычным кварцевым резонатором точностью. Нужно отметить, что стоимость приемных GPS-модулей пока довольно высока (около 1000 руб.). К тому же устанавливать их необходимо таким образом, чтобы в поле зрения антенны модуля находилось как можно больше открытого неба. Это делает целесообразным их применение лишь в стационарных уличных часах либо в первичных часах, управляющих большим числом вторичных.
Рассматриваемая конструкция рассчитана именно на стационарную установку и имеет выходы, предназначенные для подключения светодиодных или на лампах накаливания семиэлементных индикаторов большого размера и яркости. В часах применен модуль LS20061, который его производитель фирма Locosys называет "GPS smart antenna". Внешний вид модуля в натуральную величину (со стороны антенны и со стороны установки элементов) показан на рис. 1, там же приведена нумерация контактных площадок для подключения внешних цепей. Толщина модуля не превышает 8 мм.
На основании принятой от навигационных спутников информации модуль, согласно протоколу NMEA, раз в секунду выдает текстовые (в кодах ASCII) сообщения последовательным кодом со скоростью 9600 Бод. Каждый передаваемый байт (символ) сопровождается стартовым и одним стоповым импульсами без контроля четности. Уровни информационных сигналов — ТТЛ. Интересующая нас информация о времени содержится в строках, формат которых приведен в таблице.
Более подробную информацию о модуле LS20061 и его аналогах можно найти в даташите.
Схема GPS-часов изображена на рис. 2. К разъему Х1, кроме GPS-моду-ля U1, подключают датчик температуры DS1820 (ВК1) и условно представленный контактами S1 датчик сигнала, по которому принудительно уменьшается яркость индикаторов. На этот же разъем подают стабилизированное напряжение 5 В, питающее все узлы часов, кроме индикаторов. Длина соединительных проводов от разъема Х1 к датчикам может достигать 10 м, причем сигнальные цепи, идущие к модулю U1, должны быть экранированы.
Учтите, что номинальное напряжение питания модуля U1 — 3,3 В, а максимальное — 5 В. Хотя примененный в часах микроконтроллер PIC16F876A работоспособен и при напряжении 3,3 В, амплитуда формируемых им сигналов в этом случае оказывается недостаточной для управления полевыми транзисторами. Это и вынудило повысить общее напряжение питания до 5 В. Его стабилизатор нужно выбирать с "минусовым” допуском, поскольку превышение номинального значения опасно для GPS-модуля. Потребление от источника напряжения 5 В — не более 50 мА.
Прибор рассчитан на управление четырехразрядным семиэлементным цифровым индикатором. Если он светодиодный с общими анодами элементов, то катодные цепи одноименных элементов всех разрядов соединяют вместе и подключают к разъему Х2. Буквенные обозначения элементов индикатора традиционны, за исключением буквы h, которой обозначены элементы, формирующие знак "плюс" при отображении температуры, а также светодиоды, образующие точки между значениями часов и минут. Анодные цепи индикаторов подключают к винтовым зажимам ХТЗ (старший разряд) — ХТ6 (младший разряд). Подобным образом подключают и семиэлементные индикаторы на лампах накаливания.
На винтовые зажимы ХТ1 и ХТ2 подают напряжение питания индикаторов Uинд. В зависимости от типа и схемы соединения светоизлучающих приборов (светодиодов или ламп накаливания) это напряжение и потребляемый от его источника ток могут быть разными. Примененные в устройстве мощные полевые транзисторы способны без дополнительного отвода тепла коммутировать ток до 3,7 А (по каждому выходу) при напряжении до 30 В. В реальных часах с цифрами высотой 60 см ток достигал 1 А на элемент при напряжении 24 В. Каждый элемент состоял из нескольких параллельных светодиодных цепей с ограничительными резисторами в каждой из них.
Блок управления часов собран на печатной плате, изображенной на рис. 3. Залитые точки на схеме расположения элементов на верхней стороне платы — межслойные перемычки.
Программа микроконтроллера DD1 содержит три основных блока: индикации, работы с GPS-модулем и обслуживания датчика температуры.
Индикация — динамическая с интервалом смены разрядов 1 мс. В сумерки и ночью яркость индикаторов снижается соответственно в два и в четыре раза за счет изменения скважности управляющих импульсов. Моменты снижения и восстановления яркости микроконтроллер вычисляет на основании заложенной в программу информации о времени захода и восхода Солнца. Снижение яркости происходит и при замыкании контактов S1.
Вывод на индикатор значений различных величин происходит поочередно: время (4 с), дата (2 с), температура (2 с). Затем цикл повторяется. Значения часов и минут разделяются двумя точками, а числа и месяца — одной. Температура отображается в таком порядке (слева направо): плюс или минус, две значащие цифры, знак градуса (включены элементы a, b, f, g).
Прием информации от GPS-модуля происходит по прерываниям от встроенного USART микроконтроллера. Принятые символы заносятся в буфер до приема кода "перевод строки" (0х0А). После этого проверяются заголовок, обязательные символы и корректность принятой информации. После успешной проверки принятые значения времени и даты становятся текущими. Поправка, превращающая UTC в местное время, вносится программно. Аналогичным образом происходит переключение с летнего времени на зимнее и обратно. В программе заложено отображение московского времени (UTC+3 ч зимой и UTC+4 ч летом). Она правильно вычисляет моменты переключения до 2020 г. Далее без корректировки программы оно будет происходить 29 марта и 29 октября.
Для других часовых поясов в программу необходимо внести поправку, равную разности местного и московского времени в целых часах со знаком плюс при перемещении на восток Значение этой поправки присваивают константе MY_hour в одной из первых строк исходного текста программы, после чего компилируют его заново. Можно обойтись и без повторной компиляции, если перед загрузкой кодов в программную память микроконтроллера внести нужное значение непосредственно в буфер программатора по адресу 0x2DA (первоначально оно нулевое). Учтите, что этот адрес "байтовый", используемый в НЕХ-файлах и в некоторых программаторах. Для тех программаторов, например IC-Prog, которые отображают содержимое программной памяти в виде двухбайтных слов, поправку нужно внести в младший байт слова по адресу 0x16D.
Необходимо отметить, что ход часов прекращается при отсутствии сигналов GPS в результате недостаточного числа спутников в зоне видимости или подругой причине. Практика показала, что это случается очень редко и не может считаться существенным недостатком Подпрограмма обслуживания датчика температуры DS1820 разбита на этапы, выполнение каждого из которых укладывается в 1 мс. Она инициализирует, а затем периодически опрашивает датчик, получая текущие значения температуры для вывода на индикатор. В архиве по этой ссылке вы можете скачать прошивку, исходный код на ASM и разводку печатной платы Источник: Радио 2008 №4
C этой схемой также часто просматривают: |
ГОВОРЯЩИЕ ЧАСЫ Часы-будильник с ЖК-индикатором Электронные часы с будильником на микроконтроллере AT90S2313-10PI Автомобильные часы-термометр-вольтметр Часы на базе индикатора HT1610 Большие светодиодные часы на PIC16F84A RGB LED PWM Driver VGA-Video тестер на PIC Кодовый замок на микроконтроллере PIC16F628A
| |
Подключение энкодера к микроконтроллеру PIC Счётчик людей в помещении, управляющий освещением Велокомпьютер на микроконтроллере PIC16F628A Устройство ввода-вывода на микроконтроллера Два термометра на PIC16F628A и DS18B20 Светодиодные часы с циферблатом Двоичные часы Два вывода микроконтроллера PIC управляют шестью светодиодами Цифровой программируемый таймер на микроконтроллере PIC16F628A Устройство рисования в воздухе на ATtiny2313 |