Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Как проверить и откалибровать датчик влажности

Насколько точен ваш датчик влажности? Узнайте с этим проектом.

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

В этом проекте мы демонстрируем, как сделать еще один шаг и проверить точность датчика влажности. Мы также проиллюстрируем общий метод калибровки датчика и применим этот метод для калибровки результатов, чтобы повысить точность измерений влажности .

Испытательная установка, использованная в проекте (слева направо, плата микроконтроллера Quark D2000, интерфейс датчика, датчик HIH5030 в микросреде).

Основы проекта

Чтобы проверить точность датчика, полученные значения сравнивают с эталоном. Чтобы проверить точность датчика влажности, мы используем метод «насыщенной соли» для производства стандартов. Проще говоря, определенные соли (то есть ионные соединения, такие как поваренная соль или хлорид калия) при растворении в водном растворе создают атмосферу с известной влажностью (см. Справочный PDF-файл).

Эти химические свойства используются для создания микросреды с известной относительной влажностью (RH) в процентах (то есть эталонов), а датчики считываются внутри микросреды. В частности, мы приготовим раствор в герметичной банке для сохранения атмосферы, а затем поместим подключенный датчик в герметичную банку. Впоследствии датчик повторно считывается и значения записываются.

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

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

Несколько слов о безопасности

<цитата>

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

Использованные соли

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

Были выбраны указанные ниже соли. В случае хлорида натрия (поваренная соль) чистая кошерная соль была дешево приобретена в местном продуктовом магазине. Если вы идете по этому пути, избегайте использования поваренной соли с добавками, такими как йод или вещества, препятствующие слеживанию.

Соли, используемые в проекте
Соль % относительной влажности (при 25 ° C) Источник Паспорт безопасности
Хлорид лития 11.30 Инструменты для дома SDS для LiCl
хлорид магния 32,78 Инструменты для дома SDS для MgCl
хлорид натрия 75,29 Разное (см. текст) SDS для NaCl
Хлорид калия 84,34 Инструменты для дома SDS для KCl

Создание микросреды

У нас есть стандарты почти для всего, и есть даже один для создания стабильной относительной влажности из водного раствора (см. ASTM E104-02 (2012)). Хотя мой стенд и, вероятно, ваш, не является официальной испытательной лабораторией, стоит как можно точнее следовать спецификациям стандарта.

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

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

Готовили смесь в небольшой баночке с плотной крышкой. Стекло или даже пластик должны работать хорошо, если они могут удерживать атмосферу внутри. В верхней части емкости можно сделать небольшое отверстие для подключения проводов к интерфейсу датчика, а затем к микроконтроллеру. Подключенный датчик затем располагается примерно на 0,5-1,0 дюйма над смесью. Следите за тем, чтобы датчик никогда не контактировал напрямую с раствором, иначе он может быть поврежден. Чтобы удержать соединение на месте и закрыть отверстие в крышке, можно использовать легко удаляемую контактную замазку.

Перед тем, как снимать окончательные показания, важно дать достаточно времени для уравновешивания. Я проверил эту проблему эмпирически, снимая показания каждую минуту в течение шести часов в выбранных тестовых случаях. По моему опыту, это было дольше, чем необходимо, и я остановился на времени уравновешивания 90-120 минут для каждого датчика и соли. Затем для окончательного значения использовалось среднее значение последних пяти измерений. Во всех случаях пять значений показали очень небольшую разницу, если она вообще была.

Кроме того, все показания были сняты при температуре окружающей среды около 25 ° C (± 1 °), а значение относительной влажности, используемое для каждого стандарта, было указанным для 25 ° C (значения см. В этом PDF-файле).

Датчик HIH5030 на несущей плате внутри микросреды, содержащей хлорид натрия.

Аппаратное обеспечение

Микроконтроллер

В этом проекте мы соединяем датчики с помощью микроконтроллера Quark D2000. D2000 - это плата на 3 В с I2C и аналого-цифровыми интерфейсами.

Однако имейте в виду, что можно использовать любой другой микроконтроллер с соответствующими интерфейсами.

Интерфейсы датчиков

Датчики протестированы в проекте; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (на несущей плате).

Были протестированы четыре различных типа датчиков влажности:DHT-22 (использовались два), HIH5030, HIH6030 и HIH8121. На приведенных ниже схемах показаны простые интерфейсы, используемые для каждого типа датчика, а справочная информация предоставлена ​​в соответствующих таблицах данных. для схем.

Интерфейс DHT-22 для D2000.

DHT-22 Спецификация:U1, датчик DHT-22; R1, резистор 4,7 кОм; C1, конденсатор 0,1 мкФ.

Интерфейс HIH5030 - D2000.

HIH5030 Спецификация:датчик U1, HIH3050; U2, операционный усилитель MCP601P; C1, конденсатор 1,0 мкФ; C2, конденсатор 0,1 мкФ.

Интерфейс HIH6030 - D2000.

HIH6030 Спецификация:U1, датчик HIH6030; R1 и R2 - резистор 2,2 кОм; C1, конденсатор 0,22 мкФ; C2, конденсатор 0,1 мкФ.

Интерфейс HIH8121 - D2000.

HIH8121 Спецификация:U1, датчик HIH8121; R1 и R2 - резистор 2,2 кОм; C1, конденсатор 0,22 мкФ.

Программное обеспечение датчика

Все программы для сбора данных с датчиков написаны на языке C и могут быть загружены, нажав кнопку «Код проекта датчика влажности». Каждый комментируется и прямолинейно. Для каждого датчика программа просто считывает датчик каждую минуту и ​​отправляет значение на последовательный монитор. Таким образом, их должно быть легко адаптировать к вашему конкретному приложению.

Скриншоты выходных данных DHT22.c (слева) и HIH5030.c (справа).

Процедура оценки датчика

В таблице ниже представлены данные оценки датчиков в каждой из четырех микросред.

Процент относительной влажности для тестовых датчиков (OBS =наблюдаемое значение, ERR =ошибка как отличие от стандарта, RMSE =среднее значение квадрат ошибки)
DHT №1 DHT № 2 HIH5030 HIH6030 HIH8121
Ссылка RH OBS ERR OBS ERR OBS ERR OBS ERR OBS ERR
11.30 (LiCl) 12,56 1,26 16,29 4,99 13.02 1,72 20,79 9,49 12,31 1.01
32,78 (MgCl) 32,36 -0,42 33,79 1.01 33,46 0,68 40,77 7,99 32,43 -0,35
75,29 (NaCl) 73,04 -2,25 74,50 -0,79 77,74 2,45 83,83 8,54 76,63 1,34
84,34 (KCl) 82,30 -2,04 82,15 -2,19 85,84 1,50 93,43 9,09 85,01 0,67
RMSE 1,657 2,799 1,708 8.796 0,920

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

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

Вместо этого мы вычисляем среднеквадратичную ошибку (RMSE), чтобы характеризовать точность датчика. Формула для RMSE приведена ниже:

где O - наблюдаемое значение датчика, а I - идеальное значение датчика (т. е. эталонный стандарт). Для вычисления RMSE мы возводим в квадрат каждую ошибку (отклонение от эталонного стандарта), затем вычисляем среднее арифметическое этих значений и, наконец, извлекаем квадратный корень из среднего.

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

Например, результаты для HIH8121 впечатляют. RMSE составляет менее 1%, и все точки выборки имеют ошибку менее 2%.

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

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

Процедура калибровки датчика

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

Слово «линейный» в названии процедуры регрессии не означает линейную функцию. Вместо этого термин относится к линейной комбинации переменных. Полученная функция может быть линейной или криволинейной. Все три полиномиальные функции ниже представляют линейную регрессию (примечание:мы игнорируем случай 0 градусов, который бесполезен в данном контексте).

  1. y =ax + b (первая степень, линейная)
  2. y =ax 2 + bx + c (вторая степень, квадратичная)
  3. y =ax 3 + bx 2 + cx + d (третья степень, кубическая)

В текущем проекте мы рассчитываем значения датчиков с использованием четырех эталонных стандартов (т. Е. N =4). Таким образом, многочлен третьей степени - это многочлен высшей степени, который мы можем вычислить. Всегда бывает так, что максимально возможный полином наивысшей степени равен n - 1, и в данном случае это означает 3 (4 - 1).

Процедуры наименьших квадратов обычно используются для линейной регрессии. В этой процедуре линия подбирается так, чтобы сумма расстояний от каждой точки привязки до линии была как можно меньше. Доступно множество программ, в которых для выполнения линейной регрессии используются процедуры наименьших квадратов. Вы даже можете использовать Excel (щелкните здесь, чтобы получить дополнительную информацию).

Также следует отметить, что нам не нужно использовать линейную регрессию. Мы могли бы использовать нелинейную регрессию. Примеры нелинейной регрессии приводят к степенной функции или функции Фурье. Однако линейная регрессия хорошо подходит для данных нашего проекта, и, кроме того, программная коррекция (калибровка) легко реализуется. На самом деле, я не думаю, что в этом проекте вы выиграете от использования нелинейной регрессии.

Выбор полинома

Теоретически мы хотим использовать полином, который лучше всего соответствует данным. То есть полином, который дает наименьший коэффициент детерминации, обозначается r 2 (или R 2 , произносится как «R в квадрате»). Чем ближе r 2 равно 1, тем лучше соответствие. При оценке методом наименьших квадратов всегда бывает так, что чем выше степень используемого полинома, тем лучше соответствие.

Однако вам не нужно автоматически использовать полином наивысшей возможной степени. Поскольку калибровка будет выполняться программно, могут быть случаи, в которых использование полинома более низкой степени представляет собой преимущество в скорости и / или памяти, особенно если точность, которую можно получить при использовании полинома более высокой степени, очень мала. / P>

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

Используя данные из предыдущей таблицы, мы сначала выполняем процедуру регрессии наименьших квадратов, чтобы определить коэффициенты для каждого полинома. Эти значения будут получены из используемого пакета программ регрессии. Результаты приведены ниже, включая r 2 ценности.

  1. Линейный:y =ax + b; a =1,0022287, b =-8,9105659, r 2 =0,9996498
  2. Квадратичный:y =ax 2 + bx + c; a =-0,0012638, b =1,1484601, c =-12,0009745, r 2 =0,9999944
  3. Кубический:y =ax 3 + bx 2 + cx + d; a =0,0000076, b =-2,4906103, c =1,2061971, d =-12,7681425, r 2 =0,9999999

Теперь наблюдаемые значения можно изменить с помощью вычисленных функций. То есть показания датчика можно откалибровать, как показано в таблице ниже (обратите внимание, что значения OBS, Corrected и ERR округлены до двух десятичных знаков).

Наблюдаемые и калиброванные значения HIH6030 с использованием полиномов
RAW 1-я степень 2-я степень 3-я степень
Ссылка RH OBS ERR Исправлено ERR Исправлено ERR Исправлено ERR
11.30 20,79 9,49 11,93 0,63 11,36 0,06 11.30 0,00
32,78 40,77 7,99 31,95 -0,83 32,83 0,05 32,78 0,00
75,29 83,83 8,54 75,11 -0,18 75,85 0,55 75,29 0,00
84,34 93,43 9,09 84,73 0,39 84,83 0,49 84,34 0,00
RMSE 8.795736 0,562146 0,371478 0,00212

Видно, что все три полинома привели к значительному снижению RMSE по сравнению с наблюдаемыми показателями, и именно поэтому вы выполняете калибровку. График ниже иллюстрирует улучшение с использованием полинома 1-й степени. Обратите внимание, как калиброванные (скорректированные) точки данных теперь лежат около идеальной диагонали.

Подробнее…

Как проверить и откалибровать датчик влажности

Текущий проект / сообщение также можно найти с помощью:


Производственный процесс

  1. Работа датчика влажности и его применение
  2. Датчик DHT11 и его работа
  3. Базовый IoT - RaspberryPI HDC2010 как
  4. Датчик температуры Python и Raspberry Pi
  5. Метеостанция Raspberry Pi
  6. Датчик температуры и освещенности Raspberry Pi
  7. Управление датчиком и исполнительным механизмом Raspberry Pi
  8. Аэропоника с Raspberry Pi и датчиком влажности
  9. Windows 10 IoT Core и SHT15
  10. Как проверить двигатель постоянного тока