Представлен проект измерителя влажности и температуры с последовательным интерфейсом для связи с компьютером или другим устройством. При необходимости, возможно подключение LCD-дисплея для отображения данных.
Если компьютер не содержит COM-порта, то также понадобится преобразователь интерфейса USB<->RS232.
Основные компоненты:
- микроконтроллер ATMEGA8;
- датчик влажности HONEYWELL HCH-1000-002;
- датчик температуры LM335AZ;
- кварц 3.6864 МГц;
- м/с преобразователь интерфейса MAX232;
- м/с интерфейс для датчика влажности 74HC4060.
В схеме использованы недорогие радиоэлементы.
Датчик влажности Honeywell HCH-1000-001 вначале использовался без защитного кожуха, но после 6-ти недель эксплуатации вышел из строя. Поэтому используйте данный датчик только с защитным кожухом.
Калибровка датчика влажности
Датчик влажности имеет линейную выходную характеристику, поэтому может быть откалиброван по 2-м точкам: 0 %RH и 100 %RH. Для калибровки датчика, необходимо в исходном коде программы в функции read_humidity() раскомментировать строчку return counter_value. Для того, чтобы получить 0%RH мы поместили датчик в пластиковый бокс и бумагу на несколько часов. Это нужно, чтобы данные от датчик стабилизировались. Для уровня 100 %RH мы завернули датчик в теплую влажную бумагу и положили в пластиковый бокс. Не нагревайте датчик или схему. Для стабилизации значения также понадобится некоторое время. После этого у вас есть две переменные, по которым вы можете расчитать необходимые значения для программы. После калибровки не забудьте в коде программы закомментировать строчку return counter_value.
humidity_value = (m * counter_value) - a;
m = 100 / (counter_value100 - counter_value0)
a = m * counter_value0
Пример:
m = 0.147929; // крутизна
a = 427.515; // смещение
HEX-файл прошивки доступен ниже, прошейте им МК при помощи AVRdude, предварительно установив фузы. В данном коде для последовательного интерфейса установленные данные передачи 115200 8n1.
Установка фузов при помощи cс внешним тактовым генератором частотой 3.6864 МГц:
avrdude -c usbasp -p m8 -U lfuse:w:0xFF:m
Прошивка микроконтроллера:
avrdude -c usbasp -p m8 -U flash:w:temperature-humidity-sensor-binary-2009-12-10.hex
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
МК AVR 8-бит | ATmega8 | 1 | Поиск в магазине Отрон | |||
ИС RS-232 интерфейса | MAX232 | 1 | Поиск в магазине Отрон | |||
Линейный регулятор | LM7805 | 1 | Поиск в магазине Отрон | |||
Специальная логика | CD74HC4060 | 1 | Поиск в магазине Отрон | |||
Датчик температуры | LM335A | 1 | Поиск в магазине Отрон | |||
Датчик влажности | HONEYWELL HCH-1000-002 | 1 | Поиск в магазине Отрон | |||
Конденсатор | 22 пФ | 2 | Поиск в магазине Отрон | |||
Конденсатор | 330 пФ | 1 | Поиск в магазине Отрон | |||
Конденсатор | 0.1 мкФ | 2 | Поиск в магазине Отрон | |||
Конденсатор | 1 мкФ | 6 | Поиск в магазине Отрон | |||
Резистор | 2 кОм | 1 | Поиск в магазине Отрон | |||
Резистор | 4.7 кОм | 1 | Поиск в магазине Отрон | |||
Резистор | 10 кОм | 1 | Поиск в магазине Отрон | |||
Резистор | 16 кОм | 1 | Поиск в магазине Отрон | |||
Кварцевый резонатор | 3.6864 МГц | 1 | Поиск в магазине Отрон | |||
Разьем | RS232 | 1 | Поиск в магазине Отрон | |||
Разьем для подключения программатора | 1 | Поиск в магазине Отрон | ||||
Батарея питания | 9-12 В | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Комментарии (1) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Почему такая странная частота кварца 3.6864 МГц? Можно ли взять какую-то другую?
Насчет калибровки не совсем верно, 0% у вас вообще не получится, т.к. даже в сухом отапливаемом помещении влажность на уровне 30-40% и точка 100% тоже как-то сомнительно.
Кстати, есть простой способ проверить, в быту обычно используют 2 одинаковых термометра, один "сухой", а второй увлажненный (термометр погружен в воду) и по результатам показаний этих термометром по таблице находят влажность, правда я не помню какую именно относительную или абсолютную.