그라운드 임베디드 EN 유튜브 구독

노트 / 실무 회로소자

풀업 저항은 왜 필요할까

떠 있는 입력 핀이 왜 문제인지, 풀업 저항이 무엇을 해결하는지, 값은 어떻게 고르는지 정리했습니다.

GROUND EMBEDDED · 정리 노트풀업 저항은왜 필요할까VCC 3.3V10kΩ버튼MCUGPIO누르지 않으면 HIGH
이 노트의 영상
I2C 통신 완벽 정리 | 아두이노 MPU6050 실습까지

MCU 입력 핀에 아무것도 연결하지 않으면 핀은 HIGH도 LOW도 아닌 떠 있는 상태(floating)가 됩니다. 이 상태의 핀은 주변 노이즈에 따라 0과 1을 제멋대로 오갑니다. 풀업 저항은 이 핀을 전원 쪽으로 약하게 붙잡아 두는 저항입니다.

버튼 회로로 보기

버튼 한쪽을 GND에, 다른 쪽을 입력 핀에 연결하고, 입력 핀과 VCC 사이에 풀업 저항을 답니다.

  • 버튼을 누르지 않으면: 저항을 통해 핀이 VCC에 연결되어 HIGH
  • 버튼을 누르면: 핀이 GND에 직접 연결되어 LOW

눌렀을 때 LOW가 되는 방식이라 처음에는 거꾸로 느껴지지만, 실무에서 가장 흔한 구성입니다.

저항 값 고르기

보통 4.7 kΩ에서 10 kΩ을 씁니다. 값에 따라 장단점이 갈립니다.

작은 값 (예: 1 kΩ) 큰 값 (예: 100 kΩ)
버튼을 눌렀을 때 전류 큼 (3.3 V에서 3.3 mA) 작음 (33 µA)
노이즈에 버티는 힘 강함 약함
신호가 HIGH로 올라가는 속도 빠름 느림

3.3 V에 10 kΩ이면 버튼을 누르고 있는 동안 0.33 mA가 흐릅니다. 대부분의 버튼 입력에는 이 정도면 충분합니다.

내부 풀업

대부분의 MCU에는 핀마다 내부 풀업이 들어 있어 설정만으로 켤 수 있습니다. 다만 값이 수십 kΩ으로 큰 편이라, 선이 길거나 노이즈가 많은 환경에서는 외부 저항을 따로 다는 편이 안전합니다.

I2C에 풀업이 꼭 필요한 이유

I2C의 SDA, SCL은 오픈 드레인 방식입니다. 칩은 선을 LOW로 당기기만 할 수 있고, HIGH로 올리는 일은 풀업 저항이 맡습니다. 풀업이 없으면 선이 HIGH로 돌아오지 못해 통신 자체가 되지 않습니다.

3D 실험실에서 직접 돌려 보기값을 바꾸며 이 노트의 원리를 확인합니다→PROJECT COURSE부품을 고르고 PCB에 올려 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →