Awesome
Модуль MicroPython для управления SHT4x - датчик относительной влажности и температуры 4-го поколения.
Описание
SHT4x — это цифровая платформа датчиков для измерения относительной влажности и температуры с различными классами точности. Интерфейс I2C с несколькими предварительно настроенных адресами и сверхнизкая потребляемая мощность (0,4 мкВт). Внутренний нагреватель на три уровня нагрева, что позволяет датчику работать в сложных условиях. Корпус с четыремя выводами подходит для пайки по технологии поверхностного монтажа (SMT) и включает в себя дополнительную запатентованную мембрану PTFE на корпусе или съемную защитную крышку. Доступны специальные сертификаты калибровки датчика в соответствии с ISO17025, идентифицируемые по уникальным серийным номерам.
Применения
- Приборы для измерения температуры и относительной влажности
- Испытательное оборудование
Питание
Напряжение питания 3.3 В (от 1.1 В до 3.6 В)!
Адрес датчика
Диапазон адресов датчика: 0x44..0x46.
Шина I2C
Просто подключите контакты (VCC, GND, SDA, SCL) платы с SHT4x к соответствующим контактам Arduino,
ESP или любой другой платы с прошивкой MicroPython!
Подайте питание на платы!
Загрузка ПО в плату
Загрузите прошивку micropython на плату NANO(ESP и т. д.), а затем файлы: main.py, sht4xmod.py и папку sensor_pack_2 полностью! Затем откройте main.py в своей IDE и запустите/выполните его.
Режимы работы датчика
Ручной
На каждое измерение нужен вызов метода start_measurement(self, with_heater: bool, value: int, long_pulse: bool):
Автоматический
Датчик выполняет измерения только по команде извне!
Параметры в методах
def start_measurement(self, with_heater: bool, value: int, long_pulse: bool):
- with_heater - если Истина, то измерение будет проходить c нагревом
- value - повторяемость, если with_heater is False: 0 - низкая (самая низкая точность) 1 - средняя (средняя точность) 2 - высокая (высокая точность)
- value - мощность нагрева, если with_heater is True: 0 - 20 мВт 1 - 110 мВт 2 - 200 мВт
- long_pulse - продолжительность нагрева, используется если with_heater is True: False - 0.1 сек True - 1.0 сек
Остальные параметры должны быть установлены до вызова start_measurement!
Встроенный нагреватель
Работа нагревателя
Датчик содержит встроенный нагреватель, который может быть включен командой. Можно выбрать три мощности нагрева и две продолжительности нагрева. После получения команды на включение нагревателя, датчик выполняет следующую процедуру:
- Нагреватель включается, и таймер начинает обратный отсчет.
- По истечении таймера, запускается измерение температуры и влажности с наивысшей повторяемостью, нагреватель остается включенным.
- После завершения измерения нагреватель выключается.
- Значения температуры и влажности теперь доступны для считывания.
Максимальное время включения команд нагревателя составляет одну секунду, чтобы предотвратить перегрев датчика при непреднамеренном использовании нагревателя. Таким образом, нет(!) специальной команды для выключения нагревателя. Для продолжительных периодов нагрева необходимо отправлять периодические команды на включение нагревателя, имея в виду, что нагреватель рассчитан на максимальный рабочий цикл менее(!) 10%. Для быстрого повышения температуры время простоя между последовательными импульсами нагрева должно быть минимальным.
Возможные варианты использования нагревателя
В целом, применение встроенного нагревателя варьируется вокруг:
- Удаление конденсированной/сбрызгиваемой воды с поверхности датчика. Хотя конденсированная вода не является проблемой надежности/качества для датчика, она, тем не менее, делает датчик невосприимчивым к изменениям относительной влажности воздуха, пока на поверхности есть жидкая вода.
- Работа без 'проскальзывания' в условиях высокой влажности. Периодические импульсы нагрева позволяют проводить измерения без 'проскальзывания' в условиях высокой влажности в течение длительного времени.
Внимание
- Нагреватель рассчитан на максимальный рабочий цикл 10%, то есть общее время работы нагревателя не должно превышать 10% от срока службы датчика.
- Во время работы нагревателя характеристики датчика недействительны.
- Датчик температуры может дополнительно подвергаться воздействию термически вызванного механического напряжения, что смещает показания температуры от фактической температуры.
- Температура датчика (базовая температура + повышение температуры от нагревателя) не должна превышать T max = 125 °C для обеспечения надлежащей электрической функциональности чипа.
- Нагреватель потребляет большой ток после включения (до ~75 мА при максимальной мощности). Хотя специальная схема плавно потребляет этот ток, источник питания должен быть достаточно мощным, чтобы избежать больших падений напряжения, которые могут спровоцировать сброс датчика.
- Если требуются более высокие температуры нагрева, на датчик должны быть отправлены последовательные команды нагрева. Нагреватель должен работать только при температуре окружающей среды ниже 65 °C, в противном случае это может вывести датчик за пределы его максимальной рабочей температуры.