Введення

У мережі доступно безліч версій розробок саморобних WWVB годин.Комерційні «атомні» годинник недорогі і широко поширені, але явирішив спробувати себе в розробці таких годин щоб краще розібратисяв прийомі WWVB і трохи вивчити програмування PIC мікроконтролера.Мої годинник не найпростіші, але вони непогано працюють і, я думаю, в них визнайдете кілька унікальних особливостей.

Особливості WWVB годин

  • Прийом даних WWVB з ефіру.
  • Автоматична синхронізація внутрішнього часу з часом WWVB.
  • Підтримка локального часу в відсутність сигналу WWVB.
  • Данаверсія для запрограмована стандартного тихоокеанського часу.Передбачена автоматичне коректування для літнього часу.
  • 6-ти розрядний дисплей для годин, хвилин і секунд, що складається з семисегментний світлодіодних індикаторів.
  • Індикатор синхронізації з WWVB.
  • Відображення часу в 12 годинному форматі.
  • Мікроконтролер PIC16F628.
  • ПО написане на С.
  • Всіутиліти (редактор схем, компілятор С, ПЗ для розробки друкованої плати,PIC програматор поширюються вільно і доступні для завантаження вмережі.

Повний опис та специфікацію для WWVB радіомовлення можна знайти насайті tf.nist.gov/general/pdf/1383.pdf, документ # 432. WWVB сигналпередається на несучій частоті 60 кГц, яка модулюється по амплітудікадром тимчасового коду, обновлюваним разів на хвилину. Швидкість передачіданих 1 біт в секунду. Кадр даних містить біти синхронізації,календарну дату, корекцію UT1, високосний рік і секунду коорекціі.Годинник, представлені тут, декодують тільки дані часу ікоректування літнього часу. При необхідності програмнезабезпечення легко може бути перероблено для декодування іншихінформаційних біт. Низькочастотний WWVB сигнал слабкий і його прийом можебути проблематичним. Час появи сигналу розрізняється залежновід розташування і атмосферних умов. Найкращий прийом зазвичай вночі,між 8 вечора і 4 ранку. Користуватися годинником просто: включіть живлення тадочекайтеся прийому WWVB сигналу. Коли годинник візьмуть цілий, не міститьпомилок кадр даних, час автоматично буде скориговано. Післяпочаткової корекції часу годинник буде працювати навіть при втраті WWVBсигналу.

Опис схеми

Як показано на схемі, серцем цього годинника є мікроконтроллерPIC16F628, що працює на частоті 4 МГц. Декодовані дані часупослідовно виводяться з портів мікроконтролера (RA0 – RA3) насемисегментний драйвери / дешифратори по четирехбітних шині даних.Дані виводяться послідовно як секунди, десятки секунд, хвилини,десятки хвилин, години і десятки годин. Виходи мікроконтролера (RB1, RB2,RB3) коммутіруют 10 мкс строб імпульс з порту RB4 черзі на коженсемисегментний драйвер / дешифратор, щоб записати інформацію з шиниданих. Відображувані значення секунд і десятків секунд оновлюються разв секунду. Хвилини, десятки хвилин, години і десятки годин оновлюються разв хвилину. Дисплей складається з одиночних червоно-помаранчевих світлодіоднихсеми сегментних індикаторів. Десяткові крапки на індикаторахвикористовуються для формування двокрапок щоб розділити секунди хвилиниі годинник. Індикатори десятків секунд і десятків хвилин змонтовані вгоруногами, щоб сформувати верхні точки двокрапки. WWVB приймач фірмиC-MAX модель CMMR-6 поставляється разом з феритової антеною. Вихіднідані приймача надходять в мікроконтролер через порт RB0.

Конструкція

Я зібрав двоє таких годин, одні використовуючи дротяні з’єднання іінші на друкованих платах. Обидві версії працюють добре. Тільки тримайтеприймач подалі від джерел перешкод і по можливості укоротітьдроти, щоб мінімізувати індуктивність. Я помітив також, щоприймач чутливий до магнітних полів, виробленим джереламихарчування. Тому я використовував мережевий адаптер на 9 В 200 мА, а невнутрішнє джерело в корпусі годин.

Опис програми

Для розробки програми я використовував компілятор С від Source Boost. Він вільно доступний за адресою www.sourceboost.com.

Програма управляється перериваннями від Таймера 2 PIC контролера.Таймер сконфігурований таким чином, щоб генерувати 32 перериванняв секунду, які використовуються як для оцифровки сигналу приймача,так і для підтримки автономного часу. Прийняті дані вибираються32 рази в секунду. Програма взаємно корелює вхідні дані зхранящимися зразками «ідеальних» нулів, одиниць і імпульсівсинхронізації. Початок кадру визначається по двох послідовних бітамсинхронізації в послідовності. Коли вони виявляються, данісекунд скидаються в нуль, і наступні біти визначаються як одиниціі нулі, з яких виділяються дані годин і хвилин. Декодуються тількидані, що відносяться до часу. Біти в кадрі, не містять інформації прочасу, ігноруються. Взаємно кореляційний алгоритм виявлення бітсинхронізації вимагає наявності не менше 31 вибірки вхідного сигналу при32 вибірках зберігається ідеального сигналу.

Десяткова крапка на індикаторі секунд загоряється, при виявленнісигналу синхронізації і гасне при втраті сигналу. Для детектуваннябіт нулів і одиниць потрібно не менше 28 вибірок вхідного сигналу при32 вибірках зберігається ідеального сигналу. Якщо будь-який з детектіруемогобіт не виявлений, або не пройшов поріг кореляції, цілий кадрігнорується і запускається новий пошук біт синхронізації кадру. Колибіти синхронізації і всі дані часу в кадрі успішно визначені,дані коригуються для Стандартного Тихоокеанського часу і річногочасу. Для правильної корекції в інших тимчасових зонах програмаповинна бути змінена. Час так само коригується з урахуванням затримкивиникає при прийомі WWVB сигналу, оскільки передані данічасу відповідають моменту початку кадру. Повністювідкориговане час перетвориться в 12 годинний формат, потім їмоновлюється внутрішній час. У відсутності WWVB сигналу внутрішнєчас відраховується мікроконтролером, з точністю, що визначається йогокварцовим резонатором. Так продовжується до тих пір, поки не будеприйнятий наступний кадр даних WWVB. Програма для PIC16F628 написана звикористанням WIN PIC.

Перелік компонентів

Позначення на схемі

Опис

Призначення

Виробник

       

IC1

PIC16F628

мікроконтролер

Microchip

IC2…IC7

4511N

двійково-десятковий
семисегментний дешифратор

різні

IC8

74HCT138

декодер 3-8

різні

IC9

7805

стабілізатор 5 В

різні

R1…R42

150 Ом 1/8 Вт

резистор

різні

R43, R51

10 кОм 1/8 Вт

резистор

різні

R44…48

270 Ом 1/8 Вт

резистор

різні

Q1

4 МГц

кварцовий резонатор

різні

C1, C2

20 пФ, 50 В

конденсатор

різні

C3, C4, C6

0.1 мкФ, 50 В

конденсатор

різні

C7

10 мкФ, 35 В

конденсатор

різні

Приймальний модуль з антеною

CMMR-6

 

CMAX

LED1…LED6

LDS-CA14RI

одиночний 7 сегментний
світлодіодний індикатор

Lumex


Від редактора

Можливості прийому сигналів WWVB на території Росії обговорюються тут.

Безсумнівно, буде корисно ознайомитися і з цією статтею.


Автор: Bruce Craig

Зв’язок з автором: Немає даних

Веб сайт автора: Немає даних

Прислав: Немає даних

Джерело: http://www.rlocman.ru

Доп матеріали, файли до пристрою (схемі):

Схема, Исходники, Прошивка