Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Гигрометр HMZ-333B

Как-то по долгу службы понадобилось мне знать влажность воздуха. Быстрое гугление по украинским магазинам показало что влажность можно определять двумя способами: точно, но дорого и недорого, но не точно. И, конечно же, был выбран вариант — для начала «не точно и относительно не дорого», а потом посмотрим. Под описание хорошо подходила деталька HMZ333, которую я и взял в количестве двух штук.
В общем виде, состав конструкции для работы с гигрометром был следующим:

  • микроконтроллер (Atmega8);
  • индикатор (KW4-563ASA);
  • гигрометр (HMZ-333B).

Основной деталью конструкции является гигрометр HMZ-333B, который состоит из емкостного датчика влажности HCZ-H6A (по другим данным HCZ-H8A :)) со схемой преобразования емкость-напряжение. Напряжение измеряется встроенным АЦП и пересчитывается согласно таблицам из даташита в значение влажности, которое выводится на семи-сегментный индикатор.

Модуль гигрометра обладает такими характеристиками:

  • диапазон рабочих температур: -20…+60°С
  • диапазон рабочих значений влажности: 20…90%RH
  • точность измерения влажности: +/-5%RH
  • цена (в Украине): 3,0-4,0$



Данный гигрометр не имеет встроенного термодатчика, потому при написании программы для обработки напряжения от него я использовал ряд данных для температуры +25°С, просто потому что мне так захотелось :). В даташите же приведены несколько рядов (для температур от +10°С до +40°С), с шагом в 5°С.

Зависимость «влажность-напряжение» несколько нелинейна, потому для несложного пересчета напряжения на выходе датчика в значение относительной влажности хорошо бы свести эту кривую в линию. После чего, по уравнению описывающему эту линию можно будет пересчитывать напряжение в относительную влажность.

В данном случае я использовал простейшую линейную аппроксимацию и получил такую картинку (см. выше) и уравнение (см. ниже):
y = 30,89x — 1,99
где y — значение относительной влажности (RH), а x — напряжение на выходе датчика (Vadc).

Попробуем рассчитать влажность для напряжения 2,0В:
y = 30,89×2,0 — 1,99 => y = 59,79%
или, учитывая собственную точность датчика в +/-5%, y = 60+/-5%, что не так уж и далеко от исходных значений приведенных на графике.
Собственно, из-за невысокой точности датчика дробные части коэффициентов в уравнении не интересны, потому умножим их на 10 и получим следующее уравнение:
RH = 309Vadc — 20,
по которому и будем рассчитывать значение RHx10.

Собственно это все подробности. Все остальное просто:

  • меряем напряжение на ножке 5 порта С,
  • пересчитываем по формуле как это показано выше (очень желательно одновременно измерять температуру и делать коррекцию)
  • выводим значение влажности на дисплей

Схему приводить не буду (хотя если очень нужно, то конечно нарисую и догружу в пост), она есть в проекте протеуса. Рисунок платы тоже не покажу так как он разведен проводками на задней части макетки. Скажу только, что резисторы висят на линиях ведущих к сегментам индикатора и они (резисторы) 300 омные.
И, в завершение, видео как это все вместе работает.

Файлы: Проект CodeVision и симуляция в Proteus. В Proteus конечно же нет модели HMZ-333B, потому вместо него у меня стоит потенциометр на 1 кОм.

Источник: http://we.easyelectronics.ru

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *