Главная » Ардуино » Датчик температуры и влажности AHT10 с Ардуино

Датчик температуры и влажности AHT10 с Ардуино

Ищете компактный датчик температуры и влажности? Если вы решили, что AHT10 ваш следующий датчик для экспериментов, то эта статья для вас..

Паяльный фен YIHUA 8858
Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час...
Подробнее

Датчик температуры и влажности AHT10

В datasheet говорится, что AHT10 — это цифровой датчик температуры и влажности, встроенный для пайки оплавлением. Двухрядный плоский безвыводной SMD-корпус имеет размеры 4х5мм и высоту 1,6мм.

Датчик AHT10 оснащен микросхемой ASIC новой конструкции, улучшенным полупроводниковым емкостным датчиком влажности MEMS и стандартным встроенным датчиком температуры. Он может выводить калиброванный цифровой сигнал по I2C шине.

Миниатюрный датчик имеет диапазон питания от 1,8 до 3,6 В, но рекомендуемое рабочее напряжение — 3,3 В.

Сенсорный модуль AHT10

Поскольку этот датчик предназначен для штамповки на специальной печатной плате с помощью процесса оплавления, большинству радиолюбителей будет нелегко справиться с ним. К счастью, в интернете доступно бесчисленное количество модулей на основе этого датчика по доступным ценам.

Сенсорный модуль AHT10

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров...
Подробнее

Сенсорный модуль AHT10 имеет собственный встроенный линейный регулятор напряжения и базовую схему сдвига логического уровня. Существует возможность изменить адрес I2C (по умолчанию 0x38).

Регулятор напряжения с малым падением напряжения

SMD маркировка «662K» на микросхеме стабилизатора напряжения показывает, что это стабилизатор 3,3 В LM6206-3.3/XC-6206-3.3, представляющий собой трехвыводной сильноточный низковольтный стабилизатор, выполненный по CMOS технологии. Как следует из datasheet стабилизатор может обеспечить максимальный выходной ток до 100 мА и допускает входное напряжение до 6 В. В таблице ниже показаны его основные характеристики:

таблица

Схема сдвига логического уровня

Сдвиг логического уровня состоит из массива SMD резисторов 10 кОм x 4 (103) и 6-контактного сдвоенного N-канального MOSFET-чипа. В некоторых старых модулях микросхема MOSFET имеет маркировку 702, а в новых модулях установлена другая микросхема с маркировкой K27.

На самом деле это микросхемы 2N7002DW (702) и 2N7002KDW (K27), последняя имеет встроенный механизм защиты от электростатического разряда.

Схема сдвига логического уровня

Это очень простая идея реализовать двунаправленный сдвиг уровня с помощью пары N-канальных МОП-транзисторов и группы резисторов. Протокол I2C является полудуплексным, поэтому требуется двунаправленная трансляция уровня.

Схема модуля сдвига уровня работает без проблем. Но таблицы данных, которые я собрал, выглядят немного странно, поэтому я не уверен, является ли K27 чипом с двумя мосфетами логического уровня или нет! Эта SMD-деталь в моем модуле AHT10 имеет довольно странную маркировку «RK».

Выбор I2C адреса

Согласно официальному техническому описанию, I2C адрес датчика AHT10 по умолчанию равен 0x38, и этот адрес является фиксированным. Даташит не дает никакой информации об изменении адреса устройства.

Это означает, что к одной шине I2C одновременно может быть подключено только одно устройство. Тогда почему модуль имеет эту опцию? Несмотря на тщательное расследование, у меня до сих пор нет удовлетворительного ответа!

Выбор I2C адреса

Обновление: у AHT10 может быть альтернативный адрес I2C 0x39, но он не разглашается!

Ардуино и AHT10

Затем я подключил сенсорный модуль AHT10 и Arduino Uno, как показано на приведенной ниже схеме:

Ардуино и AHT10

Я также загрузил простой тестовый код для отображения показаний датчиков в окне Serial Monitor. Я получил некоторые разумные значения датчиков (температура, влажность и точка росы). Хотя я этого не ожидал, сенсорный модуль AHT10 одинаково хорошо работал как при напряжении 5 В, так и при напряжении 3,3 В.

Точка росы — это температура, до которой необходимо охладить воздух (при постоянном давлении), чтобы достичь относительной влажности (RH) 100%. В этот момент воздух не может удерживать больше воды в газовой форме. Если бы воздух еще больше охладить, водяной пар выйти из атмосферы в жидком виде (обычно в виде тумана или осадков). Чем выше поднимается точка росы, тем больше влаги в воздухе.

Скетч

#include <Wire.h>
#include <AHT10.h>
AHT10Class AHT10;
void setup() {
Serial.begin(9600);
Wire.begin();

if (AHT10.begin(eAHT10Address_Low))
Serial.println("Init AHT10 Success!");
else
Serial.println("Init AHT10 Failed!");
}

void loop() {
Serial.println("//Arduino & AHT10//");
Serial.println("Quick Test – Serial Monitor");
Serial.println(String("") + "Humidity(%RH):\t\t" +
AHT10.GetHumidity() + "%");
Serial.println(String("") + "Temperature(℃):\t"
+ AHT10.GetTemperature() + "℃");
Serial.println(String("") + "Dewpoint(℃):\t\t"
+ AHT10.GetDewPoint() + "℃");
delay(1000);
}

Для этого кода быстрого теста требуется библиотека AHT10 Arduino, которую можно скачать отсюда.

Блок питания 0...30 В / 3A
Набор для сборки регулируемого блока питания...
Подробнее

Оставить комментарий

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

*