산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

습도 센서 검증 및 보정으로 정밀 측정 달성하기

당신의 습도 센서는 얼마나 정확할까요? 이 프로젝트로 확인해 보세요.

습도 센서는 흔하고 비교적 저렴하며 다양한 종류가 있습니다. 너무 자주 우리는 데이터시트를 확인하고 인터페이스에 연결한 뒤, 값이 "합리적으로 보인다"는 이유만으로 결과를 수용합니다.

이 프로젝트에서는 한 단계 더 나아가 습도 센서의 정확도를 검증하는 방법을 시연합니다. 또한 센서 보정의 일반적인 방법을 설명하고, 이를 적용해 습도 측정 정확도를 개선하는 과정을 보여줍니다.

프로젝트에 사용된 테스트 설정 (왼쪽부터: Quark D2000 마이크로컨트롤러 보드, 센서 인터페이스, 마이크로 환경 내 HIH5030 센서).

프로젝트 기초

센서 정확도를 확인하려면 측정된 값을 참조 표준과 비교합니다. 습도 센서의 경우 "포화 염" 방법으로 기준을 만듭니다. 간단히 말해, 특정 염(염화나트륨이나 염화칼륨 같은 이온 화합물)을 수용액에 녹이면 알려진 습도의 분위기를 생성합니다(참조 PDF 참조).

이 화학적 특성을 이용해 알려진 상대 습도(RH) 백분율의 마이크로 환경(참조 표준)을 만들고, 밀봉된 병 안에서 센서를 읽습니다. 구체적으로는 병에 용액을 만들어 대기를 보존하고 연결된 센서를 넣습니다. 이후 센서를 반복 읽으며 값을 기록합니다.

여러 염을 사용해 각기 다른 상대 습도를 생성하면 테스트 중인 센서의 프로파일을 개발할 수 있습니다. 각 마이크로 환경의 상대 습도를 알기 때문에, 센서 판독값이 알려진 값에서 얼마나 벗어나는지 평가해 센서 정확도를 평가할 수 있습니다.

편차가 상당하지만 극복 가능하다면, 소프트웨어에서 수학적 보정 절차를 적용해 측정 정확도를 높일 수 있습니다.

안전에 관하여

더 진행하기 전에, 이 프로젝트에 사용되는 화학물질을 책임감 있게 다루는 것이 필수적입니다.

사용된 염

일반적으로 RH 분위기 참조 표준을 더 많이 만들수록 테스트 중인 센서 특성화가 더 잘 됩니다. 하지만 실제로는 자원 한계가 항상 있습니다. 이 프로젝트에서는 4개 참조 표준을 사용했으며, 가능한 RH 값 범위를 커버하면서 안전성, 가용성, 비용을 고려해 염을 선택했습니다.

아래 염을 사용했습니다. 염화나트륨(식탁용 소금)의 경우 순수 코셔 솔트를 지역 식료품점에서 저렴하게 구매했습니다. 그 경로라면 요오드나 항결제 같은 첨가제가 든 식탁용 소금은 피하세요.

프로젝트에 사용된 염
염 % RH (25°C 기준) 구입처 안전 데이터 시트
염화 리튬 11.30 Home Science Tools LiCl SDS
염화 마그네슘 32.78 Home Science Tools MgCl SDS
염화 나트륨 75.29 다양함 (본문 참조) NaCl SDS
염화 칼륨 84.34 Home Science Tools KCl SDS

마이크로 환경 생성

거의 모든 것에 표준이 있고, 수용액에서 안정적 RH 생성 표준도 있습니다(ASTM E104 – 02(2012)). 내 작업대, 아마 여러분도 공식 시험실은 아니겠지만, 표준 사양을 최대한 가깝게 따르는 게 좋습니다.

이 프로젝트에서 제시된 결과는 신중히 수집됐지만, 어떤 센서 브랜드의 전반적 정확도 품질 진술로 해석돼선 안 됩니다. 소수 센서만 테스트했고, 사용된 센서들은 연령과 사용 이력이 달랐습니다.

각 염마다 증류수를 매우 젖은 모래 같은 농도로 넣어 슬러시 혼합물을 만들었습니다. 화학물질 4~5큰술과 증류수 1큰술로 시도해 보되, 약간 실험이 필요할 수 있습니다.

혼합물은 밀봉 뚜껑이 있는 작은 병에 만들었습니다. 유리나 플라스틱 모두 내부 대기를 유지할 수 있으면 잘 작동합니다. 병 뚜껑에 작은 구멍을 내 센서 인터페이스와 마이크로컨트롤러로 연결 와이어를 통과시킵니다. 연결된 센서는 혼합물 위 약 0.5~1.0인치 위치에 둡니다. 센서가 용액에 직접 닿으면 손상될 수 있으니 주의하세요. 연결 고정과 뚜껑 구멍 밀봉을 위해 쉽게 제거 가능한 콘택트 퍼티 사용.

최종 판독 전 충분히 평형화 시간을 두는 게 중요합니다. 경험적으로 선택된 테스트 케이스에서 6시간까지 매 분마다 판독해 테스트했습니다. 제 경험상 이는 필요 이상이었고, 센서와 염마다 90~120분 평형화 시간으로 정착했습니다. 마지막 5회 판독 평균을 최종 값으로 사용했습니다. 모든 경우 5개 값 차이가 거의 없거나 없었습니다.

또한 모든 판독은 약 25°C(±1°) 주변 온도에서 수행했고, 각 표준의 RH 값은 25°C 기준 값 사용(이 PDF 값 참조).

나트륨 염화물 마이크로 환경 내 캐리어 보드 위 HIH5030 센서.

하드웨어

마이크로컨트롤러

이 프로젝트에서는 Quark D2000 마이크로컨트롤러로 센서를 인터페이스합니다. D2000은 I2C와 아날로그-디지털 인터페이스를 가진 3V 보드입니다.

다만, 적절한 인터페이스를 가진 대부분의 다른 마이크로컨트롤러도 사용 가능합니다.

센서 인터페이스

프로젝트에서 테스트된 센서들; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (캐리어 보드 위).

4가지 유형의 습도 센서를 테스트했습니다: DHT-22(2개 사용), HIH5030, HIH6030, HIH8121. 아래 회로도는 각 센서 유형별 단순 인터페이스를 보여주며, 링크된 데이터시트 참조로 회로 배경 정보를 얻을 수 있습니다.

DHT-22 to D2000 인터페이스.

DHT-22 BOM: U1, DHT-22 센서; R1, 4.7kΩ 저항; C1, 0.1µF 커패시터.

HIH5030 to D2000 인터페이스.

HIH5030 BOM: U1, HIH3050 센서; U2, MCP601P 오피앰프; C1, 1.0µF 커패시터; C2, 0.1µF 커패시터.

HIH6030 to D2000 인터페이스.

HIH6030 BOM: U1, HIH6030 센서; R1과 R2, 2.2kΩ 저항; C1, 0.22µF 커패시터; C2, 0.1µF 커패시터.

HIH8121 to D2000 인터페이스.

HIH8121 BOM: U1, HIH8121 센서; R1과 R2, 2.2kΩ 저항; C1, 0.22µF 커패시터.

센서 소프트웨어

센서 데이터 수집용 모든 프로그램은 C 언어로 작성됐으며 "Humidity Sensor Project Code" 버튼 클릭으로 다운로드 가능. 각 프로그램은 주석이 잘 달려 있고 직관적입니다. 각 센서마다 매 분마다 읽어 시리얼 모니터로 값을 전송합니다. 따라서 여러분 애플리케이션에 쉽게 적용 가능.

DHT22.c(왼쪽)와 HIH5030.c(오른쪽) 출력 스크린샷.

센서 평가 절차

아래 표는 4개 마이크로 환경에서 센서 평가 데이터입니다.

테스트 센서별 % RH (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

안정된 알려진 상대 습도 환경에서 센서 성능 데이터를 수집하면 센서 정확도를 수치적으로 평가할 수 있습니다.

표에서 각 센서의 각 RH 표준에서 오차를 계산했습니다. 하지만 단순히 이 값들을 평균내 센서를 평가할 수는 없습니다. 일부 값은 양수, 일부는 음수라 단순 평균 시 양음 상쇄로 평균 오차가 최소화되기 때문입니다.

대신 제곱평균제곱근 오차(RMSE)로 센서 정확도를 특성화합니다. RMSE 공식:

여기서 O는 관측 센서 값, I는 이상적 센서 값(참조 표준). RMSE 계산: 각 오차(참조 표준과의 편차) 제곱 → 산술 평균 → 제곱근.

센서 정확도 특성화 후 RMSE로 보정 필요 여부 결정. 경우에 따라 RMSE가 작고 애플리케이션에 완전히 허용 가능해 보정 불필요로 합리적 판단 가능.

예를 들어 HIH8121 결과는 인상적입니다. RMSE 1% 미만, 모든 샘플 포인트 오차 2% 미만.

반면 센서 응답이 너무 나쁘고 불규칙하면 해당 애플리케이션에 다른 센서가 필요하다고 판단할 수 있습니다.

보정 결정은 항상 작업에 필요한 정확도 정도를 고려해야 합니다. 그럼에도 표의 모든 센서에 대해 보정으로 판독값 정확도 개선 가능.

센서 보정 절차

센서 보정하려면 이상적 값과 관측값을 연결하는 함수를 수학적으로 결정해야 합니다. 선형 회귀 절차로 그 함수 결정 가능.

회귀 절차 이름의 "선형"은 선형 함수를 의미하지 않습니다. 대신 변수들의 선형 결합을 의미합니다. 결과 함수는 선형이거나 곡선일 수 있습니다. 아래 세 다항식 모두 선형 회귀 표현(0차는 이 문맥에서 유용하지 않으므로 무시):

  1. y = ax + b (1차, 선형)
  2. y = ax2 + bx + c (2차, 이차)
  3. y = ax3 + bx2 + cx + d (3차, 삼차)

현재 프로젝트에서 4개 참조 표준(즉, n=4)으로 센서 값 계산. 따라서 3차 다항식이 계산 가능한 최고 차수. 최고 차수 다항식은 항상 n-1, 여기선 3(4-1).

일반적으로 최소제곱법으로 선형 회귀 수행. 각 데이터에서 선까지 거리 합이 최소가 되도록 선 피팅. 최소제곱법으로 선형 회귀 수행하는 프로그램 다수 존재. 엑셀도 사용 가능(자세한 정보 클릭).

비선형 회귀도 사용 가능. 거듭제곱 함수나 푸리에 함수 결과. 하지만 선형 회귀가 우리 프로젝트 데이터에 적합하고, 소프트웨어 보정(캘리브레이션) 구현이 쉽습니다. 사실 이 프로젝트에서는 비선형 회귀로 얻는 이득이 거의 없다고 봅니다.

다항식 선택

이론적으로 데이터에 가장 잘 맞는 다항식, 즉 결정 계수 r2(R2)가 가장 작은 다항식을 쓰고 싶습니다. r2가 1에 가까울수록 적합도 좋음. 최소제곱 추정에서 다항식 차수가 높을수록 적합도가 항상 좋아집니다.

하지만 자동으로 최고 차수 다항식을 쓸 필요는 없습니다. 보정이 소프트웨어에서 이뤄지므로, 더 높은 차수 다항식으로 얻는 정확도 향상이 미미하다면 낮은 차수 다항식이 속도/메모리 이점 줄 수 있습니다.

아래에서 HIH6030 센서에 대해 서로 다른 차수 다항식으로 보정 절차 시연하며, 선택한 어떤 차수 다항식에도 적용 가능한 일반 절차를 설명합니다.

이전 표 데이터로 최소제곱 회귀 수행해 각 다항식 계수 결정. 값은 사용한 회귀 소프트웨어 패키지에서 나옵니다. 결과는 아래와 r2 값 포함:

  1. 선형: y = ax + b; a = 1.0022287, b = -8.9105659, r2 = 0.9996498
  2. 이차: y = ax2 + bx + c; a = -0.0012638, b = 1.1484601, c = -12.0009745, r2 = 0.9999944
  3. 삼차: y = ax3 + bx2 + cx + d; a = 0.0000076, b = -2.4906103, c = 1.2061971, d = -12.7681425, r2 = 0.9999999

관측값을 계산된 함수로 수정할 수 있습니다. 즉, 센서 판독값을 아래 표처럼 보정할 수 있습니다(OBS, Corrected, ERR 값은 소수 둘째 자리 반올림).

다항식을 사용한 HIH6030 관측값 및 보정값
RAW 1차 2차 3차
참조 RH OBS ERR Corrected ERR Corrected ERR Corrected 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. 라즈베리 파이 & HDC2010: I2C 온습도 센서 완전 설정 가이드
  4. 라즈베리 파이와 파이썬으로 원격 온도 센서 만들기 – 단계별 가이드
  5. 라즈베리 파이 기상 관측소 만들기: 매일 이메일로 날씨 데이터 전송
  6. 라즈베리 파이 & DS18B20으로 다중 센서 온도 & 조도 모니터링 시스템 구축
  7. 라즈베리 파이 센서 및 액추에이터 제어 마스터하기: 가속도계, 서보 모터, 데이터 스트리밍
  8. 라즈베리 파이와 습도 센서로 자동 에어로포닉스 시스템 만들기
  9. Windows 10 IoT Core에서 SHT15로 정확한 온도 & 습도 모니터링
  10. DC 모터 문제 진단·점검 단계별 가이드