본문 바로가기
Sensor/온도센서(Temperature)

RTD 센서 회로 토폴로지 비교 및 고정밀 설계 고려사항(High-Accuracy RTD Measurement Circuits: Topology Comparison and Design Considerations)

by linuxgo 2025. 8. 28.

RTD(Resistance Temperature Detector)는 높은 정확도와 장기 안정성 덕분에 산업 및 계측 분야에서 가장 널리 사용되는 온도 센서 중 하나이다. 그러나 RTD 측정 회로는 리드 저항, 자체 발열, 전류원 불일치, EMI 등 다양한 요인에 의해 쉽게 정확도가 저하될 수 있다. 따라서 RTD의 이론적 특성을 이해하는 것만으로는 충분하지 않으며, 실제 회로 수준에서 발생하는 오차 요인을 정량적으로 분석하고 최적의 설계 방안을 찾는 것이 핵심 과제이다.

본 문서는 Texas Instruments의 24비트 ADC인 ADS124S08과 PT100 RTD를 기반으로, 대표적인 회로 토폴로지(2선식, 3선식, 4선식)를 비교·분석한다. 단순 나열식 가이드와 달리, 본 문서는 각 토폴로지의 오차 메커니즘을 정량적으로 평가하고, IDAC 전류, 기준 저항, PGA 이득 등 주요 설계 변수가 시스템 정확도에 미치는 영향을 체계적으로 제시한다. 이를 통해 설계자는 목표 정확도(<0.2°C) 달성을 위한 회로 구조 선택과 최적화 방법을 명확히 이해할 수 있다.

Keywords : RTD, 온도센서, 저항온도검출기, 정밀측정, 회로설계, 아날로그회로, TI, ADS124S08, 데이터시트, 센서인터페이스, RTD sensor, Temperature measurement, Precision circuit design, Ratiometric measurement, PT100, PT1000, Analog design, SPI ADC

1. RTD 센서 물리적 모델과 한계

1.1 CVD 방정식과 저항-온도 특성

RTD는 온도에 따라 저항이 변화하는 금속(주로 백금)을 사용한다. PT100(0°C에서 100Ω)과 PT1000(1000Ω)은 산업 표준이며, 저항-온도 관계는 Callendar-Van Dusen(CVD) 방정식으로 정의된다:

\[ R_{RTD} = R_0 \cdot [1 + A \cdot T + B \cdot T^2], \quad (T > 0^\circ C) \] \[ R_{RTD} = R_0 \cdot [1 + A \cdot T + B \cdot T^2 + C \cdot (T - 100) \cdot T^3], \quad (T < 0^\circ C) \] \[ R_0 = 100\Omega (\text{PT100}), \quad A = 3.9083 \times 10^{-3}, \quad B = -5.775 \times 10^{-7}, \quad C = -4.183 \times 10^{-12} \]

계산 예시: PT100, \( T = 100^\circ C \):

  • \( R_{RTD} = 100 \cdot [1 + 3.9083 \times 10^{-3} \cdot 100 - 5.775 \times 10^{-7} \cdot 100^2] \approx 138.51\Omega \)
  • 감도: \( \frac{\Delta R}{\Delta T} \approx 0.385\Omega/^\circ C \).
  • PT1000: \( R_{RTD} \approx 1385.1\Omega \), 감도 3.85Ω/°C.

1.2 감도, 선형성, 자체 발열 한계

    • 감도: PT100은 0.385Ω/°C, PT1000은 3.85Ω/°C. 높은 저항(PT1000)은 저전류로 SNR 개선.
    • 선형성: CVD 방정식의 2차/3차 항으로 비선형 보정. 0~100°C에서 근사 선형.
    • 자체 발열: 전류에 의한 발열, \( \Delta T = \frac{I^2 \cdot R_{RTD}}{E} \), E=2.5~65mW/°C.

계산 예시: PT100, IDAC=500μA, \( R_{RTD} = 138.5\Omega \):

    • \( \Delta T = \frac{(0.0005)^2 \cdot 138.5}{2.5} \approx 0.014^\circ C \).
    • IDAC=1mA: \( \Delta T \approx 0.055^\circ C \), 목표(<0.2°C)에 영향.
  • 센서 오차: PT100은 수십 ppm/°C 오차(IEC-60751 Class A: ±0.15°C@0°C). 전자회로 오차는 이보다 작아야 함(<0.1°C).

1.3 한계와 설계 목표

RTD 자체는 고정밀이나, 리드 저항(0.5Ω → 1.3°C), 자체 발열, EMI로 정확도 저하. 설계 목표는 총 오차 <0.2°C 유지, ADC(24비트)와 ratiometric 측정 활용.

2. 고정밀 RTD 측정의 기본 프레임워크

2.1 Ratiometric 측정 원리

Ratiometric 측정은 IDAC로 RTD와 기준 저항(R_REF)을 구동, ADC가 \( V_{RTD}/V_{REF} \)를 측정해 드리프트 취소:

\[ \text{2/4-Wire: } Code = 2^{23} \cdot Gain \cdot \frac{R_{RTD}}{R_{REF}}, \quad (2^{23} = 8,388,608) \] \[ \text{3-Wire: } Code = 2^{22} \cdot Gain \cdot \frac{R_{RTD}}{R_{REF}}, \quad (2^{22} = 4,194,304) \] \[ R_{RTD} = R_{REF} \cdot \frac{Code}{2^{23} \cdot Gain} \quad (\text{또는 } 2^{22}) \]

계산 예시: \( R_{RTD} = 138.5\Omega \), \( R_{REF} = 1620\Omega \), Gain=4, 3-Wire:

  • \( Code = 4,194,304 \cdot 4 \cdot \frac{138.5}{1620} \approx 1,434,000 \)
  • \( R_{RTD} = 1620 \cdot \frac{1,434,000}{4,194,304 \cdot 4} \approx 138.5\Omega \)

2.2 ADC 해상도 vs 온도 해상도

ADS124S08(24비트, ±2^23 풀스케일), PT100(0.385Ω/°C):

  • 입력 범위: AVDD=3.3V, Gain=4, \( V_{IN} = \pm 0.825V \).
  • LSB: \( \frac{2 \cdot 0.825}{2^{24}} \approx 0.098\mu V \).
  • 온도 해상도: IDAC=500μA, \( V_{RTD} = 0.0005 \cdot 138.5 = 69.25mV \), \( \frac{0.098\mu V}{0.0005 \cdot 0.385} \approx 0.0005^\circ C \).
  • 실제: ADC 노이즈(0.5μVrms) → \( \frac{0.5\mu V}{0.1925mV/^\circ C} \approx 0.0026^\circ C \).

2.3 기준 저항, IDAC, PCB 영향

  • R_REF: 1620Ω, 0.01%, 5ppm/°C → 드리프트 0.021°C/°C.
  • IDAC: 250~500μA, 0.02% 매칭(ADS124S08) → 3-Wire에서 0.01°C 오류.
  • PCB: 누설 전류(1μA → 0.1°C), EMI로 입력 왜곡. 트위스트 페어, 스타 접지 필수.

3. 회로 토폴로지별 심층 분석

3.1 2-Wire RTD, Low-Side Reference

       Path : IDAC1(AIN0) → RTD(Lead1-2) → R_REF → AVSS. 입력: AIN1-AIN2.

  • 공식:
    \[ V_{IN} = I_{IDAC1} \cdot (R_{RTD} + R_{LEAD}), \quad V_{REF} = I_{IDAC1} \cdot R_{REF} \] \[ Code = 2^{23} \cdot Gain \cdot \frac{R_{RTD} + R_{LEAD}}{R_{REF}} \]
    계산 예시: IDAC1=500μA, \( R_{RTD} = 138.5\Omega \), \( R_{LEAD} = 0.5\Omega \), \( R_{REF} = 1620\Omega \), Gain=4.
    • \( V_{IN} = 0.0005 \cdot (138.5 + 0.5) = 0.0695V \)
    • \( Code \approx 2,882,600 \), 오류 ≈ 1.3°C
  • 오차 분석: 리드 저항(0.5Ω → 1.3°C, 65% of error budget), 누설(1μA → 0.36°C).
  • 장단점: 단순, 저비용, 단점은 리드 오류.
  • 설계 팁: 리드 <0.1Ω, RC 필터(1kΩ, 100nF).

3.2 2-Wire RTD, High-Side Reference

    Path: IDAC1(AIN0) → R_REF → RTD → R_BIAS → AVSS.

  • 공식: 동일 (3.1).
    \[ V_{AIN0} = I_{IDAC1} \cdot (R_{REF} + R_{RTD} + R_{BIAS} + R_{LEAD}) \]
    계산 예시: R_BIAS=500Ω, \( R_{LEAD} = 0.5\Omega \).
    • \( V_{AIN0} = 0.0005 \cdot (1620 + 138.5 + 500 + 0.5) = 1.0645V \)
  • 오차 분석: 리드(1.3°C), R_BIAS 노이즈(3nV/√Hz).
  • 장단점: 간단, 단점은 기준 전압, R_BIAS 노이즈.
  • 설계 팁: R_BIAS <500Ω, 준수 확인 (AVDD-0.2V).

3.3 3-Wire RTD, Low-Side Reference

    Path: IDAC1(AIN0, Lead1), IDAC2(AIN3, Lead2), R_REF(Lead3 via AVSS).

  • 공식:
    \[ V_{IN} = I_{IDAC} \cdot (R_{RTD} + R_{LEAD1} - R_{LEAD2}), \quad V_{REF} = 2 \cdot I_{IDAC} \cdot R_{REF} \] \[ Code = 2^{22} \cdot Gain \cdot \frac{R_{RTD} + \Delta R_{LEAD}}{R_{REF}} \]
    계산 예시: \( \Delta R_{LEAD} = 0.1\Omega \):
    • \( Code \approx 1,434,000 \), 오류 ≈ 0.26°C
  • 오차 분석: IDAC 불일치(1% → 0.5°C), 리드 불균형(0.26°C).
  • 장단점: 리드 보상, 산업 표준, 단점은 IDAC 매칭.
  • Chopping: IDAC1/2 교차로 불일치 제거.
  • 설계 팁: Chopping(2ms), 트위스트 페어.

3.4 3-Wire RTD, Low-Side Reference, 단일 IDAC

3-Wire RTD Circuit

    Path: IDAC1(AIN0, Lead1), MEAS1(AIN1-AIN2), MEAS2(AIN2-AIN3).

  • 공식:
    \[ Code1 = 2^{23} \cdot Gain \cdot \frac{R_{RTD} + R_{LEAD1}}{R_{REF}}, \quad Code2 = 2^{23} \cdot Gain \cdot \frac{R_{LEAD3}}{R_{REF}} \] \[ R_{RTD} = R_{REF} \cdot \frac{Code1 - Code2}{2^{23} \cdot Gain} \]
    계산 예시: \( R_{RTD} = 138.5\Omega \), R_LEAD1=0.5Ω, R_LEAD3=0.5Ω, \( R_{REF} = 1620\Omega \), Gain=4.
    • \( Code1 \approx 2,882,600 \), \( Code2 \approx 10,300 \)
    • \( R_{RTD} \approx 138.5\Omega \)
  • 오차 분석: 리드 불균형(0.26°C), MUX 정착(20μs → 0.05°C).
  • 장단점: 단일 IDAC, 단점은 정착 지연.
  • 설계 팁: RC 필터(1kΩ, 100nF), MUX 지연 20μs.

3.5 3-Wire RTD, High-Side Reference

    Path: IDAC1(R_REF), IDAC2(Lead2), R_BIAS → AVSS.

  • 공식: 동일 (3.1).
  • 오차 분석: R_BIAS 노이즈(3nV/√Hz → 0.015°C).
  • 장단점: IDAC 불일치 영향 적음, 단점은 R_BIAS.
  • 설계 팁: R_BIAS <500Ω.

3.6 4-Wire RTD, Low-Side Reference

    Path: IDAC1(Lead1), 입력 AIN1-AIN2(Lead2-3), R_REF(Lead4).

  • 공식: 동일 (3.1).
  • 오차 분석: 누설(1μA → 0.1°C), ADC 노이즈(0.0026°C).
  • 장단점: 리드 저항 무시, 단점은 비용.
  • 설계 팁: 켈빈 연결, EMI 쉴드.

3.7 Two Series 2-Wire RTD

Path: IDAC1(AIN0) → RTD1 → RTD2 → R_REF → AVSS. 입력: AIN1-AIN2 (RTD1), AIN2-AIN3 (RTD2).

상세 분석

  • 동작 원리: 단일 IDAC로 두 RTD 직렬 구동, MUX로 개별 측정. Ratiometric 측정으로 드리프트 취소.
  • 공식:
    \[ V_{IN1} = I_{IDAC1} \cdot (R_{RTD1} + R_{LEAD1-2}), \quad V_{IN2} = I_{IDAC1} \cdot (R_{RTD2} + R_{LEAD3-4}) \] \[ V_{REF} = I_{IDAC1} \cdot R_{REF}, \quad Code1 = 2^{23} \cdot Gain \cdot \frac{R_{RTD1} + R_{LEAD1-2}}{R_{REF}} \]
    계산 예시: IDAC1=250μA, \( R_{RTD1} = R_{RTD2} = 138.5\Omega \), \( R_{LEAD} = 0.5\Omega \), \( R_{REF} = 1620\Omega \), Gain=4.
    • \( V_{IN1} = 0.00025 \cdot (138.5 + 0.5) = 0.03475V \)
    • \( V_{REF} = 0.00025 \cdot 1620 = 0.405V \)
    • \( Code1 \approx 2,881,200 \), 오류 ≈ 1.3°C/RTD
  • 오차 분석:
    • 리드 저항: 0.5Ω → 1.3°C/RTD (65% of error budget).
    • MUX 정착: 20μs → 0.05°C.
    • 누설 전류: 1μA → 0.36°C.
  • 장단점:
    • 장점: 단일 IDAC, 간단한 배선.
    • 단점: 리드 저항 오류, 기준 전압 증가 (\( V_{AIN0} = I_{IDAC1} \cdot (R_{RTD1} + R_{RTD2} + R_{REF} + R_{LEAD}) \)).
  • 설계 팁: 리드 <0.1Ω, RC 필터(1kΩ, 100nF), MUX 정착 시간 20μs 이상.

3.8 Two Series 4-Wire RTD

Path: IDAC1(Lead1, RTD1), 입력 AIN1-AIN2(Lead2-3, RTD1), AIN3-AIN4(Lead6-7, RTD2), R_REF(Lead4).

상세 분석

  • 동작 원리: 각 RTD에 4-Wire 켈빈 연결, MUX로 순차 측정. 리드 저항 무시.
  • 공식:
    \[ V_{IN1} = I_{IDAC1} \cdot R_{RTD1}, \quad V_{REF} = I_{IDAC1} \cdot R_{REF} \] \[ Code1 = 2^{23} \cdot Gain \cdot \frac{R_{RTD1}}{R_{REF}} \]
    계산 예시: IDAC1=250μA, \( R_{RTD1} = 138.5\Omega \), \( R_{REF} = 1620\Omega \), Gain=4.
    • \( V_{IN1} = 0.00025 \cdot 138.5 = 0.034625V \)
    • \( Code1 \approx 2,860,800 \), 오류 ≈ 0°C (리드 무시)
  • 오차 분석:
    • 누설 전류: 1μA → 0.1°C.
    • ADC 노이즈: 0.5μVrms → 0.0026°C.
    • MUX 정착: 0.05°C.
  • 장단점:
    • 장점: 최고 정확도, 리드 저항 무시.
    • 단점: 8핀 배선, 높은 비용.
  • 설계 팁: 켈빈 연결, EMI 쉴드, MUX 지연 20μs.

3.9 Multiple 2-Wire RTD

Path: IDAC1(AIN0), 4 RTD 병렬(MUX: AIN1-AIN2, AIN3-AIN4, ...), R_REF → AVSS.

상세 분석

    • 동작 원리: 단일 IDAC, MUX로 RTD 순차 선택. 각 RTD는 2-Wire.
    • 공식: 동일 (3.1).

계산 예시: 4 RTD, \( R_{RTD} = 138.5\Omega \), \( R_{LEAD} = 0.5\Omega \).

    • \( Code \approx 2,882,600/RTD \), 리드 오류 ≈ 1.3°C.
  • 오차 분석:
    • 리드 저항: 1.3°C/RTD.
    • MUX 정착: 0.05°C.
    • 누설: 0.36°C.
  • 장단점:
    • 장점: 저비용, 배선 간단(2핀/RTD).
    • 단점: 리드 오류, MUX 지연.
  • 설계 팁: 리드 <0.1Ω, RC 필터, MUX 지연 20μs.

3.10 Multiple 3-Wire RTD

Path: IDAC1(AIN0, Lead1), IDAC2(AIN5, Lead2), 3 RTD(MUX: AIN1-AIN2, AIN3-AIN4, ...), R_REF(Lead3).

상세 분석

    • 동작 원리: 각 RTD에 3-Wire 연결, IDAC1/2로 리드 보상, MUX로 순차 측정.
    • 공식: 동일 (3.3).

계산 예시: 3 RTD, \( R_{RTD} = 138.5\Omega \), \( \Delta R_{LEAD} = 0.1\Omega \).

    • \( Code \approx 1,434,000/RTD \), 리드 불균형 ≈ 0.26°C.
  • 오차 분석:
    • IDAC 불일치: 1% → 0.5°C (chopping 제거).
    • 리드 불균형: 0.26°C.
    • MUX 정착: 0.05°C.
  • 장단점:
    • 장점: 리드 보상, 산업 표준.
    • 단점: IDAC 매칭, MUX 지연.
  • 설계 팁: Chopping(2ms), RC 필터, 트위스트 페어.

3.11 Multiple 4-Wire RTD

Path: IDAC1(Lead1), 4 RTD(MUX: AIN1-AIN2, AIN3-AIN4, ...), R_REF(Lead4).

상세 분석

    • 동작 원리: 각 RTD에 4-Wire 켈빈 연결, MUX로 순차 측정.
    • 공식: 동일 (3.1).

계산 예시: 4 RTD, \( R_{RTD} = 138.5\Omega \).

    • \( Code \approx 2,860,800/RTD \), 리드 오류 0°C.
  • 오차 분석:
    • 누설: 0.1°C.
    • MUX 정착: 0.05°C.
    • ADC 노이즈: 0.0026°C.
  • 장단점:
    • 장점: 최고 정확도, 리드 무시.
    • 단점: 4핀/RTD, 높은 비용.
  • 설계 팁: 켈빈 연결, EMI 쉴드, MUX 지연 20μs.

3.12 범용 RTD 인터페이스, Low-Side Reference

Path: IDAC1/2(선택 가능), 5핀 인터페이스(AIN0~AIN4), R_REF → AVSS. MUX/IDAC 동적 설정으로 2/3/4-Wire 호환.

상세 분석

  • 동작 원리: 단일 회로로 모든 RTD 유형 지원. 소프트웨어로 MUX/IDAC 설정 변경.
  • 공식:
    \[ \text{2-Wire: } Code = 2^{23} \cdot Gain \cdot \frac{R_{RTD} + R_{LEAD}}{R_{REF}} \] \[ \text{3-Wire: } Code = 2^{22} \cdot Gain \cdot \frac{R_{RTD} + \Delta R_{LEAD}}{R_{REF}} \] \[ \text{4-Wire: } Code = 2^{23} \cdot Gain \cdot \frac{R_{RTD}}{R_{REF}} \]
    계산 예시: 3-Wire, \( R_{RTD} = 138.5\Omega \), \( \Delta R_{LEAD} = 0.1\Omega \).
    • \( Code \approx 1,434,000 \), 오류 ≈ 0.26°C.
  • 오차 분석:
    • 2-Wire: 리드(1.3°C).
    • 3-Wire: IDAC 불일치(0.5°C), 리드 불균형(0.26°C).
    • 4-Wire: 누설(0.1°C).
    • MUX 정착: 0.05°C.
  • 장단점:
    • 장점: 유연성, 단일 회로로 다중 RTD 지원.
    • 단점: 설정 복잡, 소프트웨어 부담.
  • 설계 팁: 설정 검증 소프트웨어, RC 필터, 5핀 인터페이스 최적화.

3.13 범용 RTD 인터페이스, High-Side Reference

Path: IDAC1/2(선택 가능), R_REF → RTD → R_BIAS → AVSS, 5핀 인터페이스.

상세 분석

    • 동작 원리: High-Side R_REF로 기준 전압 관리, 2/3/4-Wire 동적 지원.
    • 공식: 동일 (3.12).

계산 예시: 4-Wire, \( R_{RTD} = 138.5\Omega \).

    • \( V_{AIN0} = 0.00025 \cdot (1620 + 138.5) = 0.439625V \)
    • \( Code \approx 2,860,800 \).
  • 오차 분석:
    • R_BIAS 노이즈: 3nV/√Hz → 0.015°C.
    • MUX 정착: 0.05°C.
  • 장단점:
    • 장점: 유연성, High-Side 호환.
    • 단점: R_BIAS 노이즈, 기준 전압 관리.
  • 설계 팁: R_BIAS <500Ω, 준수 확인, 소프트웨어 설정 최적화.

4. 설계 변수 최적화

4.1 IDAC 전류

Trade-off: 자체 발열 vs SNR.

  • 250μA: \( \Delta T \approx 0.0035^\circ C \), SNR 낮음.
  • 500μA: \( \Delta T \approx 0.014^\circ C \), SNR 적절.
  • 권장: 250~500μA, 펄스 구동(10ms).

4.2 기준 저항 값

선정 기준: AVDD=3.3V 내 준수.

  • \( V_{REF} = I_{IDAC} \cdot R_{REF} \leq 2.5V \).
  • \( R_{REF} = 1620\Omega \), IDAC=500μA → \( V_{REF} = 0.81V \).
  • 0.01%, 5ppm/°C 권장.

4.3 PGA 이득

관계: 입력 범위 vs ADC 노이즈.

  • Gain=4: \( V_{IN} \leq 0.825V \), 노이즈 0.5μVrms → 0.0026°C.
  • Gain=16: 노이즈 증폭, 클리핑 위험.

4.4 샘플링 속도

Trade-off: 노이즈 vs 지터.

  • 20SPS: 노이즈 0.5μVrms, 안정.
  • 2000SPS: 노이즈 1.2μVrms, 지터 증가.

5. 실무 고려사항 (System-Level)

5.1 다채널 RTD

MUX 정착 시간: 20μs → 0.05°C 오류. RC 필터(1kΩ, 100nF)로 안정화.

5.2 EMI/노이즈 대응

  • RC 필터: 1kΩ, 100nF (cutoff 1.6kHz).
  • PCB: 트위스트 페어, 스타 접지, 쉴드.

5.3 MCU 펌웨어 보정

  • CVD 룩업 테이블(1000점) 또는 다항식 근사.
  • 이동 평균(10샘플)으로 노이즈 감소.

5.4 장기 안정성

  • R_REF TCR: 5ppm/°C → 0.021°C/°C.
  • IDAC 드리프트: 0.005%/°C.
  • ADC 오프셋: 0.1μV/°C.

6. 결론

본 문서에서는 RTD의 물리적 특성과 오차 요인을 기반으로, 대표적인 회로 토폴로지(2-Wire, 3-Wire, 4-Wire)를 정량적으로 비교·분석하였다. 2선식은 단순하지만 리드 저항에 의해 수 °C 수준의 오류가 발생할 수 있으며, 4선식은 최고 정확도를 제공하지만 비용과 복잡도가 크다. 이에 따라 산업 현장에서는 3선식 Low-Side Reference 방식이 비용 효율과 정확도 사이의 최적 절충안으로 널리 사용된다.

설계 최적화를 위해서는 IDAC 전류를 250~500 μA 범위로 설정하여 자체 발열을 억제하고, 저 TCR 고정밀 기준 저항(예: 1620 Ω, 0.01%)을 채택하는 것이 필수적이다. 또한, ADC의 샘플링 속도와 PGA 이득을 응용 환경에 맞추어 조정함으로써 시스템 노이즈를 최소화할 수 있다.

결론적으로, 본 문서에서 제시한 원칙과 분석을 적용하면 일반 산업 응용에서는 ±0.2°C 이하, 연구 및 계측 분야에서는 ±0.05°C 수준의 온도 측정 정확도를 달성할 수 있다.

6.1 오류 예산 표

오차 요인 2-Wire (°C) 3-Wire (°C) 4-Wire (°C) Multi 2-Wire (°C) Multi 3-Wire (°C) Multi 4-Wire (°C) Universal (°C)
리드 저항 1.3 0.26 0 1.3 0.26 0 0~1.3
IDAC 불일치 0 0.5 (0 with chopping) 0 0 0.5 (0 with chopping) 0 0~0.5
자체 발열 0.014 0.014 0.014 0.014 0.014 0.014 0.014
누설 전류 0.36 0.1 0.1 0.36 0.1 0.1 0.1~0.36
ADC 노이즈 0.0026 0.0026 0.0026 0.0026 0.0026 0.0026 0.0026
R_REF 드리프트 0.021 0.021 0.021 0.021 0.021 0.021 0.021
MUX 정착 0 0 0 0.05 0.05 0.05 0.05
총 오차 1.6976 0.1476 (chopping) 0.1376 1.7476 0.1976 (chopping) 0.1876 0.1876~1.7476

7. 예제  코드 

아래 코드는 ADS124S08, Multiple 3-Wire Low-Side 회로 기준을 작성되었습니다.

#include <stdint.h>
#include <math.h>
#include "stm32f4xx.h"
#include "ads124s08.h"

// ADS124S08 레지스터
#define ADS124S08_REG_INPMUX   0x01
#define ADS124S08_REG_PGA      0x02
#define ADS124S08_REG_DATARATE 0x03
#define ADS124S08_REG_REF      0x04
#define ADS124S08_REG_IDAC     0x06

// CVD 상수 (PT100)
#define R0 100.0f
#define A  3.9083e-3f
#define B  -5.775e-7f
#define NUM_RTD 3

void spi_write(uint8_t reg, uint8_t data);
uint32_t spi_read_adc(void);

void ads124s08_init(void) {
    spi_write(ADS124S08_REG_PGA, 0x02); // Gain=4
    spi_write(ADS124S08_REG_DATARATE, 0x04); // 20SPS
    spi_write(ADS124S08_REG_REF, 0x00); // 외부 참조
}

float rtd_to_temperature(float r_rtd) {
    float a = B, b = A, c = (1.0f - r_rtd / R0);
    float discriminant = b * b - 4 * a * c;
    if (discriminant < 0) return NAN;
    return (-b + sqrtf(discriminant)) / (2 * a);
}

float measure_rtd(uint8_t rtd_idx) {
    const float R_REF = 1620.0f, GAIN = 4.0f, SCALE = 4194304.0f;
    uint8_t mux[] = {0x12, 0x34, 0x56}; // AINP/AINN: RTD1(1-2), RTD2(3-4), RTD3(5-6)
    uint32_t code1, code2;
    spi_write(ADS124S08_REG_INPMUX, mux[rtd_idx]);
    spi_write(ADS124S08_REG_IDAC, 0x54); // IDAC1=AIN0, IDAC2=AIN5
    code1 = spi_read_adc();
    spi_write(ADS124S08_REG_IDAC, 0x45); // Chopping
    code2 = spi_read_adc();
    float code_avg = (code1 + code2) / 2.0f;
    float r_rtd = R_REF * (code_avg / (SCALE * GAIN));
    return rtd_to_temperature(r_rtd);
}

int main(void) {
    ads124s08_init();
    float temperatures[NUM_RTD];
    while (1) {
        for (uint8_t i = 0; i < NUM_RTD; i++) {
            temperatures[i] = measure_rtd(i);
        }
        for (volatile int i = 0; i < 1000000; i++);
    }
}
        

 

Keywords : RTD, 온도센서, 저항온도검출기, 정밀측정, 회로설계, 아날로그회로, TI, ADS124S08, 데이터시트, 센서인터페이스, RTD sensor, Temperature measurement, Precision circuit design, Ratiometric measurement, PT100, PT1000, Analog design, SPI ADC

참고 자료

  1. Texas Instruments, “A Basic Guide to RTD Measurements (SBAA275A)”, Revised March 2023.
    👉 PDF 보기
  2. Texas Instruments, “ADS124S08 24-Bit Low-Noise Delta-Sigma ADC with PGA and Voltage Reference – Datasheet”, 2018.
    👉 제품 페이지
  3. Texas Instruments, “RTD Ratiometric Measurements and Filtering Using the ADS1148 (Application Note SBAA201)”, 2012.
    👉 PDF 보기
  4. Analog Devices, “How to Select and Design the Best RTD Temperature Sensing System”, Analog Dialogue.
    👉 문서 보기
  5. Luis Chioye, “Improve Noise Immunity On RTD Ratiometric Measurements”, Electronic Design, April 1, 2013.
    👉 기사 보기