푸시 버튼 스위치 디바운싱(Debouncing)은 한 번의 기계적인 누름 또는 뗌 동작이 여러 번의 빠른 전기적 신호 변화로 오인되는 것을 방지합니다. 물리적 스위치 내부의 접점은 안정화되는 동안 잠시 동안 붙었다 떨어질 수 있으며, 빠른 제어기는 이러한 변화를 여러 개의 입력 이벤트로 인식할 수 있습니다. PLC, 마이크로컨트롤러 또는 외부 로직 회로가 입력을 필터링할 수 있지만, 올바른 방법과 시간은 스위치, 입력 하드웨어, 신호 경로 및 요구되는 응답 속도에 따라 달라집니다. 모든 버튼이나 기기에 안전하게 적용할 수 있는 보편적인 디바운스 시간은 존재하지 않습니다.
먼저 접점 바운스를 전기적 노이즈, 느슨한 단자, 손상된 접점 블록, 또는 입력을 반복적으로 읽는 애플리케이션과 구분하는 것부터 시작하십시오. 관련 입력에서 신호를 측정 또는 관찰하고, 제어기의 내장 필터 옵션을 확인하며, 누름과 뗌 동작 모두를 테스트하십시오. ONPOW의 GQ22-L-11E/S 푸시 버튼 예시 는 하나의 패널 버튼 형태를 보여주며, 주문하신 모델의 정확한 접점 블록, 배선 및 제어 요구 사항을 확인하십시오. 더 넓은 범위의 push-button range 에는 다른 조작자 인터페이스가 포함됩니다.
제어기 입력단에서 접점 바운스가 나타나는 형태
기계식 버튼은 항상 완벽하고 깨끗한 하나의 에지(Edge)로 열림에서 닫힘 상태로 전환되지 않습니다. 접점이 만날 때, 작은 기계적 반동으로 인해 접점이 안정되기 전에 일련의 짧은 상태 변화가 발생할 수 있습니다. 디지털 입력은 작업자가 버튼을 한 번만 눌렀음에도 불구하고 여러 번의 신호 변화를 감지할 수 있습니다. 접점 바운스는 버튼을 누를 때와 뗄 때 모두 발생할 수 있으며, 서로 다른 스위치나 동일한 제품의 샘플마다 다르게 동작할 수 있습니다.
입력단의 응답 속도 또한 중요합니다. 일부 제어기는 샘플링 속도가 느리거나 입력 필터를 내장하고 있습니다. 반면 인터럽트나 고속 입력 로직을 사용하여 짧은 신호 변화에도 반응하는 제어기도 있습니다. 느리게 폴링(Polling)되는 상태 입력에서는 무해한 신호라도 카운터, 에지 트리거 루틴, 또는 이벤트 큐에는 문제가 될 수 있습니다. 텍사스 인스트루먼트(Texas Instruments)의’ 스위치 디바운스 애플리케이션 브리프 는 물리적 스위치가 로직 입력에서 어떻게 오동작을 유발할 수 있으며 왜 필터가 도움이 되는지 설명합니다. 해당 부품 예시는 ONPOW 스위치나 PLC 모듈의 사양을 의미하지 않습니다.

바운스가 실제 결함인지 확인
지연(Delay)을 추가하기 전에 시스템이 무엇을 하고 있는지 확인하십시오. 원시 디지털 입력 상태, 프로그램의 에지 감지 로직, 그리고 출력 동작을 살펴보십시오. 한 번의 누름으로 입력단에서 여러 번의 신호 변화가 발생한다면, 접점 바운스나 전기적 노이즈가 원인일 수 있습니다. 원시 입력은 안정적인데 기기가 두 번 이상 응답한다면, 그 문제는 소프트웨어 로직, 태스크 스케줄링 또는 반복된 명령어 경로에 있을 수 있습니다.
바운스와 유사한 증상들:
- 전기적 간섭: 전환 부하, 긴 병렬 배선, 열악한 차폐 또는 접지 문제는 입력을 방해할 수 있습니다. 필터는 배선 원인을 수정하지 않고 증상을 숨길 수 있습니다.
- 느슨하거나 마모된 접점: 패널을 만지거나 진동시 변화하는 간헐적 동작은 단자, 커넥터 또는 스위치 결함을 나타낼 수 있습니다.
- 잘못된 입력 기준: 소스/싱크 불일치, 공통 미설정 또는 부적절한 풀업으로 인해 입력이 떠 있거나 반전될 수 있습니다.
- 응용 프로그램 논리: 입력이 높음인 상태를 매번 계산하는 코드가 전기적 전환이 깨끗하더라도 긴 누름을 여러 번 기록할 수 있습니다.
설계가 허용하는 경우 안전하고 접근 가능한 저전압 신호 지점에서 오실로스코프 또는 적합한 논리 계측기를 사용하세요. 원시 접점/입력 동작을 컨트롤러의 해석된 상태와 비교하십시오. 미지의 또는 전원 참조 회로에 접지된 프로브를 절대 연결하지 마십시오; 적절한 등급의 절연 측정 장비와 자격을 갖춘 인력을 사용하십시오.
입력에 적합한 디바운스 방법 선택
디바운싱은 소프트웨어, PLC의 입력 필터 또는 하드웨어에서 수행할 수 있습니다. 이 방법들은 각각 다른 절충점을 가집니다. 펌웨어 필터는 조정이 쉽고, 하드웨어 필터는 인터럽트 또는 컨트롤러 스캔 전에 작동할 수 있습니다. PLC 입력 필터는 이미 모듈의 일부일 수 있습니다. 선택한 방법은 짧지만 유효한 누름을 유지하고 기계가 요구하는 응답 시간을 충족해야 합니다.
| 방법 | 필터링이 발생하는 위치 | 유용한 경우 | 사용 전 확인 |
|---|---|---|---|
| 소프트웨어 상태 안정화 | 응용 프로그램 코드는 일정 시간 동안 변경되지 않은 상태를 허용합니다 | 컨트롤러 프로그램은 추가된 응답 시간을 견딜 수 있습니다 | 누름과 떼기, 작업 타이밍, 짧은 누름, 반복 이벤트 테스트 |
| PLC/모듈 입력 필터 | 입력 하드웨어 또는 구성 필터는 프로그램이 읽기 전에 전환을 필터링합니다 | PLC 입력은 문서화되고 구성 가능한 필터를 제공합니다 | 정확한 모듈 매뉴얼을 사용하십시오; 필터 설정이 응답 및 빠른 입력에 어떤 영향을 미치는지 확인하십시오 |
| RC 플러스 슈미트 트리거 논리 | 아날로그 에지 형성 및 히스테리시스 조건이 디지털 논리 전에 신호를 조절합니다 | 하드웨어 필터가 적합하며 부품 허용 오차를 이해하고 있습니다 | 입력 임계값, 상승/하강 동작, 누설 전류, 최소 펄스 폭을 검증하십시오 |
| 전용 인터페이스 또는 안전 등급 기능 | 설계된 모듈이 입력 조건을 처리합니다 | 응용 프로그램에는 자격을 갖춘 인터페이스 또는 안전 등급 아키텍처가 필요합니다 | 정확한 장치 지침을 사용하고 전체 기계 기능을 검증하십시오 |
간단한 소프트웨어 방법의 경우, 컨트롤러는 후보 상태를 기록하고 반복 샘플이 구성된 간격 동안 일관되게 유지될 때만 수락할 수 있습니다. 상태 변경 루틴은 버튼이 계속 눌려 있는 동안 모든 스캔에 반응하는 대신 하나의 이벤트를 생성할 수 있습니다. 임계값은 측정하고 검증해야 하며, Arduino 예제 또는 다른 기계에서 고정 지연을 복사하면 산업 제어가 느리거나 짧은 명령을 놓칠 수 있습니다.
하드웨어 RC 필터의 경우, 저항과 커패시터가 에지를 형성하며 슈미트 트리거 입력이 히스테리시스를 제공합니다. TI의 애플리케이션 브리프는 이러한 접근 방식을 보여주며 관련 스위치 동작에 대한 시간 상수 선택에 대해 논의합니다. 그곳에 제시된 값들은 해당 회로와 논리 계열에 적용되며, 모든 컨트롤러 입력에 적용되지 않습니다. Microchip의 AN1450 딜레이/디바운서 노트 장치별 논리 구현을 보여줍니다. 이러한 소스를 사용하여 방법을 이해한 후, 실제 입력 임계값과 부품 한계를 확인하세요.
측정된 동작과 요구되는 응답에 따라 필터 설정
단순히 포럼에서 흔히 사용하는 숫자이기 때문에 디바운스 시간을 선택하지 마세요. 작업자 또는 프로세스가 감지해야 하는 최소한의 유효한 누름을 설정하고, 대표 스위치와 테스트 조건에서 접점 동작을 측정하세요. 오픈과 클로즈 모두를 포함하세요. 왜냐하면 바운스는 누름과 릴리즈 엣지에서 다를 수 있기 때문입니다. 관찰된 과도 신호를 차단하면서 유효한 짧은 명령을 인식하는 필터를 선택하세요.
테스트는 하나의 새 스위치 이상을 커버해야 합니다. 여러 샘플, 작동 온도, 장착 방법, 진동, 케이블 길이, 입력 배선, 그리고 해당하는 경우 컨트롤러의 스캔 또는 샘플 간격을 고려하세요. 벤치에서 작동하는 필터가 실제 하니스, 모듈, 기계가 연결되었을 때 다르게 동작할 수 있습니다. 선택한 설정을 전기 또는 소프트웨어 문서에 기록하여 서비스 시 검토할 수 있도록 하세요.
이벤트 카운팅 또는 빠른 작동 시, 디바운스가 허용할 수 없는 지연을 발생시키거나 실제 펄스를 억제하는지 확인하세요. 사람이 작동하는 시작 명령과 고속 인코더는 동일한 신호원이 아닙니다. 요구되는 이벤트 속도가 일반 입력 경로를 초과할 경우, 컨트롤러의 고속 입력 또는 전용 인터페이스를 사용하세요. 바운스가 합리적인 필터링 후에도 지속되면, 물리적 스위치와 배선을 점검하고 지연을 무한히 늘리지 마세요.

버튼과 제어기를 함께 시운전
패널 스위치, 접점 블록, 배선, 입력 모듈, 그리고 프로그램은 하나의 인터페이스를 형성합니다. 정확한 제품 문서에서 NO/NC 접점 배치를 확인한 후, 그 접점이 컨트롤러의 전기 입력 유형에 어떻게 매핑되는지 확인하세요. 접점 라벨과 배선에 대한 맥락은 기존의 푸시 버튼 설치 및 배선 가이드 이자 4핀 푸시 버튼 배선 기사. 전면 사진이나 색상 링만으로는 조립된 조작자의 단자 배치를 확정할 수 없습니다.
시운전 시, 원시 입력 전이, 필터링된 입력 상태, 그리고 하나의 누름과 하나의 릴리즈에 대한 결과 명령을 기록하세요. 의도적인 짧은 누름, 긴 누름, 요구된 속도로 반복 누름, 그리고 관련이 있다면 전원 차단 후 복구를 테스트하세요. 기계가 각 유효 명령을 한 번씩 실행하는지, 명령이 누락되지 않는지 확인하세요. 운영자에게 설치된 제어 장치를 실제 위치에서 사용하게 하고, 반응이 명확하고 신속한지 점검하세요.
비상 정지, 가드 인터록 또는 기타 안전 기능에 일반 목적의 소프트웨어 지연을 추가하지 마세요. 안전 관련 제어는 적절한 안전 등급 아키텍처와 기계 위험 평가 및 관련 요구 사항에 대한 검증이 필요합니다. IEC 60204-1은 기계의 전기 장비를 다루지만, 디바운스 설정만으로 회로를 안전하게 만들 수 없습니다. 기계 제작자의 승인된 설계와 자격을 갖춘 안전 엔지니어링 프로세스를 따르세요.
빈번하게 발생하는 디바운싱 실수
입력을 관찰하지 않고 필터링하기. 먼저 여러 전이들이 전기적으로 존재하는지 또는 프로그램 논리로 유도된 것인지를 판단하세요.
모든 곳에 큰 고정 지연을 사용하는 것. 긴 윈도우는 제어를 반응이 느리거나 유효한 짧은 누름을 놓칠 수 있습니다. 측정된 동작과 요구되는 이벤트 타이밍을 사용하세요.
누름 엣지만 필터링하기. 릴리즈 바운스도 추가 이벤트를 생성할 수 있습니다. 양방향 모두 테스트하고 컨트롤러의 선택한 방법을 검증하세요.
입력을 확인하지 않고 커패시터를 사용하는 것. 느린 에지, 누설, 입력 임계값 및 히스테리시스는 컨트롤러가 신호를 판독하는 방식에 영향을 줄 수 있습니다. 해당 부품 및 모듈의 설명서를 따르십시오.
접점 불량 문제를 소프트웨어 문제로 취급하는 것. 단자 풀림, 접점 블록 손상, 오염 또는 간섭이 발생한 경우 필터링을 추가하는 것이 아니라 물리적인 수리가 필요할 수 있습니다.
일반 코드를 사용하여 안전 회로의 채터링을 제거하는 것. 범용 타이머는 안전 인증 기능이 아닙니다. 설계된 안전 장치와 검증된 아키텍처를 사용하십시오.
교육용 동영상
이 짧은 메이커 튜토리얼에서는 마이크로컨트롤러 푸시버튼의 소프트웨어 디바운싱을 설명합니다. 기본적인 “물리적 버튼 한 번 누름 = 논리적 이벤트 한 번 발생'이라는 개념을 이해하는 데 유용하지만, 사용된 컨트롤러와 타이밍은 단순한 예시일 뿐입니다. PLC 또는 ONPOW 푸시버튼의 설정값을 제시하는 것은 아닙니다.
자주 묻는 질문
모든 푸시버튼 스위치에 디바운싱이 필요한가요?
아니요. 필요 여부는 스위치, 입력 모듈, 애플리케이션 로직 및 응답 요구 사항에 따라 달라집니다. 필터를 추가하기 전에 원시 입력 신호와 모듈 설명서를 확인하세요.
버튼이 해제될 때 접점 바운스가 발생할 수 있습니까?
네. 누르고 놓는 동작이 다를 수 있으므로 양쪽 엣지를 검증하고, 선택한 소프트웨어 또는 하드웨어 방법이 기계가 필요로 하는 이벤트를 처리하는지 확인하세요.
PLC 입력에 어떤 디바운스 시간(디바운스 시간)을 사용해야 하나요?
보편적인 값은 없습니다. 모듈의 문서화된 필터 범위를 사용하고, 대표적인 스위치 동작을 측정하며, 그 결과 지연이 유효한 짧은 명령을 숨기지 않는지 확인하십시오.
더 큰 RC 커패시터가 항상 디바운스를 개선하나요?
아니요. 더 큰 시간 상수는 응답 속도를 늦추고, 논리 임계값에 영향을 미치며, 유효한 이벤트를 억제할 수 있습니다. 저항기/커패시터 허용 오차, 입력 누설, 히스테리시스, 그리고 컨트롤러의 지정된 엣지 요구 사항을 확인하세요.
비상 정지 기능을 일반 PLC 코드에서 디바운싱해야 합니까?
일반 목적의 디바운스 설정은 검증된 안전 설계를 대체해서는 안 됩니다. 기계의 위험 평가에 따라 정의된 지정된 안전 등급 장치와 컨트롤러 아키텍처를 사용하십시오.





