개요
온도 측정을 위한 센서는 다양하지만, 실제 장비 환경에서 안정적으로 동작하는 센서를 선택하는 것은 쉽지 않습니다.
일반적으로 온도 센서는 크게 두 가지로 나눌 수 있습니다. 하나는 NTC(서미스터)이고, 다른 하나는 PT100과 같은 RTD 센서입니다.
NTC는 온도가 상승할수록 저항이 감소하는 특성을 가지며, 그 변화가 선형적이지 않고 로그 형태를 띄기 때문에 MCU에서 직접 처리하기 위해서는 보정식이나 Lookup Table이 필요합니다. 또한 상대적으로 정밀도가 낮은 편입니다.
반면 PT100은 0°C에서 100Ω의 저항을 가지며 온도에 따라 비교적 선형적으로 저항이 변화합니다. 이러한 특성 덕분에 정밀한 온도 측정에 적합하지만, 저항 변화폭이 크지 않기 때문에 이를 전압으로 변환하여 측정하는 과정이 필요합니다.
이러한 문제를 해결하기 위해 일반적으로는 RTD 전용 IC를 사용합니다. 대표적으로 Analog Devices의 MAX31865와 같은 칩이 있으며, MCU에서 SPI 인터페이스를 통해 쉽게 사용할 수 있도록 설계되어 있습니다.
저 역시 여러 프로젝트에서 MAX31865를 사용하여 온도 측정을 수행한 경험이 있습니다. 일반적인 환경에서는 별다른 문제 없이 동작하였습니다. 그러나 최근 진행한 프로젝트에서는 스텝모터, DC모터, 솔레노이드, 그리고 AC 히터가 동시에 동작하는 환경이었으며, 상당한 노이즈가 발생하는 조건이었습니다.
이러한 환경에서 MAX31865는 간헐적으로 Fault를 발생시키며 온도 측정이 중단되는 문제가 발생하였습니다. 센서는 정상임에도 불구하고 측정이 끊기는 상황은 제어 시스템에 치명적인 영향을 줄 수 있습니다.
이 문제를 해결하기 위해 전용 RTD IC 대신, PT100에서 발생하는 미세한 전압을 OP Amp로 증폭한 후 MCU의 ADC로 직접 읽는 구조를 적용하기로 하였습니다. 이를 위해 PT100 온도 측정을 위한 AFE(Analog Front End) 보드를 설계하게 되었습니다.
본 글에서는 PT100 온도 측정을 위한 AFE 회로 설계와 PCB 제작 과정을 정리하였습니다.
회로설계
설계방향
PT100을 전용 IC 없이 MCU의 ADC로 직접 읽기 위해서는
다음과 같은 조건을 만족해야 합니다.
• 센서에 흐르는 전류를 제한하여 자가 발열(Self-heating)을 최소화할 것
• μV~mV 수준의 작은 신호를 안정적으로 증폭할 것
• 노이즈 환경에서도 안정적으로 동작하도록 필터링할 것
이를 위해 다음과 같은 구조를 선택하였습니다.

PT100에서 발생한 미세한 전압은 분압 및 필터링을 거친 후,
비반전 증폭기를 통해 ADC 입력 범위로 확장되며,
최종적으로 MCU에서 디지털 값으로 변환됩니다.
분압회로의 기준저항(RREF) 선정
PT100과 같은 RTD 센서는 측정 시 인가되는 전류(Excitation Current)가 매우 중요합니다.
센서 전류가 증가할수록 I²R에 의해 센서 자체가 가열되며,
이로 인해 실제 온도보다 높은 값이 측정되는 오차가 발생합니다.
실무적으로는 약 1mA 수준이 자가 발열과 신호 크기 사이에서
가장 적절한 균형점으로 널리 사용됩니다.
본 설계에서는 3.3V 전원을 기준으로 약 1mA의 전류가 흐르도록
기준 저항을 다음과 같이 선정하였습니다.
RREF = 2.74kΩ (0.1%)
계산식은 다음과 같습니다.

즉, 약 1.16mA의 전류가 PT100에 흐르게 되며, 이는 온도 측정에 적절한 수준입니다.
참고로, 만약 기준 저항을 100Ω과 같이 낮은 값으로 설정할 경우
센서 전류가 수십 mA 수준으로 증가하게 되며,
이는 심각한 자가 발열을 유발하여 온도 측정에 부적합합니다.
PT100 연결 방식(2선식 적용)
본 설계에서는 PT100 센서를 2선식(2-wire) 방식으로 구성하였습니다.
리드선 저항에 의한 오차보다 시스템 노이즈가 더 큰 영향을 미치기 때문에, 구조 단순성과 안정성을 우선하여 2선식을 적용하였습니다.
PT100은 일반적으로 다음과 같은 연결 방식을 사용할 수 있습니다.
- 2선식 (2-wire)
- 3선식 (3-wire)
- 4선식 (4-wire)

2선식 방식은 가장 간단한 구조로 센서와 회로를 두 개의 선으로 연결하는 방식입니다.
구조가 단순하고 구현이 쉬운 장점이 있지만, 리드선의 저항이 측정값에 포함되는 단점이 있습니다.
그러나 본 설계에서는 다음과 같은 이유로 2선식 방식을 선택하였습니다.
- 센서와 회로 간 거리가 짧음
- 리드선 저항이 매우 작아 오차 영향이 제한적임
- 회로 구조 단순화
또한 본 프로젝트의 측정 범위(약 0°C ~ 200°C)와 요구 정밀도를 고려할 때,
2선식 방식으로도 충분한 정확도를 확보할 수 있다고 판단하였습니다.
보다 높은 정밀도가 요구되거나 센서 케이블 길이가 길어지는 경우에는
3선식 또는 4선식 방식 적용이 필요할 수 있습니다.
입력 전압 범위
PT100의 저항값 변화에 따라 분압 회로에서 생성되는 입력 전압은 다음과 같습니다.
| 온도 | 저항 | 입력전압 |
|---|---|---|
| 0°C | 100Ω | 약 0.116V |
| 150°C | 157Ω | 약 0.179V |
| 200°C | 176Ω | 약 0.199V |
입력 전압은 약 0.1V ~ 0.2V 수준으로 매우 작기 때문에,
MCU의 ADC 입력 범위(0~3.3V)를 충분히 활용하기 어렵습니다.
따라서 OP Amp를 이용한 증폭이 필요합니다.
또한 이러한 100mV ~ 200mV 수준의 작은 신호는 외부 노이즈에 매우 취약하므로,
증폭과 함께 적절한 필터링이 반드시 필요합니다.
V_in = 3.3V × R_PT100 / (R_REF + R_PT100)
여기서 R_PT100은 센서 저항값이며, R_REF는 기준 저항입니다.
OP Amp 증폭 설계
앞서 계산한 것처럼 PT100에서 생성되는 입력 전압은 약 0.1V ~ 0.2V 수준으로 매우 작습니다.
이 상태로는 MCU의 ADC 입력 범위(0~3.3V)를 충분히 활용할 수 없기 때문에 OP Amp를 이용한 증폭이 필요합니다.
본 설계에서는 비반전 증폭기(Non-Inverting Amplifier) 구조를 사용하였습니다.

비반전 증폭기의 이득(Gain)은 다음과 같습니다.

여기서 R1은 기준 저항이며, R2는 피드백(Feedback) 저항입니다.
우리 회로에서는 다음과 같이 설정합니다.
R1 = 10KΩ, R2 = 130KΩ
따라서 이득은 14입니다.
이 Gain은 입력 전압을 약 14배로 증폭하여
ADC에서 활용 가능한 전압 범위로 확장하는 역할을 합니다.
이를 통해 입력 0.1V ~ 0.2V 신호는 약 1.6V ~ 2.8V 범위로 변환됩니다.
본 회로에 사용된 OP Amp는 TI사의 TLV9062입니다.
아래 사이트에서 Datasheet를 다운로드 받을 수 있습니다.
TLV9062 Datasheet
출력 전압 범위
이득 14를 적용한 경우 출력 전압은 다음과 같이 형성됩니다.
| 온도 | 입력전압 | 출력전압 |
|---|---|---|
| 0°C | 0.116V | 약 1.62V |
| 150°C | 0.179V | 약 2.50V |
| 200°C | 0.199V | 약 2.78V |
출력 전압은 약 1.6V ~ 2.8V 범위로 형성되며,
이는 MCU ADC 입력 범위(0~3.3V) 내에 안정적으로 들어옵니다.
또한 상한에서 약 0.5V 이상의 여유를 두어 포화(Saturation)를 방지하도록 설계하였습니다.
RC 필터 설계
앞서 살펴본 것처럼 PT100에서 생성되는 신호는 약 0.1V ~ 0.2V 수준의 매우 작은 전압입니다.
이러한 신호는 외부 노이즈에 매우 취약하기 때문에 단순히 증폭만으로는 충분하지 않으며,
적절한 필터링이 함께 적용되어야 안정적인 측정이 가능합니다.
본 설계에서는 입력단과 출력단에 각각 RC 필터를 적용하였습니다.
입력 필터: 100Ω + 10nF
출력 필터: 100Ω + 10nF
RC필터의 Cutoff 주파수는 다음과 같이 계산됩니다.
R은 100옴, C는 10nF를 대입하면 Cutoff Frequency는 159KHz 됩니다.
즉, 약 159KHz 이상의 고주파 성분은 점차 감쇠되기 시작합니다.
위 설계 내용을 바탕으로 아래와 같이 회로를 구성하였습니다.
초기 설계 단계에서 손으로 정리한 것 입니다.
전체 구조를 빠르게 검토하고 파라미터를 결정하는 데 사용되었습니다.

PCB설계
Schematic 설계
앞서 회로 설계에서 정의한 각 파라미터를 기반으로 PCB 설계를 위한 Schematic을 구성하였습니다.
단 위 설계한 내용 중 OP Amp를 LM358에서 TLV9062로 변경하였습니다. 변경 이유는 JLCPCB에 SMT까지 발주를 하기 위해
LCSC에 재고가 있는 제품을 선정하기 위함입니다.
아래는 전체 회로도입니다.

본 회로는 PT100 신호를 두 채널로 입력받아 각각 증폭한 후 MCU의 ADC로 전달하는 구조로 설계되었습니다.
각 채널은 동일한 구조를 가지도록 구성하여 두 온도 값을 안정적으로 비교할 수 있도록 하였습니다.
PCB Layout 설계
아래는 설계된 PCB Layout 결과입니다.
아날로그 신호의 특성을 고려하여 신호 경로, GND 구조, 부품 배치를 최적화하였습니다.

특히 PT100 입력 신호는 mV 수준의 저레벨 신호이므로
입력 라인을 최대한 짧게 유지하고, 출력 라인과 물리적으로 분리하여 노이즈 간섭을 최소화하였습니다.
또한 GND plane과 via stitching을 적용하여 안정적인 리턴 패스를 확보하였으며,
OP Amp 주변에는 디커플링 커패시터를 배치하여 전원 노이즈의 영향을 줄였습니다.
결론
본 글에서는 PT100을 이용한 온도 측정을 위해 전용 RTD IC를 사용하지 않고,
아날로그 프론트엔드(Analog Front End)를 직접 설계하는 과정을 정리하였습니다.
기존에는 MAX31865와 같은 전용 IC를 사용하여 비교적 간단하게 온도 측정을 구현할 수 있었지만,
노이즈가 많은 실제 장비 환경에서는 간헐적인 Fault가 발생하여 안정적인 측정이 어려운 문제가 있었습니다.
이를 해결하기 위해 다음과 같은 방식으로 접근하였습니다.
- PT100에 약 1mA 수준의 전류를 인가하여 자가 발열을 최소화
- 분압 회로를 통해 미세한 전압 신호 생성
- OP Amp를 이용하여 신호를 ADC 입력 범위로 증폭
- RC 필터를 적용하여 노이즈 영향을 최소화
- PCB 설계를 통해 아날로그 신호의 안정성 확보
이와 같은 구조를 통해 전용 IC 없이도 안정적인 온도 측정이 가능하다는 것을 확인할 수 있었습니다.
특히 산업 환경과 같이 노이즈가 많은 조건에서는 오히려 이러한 아날로그 기반 접근 방식이
더 유연하고 안정적인 해결 방법이 될 수 있습니다.
이 보드의 구매를 원하시는 분은 아래 링크를 참조하세요.
PT100 아날로그 인터페이스 보드(AFE)
PT100 Temperature Measurement Series
PT100 온도 측정을 위한 아날로그 프론트엔드 설계부터 STM32 ADC Polling, Time-Distributed Sampling, ADC DMA 구현, 3선식 PT100 정전류 구동까지 단계별 실험 및 설계 과정을 정리한 시리즈입니다.
1편: PT100 온도 측정을 위한 AFE(Analog Front End) 설계
2편: STM32F103 ADC로 PT100 신호 읽기 (Polling 방식 실험)
STM32F103 ADC로 PT100 신호 읽기(폴링 방식 실험)
3편: STM32 ADC 분산 샘플링(Time-Distributed Sampling) 설계 방법
STM32 ADC 분산 샘플링(Time-Distributed Sampling) 설계 방법
4편: STM32 ADC DMA를 이용한 PT100 온도 측정 구현
STM32 ADC DMA를 이용한 PT100 온도 측정 구현
5편: 3선식 PT100 정전류 구동 AFE 설계(TLV9062 + INA826)
3선식 PT100 정전류 구동 AFE 설계(TLV9062 + INA826)

실제 제작된 PCB를 이용하여 PT100 대신 정밀 저항을 연결하여 테스트를 수행하였습니다.
측정 결과 Gain은 약 13.97로 설계값(14)과 매우 근접한 결과를 확인할 수 있었습니다.