|
Система управления установкой для измерения влажности и давления
2.3 Выбор датчика влажности
В настоящее время на практике для
измерения относительной влажности применяется несколько технологий,
использующих свойство различных структур изменять свои физические параметры[3]
(емкость, сопротивление, проводимость и температуру) в зависимости от степени
насыщения водяным паром. Каждой из этих технологий свойственны определенные
достоинства и недостатки (точность, долговременная стабильность, время
преобразования и т.д.). В таблице 2.8 приведен сравнительный анализ
характеристик емкостных и резистивных датчиков относительной влажности, при
производстве которых применяются различные материалы.
Таблица 2.8.
|
Технология производства HONEYWELL |
Технологии производства других производителей |
Активный материал |
Термо- реактивный полимер |
Термо- реактивный пластик |
Термо- реактивный пластик |
Однородный термо- пластик |
Однородная триокись алюминия |
Хлорид литиевая пленка |
Испари- тельный психрометр |
Подложка |
керамическая или кремниевая |
керамическая, кремниевая или стеклянная |
полистирол или майлар |
нет |
нет |
керамическая |
нет |
Изменяющийся параметр |
емкость |
емкость |
емкость |
сопро- тивление |
сопро- тивление |
прово- димость |
темпе- ратура |
Измеряемый параметр |
% RH |
% RH |
% RH |
% RH |
% RH |
% RH |
Температура влажной и сухой колбы |
Диапазон измерения |
0…100 % RH |
0…100 % RH |
0…100 % RH |
20…100 % RH |
2…90 % RH |
15…< 100 % RH |
20…100 % RH |
Точность |
±1,0…±5,0% |
±3,0…±5,0% |
±3,0…±5,0% |
±3,0…±10,0% |
±1,0…±5,0% |
±5,0% |
3,0…4,0% |
Взаимозаменяемость |
±2,0…±10,0% RH |
±3,0…±20,0% RH |
±2,0…±20,0% RH |
±5,0…±25,0% RH |
плохая |
±30…±10,0% RH |
отличная |
Гистерезис |
< 1,0…3,0 % |
2,0…5,0% |
2,0…5,0% |
3,0…6,0% |
< 2% |
очень высокий |
высокий |
Линейность |
±1,0% |
±1,0% |
±2,0% |
плохая |
плохая |
очень плохая |
плохая |
Время отклика |
15,0…60,0 сек |
15,0…90,0 сек |
15,0…90,0 сек |
2,0…5,0 мин |
3,0…5,0 мин |
3,0…5,0 мин |
2,0…5,0 мин |
Диапазон рабочих температур |
-40…+185°C |
-30…+190°C |
-25…+100°C |
+10…+40°C |
-10…+75°C |
- |
0…+100°C |
Температурный эффект |
-0,0022%RH/°C |
0,3/%RH/°C |
< 0,3/%RH/°C |
>1,0/%RH/°C |
>1,0/%RH/°C |
>1,0/%RH/°C |
< 0,5/%RH/°C |
Долговременная стабильность |
±1,0%RH/5лет |
±1,0%RH/1год |
±1,0%RH/1год |
±3,0%RH/1год |
>1,0/%RH/°C |
>1,0%RH/год |
±0,1%RH/1год |
Стойкость к загрязнению |
отличная |
хорошая |
очень хорошая |
очень хорошая |
очень хорошая |
±1,0/%RH/°C |
очень хорошая |
Стойкость к конденсату |
отличная |
очень хорошая |
хорошая |
очень хорошая |
очень хорошая |
очень хорошая |
очень хорошая |
Среди всех типов емкостные датчики,
благодаря полному диапазону измерения, высокой точности и температурной
стабильности, получили наибольшее распространение как для измерения влажности
окружающего воздуха, так и применения в производственных процессах.
Компания Honeywell производит
семейство емкостных датчиков влажности, применяя метод многослойной структуры
(рис. 2.8), образуемой двумя плоскими платиновыми обкладками и диэлектрическим
термореактивным полимером, заполняющим пространство между ними. Термореактивный
полимер, по сравнению с термореактивной пластмассой, обеспечивает датчику более
широкий диапазон рабочих температур и высокую химическую стойкость к таким
агрессивным жидкостям и их парам, как изопропил, бензин, толуол и аммиак. В
дополнение к этому датчики на основе термореактивного полимера имеют самый
большой срок службы в этиленоксидных стерилизационных процессах.
Рисунок 2.8 Метод многослойной
структуры, применяемый при изготовлении датчиков влажности
В процессе работы водяной пар
проникает через верхнюю пористую обкладку конденсатора (рис. 2.8) и
уравновешивается с окружающим газом. Одновременно эта обкладка защищает
электрические процессы, протекающие в полимерном слое, от внешних физических
воздействий (света и электромагнитного излучения). Слой полимера, покрывающий
пористый платиновый электрод сверху, служит защитой конденсатора от пыли, грязи
и масел. Такая мощная фильтрационная система, с одной стороны, обеспечивает
датчику длительную бесперебойную работу в условиях сильной загрязненности
окружающей среды, с другой — снижает время отклика.
Выходной сигнал любого (емкостного
или резистивного) абсорбционного датчика влажности представляет собой функцию
от температуры и влажности, поэтому для получения высокой точности измерения в
широком диапазоне рабочих температур требуется температурная компенсация
характеристики преобразования. Компенсация особенно необходима, когда датчик
используется в индустриальном оборудовании для измерения влажности и точки
росы. Именно для этих целей некоторые модели датчиков Honeywell имеют
встроенный платиновый терморезистор сопротивлением 1000 Ом, который расположен
с обратной стороны подложки (рис. 2.9).
Рисунок 2.9 Структура датчика
влажности со встроенным платиновым датчиком температуры
Датчики влажности Honeywell — это
интегрированные приборы. Помимо чувствительного элемента и термосенсора, на той
же подложке расположена схема обработки сигнала, которая обеспечивает
преобразование сигнала, его усиление и линеаризацию. Выходной сигнал датчика
Honeywell является функцией от напряжения питания, окружающей температуры и
влажности. Чем выше напряжение питание, тем больше размах выходного сигнала и,
соответственно, чувствительность. Связь же между измеренной датчиком
влажностью, истинной влажностью и температурой показана на объемной диаграмме
(рис. 2.10).
Рисунок 2. 10 Связь между измеренной
датчиком влажностью, истинной влажностью и температурой
Она легко аппроксимируется с помощью
комбинации двух выражений:
Прямая наилучшего соответствия при 25 °C (жирная линия на диаграмме), описывается выражением Uвых = Uпит(0,0062 ·
(%RH25) + 0,16). Из этого уравнения определяется процент RH25
при температуре 25 °C.
Далее производится температурная
коррекция и вычисляется истинное значение RH: RHистинная = (%RH25)
· (1,0546 - 0,00216T), где T измеряется в °C.
Выражения выше соответствуют
характеристикам реальных датчиков со следующими отклонениями:
Рисунок 2.11 Характеристики
преобразования датчика влажности Honeywell при различных температурах
Особенности применения датчиков серии
HIH-3602 [4]
Для работы в суровых климатических
условиях и наиболее точного определения значения влажности вблизи точки росы
фирма Honeywell выпускает серию HIH-3602 с модификациями. Датчики выпускаются в
корпусе ТО-5, в который встроен датчик температуры, для модели HIH-3602-A это
NTC термистор номиналом 100кОм, для HIH-3602-С платиновый датчик температуры
номиналом 1кОм. Возможны ситуации, когда при высоком значении относительной влажности
(более 95%) при понижении температуры возможна конденсация паров воды, что
влечет за собой «залипание» показаний на уровне 100% относительной влажности.
Для предотвращения этого случая в датчиках серии HIH-3602 предусмотрен
гидрофобный фильтр, выполненный из специально обработанной нержавеющей стали.
Вывести из «спящего» состояния также помогает подача на датчик несколько
повышенного напряжения питания, однако при этом возможно некоторое смещение
калибровки на 2…3 %. Сама по себе конденсация и последующее испарение влаги не
оказывает влияния на калибровку датчиков.
Основные преимущества серии HIH-3602
- наличие встроенного датчика
температуры
- корпус с гидрофобным фильтром
- каждый датчик снабжен паспортом с
индивидуальными данными
- лазерная подгонка элементов
- высокая устойчивость к воздействию
химических веществ (кроме паров ацетона или этанола).
Выберем датчик HIH-3602-L .
Таблица 2.9
2.4 Выбор индикатора
В данной задаче для вывода информации
будет достаточно, чтобы ЖК экран позволял вывести до 8 символов. Таким
требования удовлетворяет алфавитно-цифровой ЖК экран производства фирмы
Hantronix HDM 08111H-L[5], размером 8х1
символ. Размер каждого символа 5х10 пикселей.
Данный экран имеет встроенный
контроллер HD 44780 от фирмы Hitachi.
На рисунке 2.12приводятся размеры
экрана и символов.
Рис. 2.12 – Размеры экрана и символов
В таблице 2.10 приведены назначения
выводов ЖК экрана HDM 08111H-L.
Таблица 2.10
Назначение выводов |
№ вывода |
Название |
Функция |
1 |
Vss |
Общий (GND) |
2 |
Vdd |
Напряжение питания |
3 |
Vo |
Контрастность |
4 |
RS |
Команды/Данные |
5 |
R/W |
Чтение/запись |
6 |
E |
Выбор модуля |
7 |
DB0 |
Линия данных 0 |
8 |
DB1 |
Линия данных 1 |
9 |
DB2 |
Линия данных 2 |
10 |
DB3 |
Линия данных 3 |
11 |
DB4 |
Линия данных 4 |
12 |
DB5 |
Линия данных 5 |
13 |
DB6 |
Линия данных 6 |
14 |
DB7 |
Линия данных 7 |
Для подсветки данного экрана будет
использована светодиодная подсветка зеленого цвета. Данный тип подсветки
долговечен – наработка до 50000 часов, не требует инвертора напряжения. Рабочий
диапазон температур от -30С до +70С.
2.5 Контроллер ЖК экрана Hitachi HD 44780
Контроллер HD44780[6] фирмы Hitachi
фактически является промышленным стандартом и широко применяется при
производстве алфавитно-цифровых ЖКИ-модулей. Аналоги этого контроллера или
совместимые с ним по интерфейсу и командному языку микросхемы, выпускают
множество фирм, среди которых: Epson,
Toshiba, Sanyo, Samsung,
Philips. Еще большее число фирм производят
ЖКИ-модули на базе данных контроллеров. Эти модули можно встретить в самых
разнообразных устройствах: измерительных приборах, медицинском оборудовании,
промышленном и технологическом оборудовании, офисной технике – принтерах,
телефонах, факсимильных и копировальных аппаратах.
Алфавитно-цифровые ЖКИ-модули
представляют собой недорогое и удобное решение, позволяющее сэкономить время и
ресурсы при разработке новых изделий, при этом обеспечивают отображение
большого объема информации при хорошей различимости и низком энергопотреблении.
Возможность оснащения ЖКИ-модулей задней подсветкой позволяет эксплуатировать
их в условиях с пониженной или нулевой освещенностью, а исполнение с
расширенным диапазоном температур (-20°С...+70°С) в сложных эксплуатационных
условиях, в том числе в переносной, полевой и даже, иногда, в бортовой
аппаратуре.
Контроллер HD44780 потенциально может управлять 2-мя строками по 40
символов в каждой (для модулей с 4-мя строками по 40 символов используются два
однотипных контроллера), при матрице символа 5x7 точек. Контроллера также
поддерживает символы с матрицей 5x10 точек.
Существует несколько различных
более-менее стандартных форматов ЖКИ-модулей (символов х строк): 8 х 2, 16 х 1,
16x2, 16 х 4, 20 х 1, 20 х 2, 20 х 4, 24 х 2, 40 х 2, 40 х 4. Встречаются и
менее распространенные форматы: 8 х 1, 12 х 2, 32 х 2 и др., – принципиальных
ограничений на комбинации и количество отображаемых символов контроллер не
накладывает – модуль может иметь любое количество символов от 1 до 80, хотя в
некоторых комбинациях программная адресация символов может оказаться не очень
удобной.
В рамках одного формата могут
производиться ЖКИ-модули нескольких конструктивов, отличающихся как габаритами
ЖКИ (и, как следствие, размерами символов), так и размерами платы и посадки.
Например, фирма Powertip
предлагает алфавитно-цифровые ЖКИ-модули 11-ти форматов (от 8 х 2 до 40 х 4) в
37-ми различных конструктивах, 16 х 1 в 6-ти, а модули формата 16 х 2 в 11-ти.
В рамках одного конструктива
ЖКИ-модуль может иметь еще ряд модификаций. В частности, могут применяться
несколько типов ЖКИ, отличающихся цветом фона и цветом символов, а также по
применяемым ЖК-материалам и структуре: TN, STN и FSTN типа. ЖКИ STN и FSTN
типа имеют более высокую стоимость, но одновременно обладают повышенной
контрастностью и вдвое большим максимальным углом обзора, причем ЖКИ FSTN типа имеют лучшие характеристики,
чем STN.
ЖКИ-модули могут оснащаться задней
подсветкой, размещаемой между ЖКИ и печатной платой, для чего ЖКИ производятся
с полупрозрачным или прозрачным задним слоем (в последнем случае считывание информации
возможно только при наличии подсветки). Собственно подсветка может быть
реализована несколькими способами: с помощью электролюминесцентной панели,
представляющей собой тонкую пленку, излучающую свет при прикладывании
переменного тока повышенного напряжения порядка 100÷150В. Люминесцентной
лампой с холодным катодам (также работающей при повышенном напряжении),
излучение которой равномерно распределяется по всей площади ЖКИ с помощью
отражателя или плоского световода. И третий вариант – подсветка на основе
светодиодной матрицы.
Первые два способа подсветки
обеспечивают высокую яркость и могут иметь белый тон свечения при относительно
низком потреблении, потребуют наличия источника повышенного напряжения, что
создает некоторые трудности при создании аппаратуры с автономным питанием.
Напротив, светодиодная подсветка не требует высоковольтного источника (прямое
падение напряжения составляет 4,2 В) и при использовании несложного источника
тока позволит производить питание от источника с напряжением 5В. Кроме того,
светодиодная подсветка имеет значительно большее (в десятки раз) время
наработки, а также только она допустима к эксплуатации в расширенном диапазоне
температур (-20°С..+70°С).
Для соединения ЖКИ-модуля с
управляющей системой используется параллельная синхронная шина, насчитывающая 8
или 4 (выбирается программно) линий данных DB0...DB7,
линию выбора операции R/W, линию выбора регистра RS и линию стробирования/синхронизации
Е. Кроме линий управляющей шины имеются две линии для подачи напряжения питания
5В – GND и Vсс, и линия для подачи напряжения питания драйвера ЖКИ – V0.
Указанные выше названия линий шины
являются стандартными, но существует множество различных вариантов расположения
контактов у каждого конкретного конструктива ЖКИ-модуля. На самом деле,
единственным реально стандартным вариантом расположения контактов является
двухрядное 14-ти контактное поле, расположенное вертикальное левой части
модуля, а также совпадающее с ним двухрядное 16-ти контактное поле, содержащее
дополнительную пару контактов с подключенными к ней выводами питания подсветки.
В любом случае, для получения достоверной информации необходимо воспользоваться
соответствующей справочной литературой изготовителя модуля.
На начальном этапе необходимо подать
питание на ЖКИ-модуль и добиться от него признаков работоспособности. Схема
включения модуля, рассчитанного на стандартный диапазон температур, показана на
рисунке 2.13а. Построечный резистор R1 позволяет
плавно менять напряжение питания драйвера ЖКИ, что приводит к изменению угла
поворота жидких кристаллов. Этим резистором можно отрегулировать фактическую
контрастность при некотором преимущественном угле наблюдения (снизу-вверх или
сверху-вниз).К сожалению, включение в данную схему ЖКИ-модуля, рассчитанного на
расширенный диапазон температур, не приведет к успеху, так как из-за
особенностей применяемых в них ЖК-материалов, эти ЖКИ требуют повышенного
напряжения питания и при питании напряжением 5В изображение либо будет
отсутствовать совсем, либо будет слабоконтрастным. Для преодоления ситуации
необходимо подать на вывод V0
отрицательное
напряжение (напряжение на ЖКИ определяется разностью Vcc и V0), составляющее в предельном случае – 5В. Если в схеме
отсутствует источник отрицательного напряжения, то не составляет труда собрать
простейший преобразователь, например, по схеме на рисунке 2.13.
Рисунок 2.13 – Подача питания на
ЖКИ-модуль
Для активизации ЖКИ-модуля подайте
напряжение питания и повращайте движок резистора R1 (рисунок 2.13). После окончания цикла внутренней
инициализации модуль включается в режим развертки одной верхней строки. При
изменении напряжения на выводе V0 сегменты этой строки должны менять
свое состояние от прозрачного до непрозрачного, что является свидетельством
правильного подключения питания модуля и работоспособности контроллера и
драйверов ЖКИ. Установите движок в такое положение, при котором изображение
сегментов в верхней строке едва проступает на основном фоне ЖКИ. Теперь
ЖКИ-модуль готов к приему и отображению информации. После того, как вы
добьетесь отображения на индикаторе какого-либо текста, то сможете более точно
отрегулировать изображение в соответствии с необходимой контрастностью и
требуемым углом наблюдения. Для соединения модуля с управляющей системой можно
выбрать один из двух вариантов: по 8-ми или 4-х разрядной шине. В первом случае
потребуется 11 сигнальных линий, во втором – только 7. Сам процесс обмена также
может быть организован двояко. Можно подключить ЖКИ-модуль к системной шине
(если таковая имеется) и выполнить обмен в синхронном режиме с максимальной
скоростью. Этому широко распространенному в прошлые годы способу присущ ряд
недостатков. Во-первых, большинство современных устройств выполняется с
применением однокристальных микро-ЭВМ без использования дополнительной внешней
памяти и, как следствие, системная шина у этих устройств просто отсутствует.
Во-вторых, в современных системах повышенной сложности и производительности, у
которых присутствует дополнительная память и, естественно, системная шина,
скорость операций на шине находится за пределами возможностей контроллера HD44780 (2 МГц при питании 5 В и 1 МГц
при 3 В). Это может потребовать введения дополнительных схем для замедления
скорости работы шины при выполнении операций обмена с ЖКИ-модулем. В-третьих,
подключение к системной шине в большинстве случаев потребует вводить схемы
дешифрации и формирования сигналов Е и R/W, что опять
приведет к дополнительным затратам. Все сказанное выше не означает, что вариант
с подключением к шине принципиально неэффективен. В какой-то конкретной системе
этот способ, наоборот, может быть самым оптимальным. Кроме того, некоторые
современные процессоры, имеют встроенные средства для формирования сигналов
выборки (CS), с возможностью программно
определить скорость обмена с каждым конкретным устройством.
Другой вариант – очень простой путь –
обмен с ЖКИ-модулем выполняется чисто программными средствами, через порты
ввода-вывода управляющей микро-ЭВМ. В дальнейшем мы сконцентрируем внимание
именно на этом варианте, так как он позволяет рассмотреть общий случай,
абстрагируясь от конкретной системы. Вариант соединения с системной шиной,
напротив, требует рассмотрения конкретных устройств, поэтому в случае
необходимости можно рекомендовать изучить временные диаграммы операций чтения и
записи, приведенные на рисунках 2.16 и 2.17, а также значения временных
параметров, приведенные в таблицах 2.13 и 2.14 и сконструировать
соответствующие управляющие схемы.
Нa рисунке 2.15а приведена схема подключения ЖКИ-модуля с 8-ми
разрядной шиной к некоторой абстрактной микро-ЭВМ XYZ. Эта микро-ЭВМ содержит два порта: 8-ми разрядный
двунаправленный РАО…РА7, к которому подключена шина DBO...DB7
ЖКИ-модуля, и 3-х разрядный РВО...РВ2, к которому подключены линии управляющих
сигналов: Е, RS,R/W. На рисунке 2.15б
можно видеть схему подключения ЖКИ-модуля к этой же микро-ЭВМ в 4-х разрядном
режиме. Обратите внимание, что для обмена в 4-х разрядном режиме используется
старшая тетрада шины данных – DB4...DB7.
Рисунок 2.15 – Схема подключения
В соответствии с временной диаграммой
(рис. 2.16 и 2.17) в исходном состоянии сигнал Е = 0, сигнал R/W = 0, значение сигнала RS – произвольное, шина данных DBO...DB7 в
состоянии высокого импеданса (HI).
Такое состояние управляющих сигналов (Е и R/W) должно
поддерживаться все время в промежутках между операциями обмена с ЖКИ-модулем.
Шина данных в эти моменты в принципе свободна, и может использоваться в мультиплексном
режиме для каких-либо других целей, например, для сканирования матрицы
клавиатуры. Естественно, необходимо позаботиться об исключении конфликтов на
шине данных в момент совершения операций обмена с ЖКИ-модулем.
Последовательности действий, которые
необходимо выполнять управляющей системе при совершении операций записи и
чтения для 8-ми и 4-х разрядной шины приведены соответственно в таблицах 2.11- 2.14.
Таблица 2.11 – Операции записи для
8-ми разрядной шины
Таблица 2.12– Операции чтения для
8-ми разрядной шины
Таблица 2.13– Операция записи для 4-х
разрядной шины
Таблица 2.14 – Операция чтения для
4-х разрядной шины
Рисунок 2.16– Временная диаграмма
операции записи
Рисунок 2.17 – Временная диаграмма
операции чтения
Приведенные в таблицах 2.11-2.14
операции подразумевают, что время выполнения каждого шага составляет не менее
250 нс. При использовании современных быстродействующих микро-ЭВМ это условие
может быть легко нарушено, поэтому необходимо тщательно контролировать
минимальные значения временных интервалов, чтобы они всегда находились в
области допустимых значений, указанных в таблицах 2.15 и 2.16, и при
необходимости вводить задержки.
Таблица 2.15 – Значения временных
характеристик. Операция записи
Таблица 2.16 – Значения временных
характеристик. Операция чтения
Описанные выше операции записи/чтения
байта являются базовыми для осуществления обмена с ЖКИ-модулем. Реализация этих
двух операций – единственное, что отличает процесс обмена по 8-ми разрядной
шине от обмена по 4-х разрядной шине. Нa основе этих двух операций, реализованных программно (когда
модуль подключен к портам микро-ЭВМ), или аппаратно (когда модуль подключен к
системной шине), строятся все виды операций программирования и управления.
Несколько слов о подключении
ЖКИ-модулей формата 40 х 4. Эти модели содержат два контроллера НD44780 и фактически представляют собой
два модуля 40 х 2. Для сокращения числа соединений все сигналы обоих
контроллеров соединены параллельно, исключение составляет только сигнал Е,
одновременно выполняющий роль тактового сигнала и сигнала выборки микросхемы CS, поэтому обмен с каждым из
контроллеров ведется попеременно.
Перед началом рассмотрения принципов
управления ЖКИ-модулем, обратимся к внутренней структуре контроллера HD44780, чтобы понять основные принципы
построения ЖКИ-модулей на его основе. Эта информация позволит понять способы
организации модулей различных форматов с точки зрения программной модели, а
также мотивации конструкторов ЖКИ-модулей.
Упрощенная структурная схема
контроллера приведена на рисунке 2.18. Можно сразу выделить основные элементы,
с которыми приходится взаимодействовать при программном управлении: регистр
данных (DR), регистр команд (IR), видеопамять (DDRAM), ОЗУ знакогенератора (CGRAM), счетчик адреса памяти (АС), флаг
занятости контроллера.
Рисунок 2.18 – Упрощенная структурная
схема контроллера HD44780
Другие элементы не являются объектом
прямого взаимодействия с управляющей программой – они участвуют в процессе
регенерации изображения на ЖКИ: знакогенератор, формирователь курсора,
сдвиговые регистры и драйверы (напоминаем, что приведенная схема – упрощенная,
и многие не важные для получения общей картины промежуточные элементы на ней
опущены).
Управление контроллером ведется
посредством интерфейса управляющей системы. Основными объектами взаимодействия
являются регистры DR и IR. Выбор адресуемого регистра
производится линией RS, если RS = 0 – адресуется регистр команд (IR), если RS = 1 – регистр данных (DR).
Данные через регистр DR, в зависимости от текущего режима,
могут помещаться (или прочитываться) в видеопамять (DDRAM) или в ОЗУ знакогенератора (CGRAM) по текущему адресу, указываемому счетчиком адреса
(АС). Информация, попадающая в регистр IR, интерпретируется устройством выполнения команд как управляющая
последовательность. Прочтение регистра IR возвращает в 7-ми младших разрядах текущее значение счетчика
АС, а в старшем разряде флаг занятости (BF).
Видеопамять, имеющая общий объем 80
байтов, предназначена для хранения кодов символов, отображаемых на ЖКИ.
Видеопамять организована в две строки по 40 символов в каждой. Эта привязка
является жесткой и не подлежит изменению. Другими словами, независимо от того,
сколько реальных строк будет иметь каждый конкретный ЖКИ-модуль, скажем, 80 х 1
или 20 х 4, адресация видеопамяти всегда производится как к двум строкам по 40
символов.
Будучи устройством с динамической
индикацией, контроллер циклически производит обновление информации на ЖКИ. Сам
ЖКИ организован как матрица, состоящая в зависимости от режима работы из 8-ми
(одна строка символов 5x7 точек), 11-ти (одна строка символов 5x10 точек) или
16-ти (две строки символов 5x7 точек) строк по 2(Х) сегментов (когда строка
насчитывает 40 символов) в каждой. Собственный драйвер контроллера HD44780 имеет только 40 выходов (SEG1...SEG40) и самостоятельно может поддерживать только 8-ми
символьные ЖКИ. Это означает, что ЖКИ-модули форматов до 8x2 реализованы на
одной единственной микросхеме HD44780,
модули, имеющие большее количество символов, содержат дополнительные микросхемы
драйверов, например, HD44100,
каждая из которых дополнительно предоставляет управление еще 40-ка сегментами.
Особняком стоят ЖКИ-модули формата
16x1. Они также реализованы с помощью одной единственной микросхемы HD44780, но одна 16-ти символьная строка
в них фактически составлена из двух 8-ми символьных. И хотя это усложняет
программное управление, ведь строка оказывается логически разорванной
посередине, тем не менее, экономически это оправдано, ибо позволило создать
ЖКИ-модуль, содержащий всего одну микросхему. Другой вариант пространственной
адресации встречается в 4-х строчных модулях. Из-за проблем разводки
токоведущих дорожек, первая и вторая строки этих модулей являются таковыми как
обычно, третья же является продолжением первой строки, а четвертая – второй.
У контроллера HD44780 существует набор внутренних
флагов, определяющих режимы работы различных элементов контроллера (таблица 2.17).
В таблице 2.18 приведены значения управляющих флагов непосредственно после
подачи на ЖКИ-модуль напряжения питания. Переопределение значений флагов
производится специальными командами, записываемыми в регистр IR, при этом комбинации старших битов
определяют группу флагов или команду, а младшие содержат собственно флаг.
Таблица 2.17 – Флаги, управляющие
работой контроллера HD44780
Таблица 2.18 – Значения управляющих
флагов после подачи питания
Список управляющих комбинаций битов
регистра IR и выполняемые ими команды приведены
в таблице 2.19. Так как на момент включения ЖКИ-модуль ничего не отображает
(флаг D = 0), то для того, чтобы вывести
какой-либо текст необходимо, как минимум, включить отображение, установив флаг D = 1. Вот пример широко
распространенной последовательности для инициализации ЖКИ-модуля: $38, $ОС, $06
(знак «$» перед числом указывает на шестнадцатеричное основание). $38
устанавливает режим отображения 2-х строк с матрицей 5x8 точек и работу с 8-ми
разрядной шиной данных; $ОС включает отображение на экране ЖКИ-модуля, без
отображения курсоров; $06 устанавливает режим автоматического перемещения
курсора слева-направо после вывода каждого символа.
Таблица 2.19 – Управляющие комбинации
битов регистра IR
Контроллер HD44780 поддерживает как операции записи так и операции чтения.
Чтение регистра DR приводит к
загрузке содержимого DDRAM
или CGRAM, в зависимости от текущего режима,
при этом курсор смещается на одну позицию, как и при записи. Чтение регистра IR возвращает 8 значащих разрядов,
причем в 7-ми младших содержится текущее значение счетчика АС (7 разрядов, если
адресуется DDRAM, и 6 -если CGRAM), а в старшем – флаг занятости BF. Этот флаг имеет значение 1 когда
контроллер занят и 0 – когда свободен. Необходимо учитывать, что большинство
операций, выполняемых контроллером, занимают значительное время, около 40 мкс,
а время выполнения некоторых доходит до единиц миллисекунд, поэтому цикл
ожидания снятия флага BF
должен обязательно присутствовать в программах драйвера ЖКИ-модуля и
предшествовать совершению любой операции (естественно, кроме операции проверки
флага BF), поэтому он весьма удобен для
отечественных применений. Это свойство контроллеров фирмы Epson обеспечило им заслуженную
популярность на российском рынке, поэтому в последнее время основная масса
импортируемых в нашу страну ЖКИ-модулей оснащены именно этим контроллером; в
качестве примера в таблице 2.20 приведен набор символов этого контролера.
Один важный момент! После совершения
операции записи или чтения DDRAM
и появления после нее признака готовности (BF = 0), прочитанное в этом же цикле (вместе с флагом BF) значение АС скорее всего не будет
достоверным. Дело в том, что между появлением признака готовности и вычислением
контроллером нового значения АС существует некоторый временной интервал,
составляющий около 4 мкс при тактовой частоте контроллера 270 кГц. Поэтому,
если необходимо получить истинное значение АС, нужно совершить повторную
операцию прочтения IR спустя не менее
чем 4 мкс (если контроллер работает на частоте 270 кГц время ожидания
необходимо пропорционально увеличить). Вывод на экран символа производится
записью его кода в регистр DR.
При этом символ размещается в DDRAM
по текущему адресу, указываемому АС, а значение АС увеличивается или
уменьшается на 1. Чтобы произвести переустановку курсора на нужную позицию,
необходимо присвоить АС соответствующее значение (см. таблицу 2.20). Здесь есть
одна тонкость. Когда производится последовательная запись символов и в
результате заполняется вся строка, курсор автоматически переходит на вторую
строку, но если необходимо принудительно установить курсор, скажем, на начало
второй строки, то будет неверным присвоить АС казалось бы логичное значение $28
(40), правильным является значение $40 (64). Значения адресов DDRAM в диапазоне $28...$3F (а равно и $68...$7F) являются неопределенными и
результаты работы с ними могут быть непредсказуемыми. Необходимо учитывать, что
контроллеры, устанавливаемые на ЖКИ-модули, могут иметь различные наборы
символов, причем это может зависеть как от производителя контроллера, так и от
модификации данной конкретной модели. Например, фирма Powertip выпускает ЖКИ-модули с четырьмя базовыми
модификациями наборов символов: японской, европейской, французской и
русской.Более того, существует как минимум два варианта русского набора
символов: контроллер фирмы Hitachi
(Н2 по маркировке фирмы Powertip) и контроллер фирмы Epson
(EH по маркировке Powertip). Контроллер фирмы Hitachi обладает существенным недостатком –
у него весьма ограниченный набор русских символов, фактически у него имеются
только прописные русские буквы, и даже среди них отсутствует символ «Ф».
Напротив, контроллер фирмы Epson
содержит полный набор русских символов в прописном и строчном вариантах,
поэтому он весьма удобен для отечественных применений. Это свойство
контроллеров фирмы Epson обеспечило
им заслуженную популярность на российском рынке, поэтому в последнее время основная
масса импортируемых в нашу страну ЖКИ-модулей оснащены именно этим
контроллером; в качестве примера в таблице 2.19 приведен набор символов этого
контролера.
Из допустимых для размещения в DDRAM кодов символы с кодами $(Х)...$07 (и
их дубликат с кодами $08...$OF)
имеют специальное назначение – это переопределяемые символы, графическое
изображение которых может назначить сам потребитель, разместив соответствующую
информацию в области CGRAM.
Для программирования доступны 8 переопределяемых символов в режиме с матрицей
5x7 точек и 4 с матрицей 5 х 10 (в режиме 5x10 переопределяемые символы
адресуются кодами DDRAM через один:
$00, $02, $04, $06). Для кодирования матрицы используются горизонтально
«уложенные» байты, пять младших битов которых несут информацию о рисунке
(причем 1 означает, что сегмент будет включен), 4-й разряд каждого из 8-ми (или
11-ти в режиме 5x10) байтов матрицы определяет левую колонку символа, а 0-й –
правую. Старшие три бита не используются, равно как и старшие пять байтов,
составляющих полную область матрицы символа (16 байтов) в режиме 5x10 (обратите
внимание, что матрица программируемых символов допускает использование полной
высоты строки (8 строчек для режима 5 х 7 и 11 строчек для режима 5 х 10), то
есть можно размещать точки в области подчеркивающего курсора). Чтобы определить
собственный символ необходимо установить счетчик АС на адрес начала матрицы
требуемого символа в CGRAM
– $00, $08, $10 и т.д. ($00, $10, $20 для режима 5 х К) точек) – произвести
перезапись всех байтов матрицы, начиная с верхней строки. После этого, записав
в DDRAM код запрограммированного символа:
$00, $01, $02 ($00, $02, $04 для режима 5x10 точек), на экране в
соответствующем месте будет отображаться переопределенный символ.
Таблица 2.20 – Таблица кодов символов
контроллера Epson, набор «Russian»
Несколько слов о процессе
инициализации ЖКИ-модуля. Производитель контроллера рекомендует выполнять
следующую последовательность действий для инициализации. Выдержать паузу не
менее 15 мс между установлением рабочего напряжения питания (> 4,5 В) и
выполнением каких-либо операций с контроллером. Первой операцией выполнить
команду, выбирающую разрядность шины (это должна быть команда $30 независимо от
того, какой разрядности интерфейс вы собираетесь использовать в дальнейшем),
причем перед выполнением этой операции не проверять значение флага BF. Далее опять выдержать паузу не
менее 4,1 мс и повторить команду выбора разрядности шины, причем перед подачей
команды вновь не производить проверку флага BF. Следующим шагом необходимо вновь выдержать паузу, на этот
раз 100 мкс, и в третий раз повторить команду установления разрядности шины,
вновь без проверки BF. Эти три
операции являются инициализирующими и призваны вывести контроллер в исходный
режим работы (то есть перевести в режим работы с 8-ми разрядной шиной) из
любого состояния. Следом за ними нормальным порядком (без выдерживания пауз, но
с проверкой флага BF) выполняется
инициализация режимов работы с выдачей инициализирующей последовательности, аналогичной
указанной в таблице 2.19 (содержащей в том числе команду выбора необходимой
разрядности шины).
Необходимо помнить, что когда Вы
объявляете режим работы с 4-х разрядной шиной, то есть выдаете команду $20, то
делаете это обычно из 8-ми разрядного режима, который устанавливается
автоматически после подачи напряжения питания, а значит вы не сможете адекватно
объявить необходимое значение флагов N и F, располагающихся в младшей тетраде команды установки
разрядности шины. Поэтому команду необходимо повторить в уже установившемся 4-х
разрядном режиме путем последовательной передачи двух тетрад, то есть для 4-х
разрядного режима образом.
3. Описание функциональной схемы
Рисунок 3.1 - Функциональная схема
На рисунке 3.1 представлена
функциональная схема СУ датчиками влажности и давления. Её принципиальное
отличие от структурной схемы, представленной ранее, заключается в том, что на
данном этапе уже выбран микроконтроллер,датчики и Жк дисплей
В данном курсовом проекте был выбран
микроконтроллер ADuC812 фирмы Analog Devices. Данный микроконтроллер
удовлетворяет следующим требованиям:
наличие встроенного АЦП,
высокая надежность,
высокая степень миниатюризации,
работоспособность в жестких условиях
эксплуатации;
достаточная производительность для
выполнения всех требуемых функций
Датчик давления реализован в виде MLH050PGP06A
Датчик влажности в виде HIH-3602-L.
Для отображения многосимвольной
информации используется ЖК-дисплей, который будет обмениваться информацией
через порт P2, а управление передачей будет
производится используя 3 выхода в порту P3.
4. Проектирование алгоритма работы
Основной алгоритм работы представлен
на рисунке 4.1.
Рис. 4.1
Как видно из рисунка 4.1, замер
данных происходят не при каждом цикле работы программы, а через некоторые
интервалы времени. Эти интервалы замеряются при помощи счетчика временных
интервалов TIC.
5. Разработка программы
В рамках курсового проекта будем
разрабатывать фрагмент программы, реализующий часть основного режима работы
системы, начинающийся с проверки наступления времени замера давления.
Для хранения различной рабочей
текущей информации будем использовать банк регистров №1, для выбора которого
при инициализации запишем в регистр флагов (PSW) значение #08h. В регистре R1
будем хранить текущее значение давления.
Для хранения флага режима работы
воспользуемся пользовательским флагом регистра PSW (PSW.5 или F0).
Длительность интервалов замера
давления определим как константу TCHECK
При начальной инициализации SPI
выполним следующие действия [7]:
Установим бит CFG814.0 – для
включения выводов P3.6 и P3.7 в режим MISO и MOSI;
Установим бит SPE – для выбора SPI
вместо I2C;
Сбросим биты CPOL и CPHA – для
согласования режимов обмена по SPI микроконтроллера и датчика давления..
Установим бит SPIM - для работы
микроконтроллера в Master Mode.
Текст разрабатываемого фрагмента
программы представлен в приложении А.
Заключение
В ходе выполнения данного курсовым
проектом были получены знания о принципах построения и разработки систем на
основе микроконтроллеров семейства 8051, о порядке и процессе выбора элементной
базы, и построения единой системы на ее основе. При разработке фрагмента
программы были получены навыки в написании программ на ассемблере семейства
8051. При помощи документации-первоисточника от производителя были изучены
принципы соединения микроконтроллеров с периферийными устройствами посредством интерфейса
SPI, принципы программной и технической реализации обмена данными между
устройствами посредством интерфейса SPI. Для реализации в программе работы с
длительными интервалами времени была освоена работа с счетчиком временных
интервалов TIC.
Список использованных источников
1.
.ADuC812
Data Sheet. Источник: www.analog.com,
2.
Датчик давления www.sensorica.ru
3.
Датчики влажности
компании Honeywell. Источник: www.gaw.ru;
4.
HIH-3602. Источник: http://www.aly.ru-HIH-3602-L_HON.pdf
5.
HDM08111H-L
Data Sheet. Источник: www.gaw.ru – 08111hl.pdf
6.
HD44780
Data Sheet. Источник: www.gaw.ru –
HD44780.pdf.
7.
ADuC812
Assembler Examples. Источник: www.analog.com
Приложение А. Текст разрабатываемого фрагмента
программы
MOV A, wremia ;wremia - текущее значение времени TIC
CJNE A, TCHECK, ne1
ne1: JB C, loop; ;переход к началу цикла если wremia<TCHECK
readT: MOV SPIDAT, A ;начало обмена данными с SPI
l1: JNB ISPI, l1 ;ожидание конца обмена
MOV A, SPIDAT
MOV R1, SPIDAT ;занесение текущего давления в R1
MOV SPIDAT, A ;повторный обмена
данными с SPI - для
l2: JNB ISPI, l2 ;завершения
цикла приема 16 бит с датчика
last: CLR TCEN ;остановка TIC, сброс регистров времени
SETB TCEN
MOV A, R1 ;преобразование
давления перед выводом
JNB R1.7, ne2
SJMP out
ne2: JB C, out
out: SWAP A ;для последующей записи давления в P1.(4..7)
MOV R2, A
MOV A, P1
ANL A, #0Fh
;обнуление A.(4..7)
ADD A, R2 ;P1.(0..3) не изменены, на P1.(4..7) – Давление.
AJMP loop ;переход к началу
основного цикла
|