Измеритель УФ-индекса на ESP32 и УФ-датчике ML8511


В данной статье мы рассмотрим подключение ультрафиолетового (УФ) датчика ML8511 к плате ESP32 для измерения интенсивности ультрафиолетового света в мВт/см^2. УФ-излучение или ультрафиолетовое излучение происходит в диапазоне длин волн от 10 нм до 400 нм в электромагнитном спектре. Поэтому для получения эффективного выходного сигнала в соответствии с УФ-светом датчик GY/ML8511 от компании lapis semiconductor очень помогает. УФ-датчик ML8511 лучше обнаруживает свет 280 нм – 390 нм, эта длина волны классифицируется как часть спектра лучей UVB-обжигания и большая часть спектра лучей UVA-загара.

Измеритель УФ-индекса на ESP32 и УФ-датчике ML8511

Датчик ML8511 очень прост в использовании. Он выдает аналоговое напряжение, линейно связанное с измеренной интенсивностью УФ-излучения (мВт/см2). Если ваш микроконтроллер может выполнять преобразование аналогового напряжения в цифровой вид, то вы можете определять уровень УФ-излучения с помощью данного датчика. Он имеет низкий ток питания 300 мкА и низкий ток в режиме ожидания 0,1 А. Он поставляется с небольшим и тонким корпусом для поверхностного монтажа (4,0 мм x 3,7 мм x 0,73 мм (0,16″ x 0,15″ x 0,03″), 12-контактный керамический QFN).

Необходимые компоненты

  1. Модуль ESP32 (купить на AliExpress).
  2. ЖК дисплей 16x2 с модулем I2C (купить на AliExpress).
  3. УФ-датчик ML8511 (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

УФ-датчик ML8511

Обзор

УФ-датчик ML8511

Датчик УФ ML8511 — это простой в использовании датчик ультрафиолетового света. Датчик УФ (ультрафиолетового) ML8511 работает, выдавая аналоговый сигнал в зависимости от количества обнаруженного УФ-света. Он может быть очень полезен при создании устройств, которые предупреждают пользователя о солнечных ожогах или определяют УФ-индекс в зависимости от погодных условий.

Этот датчик наиболее эффективно обнаруживает свет в диапазоне 280-390 нм. Он классифицируется как часть спектра UVB (лучи ожогов) и большая часть спектра UVA (лучи загара). Он выдает аналоговое напряжение, которое линейно связано с измеренной интенсивностью УФ-излучения (мВт/см2) . Если ваш микроконтроллер может выполнять аналого-цифровое преобразование сигнала, то вы можете определять уровень УФ-излучения!

Блок-схема

УФ-датчик ML8511 имеет фотодиод, чувствительный к УФ-А и УФ-В. Он также имеет внутренний встроенный операционный усилитель, который преобразует фототок в выходное напряжение в зависимости от интенсивности УФ-излучения.

Блок-схема УФ-датчика ML8511

Выход всегда в форме аналогового напряжения. Через выход напряжения легко взаимодействовать с внешними микроконтроллерами и АЦП.

Характеристики УФ-излучения

Характеристики УФ-излучения датчика ML8511

Характеристики построены между выходным напряжением датчика и интенсивностью УФ-излучения (мВт/см²) при постоянном питании VDD. Кривые разных цветов отображают работу датчика в разных диапазонах температур.

Схема проекта

Принципиальная схема подключения УФ-датчика ML8511 к плате ESP32 приведена на следующем рисунке. Также в схеме присутствует ЖК-дисплеем с модулем I2C, который питается от 5 В, а его GND подключен к GND ESP32. Выводы SCL и SDA ЖК-дисплея I2C подключены к GPIO22 и GPIO21 ESP32.

Принципиальная схема подключения УФ-датчика ML8511 к плате ESP32

Датчик УФ имеет 5 контактов: Vin, 3V3, GND, OUT, EN. Некоторые разновидности датчика не имеют контакта Vin, который также не используется. Контакты EN и 3V3 подключены к контакту 3,3 В ESP32. Тот же контакт 3V3 подключен к аналоговому контакту GPIO4, который используется в качестве опорного напряжения. Контакт out подключен к GPIO ESP32, а GND датчика - к GND ESP32.

Собранная на макетной плате конструкция проекта

Это соединение для ML8511 довольно сложное. Аналого-цифровые преобразования полностью зависят от VCC. Мы предполагаем, что это 5,0 В, но если плата питается от USB, это может быть как 5,25 В, так и 4,75 В. Из-за этого неизвестного окна это делает АЦП на ESP32 достаточно неточным. Чтобы исправить это, мы используем очень точный встроенный опорный сигнал 3,3 В (с точностью в пределах 1%). Поэтому, выполняя аналого-цифровое преобразование на выводе 3,3 В (подключив его к GPIO4), а затем сравнивая это показание с показанием с датчика, мы можем экстраполировать реалистичное показание, независимо от того, какой VIN (при условии, что он выше 3,4 В).

Исходный код программы

Исходный код программы для подключения УФ-датчика ML8511 к плате ESP32 приведен ниже. Скопируйте его и загрузите его на плату ESP32.

После загрузки кода вы сможете увидеть на экране ЖК дисплея значение УФ-индекса при воздействии солнечного света.

Тестирование работы проекта

Объяснение работы кода

uvLevel — это то, что мы считываем с вывода OUT. refLevel — это то, что мы считываем с вывода 3,3 В. Решая для UV_Voltage, мы можем получить точное показание.

Сопоставление UV_Voltage с интенсивностью простое. Любой УФ-свет начинается с 1 В с максимумом 15 мВт/см2 около 2,8 В. В ESP32 есть встроенная функция map(), но map() не работает для float, поэтому мы запрограммировали простую функцию mapFloat() .

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

(Проголосуй первым!)
Загрузка...
19 просмотров

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

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