Сравнение интегральных датчиков относительной влажности и температуры компаний IST AG и Sensirion

Компания Sensirion с января 2019 года прекращает прием заказов на интегральные датчики относительной влажности и температуры серии SHT7x, которые будут сниматься с серийного производства.

Компания ЭФО предлагает замену датчиков SHT7x на аналогичные изделия от швейцарской компании IST AG - датчики HYT271.

 

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

Модель HYT 271 SHT7x
Разрешение, %RH 0.03 0.05
Точность, %RH ±1.8 ±3/±1.8
Повторяемость, %RH ±0.2 ±0.1
Гистерезис, %RH ±1 ±1
Нелинейность, %RH ±1 ±3
Время отклика, с 4 8
Диапазон измерений, %RH 0..100 0..100
Долговременное смещение характеристики, %RH ±0.5 ±0.5

 

Модель HYT 271 SHT7x
Разрешение, °С 0.015 0.01
Точность, °С ±0.2 ±0.4/±0.3
Повторяемость, °С ±0.1 ±0.1
Время отклика, с 5 5..30
Диапазон измерений, °С -40..+125 -40..+123.8
Долговременное смещение характеристики, °С 0.05 0.04

 

Из приведенных таблиц видно, что по основным техническим параметрам датчики влажности компании IST либо аналогичны Sensirion, либо превосходят их. Отметим, что линейность датчиков IST втрое выше, чем у Sensirion, а время отклика на изменение влажности меньше в два раза.

Для текущих проектов важными параметрами также являются геометрические размеры датчиков и их цоколевка. Ниже приведены изображения датчиков HYT271 и SHT7x, а также их геометрические размеры.

 

Рисунок 1. Датчик влажности HYT271

Рисунок 2. Датчик влажности SHT7x

Рисунок 3. Датчик влажности HYT271 геометрические размеры

Рисунок 4. Датчик влажности SHT7x геометрические размеры

 

Как видно из представленных рисунков, геометрические размеры датчиков обоих производителей практически идентичны. Отличия заключаются в длине выводов и толщине в области первичного преобразователя. Датчик IST имеет более длинные выводы (9мм) чем у Sensirion (6 мм), в области первичного преобразователя датчик IST тоньше (1.8 мм против 3.1 мм). Цоколевка датчиков влажности зеркальная. Pin1 датчика IST соответствует Pin4 датчика Sensirion, Pin2 соответствует Pin3, и т. д.

Интерфейсы, по которым работают датчики, различаются: I2C у датчика IST и Digital SBus у датчика Sensirion.

 

I2C ИНТЕРФЕЙС ДАТЧИКА IST

Стандартным интерфейсом подключения датчика HYT к управляющему микроконтроллеру является шина I2C. Контроллер является мастером, датчик — ведомым узлом.

Адрес датчика по умолчанию — 0x28, адрес может быть изменен на значение от 0x00 до 0x7F, поддерживаются скорости от 100 до 400 кГц. Данные передаются в режиме MSB, т.е. сначала идут старшие биты.

В отсутствии запросов от микроконтроллера, датчик находится в режиме сна. По приходу команды Measuring Request (MR) он просыпается, начинает цикл измерений и формирует посылку с данными для управляющего контроллера. Подготовка данных занимает от 60 до 100 мс, после этого на датчик должна поступить команда Data Fetch (DF), по которой данные из выходного регистра датчика передаются на микроконтроллер.

Команда Measuring Request не подразумевает ни чтения, ни записи данных. Команда содержит только из заголовочного пакета — адреса ведомого узла и бита RW, выставленного в «0», т.е. на запись.

 

 

Команда Data Fetch (DF) служит для чтения данных. В заголовочном файле содержится адрес датчика и бит RW, установленный в «1», т.е. на чтение.

 

 

Максимальное количество байт, которые должны быть приняты на микроконтроллере — четыре. Первые два байта содержат данные об относительной влажности, третий и четвертый — о температуре.

Микроконтроллер может запросить только два первых байта (только данные о влажности) или три первых байта (данные о влажности и старшие биты значения температуры). И на влажность, и на температуру приходится по 14 бит. Посылка Data Fetch также содержит два бита состояния:

  • CMode Bit. Если установлена «1», то датчик находится в command mode — в служебном режиме, который используется для изменения адреса датчика на I2C
  • Stale bit. Если установлена «1», значит после выполнения очередного цикла измерений получены те же значения температуры и влажности, что и после предыдущего цикла

Обработка принятой посылки состоит в вычислении значений температуры и относительной влажности из входных данных. Сначала маскируются статусные биты, далее из полученных данных вычисляются абсолютные значения температуры и относительной влажности:

RH [%] = (100 / (214 — 1)) * RHвх

T [°C] = (165 / (214 — 1)) * Tвх —40

 

ИНТЕРФЕЙС Digital Sbus ДАТЧИКА SENSIRION

Стандартным интерфейсом датчика SHT7x является Digital SBus. В первую очередь напряжение на датчике поднимается до напряжения питания, при этом скорость нарастания не должна падать ниже 1 В/мс. Затем датчику требуется еще 11 мс для входа в режим «сна» и в это время ему не должны передаваться никакие команды.

Для инициации передачи необходимо передать на датчик сигнал «Transmission Start».

Сигнал состоит из трех адресных бит (поддерживается только «000») и пяти командных бит. SHT7x подтверждает удачный прием команды, опуская сигнальную линию в конце спада 8 такта линии счетчика. Затем сигнальная линия отпускается и поднимается в конце спада 9 такта линии счетчика.

Команда Код
Резерв 0000х
Измерить температуру 00011
Измерить относительную влажность 00101
Чтение регистра состояния 00111
Запись регистра состояния 00110
Резерв 0101х-1110х
Перезагрузка(перезагружает интерфейс, очищает регистр состояния до стандартного состояния, требуется пауза 11 мс перед следующей командой) 0101х-1110х

 

После приема команды «измерение» (00000101 относительная влажность, 00000011 температура) контроллер должен ожидать конца измерения. Это занимает не более 20/80/320 мс для 8/12/14 битных измерений. Время варьируется в зависимости от скорости внутреннего осциллятора и может быть уменьшено вплоть до 30%. SHT7x сигнализирует о завершении измерения, опуская сигнальную линию и входя в режим ожидания. Контроллер должен ждать этого сигнала, прежде чем перезапускать тактовый цикл чтения. Измеренные данные хранятся до их чтения, следовательно, контроллер может выполнять другие задачи и обработать данные датчика, когда будет нужно.

Два байта измеренных данных, микроконтроллер должен разделять байты, опуская сигнальную линию. Соединение разрывается после бита подтверждения. Датчик автоматически возвращается в режим «сна».

Важно: для обеспечения заявленной точности датчик должен быть активен не более 10% времени, т.е. можно производить не более 1 измерения в секунду при точности 12 бит.

Пример измерения относительной влажности для значения 0000 0100 0011 0001=1073=35.5 %RH (без температурной компенсации).

Для компенсации нелинейности датчика влажности и получения заявленной точности рекомендуется использовать следующую формулу:

RHlinear [%RH]=c1 + c2*SORH + с3*SO2RH

Для измерения температуры следует использовать формулу:

T = d1 + d2*SOT

Из приведенной выше информации видно, что датчик HYT271 является полноценной заменой датчику SHT7x, не требующей сильных изменений в проекте, но обладающей рядом преимуществ.