foto1
foto1
foto1
foto1
foto1
Здравствуйте, меня зовут Юрий. Два выходных дня стоят больше того, чтобы всецело посвятить их решению бытовых вопросов или, чего доброго, походу на "любимую" работу. Спасением от рабочих и бытовых проблем, от извечного слова "надо", станет замена этого слова на слово "хочется". Как это получается, представлено на страницах моего блога.Два выходных дня

Два выходных дня

   Установка показаний времени на электронных часах – занятие, не отнимающее много времени, но, тем не менее, хотелось бы обойтись без этой процедуры.  В поисках конструкции электронных часов, работающих по принципу «Включил и забыл», я обнаружил интернет-сайт, на котором автор опубликовал конструкцию электронных часов с синхронизацией времени при помощи спутниковой системы навигации (GPS). Кроме этого, в конструкцию электронных часов я добавил уличный термометр. 

Рисунок 1 -  Внешний вид устройства

Функции часов

  • Счёт и отображение текущего времени;
  • Ежечасная синхронизация текущего времени с временем спутника;
  • Установка часового пояса;
  • Режим "Будильник";
  • Режим "Секундомер".

Принцип работы часов

   Основу устройства составляет микроконтроллер Atmega8-16PI, работающий под управлением программы, которая реализует все вышеупомянутые функции часов. Приёмником спутниковых сигналов является GPS модуль «NEO-6M» с выносной антенной. Четырёхразрядный светодиодный индикатор в основном режиме отображает текущее время, минуты и секунды в режиме секундомера, а при настройке - номер часового пояса, индикацию включения/выключения и время установки будильника. Звуковой излучатель BF1 служит для подачи сигнала будильника, а светодиоды HL1 и HL2 показывают процесс поиска информации со спутника. Кнопки SB1-SB3 служат для установки часового пояса, включения режима "Секундомер" и установки времени срабатывания будильника.

Рисунок 2 - Принципиальная электрическая схема часов 

   При подаче напряжения питания микроконтроллер Atmega8-16PI инициализирует GPS модуль «NEO-6M», который, в свою очередь, ожидает поступления  с любого найденного спутника информационной строки, содержащей текущее время, соответствующее нулевому часовому поясу. Этот процесс сопровождается коротким звуковым сигналом и появлением бегущей "змейки" в разрядах индикатора. Для достоверности информационная строка принимается пять раз, после чего, микроконтроллер запускает счётчик секунд, "змейка" исчезает и начинается отображение текущего времени. Последующая синхронизация времени часов с временем спутника осуществляется каждый час и сопровождается кратковременным свечением светодиодов "SAT" и "GPS".   Процесс синхронизации происходит в фоновом режиме и не влияет на ход часов. Если по каким-то причинам фоновая синхронизация времени не произошла, часы не остановятся, но точность показаний будет хуже.

Назначение кнопок управления

   Кнопка "UTC". Как уже упоминалось, при первичной синхронизации часы принимают время нулевого часового пояса. При нажатии этой кнопки на индикаторе отобразится "U - - -", что значит переход в меню выбора часового пояса, а при отпускании - отобразится "U 3" (часовой пояс установленный по умолчанию). Далее, нажатием этой кнопки устанавливают необходимый часовой пояс в диапазоне минус 12 плюс 12. Установка часового пояса осуществляется "по кольцу", с шагом "+1".

   Кнопка "Alarm clock" или "Будильник". При нажатии этой кнопки произойдёт переход в меню установки будильника, при этом на индикаторе отобразится "A-.--". После отпускания, если будильник выключен, на индикаторе появятся прочерки, а если будильник был включен, то отобразится время его срабатывания. Чтобы полностью выключить или включить будильник, нужно нажать кнопку "UTC", находясь в меню установки будильника. Последующие нажатия кнопки "Alarm clock" и нажатия кнопки "Sec" в меню установки будильника позволяют установить будильник на нужное время, часы и минуты, соответственно. Установка возможна только "вперёд. При достижении числа "24" в часах и "60" в минутах происходит сброс показаний в "0" часов и минут соответственно. При срабатывании будильника звуковой сигнал можно отключить до следующего срабатывания, которое произойдёт через сутки, нажатием на любую из трёх кнопок. Выход из меню установки будильника происходит автоматически, через 5 секунд после последнего нажатия кнопки.

   Кнопка "Sec" или "Секундомер". Нажатие данной кнопки переведёт часы в режим секундомера, при этом на индикаторе отобразится "C-.--", а при отпускании кнопки - начнётся отсчёт секунд. Максимальное время - 23:59:57. При превышении этого значения произойдёт автоматический переход в режим часов. До одного часа в 1 и 2 разрядах отображаются минуты секундомера, а в 3 и 4 разрядах отображаются секунды, после часа - часы и минуты. Выход  из режима секундомера осуществляется нажатием на любую из трёх кнопок.

 Функции термометра

  • Диапазон измерения температуры от - 55 до +125°C;
  • Точность измерения составляет ± 0,5°C в диапазоне от - 10 до +85°C и ± 2°C на остальных участках диапазона измерения температуры;
  • Проверка исправности линии связи термометра с датчиком;
  • Проверка контрольной суммы информации, принимаемой с датчика.
  • Принцип работы термометра

   Основу термометра составляет микроконтроллер ATTINY2313, работающий под управлением программы, которая реализует все вышеупомянутые функции термометра. Датчиком температуры служит микросхема DS18B20. Значение измеряемой температуры выводится на трёхразрядный светодиодный индикатор.

Рисунок 3 - Принципиальная электрическая схема термометра

   При подаче напряжения питания микроконтроллер ATTINY2313 в течении одной секунды тестирует индикатор, засвечивая все его сегменты, после чего переходит к проверке исправности датчика и линии связи с датчиком. При обрыве или коротком замыкании линии связи на индикаторе отображаются прочерки "---". Далее производится проверка контрольной суммы информации, принимаемой с датчика. При ошибке контрольной суммы (CRC) на индикаторе появится сообщение "crc". Если все проверки завершены успешно, то микроконтроллер перейдёт к чтению информации с датчика температуры и отправит измеренное значение температуры на индикатор. В диапазоне измерения от - 9 до +99°C в третьем разряде отображается символ "°". Каких либо органов управления термометр не имеет и в настройке не нуждается, Диод VD1 предназначен для защиты от переполюсовки напряжения питания.

Конструкция устройства и применяемые радиоэлементы

   В свзи с единичностью изготовления печатные платы для монтажа радиоэлементов не разрабатывались. Все радиоэлементы установлены на макетных платах и соединены между собою собственными выводами и отрезками провода типа МГТФ при помощи пайки. Считаю, что разработка и изготовление печатных плат устройств категории "Для себя" - это лишняя трата времени. Платы установлены на эбонитовых стоечках на дно корпуса из органического стекла толщиной 5 мм и крепятся винтами М2.

 

Рисунок 4 - Макетная плата

Рисунок 5 - Вид со стороны монтажа

Рисунок 6 - Вид со стороны радиоэлементов

 Рисунок 7 - Индикаторы

Рисунок 8 - Плата кнопок и модуля GPS

Рисунок 9 - Вид со стороны гнезда питания

Рисунок 10 - Модуль «NEO-6M» 

   Плата кнопок управления использована готовая от отслужившего свой век электронного оборудования. Микроконтроллеры Atmega8-16PI и ATTINY2313 установлены на панельки. Применены индикаторы красного свечения с общим анодом размером символа 0.56 " для часов и 0.36 " для термометра. GPS модуль «NEO-6M» необходимо приобретать с выносной антенной. Без внешней антенны приём информации со спутника не происходит, хотя, по утверждению разработчика часов, в модуле имеется внутренняя антенна. Звукоизлучатель BF1 со встроенным генератором, напряжение питания на устройство подаётся через гнездо типа micro USB, расположенное на отдельной покупной плате. Все вышеупомянутые комплектующие радиоэлементы, макетные платы, плата с гнездом питания приобретены в интернет-магазине Aliexpress. Конкретных ссылок на товар не даю, ибо они не долговечны, да и цена у разных продавцов отличается. Остальные радиоэлементы, резисторы, конденсаторы, диоды, светодиоды, транзисторы, кварцевые резонаторы в пояснениях не нуждаются.

   Часы+термометр помещены в корпус склеенный из органического стекла толщиной 3 мм и выкрашенный чёрной нитроэмалью. Передняя часть корпуса изготовлена из органического стекла оранжевого цвета. Для уменьшения яркости индикаторов добавлен светофильтр, вырезанный из пластиковой бутылки.

Рисунок 11 - Готовое устройство

Рисунок 12 - Элементы корпуса

Рисунок 13 - Светофильтр из пивной бутылки

Рисунок 14 - Задняя стенка устройства

   В качестве источника питания применено зарядное устройство от сотового телефона с выходным напряжением 5±0,5В. и выходным током 0,55А., снабжённое штеккером типа micro USB. Также в источник питания входит устройство защиты от превышения напряжения. При увеличении выходного напряжения зарядного устройства выше верхнего предела открывается транзистор VT1, в результате чего перегорает плавкий предохранитель FU1, обесточивая часы+термометр. Радиоэлементы платы защиты смонтированы на макетной плате и помещены во всем знакомую упаковку.

 

Рисунок 15 - Принципиальная электрическая схема устройства защиты

 

Рисунок 16 - Источник питания устройства

Рисунок 17 - Устройство защиты от превышения напряжения

Рисунок 18 - Ток потребления устройства

Рисунок 19 - Часы+термометр+источник питания

   Датчик температуры - микросхема DS18B20, с подпаянным к её выводам трёхпроводным кабелем, помещена в стеклянную трубку, заполненную белым герметиком, после высыхания которого обеспечивается защита микросхемы от атмосферных осадков. Датчик закреплён при помощи магнита на отливе за окном. Другой конец кабеля снабжён трёхконтактным разъёмом типа TRS (jack) 3,5мм, который вставляется в соответствующее гнездо на задней стенке устройства. 

Рисунок 20 - Расположение датчика температуры за окном

Рисунок 21 - Подключение датчика темературы

Рисунок 22 -  Расположение устройства в комнате

Рисунок 23 -  Расположение устройства в комнате

   Наладка правильно собранных схем часов и термометра не потребовалась. Оба устройства заработали сразу после подачи напряжения питания. Были опасения, что в предполагаемом месте размещения в квартире (2 метра от оконного стекла и 0,5 метра в сторону) приём информации со спутника будет затруднён, но всё обошлось. После подачи напряжения питания "змейка" на индикаторе наблюдалась всего несколько секунд, после чего часы перешли в режим отображения текущего времени, что и делают в течение последних шести месяцев с высокой точностью и без моего вмешательства.  

Управляющая программа для микроконтроллера часов Atmega8-16PI

Управляющая программа для микроконтроллера термометра ATTINY2313

Резервные ссылки

Atmega8-16PI

ATTINY2313

Индикаторы с общим анодом