Печать

Домашняя метеостанция с часами, календарем и будильниками

Опубликовано . Опубликовано в Устройства на AVR

Рейтинг:   / 5
ПлохоОтлично 

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

Идея создания домашней метеостанции появилась, когда надоели ежеутренние попытки разглядеть с фонарем в руках сквозь оконное стекло показания наружного термометра.

Кроме измерения метеоданных, указанных в табл. 1, станция имеет дополнительные функции: часы, календарь, лунный календарь, восемь будильников. Жидкокристаллический индикатор снабжен подсветкой. Станция каждый час автоматически запоминает текущие значения метеоданных, памяти хватает на 300 суток. Имеется возможность предварительно установить до ста контрольных точек (меток времени, заданных с точностью до минуты). Измеренные в эти моменты времени значения также будут записаны. Память данных и контрольных точек энергонезависима. Накопленную и текущую информацию о погоде можно по интерфейсу USB 2.0 передать для анализа в компьютер. При соединении происходит автоматическая синхронизация часов метеостанции и компьютера. Установить точное время можно и вручную.

Напряжение внешнего источника питания метеостанции — 9...15 В. Потребляемый от него ток в обычном режиме — 17 мА, во время связи с компьютером он возрастает на 23 мА. Включение подсветки увеличивает потребляемый ток на 20 мА. Резервная батарея из четырех гальванических элементов типоразмера AAA обеспечивает полноценную работу метеостанции продолжительностью до двух суток без внешнего питания. Ток, потребляемый от батареи, не превышает 9 мА.

Домашняя метеостанция с часами, календарем и будильниками - схема

Схема метеостанции изображена на рис. 1. Основной элемент — МК ATmega32 (DD1). Он имеет четыре восьмиразрядных универсальных двунаправленных порта ввода—вывода, кроме них использованы следующие узлы МК: 
— АЦП преобразует в цифровую форму аналоговые сигналы датчиков давления и влажности;
— таймер Т1 генерирует звуковые сигналы;
— таймер Т2 поддерживает ход часов реального времени, выводит МК из "спящего" режима;
— модуль USART поддерживает связь с компьютером (9600 Бод, восемь информационных и один стоповый разряд без контроля четности);
— сторожевой таймер в случае "зависания" МК обеспечивает его перезапуск;
— внешнее прерывание INT0 зарезервировано для датчика скорости ветра.

После подачи питания записанная в МК программа инициализирует его периферию, разрешает необходимые прерывания и устанавливает начальные значения даты (01.01.2005) и времени (00:00:00). Учтите, пока установленное значение года меньше 2006, запись метеоданных в энергонезависимую память не ведется. Затем инициализируется ЖКИ HG1, из EEPROM МК извлекаются необходимые для дальнейшей работы программы константы.

Основной бесконечный цикл программы включает в себя обработку нажатий на клавиши, команд компьютера, считывание и запоминание показаний датчиков. Если установлена связь с компьютером или подается звуковой сигнал, МК переходит в режим IDLE, обеспечивающий работу всей периферии, в противном случае — в режим Extended Standby, обеспечивающий минимальное энергопотребление при сохранении функционирования таймера Т2 и реакции на внешние прерывания.

Тактовая частота МК задана кварцевым резонатором ZQ2 на 16 МГц. Резонатор ZQ3 ("часовой" на 32768 Гц) подключен к выводам OSC1 и OSC2 и обеспечивает работу встроенного в МК таймера Т2. Установку МК в исходное состояние выполняет цепь R3C1VD1.
ЖКИ WH1602L подключен по четырехпроводной шине данных (РА0—РАЗ), его управляющие входы RS, RW, Е соединены с выходами РСЗ—РС5 МК. Подсветку экрана ЖКИ включают кнопкой SB5.

Опрос датчиков температуры, давления, влажности, опрос клавиатуры, вывод информации на индикатор, сохранение результатов измерений, обслуживание часов и будильников осуществляются по прерываниям от переполнения таймера Т2, следующим с частотой 128 Гц. Все операции происходят раз в секунду.

Измерение температуры датчиком DS18B20 с точностью 0,1 °С занимает около 0,6 с. По этой причине МК сначала считывает из датчика результат прошлого измерения, а затем запускает новое, результат которого будет считан через секунду. Каждый час взводится флаг сохранения текущих результатов. Само сохранение выполняется в основном цикле. Результаты записываются в организованный в памяти микросхемы DD2 кольцевой стек, адреса начала и конца которого хранятся в EEPROM МК. Этим обеспечивается энергонезависимость хранения накопленной информации. Календарь, также работающий по прерываниям от таймера Т2, имеет автоматическую коррекцию високосного года.

Метеостанция допускает подключение одного или двух датчиков температуры DS18B20, один из которых (находящийся вне помещения) подключают через разъем XI. Второй датчик температуры (ВЗ) смонтирован на основной печатной плате прибора. Эти датчики подключены по трехпроводной схеме и обмениваются информацией с процессором по протоколу 1-Wire. Протокол реализован программно, информационным входом и выходом служит вывод PD4 МК.

В режиме настройки метеостанции (после первого нажатия на кнопку SB6) происходит автоматический поиск подключенных датчиков температуры с указанием при необходимости их расположения (в помещении или вне его). Индивидуальные номера датчиков сохраняются в энергонезависимой памяти МК.

Атмосферное давление измеряет датчик В2. Такие датчики имеют очень хорошую повторяемость угла наклона измерительной характеристики, однако нуждаются в компенсации ее смещения. Такая регулировка также предусмотрена в меню настройки.
Для измерения влажности служит датчик В1. Если приобретен датчик HIH-4000 группы 002 или 004, в приложенной этикетке должны быть указаны индивидуальные значения его параметров. Метеостанция допускает их ввод в режиме настройки.

 

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

Связь станции с компьютером по интерфейсу USB 2.0 организована с помощью микросхемы FT232RL (DD1), тактируемой кварцевым резонатором ZQ1. Описание этой микросхемы, драйверы (архив drv.rar), необходимые для создания в компьютере виртуального СОМ-порта для работы с ней, и утилиту ее конфигурирования (MProg2.9_Setup.exe) можно найти в архиве, или на сайте производителя.

Компьютер подает метеостанции команды согласно табл. 2, в ответ на которые получает от нее сообщения- Обмен информацией происходит только по инициативе компьютера, сама метеостанция работает автономно и полностью сохраняет свою функциональность независимо от подключения к компьютеру.

В МК должны быть запрограммированы разряды конфигурации SUT1, BODEN и СКОРТ, остальные остаются незапрограммированными. Без изменений в схеме вместо микросхемы ATmega32-16PU можно применить ATmega 16-16PU. При этом станет недоступным лунный календарь, а число контрольных точек уменьшится до 50. Программы для обоих МК прилагаются к статье.

Микросхему памяти АТ24С512 можно заменить любой другой из серии АТ24С (EEPROM с интерфейсом I2C), в соответствии с ее информационной емкостью уменьшив константу MAX_SAVE в файле serv.h и перекомпилировав программу.
Если связь с компьютером не требуется, микросхему FT232RL можно вообще не устанавливать. При соответствующем изменении печатной платы вместо нее можно установить преобразователь уровней RS-232—ТТЛ, например, серий МАХ220—МАХ249. Связь с компьютером после такой замены будет происходить через обычный, а не виртуальный СОМ-порт.

Вместо интегрального стабилизатора КР142ЕН5А можно использовать 7805 или другой стабилизатор на 5 В. ЖКИ подойдет любой, имеющий две строки по 16 символов и встроенный контроллер, совместимый с HD44780.
Закончив и проверив монтаж метеостанции, включают ее, не устанавливая МК в предназначенную для него панель. Подстроечным резистором R13 добиваются наилучшей контрастности верхней строки на экране ЖКИ. Если эта строка не видна, проверяют еще раз монтаж, при отсутствии ошибок остается заменить ЖКИ исправным.

Убедившись в исправности ЖКИ, устанавливают в панель МК. После подачи питания будет выведена информация об изделии и его авторах, за ней последует короткий гудок. Это свидетельствует о нормальной работе. Нажатием на кнопку SB2 переходят в режим настройки. Устанавливают время, дату и включают режим "Поиск датчиков" для автоматической регистрации датчиков температуры. При необходимости в пункте меню "Обмен" меняют местами датчики температуры "Дом" и "Улица". Тарировку измерителя давления производят по образцовому барометру или по информации на интернет-сайтах. Если для датчика влажности известны индивидуальные значения параметров, их вводят, пользуясь соответствующими пунктами меню "Настройка". Датчики температуры в тарировке не нуждаются.

В рабочем режиме после включения питания на ЖКИ будут выведены время и дата. Кнопками SB1 и SB2 можно выбрать величину, значение которой отображается в верхней строке, а кнопками SB3 и SB4 — в нижней. Кнопкой SB6 переводят метеостанцию в режим настройки, следующим нажатием на нее — в режим просмотра накопленной информации (при ее наличии) или возвращаются в рабочий режим.

В режиме настройки кнопками SB1 и SB2 выбирают настраиваемый параметр, а кнопками SB3 и SB4 изменяют его. В режиме просмотра накопленной информации в верхней строке отображаются дата и время, а в нижней — хранящееся в памяти значение. Кнопками SB1 и SB2 выбирают время, а кнопками SB3 и SB4 — отображаемую величину.

 

Лунным фазам соответствуют числа от 0 до 1с одной десятичной цифрой после запятой. Знак числа показывает направление изменения фазы: "+" — растет,"-" — убывает.
Одновременное нажатие на кнопки SB1 и SB2 переводит метеостанцию в режим настройки будильников. Номер будильника выбирают кнопкой SB2, кнопками SB3 и SB4 выбирают параметр, а кнопкой SB1 изменяют его значение. Возможна настройка каждого будильника на срабатывание в установленное время в любой комбинации дней недели. Выход из режима настройки будильников производится одновременным нажатием на кнопки SB1 и SB2. Чтобы выключить звуковой сигнал сработавшего будильника, достаточно нажать на любую кнопку.

Источник: Радио №9, 2007г., авторы А. ЗУЙКОВ, И. КВАСОВ, г. Тула.

Файлы:
Дата 13.01.2010 Размер файла 1.86 MB Закачек 2022

Комментарии  

0 #1 вячеслав 20.11.2013 10:17
ну замутили
Сообщить модератору
+1 #2 Komen 29.12.2013 20:43
А как быть с датчиком скорости ветра? Что он должен из себя представлять (принцип действия) и что туда можно прицепить?
Сообщить модератору
0 #3 ioann 12.09.2015 11:38
Собрал станцию, с датчиками: температуры, давления проблем не было. А вот с датчиком влажности заморочики. К сожалению к датчику этикетки не было, а какие выставить цифры в настройках, не знаю. По умолчанию – «ВлажностьC q535» и «ВлажностьK q535», при этих значениях станция кажет в среднем – 9,6%. Хотя реально, должно быть около – 50%.Какие у вас стоят значения? И что означают эти два параметра?
Датчик исправный, т.к. подключал к другой схеме и там все работало.
Буду очень благодарен за помощь!
Сообщить модератору

Рекомендуем посмотреть