수류 센서(Water Flow Sensor) 작동 원리와 아두이노 연동 실전 가이드
가정용 수자원 관리, 커피 머신, 정수기, 온수기 등 액체 유량 측정이 필요한 프로젝트를 진행 중이신가요? 수류 센서는 단위 시간당 유체 흐름 양을 측정하는 핵심 부품입니다. 이 글에서는 수류 센서의 종류별 작동 원리, 대표 모델(YF-S201) 상세 사양, 아두이노 연동 회로 및 코드까지 실전 중심으로 안내합니다.
수류 센서란 무엇인가?
수류 센서(Water Flow Sensor)는 파이프를 통과하는 액체의 유량(Flow rate, L/min) 및 누적 유량(Volume)을 측정하는 장치입니다. 자동 온수기, 커피 머신(직수형/캡슐형), 정수기, 음료 자판기, 관개 시스템, 산업용 유체 제어 등 폭넓게 적용됩니다.
대표 모델 YF-S201 작동 원리 (홀 이펙트 + 터빈 방식)
가장 널리 쓰이는 저가형 수류 센서인 YF-S201은 다음과 같이 동작합니다.
- 물 유입구 → 내부 터빈(임펠러) → 물 유출구 구조
- 유량이 증가하면 터빈 회전 속도 증가
- 터빈에 내장된 자석이 회전하며 홀 이펙트 센서 자극
- 홀 센서가 회전당 펄스 출력 (일반적으로 1회전 = 1펄스)
- 출력 펄스 주파수(Hz) ∝ 유량 (L/min)
유량 계산 공식 (YF-S201 기준):
유량 (L/min) = 펄스 주파수 (Hz) / 7.5
또는
펄스 수 / (7.5 × 시간(초)) = 유량 (L/min)
※ 계수 7.5는 데이터시트 명시값으로, 센서마다 다를 수 있음 (보정 필요)
수류 센서 종류별 작동 원리 비교
| 종류 | 작동 원리 | 장점 | 단점 | 주용도 |
패들휠/터빈 (Paddlewheel) | 유체 흐름에 수직으로 회전하는 날개/터빈 + 홀/광학 센서 | 저가, 단순 구조, 설치 용이, 청정액에 적합 | 압력 손실, 마모/이물질 걸림, 저유량 측정 어려움 | 정수기, 커피머신, 가정용 수전 |
양적 변위 (Positive Displacement) | 고정 부피 챔버에 유체 포획→배출 반복 횟수 카운트 | 직접 부피 측정, 고정밀, 고점도액 측정 가능 | 고가, 기계적 마모, 압력 손실 큼 | 연료/오일 계량, 화학약품 주입 |
전자기 유도 (Magnetic/Inductive) | 파라데이 전자기 유도 법칙: 도전성 유체 흐름 → 기전력 발생 | 이동 부품 없음, 무압력손실, 양방향 측정, 내구성 우수 | 도전성 액체만 측정 가능 (순수/증류수 불가), 고가 | 상하수도, 슬러리, 폐수, 식음료 |
초음파 (Ultrasonic) | 도플러 효과 또는 전파 시간 차이(Time-of-Flight)로 유속 측정 | 비침투식(클램프온), 이동부품 없음, 부식/오염 영향 적음 | 고가, 기포/입자 영향 받음, 설치 조건 민감 | 대관경 배관, 위험 유체, 임시 측정 |
열식/질량유량 (Thermal/Mass) | 가열 소자 냉각도 또는 온도 차이로 질량 유량 측정 | 질량 유량 직접 측정, 압력/온도 보상 불필요, 저유량 정밀 | 고가, 가스 전용 모델 많음, 응답 속도 느림 | 반도체 공정 가스, 바이오 공정 |
YF-S201 상세 사양 (Features & Specifications)
| 항목 | 사양 |
| 동작 전압 | 4.5 ~ 24V DC (권장 5~18V) |
| 최대 전류 | 15mA (5V 기준) |
| 부하 용량 | ≤10mA (5V 기준) |
| 유량 측정 범위 | 1 ~ 30 L/min |
| 내전압 | 1250 V/min |
| 최대 수압 | 1.75 MPa |
| 동작 온도 | < 80°C |
| 유체 온도 | < 120°C |
| 습도 범위 | 35% ~ 90% RH |
| 절연 저항 | > 100 MΩ |
| 출력 신호 | TTL 레벨 펄스 (0~5V, 주파수 출력) |
| 커넥터 | 3핀 (적: VCC, 흑: GND, 황: Signal) |
| 나사 규격 | G1/2" (BSP 1/2인치) 또는 NPT 1/2" |
아두이노 연동 실전 가이드 (YF-S201 + Arduino)
필요 부품
- 아두이노 우노/나노/메가 등
- YF-S201 수류 센서
- 브레드보드 & 점퍼 와이어 3개
- 외부 전원 (5V, 센서 전용 권장) 또는 아두이노 5V 핀
- (선택) 16×2 LCD 또는 시리얼 모니터로 결과 확인
배선도
YF-S201 아두이노 우노
┌─────────┐
│ 적 VCC │ ──────▶ 5V
│ 흑 GND │ ──────▶ GND
│ 황 Signal│ ──────▶ D2 (인터럽트 0 핀)
└─────────┘
※ D2, D3만 외부 인터럽트 지원 (우노/나노 기준)
아두이노 스케치 (인터럽트 기반 유량 측정)
volatile long pulseCount = 0;
float flowRate = 0.0;
float totalVolume = 0.0;
unsigned long oldTime = 0;
const float calibrationFactor = 7.5; // 데이터시트 기준, 실측 보정 필요
void pulseCounter() { pulseCount++; }
void setup() {
Serial.begin(115200);
pinMode(2, INPUT_PULLUP); // 내부 풀업 사용 (오픈컬렉터 출력 대응)
attachInterrupt(digitalPinToInterrupt(2), pulseCounter, FALLING);
oldTime = millis();
}
void loop() {
if (millis() - oldTime >= 1000) { // 1초마다 계산
detachInterrupt(digitalPinToInterrupt(2));
flowRate = (pulseCount / calibrationFactor); // L/min
totalVolume += flowRate / 60.0; // 누적량 (L)
oldTime = millis();
Serial.print("유량: "); Serial.print(flowRate, 2); Serial.print(" L/min ");
Serial.print("누적: "); Serial.print(totalVolume, 3); Serial.println(" L");
pulseCount = 0;
attachInterrupt(digitalPinToInterrupt(2), pulseCounter, FALLING);
}
}
코드 핵심 포인트
- 인터럽트 사용: 펄스 누락 방지, 메인 루프 블로킹 없음
- FALLING 에지 트리거: 홀 센서 출력이 High→Low 전환 시 펄스 카운트
- INPUT_PULLUP: 센서 출력이 오픈컬렉터/오픈드레인일 때 풀업 저항 역할
- 주기적 계산: 1초 간격으로 펄스 수 → 유량 변환, 누적량 적분
- 보정 계수(calibrationFactor): 실측값과 비교해 조정 필수 (7.5는 이론치)
고급 팁: 정확도 향상
- 실제 보정: 알려진 부피(예: 1L 병)에 물 채우며 펄스 수 측정 → 계수 재계산
- 이동 평균 필터: 순간 유량 변동 완화를 위해 최근 N초 평균 사용
- 온도 보상: 점도 변화에 따른 터빈 마찰 계수 변화 고려 (정밀 용도)
- 역류 방지: 체크 밸브 설치로 역류 시 펄스 오카운트 방지
- 전원 분리: 센서 전원은 별도 5V 레귤레이터 또는 배터리 권장 (아두이노 5V 핀 전류 부족 방지)
자주 묻는 질문 (FAQ)
- Q: YF-S201로 뜨거운 물 측정 가능한가요?
- A: 유체 온도 120°C까지 사양상 지원하나, 플라스틱 본체/실링 재질 확인 필요. 고온용은 금속 본체 모델(예: G1/2" 브라스) 권장.
- Q: 순수수(증류수) 측정 되나요?
- A: 홀 이펙트/터빈 방식은 유체 전도도 무관 → 가능. 전자기 유도식만 불가.
- Q: 양방향 흐름 측정 되나요?
- A: 단방향만 측정. 양방향 필요 시 초음파식 또는 양방향 터빈 센서 별도 구매.
- Q: 펄스가 안 나와요.
- A: ① 배선 확인 (특히 GND 공통) ② 전압 확인 (4.5V 이상) ③ 유량 충분한가? (최소 1 L/min) ④ 인터럽트 핀 올바른가? ⑤ 센서 불량 가능성.
마무리
수류 센서는 유체 제어 시스템의 눈과 귀입니다. 저가형 터빈 센서(YF-S201)는 취미/교육/소규모 상용 프로젝트에 충분한 가성비를 제공하지만, 정밀도/내구성/특수 유체 조건이 요구되는 산업 현장에서는 전자기 유도식, 초음파식, 코리올리식 등 상위 등급 센서 선정이 필수입니다. 아두이노 연동 시 인터럽트 기반 펄스 카운팅과 실측 보정이 핵심입니다. 프로젝트 성공을 기원하며, 추가 기술 문의는 언제든 환영합니다.