NTC 서미스터는 온도가 오르면 저항이 내려가는 소자입니다. 값이 싸고 변화가 커서 MCU 보드·전원 장치·가전의 온도 측정에 흔히 쓰입니다. 데이터시트에는 보통 «25 °C 에서 10 kΩ, B25/85 = 3950 K» 처럼 두 숫자와 R/T 표가 있습니다. 이 두 숫자로 온도를 계산하는 법과 회로에서 주의할 점을 정리합니다.
B 정수 식
R(T) = R25 × exp(B × (1/T − 1/T25)) T = 1 ÷ (1/T25 + ln(R/R25) ÷ B) ← T 는 켈빈(°C + 273.15), T25 = 298.15 K
| 온도 | 저항 (10 kΩ, B 3950 K) | 분압 전압 (3.3 V, 고정 10 kΩ 위) | 12비트 ADC |
|---|---|---|---|
| −20 °C | 105.4 kΩ | 3.014 V | 3741 |
| 0 °C | 33.62 kΩ | 2.543 V | 3156 |
| 25 °C | 10.00 kΩ | 1.650 V | 2048 |
| 50 °C | 3.588 kΩ | 0.871 V | 1081 |
| 80 °C | 1.270 kΩ | 0.372 V | 461 |
| 100 °C | 698 Ω | 0.215 V | 267 |
TDK 의 NTC 기술 자료는 이 지수 식이 «정격 온도 근처의 좁은 범위에서만 충분히 정확하다» 고 적습니다. 실제 서미스터의 B 는 온도에 따라 조금씩 달라서, 데이터시트는 B 값을 어느 두 온도로 정했는지 B25/50·B25/85·B25/100 처럼 붙여 적습니다.
B25/85 와 B25/100 은 왜 다른가
B 값은 두 온도의 저항으로 정의합니다: B = ln(R1/R2) ÷ (1/T1 − 1/T2). 같은 서미스터라도 25 °C 와 85 °C 로 잰 값과 25 °C 와 100 °C 로 잰 값이 다릅니다. 차이가 작아 보여도 범위 끝에서는 오차가 납니다 — 예를 들어 B 3950 으로 만든 100 °C 의 저항을 B 3980 으로 풀면 99.3 °C 가 나옵니다. 쓰는 범위에 가까운 B 를 고르고, 넓은 범위면 다음의 Steinhart–Hart 를 씁니다.
Steinhart–Hart 식: 세 점으로 넓은 범위
1/T = A + B·ln R + C·(ln R)³
Steinhart 와 Hart 가 1968년 발표한 식입니다. 데이터시트 R/T 표에서 쓰려는 범위의 낮은 온도·가운데·높은 온도 세 점을 골라 A·B·C 를 구하면, 세 점에서는 표와 정확히 맞고 그 사이도 B 식보다 표를 잘 따라갑니다. 계수 구하기는 연립 방정식이라 계산기를 쓰는 편이 편합니다. 가장 정확한 것은 결국 제조사의 R/T 표이므로, 정밀도가 중요하면 표를 그대로 넣고 사이를 보간하는 방법도 있습니다.
분압 회로와 고정 저항
- NTC 를 고정 저항과 직렬로 이어 가운데 전압을 ADC 로 읽습니다. NTC 가 아래(GND 쪽)면 V = 전원 × R_NTC ÷ (R_고정 + R_NTC) 로, 온도가 오르면 전압이 내려갑니다.
- 고정 저항을 측정 범위 가운데 온도의 NTC 저항과 같게 고르면 그 근처에서 전압 변화가 가장 큽니다. 10 kΩ NTC 를 25 °C 근처에서 쓰면 10 kΩ, 80 °C 근처를 정밀하게 보려면 1~2 kΩ 대가 맞습니다.
- 분압 전원과 ADC 기준 전압을 같은 전원에서 쓰면(비율 측정) 전원 전압이 흔들려도 ADC 값이 그대로입니다.
ADC 값 → 온도
ATmega328P 데이터시트는 10비트 ADC 값을 ADC = V_IN × 1024 ÷ V_REF 로 적습니다. n비트면 2^n 을 곱합니다. 거꾸로 풀면 V = ADC ÷ 2^n × V_REF, NTC(아래) 저항 = R_고정 × V ÷ (전원 − V), 그다음 B 식이나 Steinhart–Hart 로 온도입니다. 위 표의 조건(3.3 V, 10 kΩ, 12비트)에서 25 °C 근처는 1 °C 에 약 37 mV, 1 LSB(0.81 mV)는 약 0.02 °C 에 해당합니다 — 양 끝 온도로 갈수록 이 값이 커집니다.
자기 발열
측정 전류가 NTC 를 데워 실제보다 높게 읽게 만듭니다. 데이터시트의 발산 계수 δth(mW/K)는 서미스터 온도를 1 K 올리는 전력이므로, 자기 발열 ΔT = P ÷ δth 입니다. 3.3 V·10 kΩ 분압에서 25 °C 면 NTC 에 걸리는 전력은 약 0.27 mW 이고, δth 1.5 mW/K 라면 약 0.18 K 입니다. 정밀도가 중요하면 분압 전원을 낮추거나 측정할 때만 전원을 켭니다. δth 는 공기 중·액체 속처럼 놓인 환경에 따라 다르므로 데이터시트의 조건을 확인합니다.
Pt100 과 무엇이 다른가
- NTC 는 변화가 크고 싸지만 곡선이 제품마다 다르고(같은 10 kΩ 라도 B 가 다르면 다른 온도), 넓은 범위에서 비선형이 큽니다.
- Pt100 은 저항-온도 관계가 IEC 60751 로 정해져 있어 제품끼리 바꿔 끼울 수 있고, 산업용 온도 조절기·변환기 입력이 대개 이쪽입니다. 결선(2·3·4선식)은 Pt100·열전대 결선 글을 보세요.
PortDock 에서는
- 웹 도구 «NTC 서미스터 계산기»: B 식·Steinhart–Hart 로 저항 ↔ 온도, 분압 전압·ADC 값, 온도표, 자기 발열을 계산합니다.
- Plot: MCU 가 «temp:25.3» 처럼 보내는 값을 실시간 그래프로 보고 CSV 로 저장합니다.
- Serial: ADC 원시 값을 보내는 보드라면 HEX·ASCII 로 받아 보고, 계산기로 온도를 확인합니다.
작성 2026-10-23