[DIY 스마트팜] 아두이노 + NTC 써미스터를 이용한 간이 풍속계(열선식 풍속계) 구현 아이디어
개요
일반적으로 써미스터는 온도를 측정하는 센서로 사용되지만, 일부러 센서를 가열한 뒤 바람에 의해 냉각되는 정도를 측정하면 풍속 센서로 활용할 수 있다.
이 방식은 산업계에서 사용하는 열선식 풍속계(Thermal Anemometer) 의 기본 원리와 동일하다.
장점은 다음과 같다.
회전 부품 없음
마모 부품 없음
구조가 단순함
저렴함
기류 변화 감지에 매우 민감함
아두이노로 쉽게 구현 가능
동작 원리
1. 대기온도 측정용 써미스터
첫 번째 써미스터는 일반적인 온도 센서처럼 사용한다.
자기 발열(Self Heating)이 거의 발생하지 않도록 작은 전류만 흘림
현재 공기 온도를 측정
T_ambient
2. 가열용 써미스터
두 번째 써미스터는 일부러 가열한다.
전류를 충분히 흘려 센서 자체 온도를 주변 온도보다 높게 만든다.
예)
실내온도 : 25℃
가열센서 : 50℃
3. 바람이 발생
공기가 흐르면 가열된 센서의 열이 외부로 빠져나간다.
풍속 증가
→ 열손실 증가
→ 센서 온도 감소
예)
무풍 상태
T_heated = 50℃
약한 바람
T_heated = 40℃
강한 바람
T_heated = 30℃
4. 온도 차이 계산
두 센서의 온도 차이를 계산한다.
ΔT = T_heated - T_ambient
또는
ΔV = V_ambient - V_heated
NTC 특성상 온도가 변하면 저항과 전압이 변하므로 실제 구현은 전압 차이로 계산하는 경우가 많다.
왜 풍속이 커질수록 값이 변하는가?
가열된 센서가 잃는 열량은 풍속과 밀접한 관계가 있다.
간단히 표현하면
풍속 ↑
→ 냉각 ↑
→ 센서 온도 ↓
→ NTC 저항 ↑
→ ADC 값 변화 ↑
따라서 풍속을 직접 측정하지 않아도 기류 세기를 추정할 수 있다.
NTC 선정 가이드
가장 추천하는 NTC
DIY 및 스마트팜 환기 감시용으로는 다음 규격이 가장 무난하다.
10kΩ NTC
B값 3950
비드형(Bead Type)
대표 제품
MF52-103
MF58-103
10K B3950 Glass Bead NTC
비드형을 추천하는 이유
풍속계는 공기와의 열교환이 핵심이다.
비드형 NTC는 센서가 공기 중에 직접 노출되어 있어 응답속도가 매우 빠르다.
구조 예시
리드선
|
|
(●)
특징
열용량이 작음
자기 가열이 잘 발생함
냉각 반응이 빠름
미세한 기류 변화 감지 가능
방수형 NTC를 추천하지 않는 이유
온도 측정용으로 흔히 판매되는 방수 프로브는 풍속계 용도로는 적합하지 않다.
구조
공기
↓
금속관
↓
에폭시
↓
NTC
문제점
열용량 증가
응답속도 저하
작은 기류 변화 감지 어려움
따라서 풍속 측정보다는 수온 측정이나 일반 온도 측정용에 적합하다.
대기온도용과 가열용 센서 구성
가장 간단한 구성
MF52 10K B3950 × 2개
조금 더 성능을 높이고 싶다면
대기온도용 : MF52 10K B3950
가열용 : Glass Bead NTC
구성을 추천한다.
가열용 센서의 응답속도가 빨라져 기류 변화 감도가 향상된다.
추천 하드웨어
부품
Arduino Nano
NTC 10kΩ B3950 비드형 × 2
100Ω ~ 220Ω 전력저항 (1W 이상 권장)
브레드보드
점퍼선
기본 회로 개념
센서 A (대기온도)
5V
|
10k
|
+---- A0
|
NTC
|
GND
센서 B (가열용)
5V
|
100Ω~220Ω
|
NTC
|
GND
가열용 센서는 전류를 더 많이 흘려 자기 발열을 유도한다.
실제 설계 시 중요한 문제
위 회로는 원리 설명용으로는 충분하지만 실제 제작 시에는 한 가지 문제가 있다.
가열용 NTC
=
온도 측정 센서
+
발열체
역할을 동시에 수행한다.
따라서
전류 변화
↓
발열 변화
↓
측정값 변화
가 서로 얽히게 된다.
정밀도가 필요한 경우에는
발열체
+
온도 센서
를 분리하는 방식이 더 좋다.
예)
10Ω~47Ω 저항 → 발열체
NTC → 온도 측정
주의사항
센서 간 거리 확보
가열 센서의 열이 대기온도 센서에 전달되면 오차가 발생한다.
권장
2cm ~ 5cm 이상 이격
배치는 다음과 같이 한다.
공기 흐름 →
[A] -------- [B]
또는
공기 흐름 →
[B] -------- [A]
둘 다 가능하지만 서로 열 영향을 주지 않아야 한다.
풍향 영향 최소화
가능하면 두 센서 모두 같은 기류를 받도록 배치한다.
작은 보호망이나 3D 프린터 브래킷을 사용하면 재현성이 좋아진다.
과도한 가열 금지
너무 낮은 저항을 사용하면
써미스터 손상
측정값 불안정
수명 단축
이 발생할 수 있다.
처음에는
220Ω
부터 시작하는 것이 안전하다.
아두이노 예제
const int ambientPin = A0;
const int heatedPin = A1;
void setup()
{
Serial.begin(115200);
}
void loop()
{
int ambient = analogRead(ambientPin);
int heated = analogRead(heatedPin);
int delta = abs(ambient - heated);
Serial.print("Ambient : ");
Serial.print(ambient);
Serial.print(" Heated : ");
Serial.print(heated);
Serial.print(" Delta : ");
Serial.println(delta);
delay(200);
}
캘리브레이션
절대 풍속(m/s)을 측정하려면 별도 보정이 필요하다.
실내 농업이나 스마트팜에서는 상대적인 기류 강도만 알아도 충분한 경우가 많다.
예시
무풍 상태
Delta = 320
약한 환기
Delta = 250
중간 환기
Delta = 180
강한 환기
Delta = 90
이를 기준으로
환기 레벨 0 ~ 100%
로 변환할 수 있다.
스마트팜 적용 아이디어
환기팬 이상 감지
팬 ON
그런데 Delta 변화 없음
→ 팬 고장
→ 덕트 막힘
→ 릴레이 불량
트레이 내부 기류 균일도 확인
여러 위치에 설치
입구 : 80%
중앙 : 50%
끝단 : 10%
이면 풍량 분포 문제를 확인할 수 있다.
VPD 제어 보조 입력
VPD 계산과 함께 사용
온도
습도
기류
를 동시에 고려한 제어가 가능하다.
실제 식물 입장에서 증산량은
온도
습도
기류
광량
에 모두 영향을 받는다.
발전 방향
단순히 두 개의 NTC를 사용하는 수준에서 시작할 수 있지만, 향후에는
PID로 센서 온도 일정 유지
정전류 구동
휘트스톤 브리지 적용
OP-AMP 증폭
디지털 필터링
풍속(m/s) 보정
칼만 필터 적용
다중 센서 평균화
등을 추가하면 산업용 열선식 풍속계와 매우 유사한 구조까지 발전시킬 수 있다.
결론
스마트팜에서는 반드시 정확한 풍속(m/s)을 측정할 필요가 없는 경우가 많다.
오히려 중요한 것은
환기팬이 정상 동작하는가?
재배대 끝까지 바람이 도달하는가?
트레이마다 기류가 균일한가?
를 파악하는 것이다.
이러한 목적이라면 10kΩ B3950 비드형 NTC 2개만으로도 매우 저렴하면서 실용적인 "환기 상태 감시 센서"를 구현할 수 있다.
댓글
댓글 쓰기