|
5.ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
После по дачи питания записанная в МК программа инициализирует его периферию, разрешает необходимые прерывания и устанавливает начальные значения даты (01.01.2005) и времени (00:00:00). Учтите, пока установленное значение года меньше 2006, запись метеоданных в энергонезависимую память не ведется. Затем инициализируется ЖКИ HG1, из EEPROM МК извлекаются необходимые для дальнейшей работы программы константы.
Основной бесконечный цикл программы включает в себя обработку нажатий на клавиши, команд компьютера, считывание и запоминание показаний датчиков. Если установлена связь с компьютером или подается звуковой сигнал, МК переходит в режим IDLE, обеспечивающий работу всей периферии, в противном случае — в режим Extended Standby, обеспечивающий минимальное энергопотребление при сохранении функционирования таймера Т2 и реакции на внешние прерывания.
Тактовая частота МК задана кварцевым резонатором ZQ2 на 16 МГц. Резонатор ZQ3 ("часовой" на 32768 Гц) подключен к выводам OSC1 и OSC2 и обеспечивает работу встроенного в МК таймера Т2. Установку МК в исходное состояние выполняет цепь R3C1VD1.
ЖКИ WH1602L подключен по четырехпроводной шине данных (РАО—РАЗ), его управляющие входы RS, RW, Е соединены с выходами РСЗ—РС5 МК. Подсветку экрана ЖКИ включают кнопкой SB5.
Опрос датчиков температуры, давления, влажности, опрос клавиатуры, вывод информации на индикатор, сохранение результатов измерений, обслуживание часов и будильников осуществляются по прерываниям от переполнения таймера Т2, следующим с частотой 128 Гц. Все операции происходят раз в секунду.
Измерение температуры датчиком DS18B20 с точностью 0,1 °С занимает около 0,6 с. По этой причине МК сначала считывает из датчика результат прошлого измерения, а затем запускает новое, результат которого будет считан через секунду.
Каждый час взводится флаг сохранения текущих результатов. Само сохранение выполняется в основном цикле. Результаты записываются в организованный в памяти микросхемы DD2 кольцевой стек, адреса начала и конца которого хранятся в EEPROM МК. Этим обеспечивается энергонезависимость хранения накопленной информации. Календарь, также работающий по прерываниям от таймера Т2, имеет автоматическую коррекцию високосного года.
Метеостанция допускает подключение одного или двух датчиков температуры DS18B20, один из которых (находящийся вне помещения) подключают через разъем Х1. Второй датчик температуры (ВЗ) смонтирован на основной печатной плате прибора. Эти датчики подключены по трехпроводной схеме и обмениваются информацией с процессором по протоколу 1 -Wire. Протокол реализован программно, информационным входом и выходом служит вывод PD4 МК.
В режиме настройки метеостанции (после первого нажатия на кнопку SB6) происходит автоматический поиск подключенных датчиков температуры с указанием при необходимости их расположения (в помещении или вне его). Индивидуальные номера датчиков сохраняются в энергонезависимой памяти МК.
Атмосферное давление измеряет датчик В2. Такие датчики имеют очень хорошую повторяемость угла наклона измерительной характеристики, однако нуждаются в компенсации ее смещения. Такая регулировка также предусмотрена в меню настройки.
Для измерения влажности служит датчик В1. Если приобретен датчик HIH-4000 группы 002 или 004, в приложенной этикетке должны быть указаны индивидуальные значения его параметров. Метеостанция допускает их ввод в режиме настройки.
Любой из датчиков допускается не устанавливать, на работоспособности метеостанции это не скажется, показания всех оставшихся датчиков будут правильными.
Связь станции с компьюте ром по интерфейсу USB 2.0 организована с помощью микросхемы FT232RL (DD1), тактируемой кварцевым резонатором ZQ1. Описание этой микросхемы, драйверы (архив drv.rar), необходимые для создания в компьютере виртуального СОМ-порта для работы с ней, и утилиту ее конфигурирования (MProg2.9_Setup.exe) можно найти на интернет-сайте производителя микросхемы — компании FTDI <http://www.ftdichip.com>.
Компьютер подает метеостанции команды согласно таблице,
Код | Команда компьютера | Ответ метеостанции* |
S | Передать накопленную информацию | Число отсчетов (два байта), информация, |
|
| контрольная сумма (один байт) |
О | Передать контрольные точки | Число точек (два байта), информация, |
|
| контрольная сумма (один байт) |
С | Очистить память | Нет |
Р | Сообщить текущую погоду | Температура в помещении, сС><10 (два байта), |
|
| температура вне помещения, °Сх10 (два байта), |
|
| атмосферное давление, мм Нд (два байта), |
|
| влажность, %*10 (два байта), |
|
| скорость ветра, м/с*10 (два байта) |
Т | Синхронизировать часы | Секунды, минуты, день, день недели, месяц, |
|
| год-2000 |
V | Сообщить версию программы | Число символов в сообщении (один байт), |
|
| текстовое сообщение |
в ответ на которые получает от нее сообщения. Обмен информацией происходит только по инициативе компьютера, сама метеостанция работает автономно и полностью сохраняет свою функциональность независимо от подключения к компьютеру.
Чертеж основной печатной платы метеостанции изображен на рис. 2. Микросхема DD1 установлена со стороны печатных проводников. Фольга со стороны деталей сохранена и служит общим проводом. Везде, где это возможно, соединяемые с ним выводы деталей должны быть пропаяны с обеих сторон платы. Отверстия для этих вы водов показаны на рис. 2 залитыми. Фольга вокруг других отверстий удалена со стороны деталей сверлом диаметром 3 мм. Вывод 3 датчика В2 изогнут и припаян к "верхней" фольге. Для МК DD3 должна быть предусмотрена панель.
Кнопки SB1— SB6 и соединяемые с ними диоды и резисторы смонтированы на отдельной печатной плате, показанной на рис. 3. Ее соединения с основной платой выполнены жгутом гибких изолированных проводов А—Ж. Метеостанция в сборе (без корпуса) изображена на рис. 4.
В МК должны быть запрограммированы разряды конфигурации SUT1, BODEN и СКОРТ, остальные остаются незапрограммированными. Без изменений в схеме вместо микросхемы ATmega32-16PU можно применить ATmegai 6-16PU. При этом станет недоступным лунный календарь, а число контрольных точек уменьшится до 50. Программы для обоих МК прилагаются к статье.
Закончив и проверив монтаж метеостанции, включают ее, не устанавливая МК в предназначенную для него панель. Подстроечным резистором R13 добиваются наилучшей контрастности верхней строки на экране ЖКИ. Если эта строка не видна, проверяют еще раз монтаж, при отсутствии ошибок остается заменить ЖКИ исправным.
Убедившись в исправности ЖКИ, устанавливают в панель МК. После подачи питания будет выведена информация об изделии и его авторах, за ней последует короткий гудок. Это свидетельствует о нормальной работе. Нажатием на кнопку SB2 переходят в режим настройки. Устанавливают время, дату и включают режим "Поиск датчиков" для автоматической регистрации датчиков температуры. При необходимости в пункте меню "Обмен" меняют местами датчики температуры "Дом" и "Улица". Тарировку измерителя давления производят по образцовому барометру или по информации на интернет-сайтах, например <http://www.gismeteo.ru>. Если для датчика влажности известны индивидуальные значения параметров, их вводят, пользуясь соответствующими пунктами меню "Настройка". Датчики температуры в тарировке не нуждаются.
В рабочем режиме после включения питания на ЖКИ будут выведены время и дата. Кнопками SB1 и SB2 можно выбрать величину, значение которой отображается в верхней строке, а кнопками SB3 и SB4 — в нижней. Кнопкой SB6 переводят метеостанцию в режим настройки, следующим нажатием на нее — в режим просмо тра накопленной информации (при ее наличии) или возвращаются в рабочий режим.
В режиме настройки кнопками SB1 и SB2 выбирают настраиваемый параметр, а кнопками SB3 и SB4 изменяют его. В режиме просмотра накопленной информации в верхней строке отображаются дата и время, а в нижней — хранящееся в памяти значение. Кнопками SB1 и SB2 выбирают время, а кнопками SB3 и SB4 — отображаемую величину.
Лунным фазам соответствуют числа от 0 до 1 с одной десятичной цифрой после запятой. Знак числа показывает направление изменения фазы: "+" — растет,"-" — убывает.
Одновременное нажатие на кнопки SB1 и SB2 переводит метеостанцию в режим настройки будильников. Номер будильника выбирают кнопкой SB2, кнопками SB3 и SB4 выбирают параметр, а кнопкой SB1 изменяют его значение. Возможна настройка каждого будильника на срабатывание в установленное время в любой комбинации дней недели. Выход из режима настройки будильников производится одновременным нажатием на кнопки SB1 и SB2. Чтобы выключить звуковой сигнал сработавшего будильника, достаточно нажать на любую кнопку.
Дата добавления: 2015-11-04; просмотров: 29 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
График работы слушателей резидентуры в 2015-2016 уч.г. | | | Пятьдесят Оттенков свободы 1 страница |