아날로그 센서로 정밀 압력 및 공기유속 측정 장치 만들기
부품 및 소모품
| NXP MPXM2053GS 차압 센서 |
1개 |
| AD623ARZ 계측용 증폭기 (SO-8, 100kHz) |
1개 |
| 세라믹 커패시터 0.1uF |
1개 |
| 전해 디커플링 커패시터 10uF |
1개 |
| Adafruit 16x2 LCD (흰색/파란색, I2C) |
1개 |
| 아두이노 우노 (Arduino UNO) |
1개 |
필요 도구
코드
차압을 공기유속(m/s)으로 변환
아날로그 압력 센서로 공기유속 측정.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
float CurrentReading;
float Sum;
float Average;
float MeasuresN = 2500; // 평균낼 측정 횟수
float Flow;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
// 다중 샘플링으로 노이즈 감소
for (int i = 0; i < MeasuresN; i++) {
CurrentReading = analogRead(A0);
Sum += CurrentReading;
delay(1);
}
Average = Sum / MeasuresN;
Sum = 0;
// 0 m/s 기준 보정: 애플리케이션에 맞는 곡선 방정식 필요
// 여기서는 테스트용 선형 방정식 사용
Flow = (Average - 68) * 0.265 + 2.7;
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Sensor: ");
lcd.print(Average);
lcd.setCursor(0, 1);
lcd.print("Airflow: ");
lcd.print(Flow);
lcd.print(" m/s ");
delay(5);
}
회로도

회로 설명
- MPXM2053GS 센서 출력을 AD623 계측 증폭기로 증폭
- 증폭된 신호를 아두이노 A0 핀에서 읽음
- I2C LCD에 센서값과 계산된 유속 표시
- 전원 디커플링용 0.1uF, 10uF 커패시터 배치
보정 팁
Flow = (Average - 68) * 0.265 + 2.7 공식은 테스트용 선형 근사입니다. 실제 사용 시에는 풍속계 등으로 실측 보정하여 2차/3차 방정식이나 룩업 테이블을 적용하는 것이 좋습니다. 영점(0 m/s) 오프셋과 기울기를 환경에 맞게 조정하세요.