Mar 202014
 
Pinterest

여기에 잘 설명되어 있음. 또한 회로 보호 측면에서 고려해야 할 사항이 요기에 설명되어 있음.

요약

택타일 푸시스위치를 디지털 인풋으로 넣을 때 풀업/풀다운 저항을 연결하는 데, 저항값을 결정하는 데 필요한 고려사항이 몇 가지 있음.

  1. 기본적인 고려사항

    • 디지털 회로에서 감지 가능한 수준으로 확실히 풀업 시킬 것.
    • 디지털 회로 보호를 위해 너무 많은 전류를 흘리지 않도록 할 것.
    • RC값에 의한 Rise time 고려.
    • Debouncing 고려
    • Rule of Thumb: 풀업 저항값은 일반적으로 10k옴 근처를 사용 (대부분의 경우 문제 없음)
  2. 큰 저항값

    • 장점:
      • 더 적은 누설 전류(배터리로 동작하는 경우 중요할 수 있음)로 동작. 저전력 설계에서는 ‘가능하다면’ 수십메가옴의 사용도 고려.
    • 단점:
      • Capacitive coupling 문제: 신호선끼리 커플링 되어 오동작 가능성. –> 이 부분에서 실제로 문제가 발생하여 관련 정보를 기록하는 것임
      • 전압 강하 문제: 디지털 인풋 포트에서의 누설 전류(해당 데이터시트 참조)에 의해 풀업 저항이 전압 강하를 일으켜 logic high를 유지하기 위한 전압이 안 나올 수도 있음.
      • 주파수 반응성 문제: 스위치 조작 등엔 상관 없지만 고주파수 동작을 시키길 원할 경우 큰 풀업 저항은 RC time을 증가시켜 동작을 안 할 수도 있음.
  3. 작은 저항값

    • 장점:
      • 큰 저항값을 쓸 때의 단점이 완화됨.
    • 단점:
      • 누설 전류 문제: 너무 작은 풀업 저항값은 누설 전류를 증가시켜 배터리 기반 시스템에서 사용시간을 단축시킬 수 있음. (전원이 들어오면 1k옴 풀업 저항의 경우 3.3V 시스템에서 3mA 이상의 전류를 소모할 수 있음.)

결론은, 커플링 문제가 없는 선에서 최대한 큰 저항값을 사용하도록 해야 함.

현재 누설 전류 문제를 줄여보고자 스위치에 47k옴을 달았었는데, PCB 보드에 스위치를 바로 연결할 경우 큰 문제가 없었으나 10cm 조금 안 되는 와이어를 통해 스위치를 연결하니 커플링되어 오동작을 했었음. 4.6k옴 정도로 달았더니 커플링 문제는 해결되었으나 테스트를 통해 저항값을 좀 더 올릴 필요가 있어보임. (스위치 하나당 거의 1mA에 육박하는 전류를 소모…)

Debouncing의 경우 외부에 Schmitt trigger를 달아줘도 되고, 소프트웨어/하드웨어 로직으로 debouncing 문제를 해결하는 수도 있음. 현재 하드웨어 로직으로 해결하고 있음.

저전력 모바일(배터리 동작 등을 가정) 장치를 설계할 경우 MCU등은 저전력을 선택하면서 정작 레귤레이터나 풀업 저항, LED나 7세그먼트 등은 별 신경을 안 쓰는 경우가 많다. MCU가 20mA 먹는다고 가정할 때, 스위치 4개 연결했는데 풀업저항 때문에 4~5mA씩 늘어나고, LED 몇개 달아서 수mA~수십mA 소모하고..뭐 이런 경우가 일상다반사. MCU가 3.3V 동작한다고 1.5V 전지 4개 연결해서 싸구려 LDO하나 달면 러프하게 배터리 파워의 약 반은 그냥 허공으로 날리는 셈.  

Pinterest

 Posted by at 9:48 pm