[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는 전압만 읽을 수 있으므로:

  1. ADC 전압 측정

  2. 전압 → 저항 변환

  3. 저항 → 온도 계산

순서로 처리합니다.


9. 저항 계산 공식

전압 분배 회로에서는 다음 공식으로 서미스터 저항을 계산합니다.

R_NTC = R_fixed × (Vout / (Vin - Vout))

여기서:

  • R_fixed = 기준 저항

  • Vout = ADC 측정 전압

  • Vin = 입력 전압

입니다.


10. PLC 엔지니어 관점의 핵심 포인트

RTD vs 서미스터

RTD

  • 비싸다

  • 선형성 우수

  • 장거리 안정성 좋음

  • 산업 계측용

서미스터

  • 매우 저렴

  • 민감도 매우 높음

  • 비선형 심함

  • 좁은 범위 정밀 측정에 강함

즉:

"가성비 정밀 온도 측정"

에서는 서미스터가 매우 강력합니다.


11. 실무에서 흔히 발생하는 문제

자기 발열(Self Heating)

서미스터에 전류가 흐르면:

  • 소자 스스로 뜨거워짐

  • 실제보다 높게 측정

될 수 있습니다.

특히:

  • ADC 샘플링 주기 너무 빠름

  • 기준 저항 너무 작음

이면 심해집니다.


배선 길이 문제

서미스터는 저항 기반 센서라:

  • 긴 배선

  • 접촉 저항

영향을 받습니다.

정밀 측정에서는:

  • 쉴드 케이블

  • 짧은 배선

  • 필터링

이 중요합니다.


마무리

서미스터는:

  • 매우 저렴하고

  • 민감도가 높으며

  • 소형화가 쉽기 때문에

현대 전자기기의 거의 모든 곳에서 사용됩니다.

하지만:

강한 비선형성

이라는 특성이 있기 때문에:

  • 로그 기반 수식

  • 스테인하트-하트 방정식

  • Lookup Table

같은 모델링 기법이 반드시 필요합니다.

즉 서미스터를 제대로 다룬다는 것은 단순 센서 제어가 아니라:

현실 세계의 비선형 시스템을 수학적으로 모델링하는 작업

에 가깝다고 볼 수 있습니다. 

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

NPN, PNP 트랜지스터 차이점

[PLC] 센서 NPN, PNP 출력 타입별 결선방법 (OMRON E2E-X 시리즈 3선식 배선)

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[투자] ETF 투자 가이드 : 카테고리별 ETF 선택 전략

[PLC] 릴레이와 전자 접촉기 (MC)

[농사] 무농약 상추 재배부터 상추차 분말 만들기: 저예산 수경재배 아이디어

[PLC] PLC 아날로그 입출력 기본

[PLC] 서보 모터 브레이크 결선, 왜 릴레이 터미널을 써야 할까?

사각형의 넓이 공식의 증명