Самодельные часы с gps синхронизацией. Morgenwerk: часы с GPS синхронизацией

Есть часы с немецкой точностью, наверное, потому в Германии синхронизация часов по радио сигналу, является национальной чертой. Практически все часы, который там продаются синхронизируются с их часовой радио вышкой. В России все проще, большинство людей сильно на этот счет не заморачиваются. Вот у меня были неплохие часы, механические. Которые, как писал японский производитель, для того, чтобы они ходили нормально и точно, нужно было периодически чистить и подстраивать. Производитель никто иной, как Seiko рекомендует раз в несколько лет разбирать и чистить у часовщика. Ну кто же будет это делать?

Вроде ходят и ладно. Если вот только постепенно ходить они стали несколько коряво. В смысле ходят- то они ходят, да убегают минут на пять в месяц. Я уже привык, просто иногда подвожу, но знаю, что у меня минут на пять в плюс. Даже хорошо. И тут у меня появились новые уже не механика, а электроника, практически роботизированный экземпляр CASIO LCW-M100DSE-2A.
Нельзя сказать, что сильно умные , но уж совсем не глупые.

И вот одна из функций этих часов – радио синхронизация времени. Это чтобы совсем точно ходили. А то, понимаш ли, несколько секунд в месяц (ага, это после пяти минут) совсем как-то не гуд, naturlich.

У меня, я замерял, сейчас в месяц убегают на три секунды. Ну ведь нужно же подводить, чтобы совсем точно ходили. Функция есть, а работает ли в нашем славном городе?

Начнем с физических основ. А как сигнал точного времени передается? Есть несколько передатчиков в разных точках планеты, в Англии, Германии, Японии, США, каждый передает вещает на своей частоте, но все они работают в диапазоне длинных волн. Длинные волны, как мы знаем из школьного курса физики, имеют свойство отражаться от ионосферы и за счет этого могут быть приняты не только в пределах прямой видимости(как, к примеру, FM).

Так что совершенно реально поймать сигнал и на другой стороне Земли или в отдельно взятом городке под названием Москва, которая находится на расстоянии каких-то 2000 км (согласно Яндекс картам) от городка Майнфлинген (Германия), где расположен ближайший к нам передатчик.

Так выглядят антенны передатчика. И не удивительно, ведь частота 77.5 Килогерц- это 3868.2 метра. А мы знаем, что самая эффективная антенна – половина или четверть длины волны.

Интересные факты: Поскольку длинные волны можно поймать на очень большом расстоянии, то в советское время при помощи длинноволновых передатчиков осуществлялась связь между стратегическими подводными лодками, несущими боевое дежурство у берегов нашего вероятного противника или как сейчас говорят “партнера”. Да и радиостанций на длинных волнах было много, ведь дальность связи – огромная. В наше время Радио Маяк на длинных волнах прекратил вещание в 2013 году, последняя станция Радио России – в 2014. С тех пор ни одной вещательной станции в России на длинных волнах – нет.

Поскольку с увеличением расстояния мощность сигнала уменьшается, то Москва находится в зоне хотя и не очень уверенного, но все-таки приема. Т.е. синхронизация возможна, но при определенных обстоятельствах. Если ваши окна выходят в сторону Германии (на запад) и достаточно высокий этаж, да еще и перед окнами еще и нет ничего высокого и излучающего, типа линий электропередач, небоскребов или Макдональдса, хотя насчет последнего, я немного перегнул. Тогда есть вероятность, что часы глубокой ночью смогут синхронизироваться с немецкой радиовышкой.

Почему ночью? А потом что во-первых, ночью меньше помех, меньше включено всяких приборов, даже включенный монитор компьютера или его блок питания излучает на ближайшем расстоянии, что может затруднить прием слабого сигнала, да и солнечная активность тоже влияет. Так что лучше ночью, да еще и в пасмурную погоду. Не зря же в инструкции к часам написано, что автоматическая синхронизация настроена на время с 12 ночи до 6 утра.

Сигнал представляет собой морзянку из нулей и единиц, которые передаются на определенной частоте по определенному алгоритму, название алгоритма смотрим в таблице, т.е. даже если частота вышек совпадает, то алгоритм передачи разный. Передача длится одну минуту. Каждую секунду передается один или два бита данных. Однако часы для проверки принимают сигнал несколько минут подряд и сравнивает время для уверенности, что все идет хорошо. Так что если вдруг, где-то посередине передачи сигнал будет потерян даже на одну секунду, то будет ошибка приема данных.

Вот таблица регионов, которые можно настроить в часах и передатчиков, которые будут пытаться принять часы в зависимости от региона

Код города Передатчик Частота Формат сигнала
LON,PAR,ATH Англия 60.0 MSF
LON,PAR,ATH Германия 77.5 DCF77
HKG Япония 68.5 BPC
TYO Япония 40.0 JJY40
TYO Япония 60.0 JJY60
HNL,ANC,LAX,DEN,CHI,NYC США 60.0 WWVB

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

Для Москвы есть код региона JED +3 часа, но нас это не устроит, он не входит в таблицу, но можно установить ATH, который +2 и включить DST ON, тогда время будет сдвинуто как раз на три часа, т.е. и часовой пояс вроде как подходит и время правильное. Почему нельзя поставить другой регион и сделать коррекцию физического времени? Да только потому что если вы куда-нибудь переедете и нужно будет ставить местное время, то придется играть с непонятно каким регионом, ведь просто так подключить часы – нельзя, они сами ставят время в зависимости от региона.

Проверить будут ли ваши часы синхронизироваться достаточно просто в режиме ручной синхронизации. Включаем ручную синхронизацию и оставляем часы в покое в направлении 12 часов на строго на запад. Поскольку процесс не быстрый, и при синхронизации может занимать до 16 минут согласно инструкции, то расслабляемся. Но 16 минут – это конечно, перебор, а вот меньше трех минут не бывает, согласно алгоритма, заложенного японцами. У меня синхронизация проходит в течение 5 минут. Кстати, часы уже на второй минуте покажут видят ли они несущую частоту передатчика. Секундная стрелка перейдет в режим W(нормальный сигнал), если в течение минуты они сигнала не найдут, то напишут ERROR.
Важно: Для автоматической синхронизации часы должны находится в режиме обычного или мирового времени. Если в это время работает секундомер или таймер, то синхронизации не будет.

Если окна выходят на запад, но синхронизация ночью не происходит, можно попробовать разные усилители сигналов начиная от простой металлической рулетки, уоторую нужно подложить под часы и всякой другой экзотики, типа повесить ночью часы на нос металлического чайника ли на батарею отопления, заканчивая антеннами в пол окна. Вот краткий список того, с чем забавляются владельцы часов с радиосинхронизацией.
1. Чайник .
2. Вентилятор .
3. Батарея отопления .
4. Ситизеновская антенна + радиомикрофон , просто Ситизеновская антенна .
5. Термос .
6. Самоделки 1 , самоделки 2 .
7. Рулетка 1 , рулетка 2 , рулетка 3 .
8. Штуковина с eBay , она же в действии .
9. Просто синхра, без ничего .

И тут возникает вопрос о том, можно ли синхронизироваться без передатчика? Самое первое, самое простое (да и самое быстрое), открыть страницу точного времени , дождаться 0 секунд и сбросить на часах секунды на 0. Занимает меньше минуты, точность – супер, дальше месяц можно не ни о чем не думать

Это не наш метод, будем развлекаться дальше. Скачиваем программу JJY симулятор (автоперевод) , запускаем, все по японски, но цифры все-таки в переводе не нуждаются.

Заходим в настройку часов, ставим часовой пояс Токио, подключаем к компьютеру наушники, запускаем ручной режим синхронизации наслаждаемся супер пищащим звуком минут пять, и вуаля, часы синхронизировались. Поздравляю, если вы не перевели на компьютере часы, теперь ваши часы хоть и показывают правильное время, но часовой пояс – то Токио, поэтому, когда вы переведете его обратно, часы придется переводить на 8 часов вперед.

А как вообще этот симулятор может синхронизировать часы? Все-таки звук – это не радио сигнал. Но звук передается на наушники, в которых есть катушка, вот она -то и воспроизводит кроме колебательных волн звуковой частоты еще кучу помех в радиодиапазоне. Здесь опять вспоминаем законы физики, любая волна может быть разложена на гармоники, которые вместе дают результирующий сигнал.

Если у вас чистая синусоида 1, то это и есть основная гармоника, а вот если синус не чистый, а с искажениями -2, то тут же появляются гармоники, самая мощная – 3-я, затем идет слабее 5-я (4), еще слабее 7-я (5) и так далее. Таким образом, наш симулятор выдает сигнал на звуковой частоте 13.3 Килогерц, третья гармоника 13.3 x 3 = 40 Кгц, что нам и нужно, по таблице это JJY40. Сигнал, конечно, слабый, но вполне достаточный для того чтобы часы его ловили. Хотите мощнее, (хотя непонятно, зачем) подсоедините вместо наушников скрученный моток провода 5- 10 метров, и будет мощнее. Вот картинка с инструкцией на японском и гугл переводчиком в помощь,

① Несколько раз прокатите виниловую проволоку подходящим диаметром и закрепите ее лентой, чтобы не разбрасывать.

② Очистите концы виниловых проводов с обоих концов.
③ Очистите кабель, очищенный стереоштексом 3,5 мм. Есть два провода, покрытые виниловым покрытием в виде сетчатого оголенного провода и кабеля в кабеле, пожалуйста, отделите их отдельно.

Мне нравится, как он сделал перевод, (“отделите их отдельно” – в этом что-то есть. Поэтому я его оставил перевод.

Т.е. просто скрученный провод припаиваем к штекеру и вставляем в разъем наушников. Кстати, непонятно, как на это отреагирует ваша звуковая карта. Какое сопротивление будет у вашего провода? Сильно ли будет отличаться от наушников? Скорее всего. А то может и погореть ненароком. Это первая проблема.

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

Все это чрезвычайно занимательно, в смысле занимает уйму времени. По моему проще раз в месяц просто подвести часы, чем пользоваться симуляторами.

И тут возникает идея, а нельзя ли сделать такой симулятор, который бы сам часов в 12 ночи излучал сигнал синхронизации, но только не пищал бы так занудно, как эти симуляторы? Т.е. все на автомате, без каких-либо телодвижений. Положил вечером часы на полочку, а утром они сами синхронизировались. Вот мы и приходим к небольшой самоделке. Можно ли при помощи микроконтроллера сделать все тоже самое?
Контроллер типа STM32 работает на больших частотах, например у меня стоит кварц 8 Мегагерц, поэтому 60 Килогерц для него сгерерировать – сущие пустяки.Проще взять 60 килогерц для эмуляции английской вышки, чем долго и нудно пробовать сгенерить не делимую нацело частоту 77,5 килогерц как у немецкой. Встроенные часы у контроллера есть. Еще лучше синхронизировать эти часы с чем-нибудь, например с тем же компьютером, который синхронизируется с интернет-часами. Так что точность будет достаточной.

Вот как это выглядит в готовом варианте на отладочной плате STM32F3Discovery, здесь установлен контроллер STM32F303 у него есть встроенные функции работы с USB и Цифро-аналоговый (DAC) преобразователь, для генерации не то что синусоиды, но вообще для воспроизведения звука.
В качестве антенны – обычный провод длиной около 2-х метров. И ведь работает.

И небольшое видео про три способа радиосинхронизации часов CASIO

Покупая наручные часы, мы хотим быть уверены в том, что они всегда показывают точное время. В механических вся надежда возлагается на точность механизма. От того, насколько он хорош, зависит точность времени. А чем точнее идут часы, тем лучше это характеризует мастера, сделавшего их. По крайней мере, так было на заре развития часовой индустрии. Мастерство ремесленника определялось к тому же не только точностью хода, но и размером корпуса. Чем меньше - тем лучше. С появлением немеханических часов вопрос точного времени исчез. Сегодня многие производители предлагают модели с синхронизацией времени. В этой статье мы разберемся с тем, что это такое и как это работает. Поехали.

Радиосинхронизация

Самые точные часы на планете - это атомные. Отставание у них минимальное, можно сказать - микроскопическое. Настолько, что его даже не учитывают. Такие часы крайне важны в авиации, мореходном и других делах, где отставание или спешка даже на одну секунду может привести к фатальным последствиям.

В общем, владельцы часов с радиосинхронизацией во время настройки своих наручных часов указывают временную зону, в которой они находятся. А в дальнейшем часы сами корректируют и исправляют показания.

Как они знают, что нужно сделать поправку? Они ориентируются на показания специальных вышек. Всего их существует шесть: по одной в Германии, Британии, США и Китае, и две - в Японии. При смене часового пояса перенастройка часов происходит автоматически. Вам даже не нужно об этом думать. Из производителей такой функцией свои продукты оснащают Касио, Ситизен и Таймекс. Те компании, которые делают ставку именно на высокотехнологичное оснащение и “полный фарш”.

GPS-сигнал

По сути, та же самая радиосинхронизация. Только часы принимают сигнал не от специальных вышек, а от спутника по GPS.

Так, Сейко предлагает модель Astron GPS Solar. Она умеет поддерживать связь с несколькими спутниками одновременно, что гарантирует точные показания времени во всех часовых поясах.

Или, например, EcoDrive Satellite Wave. Модель постоянно находится в контакте с одним из двух с половиной десятков спутников. Синхронизация происходит с атомными часами. То есть, эти часы синхронизированы с атомными, но не через вышку, а через GPS-спутник. В качестве приятного бонуса в этой модели - подзарядка батареи от любого света.

Синхронизация со смартфоном

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

Компания Касио предлагает несколько моделей наручных часов с технологией Bluetooth, которые будут сопряжены с вашим смартфоном. То есть, вам не нужно покупать умные часы той же компании, что и смартфон. Отличная альтернатива монополистам, не так ли?

Самые точные наручные часы

Мы несколько раз упомянули об атомных часах, которые самые точные в мире, и по которым сверяются остальные часы. Есть ли шанс, что когда-то мы увидим наручные атомные часы? Есть, и он очень велик. Уже собраны деньги на запуск такой модели. По предварительным оценкам, их стоимость будет составлять порядка шести тысяч долларов. Но вот когда именно они появятся - этого никто не может сказать. Нам остается лишь ждать.

Основанной в 1881 году (да, это случилось за четверть века до Rolex), выпускать «первые в мире часы с функцией…» вполне привычно и закономерно. Например, именно Seiko первой начала делать кварцевые часы в 1969 году. И что уж там скрывать, случается так, что именитые швейцарские бренды выкупают права на механизмы, разработанные часовщиками Seiko.

Этой осенью одна из самых технологичных часовых компаний в мире официально представила первые в мире часы с функцией коррекции времени по GPS — они называются Seiko Astron GPS Solar. Ими были украшены витрины флагманского бутика Seiko в самом сердце Токио, часы были показаны в Королевской Гринвичской обсерватории…

Чуть позже, российское представительство Seiko и компания ТБН-Тайм устроили для дилеров со всей нашей бескрайней Родины не слишком публичную презентацию этих часов. Мероприятие носило закрытый характер, но разве это могло остановить корреспондентов Chronoscope? Наши лазутчики сделали живые фотографии Seiko Astron GPS Solar и разузнали все подробности, касающиеся этих часов.


Как рассказал генеральный директор Сейко РУС Такеши Сакамото, часы Seiko Astron GPS Solar для работы используют только силу света, что делает их абсолютно автономными и экологичными.

А стоит вам один раз нажать на кнопку — и часы подключатся к спутникам, с которых они получают данные о часовом поясе и корректируют время до точности, с которой идут атомные часы. Эта функция доступна в любом из 39 часовых поясов Земли. Разработка модели заняла около 10 лет и вылилась в сотню патентных заявок. Самой главной задачей, стоявшей перед инженерами компании, была задача создания компактного GPS-модуля со сверхнизким потреблением энергии.



Еще одна сложность — для работы GPS-модуля требовалось снабдить часы высокочувствительной антенной. Обычные антенны не могут принимать сигнал внутри металлического корпуса и занимают гораздо больше места, чем могут предложить наручные часы. В результате в Seiko разработали сверхчувствительную кольцевую антенну, которую поместили под циферблатом 47-ми мм корпуса. А керамический безель помог усилить восприимчивость антенны.

Самое замечательное в этих высокотехнологичных часах, что пользоваться ими невероятно просто. Они снабжены интеллектуальным датчиком, который управляет автоматической настройкой времени. Один раз в сутки, при попадании на солнечный свет, этот датчик подключает часы к GPS и, если нужно, корректирует время. Если же датчик фиксирует слабый заряд аккумулятора часов, то периоды проверки времени увеличиваются.

Значения индикатора на «10 часах»:
«1» — переустановка времени
«4+» — корректировка часового пояса
«F» — полный заряд аккумулятора
«E» — низкий заряд аккумулятора
«Самолет» — режим для блокировки GPS-модуля во время полета
«DST» — корректировка на летнее время


Не думал, что спустя много лет я вернусь к часам на газоразрядных индикаторах. В конце 70-х я собирал подобные часы на микросхемах 155-й серии, плата выглядела внушительно, по 5 Вольтам потребляли не мало, да и малогабаритными их нельзя было назвать…

Собрать такие винтажные часы попросил меня мой сын, увидел он их на просторах Интернета, где они зовутся Nixie Tube Clock , ну и загорелся. Порыскал я по Инету, схем много, на разных лампах, на любой вкус, но просто повторить - это не по мне, я люблю делать свое, так намного интереснее и приятнее.

Изюм!

Обязательно хотелось сделать синхронизацию часов с сигналами точного времени, ведь какими бы точными ни были часы, в конце концов, все начинают отставать или убегать вперед. Для синхронизации времени можно применять, сигналы на радиостанции «Маяк», либо принимать сигналы передатчика DCF77 на частоте 77,5 кГц, есть еще несколько станций на КВ и УКВ передающих сигналы времени. В любом случае нужно будет делать полноценный приемник, решать проблему помех на него со стороны цифровой части, декодировать принятый сигнал и т.д.
А вот модули GPS мне понравились - практически готовые устройства, минимум обвязки, выход модуля можно подключать к СОМ порту (через МАХ232) и на выходе формируются сигналы совместимые с протоколом NMEA-0183 . Я испробовал два типа модулей ЕВ-500 и MSTAR1316 .



Следует обратить внимание на конденсатор С3 в цепи антенны. При использовании пассивной антенны его надо поставить обязательно, а вот при использовании активной поставить перемычку. Здесь присутствует 2.5-2.8 Вольт для питания активной антенны, поэтому старайтесь избегать закорачивания этого вывода, есть вариант остаться без модуля!
Часы могут работать и без GPS модуля , но об этом ниже.
Итак, дошли до схемы часов. Что они умеют делать:
- показывать время
- в начале каждого часа синхронизироваться с GPS модулем
- менять подсветку баллонов индикаторов
- устанавливать часовой пояс (от 0 до 12) нашего полушария (через меню), т.к модуль выдает всемирное координированное время (UTC)
- отключать синхронизацию с GPS модулем, в случае его отсутствия (через меню)
- выбирать скорость работы с GPS модулем (через меню)

Часы собраны на PIC 16F876A и 4-х высоковольтных дешифраторах К155ИД1 .
Идея самих часов состоит в следующем: у GPS модуля есть свои RTC (часы реального времени), очень точные, которые при наличии хотя бы одного спутника постоянно с ним синхронизируются, по некоторым данным точность составляет вплоть до 50 - 100 нсек. В 04 минуты каждого часа МК обращается к GPS модулю и получает он него часы и минуты, делает поправку на часовой пояс и формирует двоичный код, который поступает на входы высоковольтных дешифраторов 155ИД1 , управляющих лампами ИН-12А. Если модуль поймал хоть один спутник, то загорается светодиод HL4 .

Я намеренно не делал динамическую индикацию, не нравится она мне и я стараюсь ее избегать, когда это возможно, да и портов у МК достаточно.

Для подсветки колб индикаторов я взял светодиоды, не знаю как их зовут, из RGB ленты. Всего 8 режимов подсветки, меняется нажатием кнопки S2 : выключена, красная, зеленая, синяя и комбинации этих трех цветов.

Кнопки S1 и S3 установка часов и минут соответственно.
Кнопка S4 – коррекция/синхронизация. Если включен режим синхронизации GPS , то при нажатии S4 происходит принудительная синхронизация часов с GPS модулем. Если режим синхронизации GPS отключен, то нажатие S4 сбрасывает минуты в 0 и, пока кнопка нажата, часы не идут. После отпускания кнопки часы запускаются с 00 минут 00 секунд. После этого нужный час можно установить кнопкой S1 .

Стабилизатор и полевой транзистор нужно разместить на небольших теплоотводах.

Итого

Итак, получилось 4 основных блока.


Блочная конструкция дает некоторую свободу при монтаже устройства в корпус:

Предлагаемая конструкция электронных часов отличается от всех, опубликованных ранее, тем, что не ведет автономного счета времени, а получает сведения о нем, принимая радиосигналы со спутников навигационной системы GPS. Это гарантирует постоянную и высокую точность показаний. Их не приходится корректировать даже после временного отключения питания.

Сегодня рядовым радиолюбителям стали доступны модули GPS-приемников многих фирм. Кроме своих прямых функций — выдачи пользователю информации о его координатах, скорости и направлении движения, — они сообщают ему точное время и дату. Это дает возможность построить на базе такого модуля часы, всегда показывающие правильное время и идущие с недостижимой для часов с обычным кварцевым резонатором точностью. Нужно отметить, что стоимость приемных GPS-модулей пока довольно высока (около 1000 руб.). К тому же устанавливать их необходимо таким образом, чтобы в поле зрения антенны модуля находилось как можно больше открытого неба. Это делает целесообразным их применение лишь в стационарных уличных часах либо в первичных часах, управляющих большим числом вторичных.

Рассматриваемая конструкция рассчитана именно на стационарную установку и имеет выходы, предназначенные для подключения светодиодных или на лампах накаливания семиэлементных индикаторов большого размера и яркости. В часах применен модуль LS20061 , который его производитель фирма Locosys называет "GPS smart antenna". Внешний вид модуля в натуральную величину (со стороны антенны и со стороны установки элементов) показан на рис. 1, там же приведена нумерация контактных площадок для подключения внешних цепей. Толщина модуля не превышает 8 мм.

На основании принятой от навигационных спутников информации модуль, согласно протоколу NMEA, раз в секунду выдает текстовые (в кодах ASCII) сообщения последовательным кодом со скоростью 9600 Бод. Каждый передаваемый байт (символ) сопровождается стартовым и одним стоповым импульсами без контроля четности. Уровни информационных сигналов — ТТЛ. Интересующая нас информация о времени содержится в строках, формат которых приведен в таблице.

Более подробную информацию о модуле LS20061 и его аналогах можно найти в .

Схема GPS-часов изображена на рис. 2. К разъему Х1, кроме GPS-моду-ля U1, подключают датчик температуры (ВК1) и условно представленный контактами S1 датчик сигнала, по которому принудительно уменьшается яркость индикаторов. На этот же разъем подают стабилизированное напряжение 5 В, питающее все узлы часов, кроме индикаторов. Длина соединительных проводов от разъема Х1 к датчикам может достигать 10 м, причем сигнальные цепи, идущие к модулю U1, должны быть экранированы.

Учтите, что номинальное напряжение питания модуля U1 — 3,3 В, а максимальное — 5 В. Хотя примененный в часах микроконтроллер работоспособен и при напряжении 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 и разводку печатной платы