[아두이노] 아두이노 핀의 ‘입력 임피던스’와 풀업 저항의 상호작용
아두이노 프로그래밍을 할 때 INPUT_PULLUP을 설정하면 내부적으로 어떤 전기적 변화가 일어날까요? 단순히 "스위치를 누르면 0이 된다"는 결과론적인 해석을 넘어, 실제 MCU 데이터시트를 기반으로 그 물리적 본질을 파헤쳐 봅니다.
1. 전압 분배의 보이지 않는 주인공: 입력 임피던스
우리는 흔히 아두이노 핀을 '전선'처럼 생각하지만, 사실 핀 내부는 매우 높은 저항을 가진 측정 장치와 같습니다.
-
실제 스펙: ATmega328P / 32U4 입력 저항은 최소
- 공학적 의미: 입력 전류는 나노암페어 수준으로 매우 작으며, 외부 회로에 거의 영향을 주지 않습니다.
2. 내부 풀업 모드에서의 전압 분배 계산
내부 풀업 저항을 다음과 같이 가정합니다.
입력 임피던스:
① 스위치 OFF (열림)
전압 분배 공식:
값 대입:
근사 계산:
👉 결과: 거의 완벽한 HIGH (1)
② 스위치 ON (닫힘)
이 경우 핀은 GND에 직접 연결됩니다.
👉 결과: LOW (0)
3. 왜 핀 쪽에 저항(임피던스)이 필요한가?
핵심은 이겁니다:
- 입력 임피던스가 없다면 → 전류가 MCU 내부로 직접 유입 → 칩 손상
- 임피던스가 낮다면 → 측정 시 전압이 왜곡됨
-
임피던스가 매우 크기 때문에 →
👉 "회로를 건드리지 않고 관찰만 가능"
4. 핵심 요약 (엔지니어 관점)
입력 핀은
"거의 무한대에 가까운 저항을 가진 전압 측정기"
라고 보면 정확하다.
- 내부 풀업: 약한 HIGH 생성
- 스위치: 강한 LOW 생성
- 입력 임피던스: 회로 안정성 유지
5. Floating 현상의 진짜 이유
입력이 떠 있는 상태에서는:
이 값이 너무 크기 때문에:
- 정전기
- EMI (전자파)
- 주변 노이즈
같은 아주 작은 전하에도 전압이 형성됩니다.
👉 결과:
핀 값이 0 ↔ 1 사이에서 랜덤하게 튐
기술 팁
풀업/풀다운 저항의 본질은
"기준 전위를 강제로 정의하는 것" 이다.
댓글
댓글 쓰기