[DIY 스마트팜] 서미스터(Thermistor)의 비선형성과 스테인하트-하트(Steinhart–Hart) 방정식 이해
에어컨, 자동차, 배터리 팩, 스마트팜 환경 제어기 등에는 대부분 서미스터(Thermistor)가 들어갑니다.
서미스터는 매우 저렴하면서도 온도 변화에 민감하기 때문에 산업 현장과 DIY 프로젝트에서 엄청나게 많이 사용됩니다.
하지만 실제로 사용해보면 한 가지 문제가 있습니다.
바로:
온도와 저항의 관계가 직선이 아니라는 점
입니다.
1. 서미스터란?
서미스터(Thermistor)는:
Thermal (열)
Resistor (저항기)
의 합성어입니다.
즉:
온도에 따라 저항값이 크게 변하는 반도체 기반 수동 소자
입니다.
특히 NTC 서미스터가 온도 측정용으로 가장 많이 사용됩니다.
NTC (Negative Temperature Coefficient)
온도 상승 → 저항 감소
예시:
25°C → 10kΩ
50°C → 수 kΩ 수준으로 감소
처럼 변화합니다.
2. 왜 서미스터는 민감할까?
RTD(Pt100)는 비교적 선형적으로 변합니다.
반면 NTC 서미스터는:
낮은 온도에서는 저항이 매우 크고
높은 온도에서는 급격히 감소
합니다.
즉:
아주 작은 온도 변화에도 저항 변화량이 매우 큼
이라는 특징이 있습니다.
그래서:
저가형 정밀 온도 측정
배터리 온도 감시
HVAC
스마트팜
전원부 보호회로
등에서 엄청나게 많이 사용됩니다.
3. 서미스터의 가장 큰 문제: 비선형성
서미스터는:
온도 변화량과
저항 변화량이
직선 관계가 아닙니다.
즉:
단순한 1차 함수로 계산 불가능
강한 곡선 형태를 가짐
입니다.
예를 들어:
20°C → 25°C 변화와
70°C → 75°C 변화의
저항 감소 폭이 전혀 다릅니다.
4. 스테인하트-하트(Steinhart–Hart) 방정식
이 문제를 해결하기 위해 가장 널리 쓰이는 모델이 바로 아래 식입니다.
1/T = A + B·ln(R) + C·(ln(R))^3
의미:
T = 절대온도(K)
R = 서미스터 저항값(Ω)
A, B, C = 제조사 계수
핵심은:
로그(Log)가 들어간다는 것
입니다.
이 로그 항 덕분에 비선형 곡선을 현실적으로 매우 정확하게 근사할 수 있습니다.
5. 왜 Kelvin(절대온도)을 사용할까?
T는 °C가 아니라 Kelvin(K)를 사용합니다.
변환 공식:
T(K) = T(°C) + 273.15
예시:
25°C = 298.15K
6. 실무에서 사용하는 방식
실무에서는 크게 두 가지 방식이 사용됩니다.
(1) 스테인하트-하트 계산
MCU나 Python에서 직접 계산:
아두이노
STM32
Raspberry Pi
Python 환경
등에서 많이 사용합니다.
장점:
정확도 높음
메모리 적게 사용
단점:
로그 연산 필요
PLC에서는 다소 부담
(2) Lookup Table 방식
PLC 현장에서는 오히려 더 많이 사용됩니다.
방법:
제조사 데이터시트의
온도 ↔ 저항 테이블 저장
중간값은 보간(interpolation)
합니다.
장점:
계산 매우 빠름
PLC 구현 쉬움
단점:
메모리 사용 증가
7. Python 구현 예제
아래는 가장 기본적인 스테인하트-하트 구현 예제입니다.
import math
# 예시 저항값 (Ohm)
R = 10000
# Steinhart-Hart coefficients
A = 1.129148e-3
B = 2.34125e-4
C = 8.76741e-8
# 자연로그
lnR = math.log(R)
# Kelvin 계산
T_kelvin = 1 / (A + B * lnR + C * (lnR ** 3))
# Celsius 변환
T_celsius = T_kelvin - 273.15
print(f"Temperature: {T_celsius:.2f} °C")
8. 실제 회로에서는 어떻게 사용할까?
실제 회로에서는 대부분 전압 분배 회로를 사용합니다.
5V
|
[R_fixed]
|
+---- ADC 입력
|
[NTC]
|
GND
ADC는 전압만 읽을 수 있으므로:
ADC 전압 측정
전압 → 저항 변환
저항 → 온도 계산
순서로 처리합니다.
9. 저항 계산 공식
전압 분배 회로에서는 다음 공식으로 서미스터 저항을 계산합니다.
R_NTC = R_fixed × (Vout / (Vin - Vout))
여기서:
R_fixed = 기준 저항
Vout = ADC 측정 전압
Vin = 입력 전압
입니다.
10. PLC 엔지니어 관점의 핵심 포인트
RTD vs 서미스터
RTD
비싸다
선형성 우수
장거리 안정성 좋음
산업 계측용
서미스터
매우 저렴
민감도 매우 높음
비선형 심함
좁은 범위 정밀 측정에 강함
즉:
"가성비 정밀 온도 측정"
에서는 서미스터가 매우 강력합니다.
11. 실무에서 흔히 발생하는 문제
자기 발열(Self Heating)
서미스터에 전류가 흐르면:
소자 스스로 뜨거워짐
실제보다 높게 측정
될 수 있습니다.
특히:
ADC 샘플링 주기 너무 빠름
기준 저항 너무 작음
이면 심해집니다.
배선 길이 문제
서미스터는 저항 기반 센서라:
긴 배선
접촉 저항
영향을 받습니다.
정밀 측정에서는:
쉴드 케이블
짧은 배선
필터링
이 중요합니다.
마무리
서미스터는:
매우 저렴하고
민감도가 높으며
소형화가 쉽기 때문에
현대 전자기기의 거의 모든 곳에서 사용됩니다.
하지만:
강한 비선형성
이라는 특성이 있기 때문에:
로그 기반 수식
스테인하트-하트 방정식
Lookup Table
같은 모델링 기법이 반드시 필요합니다.
즉 서미스터를 제대로 다룬다는 것은 단순 센서 제어가 아니라:
현실 세계의 비선형 시스템을 수학적으로 모델링하는 작업
에 가깝다고 볼 수 있습니다.
댓글
댓글 쓰기