Вимірювач вологості та температури
Представлено проект вимірювача вологості та температури з послідовним інтерфейсом для зв'язку з комп'ютером або іншим пристроєм. За необхідності, можливо підключення 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 |