Портал для радиолюбителей
   Измеритель влажности и температуры
    Главная -> Статьи -> Устройства на микроконтроллерах -> Измеритель влажности и температуры

дешевые жидкости для электронных сигарет

<< Назад в раздел   Распечатать Дата добавления: 2016-11-24 | Просмотров: 16160

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

Файлы


Добавил:  Павел (Admin)  
Автор:  Колтыков А.В. 

Вас может заинтересовать:

  1. Arduino или LaunchPad - что лучше?
  2. Universal device
  3. Программирование МК AVR в ОС Ubuntu. Часть 2 (GUI)
  4. Сопряжение с компьютером цифрового мультиметра серии 830
  5. Цифровой терморегулятор на микроконтроллере PIC16F84A


https://winlinkcasino.net/cashback


    © PavKo, 2007-2018   Обратная связь   Ссылки   Яндекс.Метрика