브리지·RTD·열전대 — 저항으로 재는 것들
한 줄 요약 — 저항 변화를 전압으로 바꾸는 일은 분압 하나면 되는데, 실제로 어려운 것은 그 분압에 섞여 들어오는 배선 저항·자기 발열·냉접점입니다.
왜 브리지인가
저항형 센서는 변화가 작습니다.
| 센서 | 풀스케일 변화 |
|---|---|
| 스트레인 게이지 | 0.1 % (2 mV/V) |
| RTD (Pt100, 0~100 °C) | 39 % |
| 서미스터 | 수백 % |
스트레인 게이지를 그냥 분압분압 voltage divider직렬로 이은 두 저항은 입력 전압을 저항비대로 나눠 갖습니다.자세히 보기 →하면 5 V 에서 2.5 V 위에 2.5 mV 가 얹힙니다. 원하는 신호가 DC 의 0.1 % 인 셈입니다.
브리지는 그 2.5 V 를 빼 줍니다.
휘트스톤 브리지 감도
네 팔이 모두 이고 하나만 이면
R저항resistanceΩV_ex전압 (ex)voltage (ex)VV_out출력 전압output voltageV이므로
R저항resistanceΩV_ex전압 (ex)voltage (ex)VV_out출력 전압output voltageV| 활성 팔 수 | 감도 | 비고 |
|---|---|---|
| 1개 (쿼터) | 온도 보상 안 됨 | |
| 2개 (하프) | 온도 상쇄 | |
| 4개 (풀) | 감도 4배 + 온도 상쇄 + 선형 |
★ 풀 브리지는 감도만 4배가 아닙니다. 반대 방향으로 변하는 팔을 마주 놓으면 위 식의 분모에 있던 이 사라져 완전히 선형이 되고, 온도로 인한 공통 변화가 상쇄됩니다.
★ 3선·4선 — 배선 저항을 어떻게 빼나
RTD 에서 가장 중요한 이야기입니다.
Pt100 은 0 °C 에서 100 Ω 이고 0.385 Ω/°C 로 변합니다. 배선 저항이 1 Ω 이면 2.6 °C 의 오차입니다. 20 m 케이블이면 쉽게 그 정도가 됩니다.
2선 — 안 됩니다
R_측정저항 (측정)resistance (측정)ΩR_RTD저항 (RTD)resistance (RTD)ΩR_wire배선 저항wire resistanceΩ배선 저항이 그대로 더해지고, 온도가 변하면 배선 저항도 변합니다(구리 0.4 %/°C).
3선 — 대칭으로 뺍니다
같은 굵기·길이의 선 세 가닥을 씁니다. 두 선의 저항이 같다고 가정하고 하나를 빼면 나머지가 상쇄됩니다.
R_RTD저항 (RTD)resistance (RTD)ΩR_w1저항 (w1)resistance (w1)ΩR_w2저항 (w2)resistance (w2)Ω- 장점: 선 하나만 더 쓰면 됨
- 단점: 두 선이 정말 같아야 합니다. 접촉 저항이 다르면 그대로 오차
4선 — 가정이 필요 없습니다
전류를 흘리는 선과 전압을 재는 선을 따로 씁니다.
전압을 재는 선에는 전류가 거의 안 흐르므로 (), 그 선의 저항에 전압이 안 걸립니다(). 배선 저항이 얼마든 상관없습니다.
| 2선 | 3선 | 4선 | |
|---|---|---|---|
| 선 개수 | 2 | 3 | 4 |
| 배선 저항 | 그대로 들어옴 | 대칭이면 상쇄 | 완전히 무관 |
| 접촉 저항 차이 | 들어옴 | 들어옴 | 무관 |
| 언제 | 짧고 정밀도 낮을 때 | 대부분 | 정밀 측정 |
열전대 — 냉접점이 전부입니다
열전대는 두 금속의 접점 두 개가 만드는 전압을 잽니다. 문제는 그 전압이 두 접점의 온도 차이에만 비례한다는 것입니다.
S슬루레이트 또는 감도slew rate or sensitivityT_cold온도 또는 주기 (cold)temperature or period (cold)T_hot온도 또는 주기 (hot)temperature or period (hot)V전압voltageV측정하려는 곳의 온도를 알려면 반대쪽(냉접점) 온도를 알아야 합니다.
옛날에는 냉접점을 얼음물(0 °C) 에 담갔습니다. 지금은 단자대 온도를 다른 센서로 재서 계산으로 보정합니다 — 냉접점 보상(CJC).
f주파수frequencyHzT_cold온도 또는 주기 (cold)temperature or period (cold)T_hot온도 또는 주기 (hot)temperature or period (hot)V_측정전압 (측정)voltage (측정)V⚠️ 전압을 더하는 것이지 온도를 더하는 것이 아닙니다. 열전대는 비선형이라 는 틀립니다. 냉접점 온도를 먼저 전압으로 바꿔 더한 뒤, 그 합을 온도로 되돌려야 합니다.
| 타입 | 감도 | 범위 | 특징 |
|---|---|---|---|
| K | 41 µV/°C | −200~1350 °C | 가장 흔함 |
| J | 55 µV/°C | −40~750 °C | 감도 높음 |
| T | 43 µV/°C | −200~350 °C | 저온 정밀 |
| S/R | 6 µV/°C | 0~1600 °C | 고온, 감도가 낮아 잡음에 취약 |
41 µV/°C 는 아주 작습니다. 0.1 °C 를 구분하려면 4.1 µV 를 재야 하고, 이는 12장의 잡음 예산이 그대로 적용되는 크기입니다.
💡 CJC 센서의 정확도가 곧 전체 정확도입니다. CJC 가 ±1 °C 면 열전대가 아무리 좋아도 ±1 °C 입니다. 그래서 CJC 는 단자대에 열적으로 붙어 있어야 하고, 자기 발열이 없어야 합니다.
서미스터 — 지수를 어떻게 다루나
NTC 서미스터는 지수적으로 변합니다.
B대역폭 또는 자속밀도bandwidth or flux densityR저항resistanceΩR_00번 저항resistance 0ΩT온도 또는 주기temperature or periodT_00번 온도 또는 주기temperature or period 0감도가 엄청나지만(수 %/°C) 범위가 좁고 심하게 휩니다.
선형화 — 병렬 저항 하나
R_eq등가 저항equivalent resistanceΩR_th테브난 등가 저항Thévenin resistanceΩR_p피크 저항peak resistanceΩ를 범위 중앙의 서미스터 값으로 고르면, 그 근처에서 곡선이 눈에 띄게 펴집니다.
- 얻는 것: 범위 중앙 ±25 °C 정도에서 거의 직선
- 잃는 것: 감도가 절반 이하로 줄고, 범위 밖은 더 심하게 휨
MCU 가 있으면 선형화하지 말고 계산으로 푸는 편이 낫습니다 — 감도를 버릴 이유가 없습니다.
★ 여자 전류와 자기 발열
저항을 재려면 전류를 흘려야 하는데, 전류를 흘리면 뜨거워집니다.
A이득gainI전류currentAP전력powerWR저항resistanceΩS슬루레이트 또는 감도slew rate or sensitivityT온도 또는 주기temperature or period는 자기 발열 계수 [°C/mW] 입니다.
| 환경 | Pt100 의 |
|---|---|
| 정지 공기 | 0.5 °C/mW |
| 흐르는 공기 | 0.1 °C/mW |
| 물 속 | 0.01 °C/mW |
Pt100 에 1 mA 를 흘리면:
P전력powerWT온도 또는 주기temperature or period괜찮습니다. 그런데 10 mA 를 흘리면:
P전력powerWT온도 또는 주기temperature or period재려는 것보다 큰 오차가 됩니다.
딜레마
| 전류 | 신호 크기 | 자기 발열 |
|---|---|---|
| 작게 | 작아서 잡음에 묻힘 | 없음 |
| 크게 | 크고 SNR 좋음 | 측정값을 바꿈 |
해결책 — 펄스 여자. 잴 때만 전류를 흘리고 평소에는 끕니다. 평균 전력이 듀티비만큼 줄어듭니다.
D듀티비duty cycleP_avg평균 전력average powerWP_peak전력 (peak)power (peak)W듀티 1 % 면 10 mA 를 흘려도 평균은 0.1 mW — 큰 신호와 작은 발열을 동시에 얻습니다. 대신 셋틀링을 기다려야 하고(3-02), 스위칭 잡음이 생깁니다.
⚖️ 트레이드오프
1. 전압 여자 vs 전류 여자
| 전압 여자 | 전류 여자 | |
|---|---|---|
| 회로 | 간단 (그냥 물림) | 전류원 필요 |
| 비율 측정 | 됨 — 기준을 약분 | 안 됨 (기준이 별도로 필요) |
| 배선 저항 | 분압에 섞임 | 4선이면 무관 |
| 자기 발열 | 저항이 변하면 전류도 변함 | 일정 |
| 어울리는 것 | 브리지 | RTD·서미스터 |
브리지는 전압, RTD 는 전류가 기본입니다. 브리지는 비율 측정이 되는 것이 결정적입니다.
2. 감도 vs 자기 발열
위에서 본 딜레마입니다. 순서로 정리하면
- 필요한 분해능을 정합니다 (예: 0.1 °C)
- 그 분해능에 필요한 전압을 계산합니다
- 잡음 예산에서 그 전압이 잡음의 몇 배인지 봅니다
- 부족하면 전류를 올리고, 자기 발열을 다시 계산합니다
- 자기 발열이 걸리면 펄스 여자로 갑니다
3. 선형화 — 하드웨어 vs 소프트웨어
| 병렬 저항 | 계산 | |
|---|---|---|
| 감도 | 절반 이하로 줄어듦 | 그대로 |
| ADC 요구 | 낮아짐 | 높아짐 (넓은 범위) |
| 계산량 | 0 | 지수·로그 |
| 범위 밖 | 안전 | 식이 발산할 수 있음 |
MCU 가 있으면 계산이 낫습니다. 감도는 한번 버리면 못 되찾지만, 계산은 언제든 고칠 수 있습니다.
🔌 실제 쓰임새
브리지 프론트엔드 고르기
계측 증폭기가 표준입니다. 브리지 출력은 2.5 V 공통모드 위에 mV 신호이므로, CMRR 이 80 dB 이하면 공통모드가 신호를 덮습니다.
전용 AFE(ADS1220, ADS124S08 등)를 쓰면 계측 증폭기·기준·전류원·MUX 가 한 칩에 들어 있어 훨씬 간단합니다.
배선
- 브리지·RTD 배선은 꼬아서(twisted pair) — 자기 결합을 줄입니다 (12-08)
- 차폐를 쓰면 한쪽 끝만 접지 (12-06)
- 열전대는 같은 금속으로 단자대까지 — 중간에 다른 금속이 끼면 거기가 새 접점이 됩니다
열전대의 숨은 접점
열전대 선을 구리 단자에 물리는 순간 거기가 새 열전대가 됩니다. 그래서
- 단자 두 개(+,−)가 같은 온도여야 상쇄됩니다 → 등온 블록
- CJC 센서는 그 블록에 붙습니다
- 확장선(extension wire)은 같은 타입을 써야 합니다
⚠️ 이상과 실제의 차이
| 이상 | 실제 | 왜 |
|---|---|---|
| 브리지는 완전히 균형 | 초기 옵셋 수 mV | 저항 오차 ±0.1 % |
| 저항만 잰다 | 배선 저항이 더해짐 | 2선이면 그대로 |
| 3선이면 완전 보상 | 두 선이 달라지면 남음 | 접촉 저항 |
| 전류를 흘려도 그대로 | 자기 발열로 값이 변함 | |
| 열전대는 온도를 잰다 | 온도 차이를 잼 | 냉접점이 필요 |
| CJC 는 부수적 | CJC 정확도 = 전체 정확도 | 직접 더해짐 |
| 서미스터는 감도가 높아 쉬움 | 범위가 좁고 심하게 휨 | 지수 함수 |
| RTD 는 선형 | 약한 2차 곡선 | Callendar-Van Dusen |
⚠️ 브리지의 초기 옵셋은 ±0.1 % 저항 넷이면 최대 ±0.05 % × V_ex 입니다. 5 V 여자면 2.5 mV — 풀스케일 신호(2 mV/V × 5 V = 10 mV)의 25 % 입니다. 반드시 교정해야 합니다 (09).
시뮬레이션으로 확인
# examples/13-signal-chain/wheatstone-bridge.yaml
meta:
name: 휘트스톤 브리지 — 감도와 배선 저항
lesson: docs/13-signal-chain/10-sensor-bridge.md
note: |
쿼터 브리지입니다. R4 하나만 센서(350 Ω 스트레인 게이지)이고
나머지 셋은 고정입니다.
R4 를 밀어 보세요 — 350 Ω 에서 벗어난 만큼 OUTP−OUTN 이 벌어집니다.
ΔR/R = 0.1 % 일 때 V_ex/4 × 0.001 = 1.25 mV 가 나와야 합니다.
RWIRE 를 밀어 보면 배선 저항이 왜 문제인지 보입니다. 센서 팔에만
직렬로 들어가므로 ΔR 과 구분이 안 됩니다 — 1 Ω 이면 0.29 %,
즉 풀스케일의 세 배에 해당하는 가짜 신호입니다.
components:
- {ref: VEX, type: vdc, value: 5, label: 여자 전압}
- {ref: R1, type: r, value: 350}
- {ref: R2, type: r, value: 350}
- {ref: R3, type: r, value: 350}
- {ref: R4, type: r, value: 350.35, label: 센서 (ΔR/R = 0.1%), sweep: {min: 348, max: 353, log: false}}
- {ref: RWIRE, type: r, value: 1m, label: 배선 저항, sweep: {min: 1m, max: 2, log: false}}
nets:
EX: [VEX.p, R1.1, R2.1]
OUTP: [R1.2, R3.1]
MID: [R2.2, RWIRE.1]
OUTN: [RWIRE.2, R4.1]
GND: [VEX.n, R3.2, R4.2]
analyses:
- {type: op}
expect:
# V_ex/4 × ΔR/R = 5/4 × 0.001 = 1.25 mV.
# 브리지 출력은 OUTP − OUTN 이고, 여기서는 각각을 봅니다.
- {measure: v, node: OUTP, value: 2.5, tol: 0.5%}
- {measure: v, node: OUTN, value: 2.5012, tol: 0.5%}돌려 보면 OUTP 는 정확히 2.5 V, OUTN 은 2.5012 V — 차이가 1.25 mV 입니다. 손계산 mV 와 맞습니다.
★ RWIRE 를 1 Ω 로 밀어 보세요. 출력이 확 벌어집니다. 배선 저항이 센서 팔에만 직렬로 들어가 ΔR 과 구분이 안 되기 때문입니다.
이것이 4선·6선 브리지가 존재하는 이유입니다. 여자 전압을 브리지 바로 앞에서 되재서(sense line) 배선 강하를 보상합니다.
연습문제
문제 1. Pt100 을 4선으로 1 mA 여자해 0~100 °C 를 잽니다. 0.1 °C 분해능에 필요한 ADC 비트 수는?
풀이
전압 범위:
Pt100 은 0 °C 에서 100 Ω, 100 °C 에서 138.5 Ω.
V_100100번 전압voltage 100VV_00번 전압voltage 0V스팬 = 38.5 mV
0.1 °C 에 해당하는 전압:
mu이동도mobilitym²/V·s비트 수 (스팬만 본다면):
mu이동도mobilitym²/V·s그런데 ADC 는 0 V 부터 시작합니다. 100 mV 옵셋이 있으므로 실제 입력 범위는 0~138.5 mV 이고
mu이동도mobilitym²/V·s★ 여기에 잡음이 더 필요합니다. 38.5 µV 를 구분하려면 잡음이 그보다 훨씬 작아야 합니다 — 보통 1/4 이하, 즉 10 µV rms. 실제로는 16~24비트 ΔΣ ADC 를 쓰고 평균화합니다.
옵셋을 없애는 방법: 브리지 구성으로 바꾸거나, ADC 에 옵셋을 넣습니다. 그러면 10비트로 충분해집니다 — 동적 범위를 옵셋에 낭비하지 않는 것이 요점입니다.
문제 2. K형 열전대(41 µV/°C)로 0.1 °C 를 구분하려 합니다. 증폭기의 입력 환산 잡음이 얼마여야 합니까? (대역 10 Hz)
exercises/13-10-thermocouple-noise.yaml풀이
0.1 °C = 4.1 µV
구분하려면 잡음이 그 1/4 이하여야 합니다 (SNR 로 12 dB).
mu이동도mobilitym²/V·sv_n잡음 전압 (실효값)noise voltage (rms)V밀도로 환산 (대역 10 Hz, 1차 필터 → 잡음 대역 15.7 Hz):
mu이동도mobilitym²/V·se_n입력 환산 전압 잡음 밀도input-referred voltage noise densityV/√Hz넉넉해 보이지만 함정이 있습니다.
| 항목 | 왜 문제 |
|---|---|
| 1/f 잡음 | 10 Hz 대역은 거의 전부 1/f 영역입니다 |
| 옵셋 드리프트 | 열전대 신호가 DC 라 옵셋과 구분이 안 됩니다 |
| CJC 정확도 | ±0.5 °C 면 여기서 이미 5배 초과 |
★ 지배하는 것은 백색 잡음이 아니라 드리프트입니다.
그래서 열전대 프론트엔드는 초퍼 안정화 증폭기(OPA333, 옵셋 2 µV, 드리프트 0.02 µV/°C)를 씁니다. 백색 잡음(55 nV/√Hz)은 오히려 평범한데 드리프트가 거의 없는 것이 핵심입니다.
12장의 표에서 CMOS 초퍼의 1/f 코너가 0.01 Hz 인 것이 이 이야기입니다.
문제 3. 물속 온도를 Pt1000(1000 Ω)으로 잽니다. 0.01 °C 정밀도가 필요할 때 여자 전류를 얼마로 하겠습니까? (물속 = 0.01 °C/mW)
exercises/13-10-pt1000-current.yaml풀이
자기 발열 조건부터:
A이득gainI전류currentAR저항resistanceΩS슬루레이트 또는 감도slew rate or sensitivityT온도 또는 주기temperature or periodI전류currentA를 mW 로 맞추면 [W] [mW]:
mu이동도mobilitym²/V·sI전류currentA신호 크기 확인:
Pt1000 은 3.85 Ω/°C. 0.01 °C = 0.0385 Ω.
Delta V전압 변화량voltage changeVmu이동도mobilitym²/V·sV전압voltageV★ 12 nV 입니다. 이건 매우 어렵습니다.
| 항 | 크기 |
|---|---|
| 신호 (0.01 °C) | 12.2 nV |
| Pt1000 자체 열잡음 (1 Hz) | 4.07 nV/√Hz |
| 좋은 OP앰프 e_n | 1~5 nV/√Hz |
대역을 극단적으로 좁혀야 합니다. 0.01 Hz 대역이면 열잡음이 0.4 nV 로 줄어 30:1 이 됩니다 — 100초에 한 번 재는 셈입니다.
대안:
- Pt1000 대신 서미스터 — 감도가 100배 이상이라 같은 전류로 훨씬 큰 신호
- AC 여자 + 락인 — 1/f 를 피합니다 (13-07)
- 정밀도 요구를 다시 보기 — 0.01 °C 가 정말 필요한가?
여기서 배울 것: 자기 발열 한계가 신호 크기의 상한을 정하고, 그것이 다시 필요한 잡음 성능과 측정 시간을 정합니다. 세 가지가 하나로 묶여 있습니다.
이전 ← 09 교정 | 다음 → 11 디지털 필터링 — ADC 뒤에서