Найти тему
K12 :: О ESP32 и не только

Сенсоры температуры и влажности: Aosong AHT

Добрый день, уважаемый читатель! Продолжая тему сенсоров температуры и влажности, эта статья будет посвящена относительно новой (начиная примерно с 2018 года) линейке сенсоров от Guangzhou Aosong Electronic Co - AHT10 / AHT15 / AHT20 / AHT21.

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

-2

Судя по результатам вскрытия, проведенного уважаемым elchupanibrei, принцип работы датчика влажности не сильно отличается от серии DHTxx/AMxxxx – в нем используется все тот же конденсатор. Это же подтверждает и datasheet: “AHT10 оснащен недавно разработанными улучшенным полупроводниковым MEMS емкостным датчиком влажности и стандартным датчиком температуры на кристалле. Его производительность была значительно улучшена по сравнению с уровнем надежности датчиков предыдущего поколения, в том числе чтобы сделать их более устойчивыми в суровых условиях”.

Длительное воздействие на сенсор в течение 60 часов при влажности > 80% может привести к временному дрейфу относительной влажности на +3%. Датчик медленно вернется к паспортной точности ± 2 при нормальных условиях эксплуатации. Рекомендуемая частота опроса не менее 8 секунд (а ещё лучше до 30 секунд), так как датчик склонен к саморазогреву при выполнении измерений.

AHT10

-3

Младшая модель из серии I2C датчиков AHT10/AHT15/AHT2x. Сенсор работает с шиной I2C и имеет два адреса, которые можно переключать с помощью перемычке на плате. Таким образом можно подключить к одной шине сразу два датчика одновременно, но это “в теории”.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38 или 0x39 (изменить можно с помощью перемычки на плате)
Напряжение питания: от +1.8 до +6.0 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 23 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±0.8°C)
Диапазон измерения влажности: от 0 до 100% RH (рекомендуемый диапазон от 0 до 80% RH)
Шаг измерения влажности (разрешение): 0.024% RH
Погрешность измерения влажности (точность): ±2.0% RH (max ±3.0% RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: enjoyneering AHTxx Library
Библиотека для ESP32 + ESP-IDF: kotyara12/reAHT1x
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения AHT10
Погрешности измерения AHT10

Из недостатков в первую очередь стоит отметить отсутствие CRC (контрольной суммы) при передаче данных по шине. Из-за этого никак невозможно определить, правильные ли данные получены с датчика при помехах / проблемах на шине. В следствие чего показания температуры могут скакать аки тыгдымские кони – от +20 до -50 и до +150 за несколько соседних измерений. Можно только ориентироваться на последнее “правильное” значение – если новое значение отклоняется от последнего больше чем на 5 градусов, считаем его “плохим”. Но это далеко не оптимальный метод.

Как я уже отметил выше, сенсор AHT10 поддерживает два адреса и можно подключить сразу два сенсора на одну шину (для этого придется перепаять адресный резистор на одном из модулей). Но на практике оказывается, что такое включение работает крайне нестабильно – сенсоры могут несколько часов проработать совершенно нормально, а затем на несколько часов начать выдавать совершенно кошмарные данные (зимой на улице +49.55 °C например). Либо либо вообще перестают отвечать (оба или поодиночке). Еще было замечено, что на адресе 0x39 сенсор работает гораздо хуже, даже один или в паре с модулями других производителей. Производитель, очевидно, знает об этом, поэтому в новых модулях (AHT20, АНТ21 и т.д.) поддержку второго адреса вообще убрали.

AHT10 обладают невысокой “повторяемостью” выходных данных. Данные о температуре у меня совпадают на нескольких разных датчиках, раcположенных в одной и той же точке, но купленных в разное время. А вот показания о влажности при этом могут значительно различаться – аж до 15%. Приходится корректировать данные по более точным сенсорам, например SHT31. Кроме того, следует учитывать, что этот сенсор имеет некоторую инерционность по сравнению с STU21D / Si7021, то есть гораздо медленнее реагирует на быстрые изменения влажности и температуры. Это может быть и хорошо (своеобразный встроенный фильтр от резких “скачков”), и плохо – когда требуется быстрая реакция на изменения. Вывод: “дешево и сердито”. Можно брать в условиях ограниченного бюджета, но не без недостатков. Когда требуется точность – лучше рассмотреть другие варианты.

На AliExpress датчик в основном продается уже распаянным на плате. На плате модуля установлен стабилизатор напряжения питания и конвертер уровней для шины I2C, поэтому модуль можно смело подключать как к 5-, так и к 3,3-х вольтовой логике. Но нагрев стабилизатора при работе может вносить дополнительную погрешность при измерении температуры.

AHT15

-5

Средняя модель в I2C линейке сенсоров от ASAIR / AOSONG для измерения температуры и влажности. Он имеет те же самые характеристики, что и AHT10, но значительно отличается устройством корпуса. Во-первых, датчик поставляется на заводской плате с разъемом, которая призвана уменьшить паразитный нагрев сенсоров от близкорасположенных элементов. Во-вторых AHT15 имеет защитную водонепроницаемую и пыленепроницаемую мембрану из ПТФЭ, которая не влияет на время отклика при измерении относительной влажности. Это позволяет использовать датчик в суровых условиях окружающей среды (например, к контакте с брызгами воды и сильное запыленность), обеспечивая при этом максимальную точность, что делает AHT15 лучшим выбором в самых сложных условиях эксплуатации.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38
Напряжение питания: от +1.8 до +3.6 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 23 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±0.8°C)
Диапазон измерения влажности: от 0 до 100% RH (рекомендуемый диапазон от 0 до 80% RH)
Шаг измерения влажности (разрешение): 0.024% RH
Погрешность измерения влажности (точность): ±2.0% RH (max ±3.0% RH)
Возможность измерения давления: отсутствует
Особенности: защитный фильтр от пыли и капель
Библиотека для Arduino: enjoyneering AHTxx Library
Библиотека для ESP32 + ESP-IDF: kotyara12/reAHT1x
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения AHT15
Погрешности измерения AHT15

Плата с датчиком AHT15 не имеет встроенного стабилизатора, поэтому датчик напрямую можно подключать только к 3.3-вольтовым контроллерам. К недостаткам датчика можно отнести высокую цену – стоит он почти в два раза дороже AHT10. На AliExpress встречается только в оригинальном исполнении, минишилдов мной не найдено.

AHT20

-7

Старшая модель в I2C линейке сенсоров от ASAIR / AOSONG для измерения температуры и влажности. По точности показаний AHT20 не намного лучше AHT10. Из отличий поддержка CRC8 при передаче данных, более широкий диапазон питающих напряжений (без стабилизатора) и немного худшая погрешность измерения температуры на краях диапазона. Даташит можно скачать на домашней странице продукта, ссылка есть ниже. Это не “последняя” версия, сейчас можно найти уже и AHT21 и даже AHT25.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38
Напряжение питания: от +2.0 до +5.5 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 320 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±1.0°C)
Диапазон измерения влажности: от 0 до 100% RH (рекомендуемый диапазон от 0 до 80% RH)
Шаг измерения влажности (разрешение): 0.024% RH
Погрешность измерения влажности (точность): ±2.0% RH (max ±3.0% RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: enjoyneering AHTxx Library
Библиотека для ESP32 + ESP-IDF: kotyara12/reAHT1x
Источники информации: Homepage EN, Обзор от elchupanibrei

Погрешности измерения AHT20
Погрешности измерения AHT20

Так как по цене он сейчас не отличается от AHT10, то и смысла заказывать AHT10 более нет. Пожалуй это самая оптимальная модель термометров/гигрометров из бюджетных вариантов.

На AliExpress этот датчик можно найти не только в гордом одиночестве, но и в паре с BMP280, что позволяет компенсировать отсутствие у BMP280 гигрометра (так как без гигрометра он мало кому нужен).

AHT21

-9

Полностью кремниевая модель в I2C линейке сенсоров от ASAIR / AOSONG для измерения температуры и влажности со встроенным в чип стабилизатором. Поэтому на шилдах с этим сенсором стабилизатор не требуется. Но китайцы умудряются паять этот чип на плату от AHT10/20, получая двойную стабилизацию (впрочем – в этом есть некий смысл – меньше нагрев внутреннего стабилизатора чипа, меньше смещение температуры. Потребление тока достигает почти 1 мА в момент изменения, что в несколько раз выше, чем у предыдущих датчиков. Как и в случае с AHT20, этот сенсор умеет в CRC.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38
Напряжение питания: от +2.0 до +5.5 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 980 µA в режиме измерения
Диапазон измерения температуры: от -40 до +120 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±2.0°C)
Диапазон измерения влажности: от 0 до 100% RH (рекомендуемый диапазон от 0 до 80% RH)
Шаг измерения влажности (разрешение): 0.024% RH
Погрешность измерения влажности (точность): ±2% RH при 25℃ (max ±3.5% RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: enjoyneering AHTxx Library
Библиотека для ESP32 + ESP-IDF: kotyara12/reAHT1x
Источники информации: Datasheet EN

Погрешности измерения AHT21
Погрешности измерения AHT21

Судя по отзывам, этот датчик вышел не очень удачным. Во первых встроенный стабилизатор много кушает и греет кристалл, что приводит к дрейфу показаний температуры. Во вторых, судя по тестам, AHT21 склонен занижать данные относительной влажности примерно на 10% RH.

👉 Другие части данной серии:

_______________

На этом пока всё, до встречи на сайте и на dzen-канале!

👍 Понравилась статья? Поддержите канал лайком или комментарием! Каналы на Дзене "живут" только за счет ваших лайков.

📌Подпишитесь на канал и вы всегда будете в курсе новых статей.

🔶 Полный архив статей вы найдете здесь

Благодарю за вашу поддержку! 🙏