Датчик влажности SHT71

Датчик влажности SHT71Датчик влажности SHT71 представляет собой полупроводниковый измерительный прибор, в состав которого включены сенсоры температуры и влажности, АЦП и контроллер двухпроводного интерфейса. Благодаря наличию цифрового интерфейса и корпусу с 4 штыревыми выводами, SHT71 легко интегрируется в схемы с использованием микроконтроллеров. Основная область применения данного датчика – метеостанции и приборы контроля параметров работы оборудования.

Датчик влажности SHT71 выпускается фирмой SENSIRION. Производитель предлагает линейку однотипных датчиков SHT7x. В нее, кроме SHT71 входит модель SHT75, отличающаяся повышенной чувствительностью и точностью измерений. SENSIRION постоянно совершенствует свои изделия, поэтому перед использованием необходимо уточнять версию датчика. Все описанное ниже соответствует 4 версии сенсора. Опознать ее можно по наличию буквенно-цифрового индекса на передней стенке датчика.

Конструкция

Основу SHT71 составляет емкостный сенсор, выполненный по CMOS-технологии. Температурная стабильность измерений достигается конструкцией сенсора, а также использованием датчика температуры. Сигнал с обоих датчиков обрабатывается 14-разрядным АЦП. Сенсоры SHT7x проходят индивидуальную калибровку на заводе-изготовителе. Калибровочные коэффициенты записываются во внутреннюю память датчиков. Коррекция сигнала производится внутри прибора, что не требует использования дополнительных ресурсов микроконтроллера.

Чувствительный элемент SHT71 смонтирован на печатной плате из фольгированного стеклотекстолита. Данная плата снабжена штыревыми выводами, расположенными с шагом 1.27мм. Несмотря на нестандартность подобного решения, использовать датчик весьма удобно, особенно в любительских условиях.

Характеристики SHT71

  • Напряжение питания – 2.4..5.5В
  • Потребляемая мощность в режиме измерения – 3 мВт
  • Потребляемая мощность в спящем режиме – 5 мкВт
  • Типовое разрешение по влажности при разрядности 8 бит – 0.5%
  • Типовое разрешение по влажности при разрядности 12 бит - 0.03%
  • Точность измерения влажности - ±3%
  • Типовое разрешение по температуре при разрядности 12 бит – 0.04 ºС
  • Типовое разрешение по температуре при разрядности 14 бит - 0.01 ºС
  • Точность измерения температуры - ±0.4ºС
  • Время установки показаний по влажности – 8 секунд
  • Время установки показаний по температуре – до 63 секунд
  • Температурный диапазон - -40..123.8ºС

Применение датчика

Относительная влажность воздуха сильно зависит от температуры. Для уменьшения влияния последней, SHT71 оснащен температурным сенсором. При этом производитель рекомендует устанавливать датчик влажности как можно дальше от тепловыделяющих компонентов. Также не рекомендуется частое проведение измерений, так как в этом случае датчик подвержен саморазогреву. Еще одно условие – обеспечение качества окружающего воздуха. Сенсор датчика не должен находиться в зоне воздействия агрессивных газов и пыли.

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

Нормальная работа SHT71 обеспечивается в диапазоне температур от -20 до 60ºС при влажности от 0 до 80%. За данными границами возможен дрейф показаний датчика от истинного значения на 3% за 60 часов. С течением времени данное отклонение самоустраняется при вхождении в зону нормальной работы.

Производитель не рекомендует паять датчик. При ручной пайке, температура жала не должна превышать 350ºС, при времени касания выводов – не более 5 секунд.

Последовательный интерфейс.

Схема включения SHT71
Схема включения SHT71

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

Двухпроводной интерфейс датчика SHT71 содержит тактовую линию SCK и линию данных DATA. Тактовая линия служит для синхронизации передаваемых данных и не имеет ограничения по минимальной частоте. Предельная частота сигнала на линии SCK составляет 1МГц или 5МГц при напряжении питания свыше 4.5В.

Линия данных может принимать три устойчивых состояния. Передача информации от микроконтроллера производится по переднему фронту тактового импульса. Изменение состояния линии данных должно производиться после отрицательного фронта SCK. При передаче от SHT71, датчик устанавливает линию DATA через 250нсек после отрицательного фронта SCK и держит состояние до следующего отрицательного фронта тактового импульса. Микроконтроллер при этом не должен выдавать высокий уровень сигнала в линию DATA.

Линию DATA рекомендуется подключать с использованием подтягивающего резистора в 10 кОм к положительной шине питания.

Протокол обмена

Протокол обмена с SHT71 состоит из следующих отдельных операций:

  1. передача условия СТАРТ
  2. передача команды измерения
  3. пауза на время измерения
  4. получение двух байтов данных
  5. получение контрольной суммы

Начало обмена должно производиться не ранее, чем через 11мсек после подачи питания.

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

  • 00000011 – измерение температуры
  • 00000101 – измерение влажности
  • 00000111 – чтение регистра STATUS
  • 00000110 – запись регистра STATUS
  • 00011110 – программный сброс датчика

Процедура обмена

Перед началом обмена, микроконтроллер выставляет на шину условие СТАРТ. Выглядит оно следующим образом: во время очередного тактового импульса, линия DATA переводится в низкий логический уровень. Во время следующего тактового импульса, линия DATA переводится в высокое состояние.

С последующим тактовым импульсом микроконтроллер начинает передачу команды. По окончании передачи, датчик формирует сигнал подтверждения в виде перевода и удержания шины DATA в низком состоянии на время одного тактового импульса. Затем датчик принудительно переводит линию DATA в высокое состояние.

Если была передана команда измерения температуры или влажности, датчик на некоторое время прекращает обмен и приступает к определению требуемого параметра. Время паузы различается в зависимости от разрешения и температуры окружающей среды. Типовые значения 20/80/320мсек для 8/12/14-разрядных значений. Измеренные данные сохраняются во внутренних регистрах датчика до их передачи, поэтому микроконтроллер может выполнять другие задачи.

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

Данные передаются последовательно, начиная со старшего бита. При этом внутри слова данные выровнены по правому краю. После передачи двух байт измеренного значения, датчик передает контрольную сумму CRC-8. Микроконтроллер может отказаться принимать контрольную сумму, переведя в высокое состояние линию DATAи выставив последний тактовый импульс.

Пример команды "Чтение влажности" для SHT71  
 Пример команды "Чтение влажности" для SHT71

В случае сбоя при обмене, прервать работу можно выставив новое условие СТАРТ.

Производитель не рекомендует устанавливать высокую частоту измерений, с целью предотвращения саморазогрева датчика. Оптимальным считается, что бы время обмена не превышало 10% времени работы датчика. Это значение соответствует примерно 1 измерению в секунду при 12-битных данных. 

Регистр STATUS 

Регистр STATUS определяет основные параметры работы датчика. В большинстве случаев менять значения в нем не требуется. 

Регистр STATUS

Бит

7

6

5

4

3

2

1

0

Назначение

Резерв

Контроль батареи

Резерв

Резерв

Тест

Нагрев

Чтение памяти

Разрешение

Чтение/запись

 

R

 

 

 

R/W

R/W

R/W

Разрешение данных. Бит 0 отвечает за разрешение данных. В исходном состоянии данный бит сброшен, и разрешение по температуре составляет 14 бит, по влажности 12 бит. С целью ускорения работы системы, разрешение можно понизить установкой бита 0. В этом случае по температуре данные будут иметь размер 12 бит, по влажности – 8.

Контроль батареи. Бит устанавливается если напряжение питания датчика ниже 2.47В.

Нагрев. Установка бита 2 разрешит подачу постоянного напряжения на чувствительный элемент, что приведет его к нагреву на 5-10ºС, относительно температуры окружающей среды. Данный режим полезен для анализа функционирования датчика: влажность и температура до и после применения нагревателя сравниваются. Температура должна возрастать, а относительная влажность воздуха уменьшается, В то же время точка росы должна оставаться такой же.

Преобразование измеренных данных.

Температура

Преобразование кода АЦП в значение температуры выполняется по формуле:

T=d1+d2*SOT

Коэффициент d1 отражает зависимость кода АЦП от напряжения питания, d2 – разрешение.

Коэффициенты по температуре

Напряжение питания, В

5

4

3.5

3

2.5

d1

-40.1

-39.8

-39.7

-39.6

-39.4

 

SOT

d2

14 бит

0.01

12 бит

0.04

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

Влажность

Для получения влажности требуется выполнить линеаризацию и температурную компенсацию. Линеаризация влажности выполняется по формуле:

RHlinear= c1+ c2*SORH+ c3*SORH2 (%RH) 

Здесь SO – код АЦП по влажности, cx - коэффициенты линеаризации. Значения коэффициентов для версии4 SHT71 приведены в таблице.

Значения коэффициентов линеаризации

SORH

C1

C2

C3

T1

T2

12 бит

-2.0468

0.0367

-1.5955E-6

0.01

0.00008

8 бит

-2.0468

0.5872

-4.0845e-4

0.01

0.00128

Для получения истинного значения влажности, требуется линеаризованное значение скомпенсировать по температуре. Формула компенсации:

RHtrue=(T-25)(t1+t2*SORH)+RHlinear

Статья написана на основе Datasheet SHT7x (SHT71, SHT75) Humidity and Temperature Sensor.


Добавить комментарий