처음에 풀다운 저항, 풀업 저항 이게 뭔가 했다. 원리를 곰곰히 살펴보면 플로팅 현상을 제거를 위해서 저항을 연결해 주는 걸 말하는데 저항을 어느쪽에 연결하느냐에 따라서 풀업 또는 풀 다운 저항이 된다.
컴퓨터 조립을 많이 하신 분들은 컴퓨터 본체를 만졌을 때 전기가 흐름을 느낀 적이 있을 것이다. 이렇게 전기 회로는 주변에 전기적으로 영향을 줄 수 있고 이런 현상이 플로팅 현상과 관련이 있는 것 같다. 일종의 간섭 또는 누전 현상? 이라고 하면 이해하기 쉬울까?
이런 현상은 보통 접지라는 것을 해서 해결할 수 있다.
그렇다면 풀업이나 풀다운 저항을 연결하는 것을 접지와 비슷한 개념으로 이해하면 편할 듯 싶다.
위 회로는 플로팅 현상을 확인하기 위한 회로이며 실험을 위한 코드(스케치)는 다음과 같다.
간단히 설명하면 2번 핀으로 입력되는 디지털 신호를 읽어서 시리얼통신으로 출력하는 것이다.
업로드를 한 후에 오른쪽 위에 있는 돋보기 표시(시리얼 입출력을 위한 창을 띄움)를 클릭해보자.
0과 1이 빠르게 번갈아 가면서 출력되는데 뭔가 잘못되었음을 알 수 있다. 버튼이 눌리지 않은 상태에서는 회로가 열려있으므로 2번 핀으로 디지털 신호가 입력되지 않아야 정상이며 시리얼 출력에는 0만 찍혀야 이론적으로는 맞다.
이렇게 입력이 없어야 함에도 전압이 불규칙적으로 발생하는 현상을 플로팅 현상이라고 한다. 발생 원인은 주변 회로의 전기적인 흐름으로 인해서 발생하는 것으로 위 예에서는 0V~5V 사이의 전압이 불규칙적으로 발생한 것이다.
이 현상을 제거하기 위해서는 불규칙적으로 발생하는 전류을 다른 곳으로 흐르게 해줘야 한다. 강으로 치자면 또 다른 물길을 열어주는 것인데 상류에서 열어주는 것을 풀 업 저항 하류에서 열어주는 것을 풀 다운 저항이라고 이해하면 되겠다.
풀 다운 저항
전류를 GND(그라운드)로 빼는 것은 접지를 하는 것인데 다음과 같이 접지를 하면 큰일난다.
버튼을 누르지 않은 상태에서 플로팅 현상으로 붉은 화살표 방향으로 불규칙적인 전류가 흐른다고 했다. 이 때 접지를 하면 불규칙적인 전류가 접지 방향으로 흘러서 플로팅 현상은 제거가 된다. 그런데 문제는 버튼을 눌렀을 때다!
버튼을 누르면 우리가 원하는 상태는 2번 핀 방향으로 전류가 흐르는 것인데 2번 핀 회로쪽은 회로 내부의 부품들로 인해 어느 정도 저항값이 있는 반면 접지 방향은 아무런 저항도 없으므로 전류는 대부분 GND 방향으로 흘러 버린다. 접지방향은 저항이 없으므로 흐르는 전류의 양도 매우 커서(V=IR에서 R이 거의 0이므로 I가 매우 커짐)) 회로가 버틸 수 없게되며 손상될 수 있다.
이런 문제로 인해서 풀다운 저항이 필요하다.
풀다운 저항
가상의 시나리오를 만들어 보자. 이전 그림에서 접지라고 쓰여진 선의 저항값이 점점 커진다고 생각해보자. 저항이 커질수록 GND 방향으로 흐르는 전류는 점점 줄어들 것이다. 대신 그만큼 전류는 점점 2번 핀 쪽으로 흘러가게 된다. 그러면 접지선 대신 저항으로 바꿔보자. 이렇게 하면 버튼을 누르지 않았을 때는 이전 예와 마찬가지로 2번 핀과 GND가 연결된 상태이므로 2번핀으로 전류가 흐르지 않는다.(플로팅 현상 제거)
그리고 버튼을 누른다면 접지 방향의 풀다운 저항으로 인해서 GND쪽으로는 전류의 흐름이 원활하지 않아 대부분의 전류가 2번 핀으로 제대로 흐르게 된다.
풀 다운 저항과 풀 업 저항
강의 상류를 5V 하류를 GND로 치자면 풀 다운은 강의 하류 근처에서 수로를 내는 것이다. 그렇다면 풀 업 저항은 강의 상류에서 수로를 내는 것이다. 이 둘의 또 다른 차이점은 버튼의 상태에 따른 전기의 흐름이 반대가 된다.
풀업 저항
그림에서 저항의 위치가 버튼과 5V 사이에 있다. 풀다운 저항은 버튼과 GND 사이에 있었음을 다시 상기하자.
이렇게 연결을 하면 2번핀은 항상 5V 전원과 연결되어 있다. 버튼이 눌렸을 때는 2번핀으로 흐르는 전류를 GND 쪽으로 바뀐다. 버튼을 누르면 왜 전류의 흐름이 바뀌는지는 앞에서 설명한 것과 같은 이유 때문이다.(전류의 특성)
결론을 내리자면 풀다운, 풀업 저항은 플로팅 현상의 제거를 할 때 회로에 흐르는 과전류를 방지하는 역할을 한다.