48Н - копирование блокнота (CopyScratchpad) - после этой команды минимальная (TL) и максимальная (ТН) установленные значения температур переписываются в энергонезависимую память (EEPROM). После отключения напряжения питания записанные значения! сохранятся в памяти.
B8h - восстановление (Recall В2) - команда необходима для копирования значений температуры из. EEPROM в рабочую зону блокнота. При выполнении восстановления термодатчик выдает в линию низкий уровень, а после окончания записи — высокий.
B4h - питание от линии (ReadPowerSupply) - после этой команды термодатчик переходит к питанию от линии. В составе термодатчика имеется конденсатор, который заряжается от высокого уровня линии.
Перед опросом термодатчика управляющим микроконтроллером необходимо выдержать время, необходимое для заряда конденсатора.
Микроконтроллерный термодатчик тактируется внутренним генератором частотой 4 МГц и рассчитан на работу с управляющим микроконтроллером, который должен тактироваться такой же частотой.
Термодатчик работает на пониженных частотах из-за большого разброса длительности импульсов принятого в интерфейсе формата обмена данными между термодатчиком и управляющим микроконтроллером.
Передача данных по однопроводной шине выполняется импульсами нулевого уровня, но различной длительности. Импульс воспринимается как логическая 1, если его длительность не превышает 15 мкс (рисунок 2.7). Если длительность импульса больше 15 мкс, то он воспринимается как логический 0.
Рисунок 2.7 – Импульсы логического 0 и 1
Длительность одного бита информации принята равной 60 мкс. Отсюда и разброс возможных длительностей импульсов: лог. 0 — I...15 мкс, лог. 1 — 15...60 мкс. Для того чтобы термодатчик подготовить к приему информации, управляющий микроконтроллер должен послать в линию импульс обнуления (Reset) (рисунок 2.8).
Рисунок 2.8 – Импульс обнуления термодатчика
Импульс обнуления должен иметь длительность 480...960 мкс. В ответ на обнуление линии термодатчик посылает импульс присутствия (Presence). Если в устройстве не предусмотрено отключение датчика, то импульс присутствия для упрощения программы можно не проверять, а заполнить это время (около 100 мкс) паузой. Длительность импульса Presenceможет быть в пределах 60...240 мкс.
Если к одной линии подключено несколько термодатчиков, то проверка импульса присутствия обязательна. Перед приемом каждого бита информации с датчика, микроконтроллер управления PICдолжен послать короткий импульс готовности (запроса) длительностью 1...3 мкс.
Обмен данными и командами начинается с младшего бита. Формат регистров термодатчика показан на рисунке 2.9.
Младший регистр температуры LS
26 | 25 | 24 | 23 | 22 | 21 | 20 | 2-1 |
Старший регистр температуры MS (знаковый)
S | S | S | S | S | S | S | S |
Регистры установки ограничения температуры TH, TL
S | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
Рисунок 2.9 – Формат регистров термодатчика DS 1820
Младший регистр температуры (LS) несет информацию о температуре. В нулевой бит записана информация о десятых долях температуры. Если нулевой бит единичный, то десятые доли равны 0,5°С.
Старший регистр температуры (MS) содержит информацию о знаке температуры, Дели значения регистра нулевые, то знак температуры положительный, и наоборот.
Поскольку все биты регистра MS одинаковы, то достаточно считать только младший бит, т.е. длина слова от термодатчика составляет 9 бит = 8 бит (температура LS) + 1 бит знаковый (MS).
Регистры установки ограничения температуры Тн, TL несут информацию только о целых значениях температуры. В седьмом бите записывают информацию знаке температуры. При отрицательной температуре в седьмой бит необходимо записать единицу.
Таблица 2.5 – Значения кодов термодатчика при различной температуре
Температура | Формируемый двоичный код | Шестнадцатиричный код |
+85,0о С +25,0oC +0,5oC 0oC -0,5oC -25,0oC -55,0o C | 0000 0000 1010 1010 0000 0000 0011 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1100 1110 1111 1111 1001 0010 | 00ААh 0032h 0001h 0000h FFFFh FFCEh FF92h |
В таблице 2.5 приведен пример принимаемых кодов при различных температурах. Для того чтобы получить значение температуры при минусовых температурах, необходимо принятую информацию перевести в дополнительный код. Для перевода в дополнительный код необходимо принятый код инвертировать и прибавить единицу. Например, для значения 1111 1111 получим 0000 0001, т. е. 0.5°С, но со знаком минус.
Последовательность действий управляющего микроконтроллера PIC при считывании температуры с одного термодатчика DS 1820:
1) послать сигнал обнуления линии (480…960 мкс);
2) принять импульс присутствия или заполнить паузой (60…240 мкс);
3) послать команду пропуска идентификации 0хССh;
4) послать команду начала преобразования 0х44h;
5) пауза не менее 500 мкс для завершения процесса преобразования;
6) обнулить линию;
7) послать команду пропуска идентификации 0хССh;
8) послать команду считывания блокнота 0х0Вh;
9) принять 9 байт;
10) проанализировать бит знака;
11) если знак отрицательный, то перевести значение температуры в дополнительный код.
Программа управления термодатчиком приведена в параграфе 3.2.
2.3 Схема стабилизатора напряжения питания
Предлагается схема стабилизации напряжения питания в допустимых пределах изменения рабочих напряжений от 180 до 250 В, т.е. ± 10% от 220В. Необычность и оригинальность схемы состоит в отсутствии понижающего трансформатора, что, естественно, приводит к уменьшению размеров схемы, но приводит к ограничению температурных условий эксплуатации из-за наличия электролитических конденсаторов.
Схема устройства показана на рисунке 2.10. Источник питания для микроконтроллера, термодатчика и ЖКИ построен по схеме, предложенной О. Ховайко. Конденсаторы С1 и С2, СЗ выполняют роль делителя входного переменного напряжения. Напряжение на электролитических конденсаторах С2, СЗ будет равно 5,5 В, а после диодного моста VD1—VD4 и фильтрации конденсатором С4 повышается до 11 В, подаваемое на регулируемый стабилизатор тока и напряжения ДА1 (КР 142ЕН12А). Стабилизатор с регулируемым выходным напряжением на микросхеме КР142ЕН12А установлен для того, чтобы была возможность точно выставить напряжение питания, равное 5,12 В. Точную регулировку напряжения выполняют переменным резистором R5.
Рисунок 2.10 – Схема стабилизации напряжения и тока источника питания
2.4 Схема системы климат-контроля
На основании структурной схемы, полученной в первой главе, выбранных элементов и схемы источника питания можно приступить к разработке системы климат-контроля. Будем считать заданным электродвигатель постоянного тока с независимым возбуждением и жидкокристаллический индикатор типа МТ-16S2H.
Рисунок 2.11 – Схема системы климат-контроля
Микроконтроллер DD2 через вывод 5 порта А соединен с микросхемой DD1 термодатчика на вывод 2, по которому передаются данные о температуре. Соединение с микросхемой DD3 жидкокристаллического индикатора осуществляется через выводы RB0-RB7 порта В, а управление индикатором через выводы RE0-RE2 порта Е. Регистр R1 индикатора служит для изменения подсветки табло. Микроконтроллер осуществляет управление включением кондиционера через гальваническую связь – оптронную пару U1 типа MOC 3043. Замыкание якорной цепи двигателя происходит с помощью контактов управляющего пускового реле К1 типа РПУ-2. Система начинает функционировать после нажатия кнопки «Пуск». Программы измерения температуры, управление индикацией и двигателем постоянного тока (ДПТ) приведены в третьей главе.
3 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
3.1 Программа управления ЖКИ типа MT-16S2DH
Жидкокристаллические индикаторы (ЖКИ), иначе, жидкокристаллические дисплеи (ЖКД) или LCD-индикаторы (liquidcrystaldisplay) практически полностью заменили светодиодные индикаторы во многих устройствах. Единственным недостатком ЖКИ является то, что им трудно пользоваться при малой освещенности.
В настоящее время широко применяется двухстрочный ЖКИ MT-16S2DHс контроллером HD44780 фирмы Hitachi. Если необходим дисплей на четыре строки по 40 символов, то можно включить блок управления М50530 или пару контроллеров HD44780. Индикатор имеет 14 выводов.
Таблица 3.1 - Выводы подключения ЖКИ
вывод | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Функ. | Gnd | Vdd | V0 | RS | R/W | E | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
Напряжение питание нормировано и составляет 5В. На вывод V0 подается напряжение регулировки контрастности табло через подстроечный резистор 10 кОм, включенный между «землей» и выводом Vdd. Модуль HD44780 содержит два регистра: регистр команд IR (InstractionRegister) и регистр данных DR (DataRegister).