비교기와 히스테리시스
한 줄 요약 — 두 전압을 비교해 디지털 출력을 냅니다. 히스테리시스(hysteresis)가 없으면 문턱 근처에서 발진합니다.
비교기의 동작
부귀환(negative feedback)부귀환 negative feedback출력의 일부를 되돌려 빼면 이득은 줄지만 정확도·선형성·대역폭·임피던스가 모두 좋아집니다.자세히 보기 → 없이 개루프로 씁니다.
e잡음 전압 밀도noise voltage densityV/√HzV전압voltageVV_high전압 (high)voltage (high)VV_low전압 (low)voltage (low)VV_out출력 전압output voltageV⚠️ 부귀환이 없으므로 01의 가상 단락(virtual short)가상 단락 virtual short부귀환이 걸린 OP앰프는 두 입력의 전압을 같게 만들려고 하므로, 두 입력이 붙어 있는 것처럼 풀 수 있습니다.자세히 보기 →이 성립하지 않습니다. 두 입력이 크게 다를 수 있습니다.
OP앰프 vs 전용 비교기
| OP앰프 | 비교기 IC | |
|---|---|---|
| 출력 | 아날로그 (레일 근처에서 포화(saturation)) | 디지털 (오픈 드레인(open drain)오픈 드레인 open drain출력이 끌어내리기만 하고 올리지는 못하는 구조로, 여럿을 한 선에 묶을 수 있어 I2C 가 이것을 씁니다.자세히 보기 → 또는 푸시풀) |
| 응답 속도 | 느림 (µs) — 포화에서 회복이 오래 걸림 | 빠름 (ns) |
| 위상(phase) 보상 | 있음 (개루프 사용에 불리) | 없음 |
| 로직 호환 | 별도 회로 필요 | 직접 연결 |
⚠️ OP앰프를 비교기로 쓰지 마세요. 내부 보상 때문에 느리고, 포화 상태에서 회복하는 데 시간이 걸리며, 입력 차동 전압이 클 때 손상될 수도 있습니다. 전용 비교기(LM393, TLV3501 등)를 쓰세요.
★ 히스테리시스가 필요한 이유
입력이 문턱 근처에서 천천히 움직이면, 노이즈 때문에 출력이 여러 번 토글합니다(채터링).
히스테리시스가 없을 때 생기는 일
| 시각 | 입력 | 출력 |
|---|---|---|
| 문턱에서 멀 때 | 안정 | 안정 |
| 문턱 근처 | 잡음이 문턱을 여러 번 넘나듦 | 출력이 여러 번 토글 |
입력이 문턱을 딱 한 번 지나가더라도, 신호에 실린 수 mV 의 잡음이 문턱을 왔다갔다 하면 출력이 그때마다 뒤집힙니다. MCU 가 이걸 세면 버튼 한 번에 수십 번 눌린 것으로 읽습니다.
이것은 다음 문제를 일으킵니다:
- 카운터가 여러 번 셈
- 스위칭 노이즈가 여러 번 발생
- 소비 전력 증가
슈미트 트리거 — 양귀환으로 해결
출력의 일부를 비반전 입력으로 되돌립니다(양귀환).
히스테리시스 — 출력을 + 입력으로 되먹여 문턱 자체를 움직입니다.
| 출력 상태 | 문턱 |
|---|---|
| High | 문턱이 올라감 → 내려가려면 더 많이 내려와야 함 |
| Low | 문턱이 내려감 → 올라가려면 더 많이 올라와야 함 |
문턱 두 개 사이 간격이 잡음보다 크면, 한 번 넘어간 뒤에는 잡음이 아무리 흔들려도 되돌아오지 않습니다.
출력이 High일 때와 Low일 때 문턱이 달라집니다.
R_11번 저항resistance 1ΩR_22번 저항resistance 2ΩV_OH출력 High 전압output high voltageVV_ref기준 전압reference voltageVV_TH전압 (TH)voltage (TH)VR_11번 저항resistance 1ΩR_22번 저항resistance 2ΩV_OL출력 Low 전압output low voltageVV_ref기준 전압reference voltageVV_TL전압 (TL)voltage (TL)VDelta V전압 변화량voltage changeVR_11번 저항resistance 1ΩR_22번 저항resistance 2ΩV_hyst전압 (hyst)voltage (hyst)VV_OH출력 High 전압output high voltageVV_OL출력 Low 전압output low voltageV히스테리시스 폭 정하기
히스테리시스 > 노이즈 진폭 (피크-투-피크)
노이즈가 20 mVpp라면 히스테리시스를 50~100 mV로 잡습니다.
계산 예제
예제 — 슈미트 트리거(Schmitt trigger) 설계
3.3 V 로직, V, 히스테리시스 100 mV 목표.
Delta V전압 변화량voltage changeVR_11번 저항resistance 1ΩR_22번 저항resistance 2ΩV전압voltageVR_11번 저항resistance 1ΩR_22번 저항resistance 2ΩkΩ이면 kΩ → kΩ (E24: 330 kΩ)
문턱:
V_TH전압 (TH)voltage (TH)VV_TL전압 (TL)voltage (TL)V히스테리시스 100 mV ✅
⚠️ 양귀환 저항이 소스를 로딩합니다. 가 분압기(voltage divider)로 만들어졌다면 그 출력 임피던스(impedance)출력 임피던스 output impedance회로가 부하에 전압을 얼마나 굳건히 유지해 주는지를 나타내는 값으로, 낮을수록 부하에 덜 흔들립니다.자세히 보기 →를 고려해야 하고, 가능하면 버퍼로 받은 를 쓰세요.
시뮬레이션으로 확인
# examples/07-opamp/schmitt-trigger.yaml
meta:
name: 슈미트 트리거 (히스테리시스)
lesson: docs/07-opamp/04-comparator.md
components:
- {ref: VP, type: vdc, value: 5}
- {ref: VREF, type: vdc, value: 2.5}
- {ref: VIN, type: vsin, params: {offset: 2.5, amp: 1, freq: 1k}}
- {ref: R1, type: r, value: 10k}
- {ref: R2, type: r, value: 330k}
- {ref: U1, type: opamp, model: LM311}
nets:
VCC: [VP.p, U1.'v+']
IN: [VIN.p, U1.'in-']
REF: [VREF.p, R2.1]
FBP: [R2.2, R1.1, U1.'in+']
OUT: [U1.out, R1.2]
GND: [VP.n, VREF.n, VIN.n, U1.'v-']
analyses:
- {type: tran, tstep: 1u, tstop: 5m}과도해석 파형에서 상승 시와 하강 시의 전환점이 다른 것을 확인할 수 있습니다.
⚖️ 부품 트레이드오프
| 선택 | ✅ 좋아지는 것 | ⚠️ 나빠지는 것 |
|---|---|---|
| 히스테리시스 크게 | 노이즈 면역 강함, 확실한 전환 | 작은 신호를 놓침, 문턱 정확도 저하, 타이밍 오차 |
| 히스테리시스 작게 | 정밀한 문턱 | 노이즈로 채터링 |
| 빠른 비교기 | 짧은 전파 지연 | 소비 전류 큼, 발진하기 쉬움, EMI |
| 느린 비교기 | 저전력, 안정 | 지연 |
| 오픈 드레인(drain) 출력 | 와이어드 OR 가능, 레벨 변환 자유 | 풀업(pull-up)풀업 pull-up아무도 신호선을 잡고 있지 않을 때 전압을 높은 쪽으로 끌어 두어, 떠 있는 입력을 없애는 저항입니다.자세히 보기 → 저항 필요, 상승 시간이 로 느림 |
| 푸시풀 출력 | 빠른 상승·하강 | 레벨 고정, 관통 전류 |
| 입력 RC 필터 추가 | 고주파 노이즈 제거 | 응답 지연 |
★ 측정 회로 관점 — 비교기는 노이즈원입니다
비교기의 출력이 전환될 때 급격한 와 전원 전류 스파이크(spike)가 발생합니다. 근처의 µV 측정에 영향을 줍니다.
대책:
- 비교기 전원을 아날로그와 분리, 디커플링 강화
- 출력에 직렬 저항으로 완화
- 히스테리시스를 충분히 줘서 불필요한 전환 자체를 없앰
- 물리적 거리 확보
🔌 실제 쓰임새
| 용도 | 비고 |
|---|---|
| 문턱 검출 (과전압·과전류) | 히스테리시스 필수 |
| 영교차 검출 | 정밀한 타이밍 필요 → 히스테리시스 최소 + 저노이즈 |
| 스파이크 검출 | 신경 신호에서 임계값 초과 검출 |
| 발진기 (릴랙세이션) | 슈미트 + RC |
| PWM 생성 | 삼각파와 비교 |
| 아날로그 → 디지털 (1비트) | |
| 파형 정형 | 느린 파형을 급격한 에지로 |
💡 신경 스파이크 검출에서 임계값 비교기는 가장 단순한 방법입니다. 다만 스파이크 진폭이 변하고 노이즈가 있어서, 실무에서는 대개 디지털로 처리(적응형 임계값, 템플릿 매칭)합니다.
⚠️ 이상과 실제의 차이
| 이상 | 실제 |
|---|---|
| 즉시 전환 | 전파 지연 (ns~µs), 입력 오버드라이브에 따라 달라짐 |
| 문턱이 정확 | 입력 옵셋 전압(mV급)만큼 이동 |
| 출력이 깨끗 | 전환 시 링잉(ringing), 전원 스파이크 |
| 히스테리시스가 계산대로 | , 이 부하에 따라 변동 |
| 발진 안 함 | 히스테리시스 없으면 반드시 발진 (기생 피드백) |
연습문제
문제 1. 5 V 시스템에서 히스테리시스 200 mV를 만들려면 비율은?
풀이
R_11번 저항resistance 1ΩR_22번 저항resistance 2ΩkΩ이면 kΩ → kΩ
문제 2. 비교기 입력에 30 mVpp의 노이즈가 있습니다. 적절한 히스테리시스는?
exercises/07-04-hysteresis-30mv.yaml풀이
최소 30 mV, 권장 60~100 mV.
노이즈 진폭의 2~3배로 잡아 여유를 둡니다. 노이즈가 가우시안이라면 rms의 6~8배를 봐야 하므로, 30 mVpp가 rms 5 mV 정도라면 히스테리시스 50 mV 이상이 안전합니다.
문제 3. 신경 신호(50 µV)에서 스파이크(200 µV)를 검출하려 합니다. 증폭 후 비교기로 검출할 때 히스테리시스를 어떻게 정합니까?
exercises/07-04-spike-threshold.yaml풀이
먼저 신호 체인을 정합니다.
게인 5000배라 가정 → 배경 신호 250 mV, 스파이크 1 V, 잡음(입력 환산 2 µV rms) 10 mV rms
임계값: 배경 잡음의 3~5σ로 잡습니다. 5σ = 50 mV (입력 환산 10 µV).
히스테리시스: 잡음 rms의 2~3배 → 20~30 mV (입력 환산 4~6 µV)
하지만 실무에서는 아날로그 비교기를 안 쓰는 경우가 많습니다.
이유:
- 스파이크 진폭이 시간·채널에 따라 변해 고정 임계값이 부적절
- 배경 잡음 수준도 변함 → 적응형 임계값이 필요
- 여러 뉴런의 스파이크를 구분(spike sorting)하려면 파형 전체가 필요
- 채널이 수천 개면 비교기를 채널마다 둘 수 없음
실무 접근:
- 아날로그는 증폭·필터링·디지털화만 담당
- 스파이크 검출과 분류는 디지털에서 (임계값을 잡음 추정치의 배수로 자동 설정, 예: median absolute deviation)
- 아날로그 비교기는 트리거나 실시간 폐루프 제어가 필요할 때만
“이 기능을 아날로그로 할 것인가 디지털로 할 것인가”는 신호 체인 설계의 중요한 판단입니다. 일반 원칙: 정보를 잃는 처리는 최대한 나중에 하세요. 비교기는 파형 정보를 1비트로 버립니다. → 16-00 방법론
이전 ← 03 차동 증폭기와 계측 증폭기 | 다음 → 05 액티브 필터