기계식 스위치에서의 스위치 바운싱과 디바운싱 회로

간혹, 촉각 스위치 또는 기계식 스위치로 고속 응답 회로를 구축했는데 왜 제대로 작동하지 않는지 궁금할 수 있습니다. 이는 스위치의 접점 바운싱 (채터링이라고도 함) 때문일 수 있습니다.

스위치 접점 원리
스위치가 만드는 연결은 빠르고, 견고하며 곧바로 연결된다고 생각하는 것이 직관적이나, 실제 상황은 조금 다른 것 같습니다.

image
그림 1: 스위칭 신호의 이상적 상황

image
그림 2: 스위칭 신호의 실제 상황

실제로, 도전점(electrically conductive point) 간의 스위치 접점은 기계 구성품들의 이동에 의해 만들어지거나 떨어집니다. 노화, 동작 관성, 기계적 설계 및 스위치 접점 표면의 미세한 상태까지도 포함하는 영향에 의해, 일반적인 스위치는 연결을 열거나(open) 닫는데(close) 필요한 수십 밀리 초라는 시간동안 여러 번의 상태 변화가 발생합니다. 흔히 "스위치 바운싱"이라 불리는 이 동작은 피할 수 없는 현실입니다.

Würth ElektronikWS-TASV 계열 J-Bend 표면 실장형 촉각 스위치 4.7x3.5 mm와 같은 기계적 스위치는 간혹 규격서에 바운스 시간 정보가 나와 있습니다.

디바운싱 회로
개별 부품 몇 개를 사용해 저역 통과 필터를 만들어 이 원치 않는 신호를 제거하는 간단한 디바운싱 회로를 공유하고자 합니다.

1. 필터 추가
단순한 RC 필터는 저역 통과 필터를 만드는 가장 저렴하고 간단한 방법 중 하나입니다. 스위치가 열리면, 커패시터는 R1+R2를 통해 충전되며 이는 전압 상승을 더디게 만듭니다. 스위치가 닫히면, 커패시터는 R2를 통해 통제된 속도로 방전됩니다.

image

필터용 부품이 적절하고 신중하게 선택되었다면 스위치 바운싱은 충방전 기간 동안 흡수되어 부드럽게 상태 변이가 이뤄집니다.
위 회로에 적용 가능한 다음 시간 상수 공식을 사용해, 커패시터와 저항 값을 계산할 수 있습니다:

τ = (R1 + R2) ⋅ C1

ꞇ : 시정수(s)
R : 저항 값(Ω)
C : 정전용량 값(F)

시정수는 스위치 디바운싱의 필요성과 회로의 필요한 응답 시간 사이에서의 균형입니다. 한 시정수 동안, 전압은 최종 값의 63%까지 상승하거나 최종 값의 37%까지 하강합니다. 두 경우 모두에서, 시정수의 5배 후에는 99%에 도달합니다.

예를 들어:
바운스 시간 - 사양서에 10ms입니다.
R1 - 전류 제한을 위해 선택하는데, 여기에서는 고전적 값인 1kΩ을 선택하겠습니다.
R2 - 디바운싱용으로 두 개의 표준 값인 10kΩ과 47kΩ을 선택하겠습니다.
공급 전압은 5VDC입니다.

따라서, 계산에 따르면 두 개의 정전 용량 값이 나오게 됩니다:

C1= τ / (R1+R2)

그러므로 이 회로에 대한 아래 두 가지 값이 제안됩니다:

  • 답 1 : R1 = 1kΩ, R2 = 10kΩ, C1 = 1µF
  • 답 2 : R1 = 1kΩ, R2 = 47kΩ, C1 = 220nF

2. 다이오드 추가
R2의 양단에 D1 다이오드를 추가함으로써, 충전 시간과 방전 시간을 개별로 제어할 수 있습니다. 커패시터 충전 시 R1과 D1만 사용되어 충전 시 상태 변이 시간이 보다 빨라지는 반면, 방전 시 다이오드는 (전류의 흐름을)차단하는 상태이기 때문에 R2만 사용되어 커패시터의 방전 시간이 달라집니다.

image

3. 버퍼 추가
응용 제품이 0.8V나 2.5V와 같은 정의되지 않은 값을 지원할 수 없다면, 히스테리시스를 가지고 있는 슈미트 트리거(Schmitt trigger) 버퍼가 필요할 수 있습니다. 아래 그림은 턴온 및 턴오프 시간이 다르고 히스테리시스가 추가된 회로를 보여줍니다. 회로의 응답 시간은 마이크로컨트롤러의 샘플링 시간에 따라 조정되어야 할 수 있습니다.

image

4. 과도 보호
스위치가 멀리 떨어져 있거나 긴 연결선의 끝에 위치해 있다면, 과전압, ESD 또는 기타 과도현상에 대한 보호가 필요할 수 있습니다. 이는 입력 회로의 프론트 엔드에 페라이트 비드와 TVS 다이오드를 추가해 간단히 처리할 수 있습니다.

image



영문 원본: Switch Bounce in mechanical switch and Debounce Circuit