Designing a system that uses momentary buttons may seem trivial – you push the button, the circuit closes, what could be more simple? But this confidence can cause trouble.
A product designer’s goal is that their product behaves in predictable and safe ways at all times during the life of the product. Therefore, it is essential that failure modes for all components (and sub-systems) be considered.
Never expect a momentary button to perform flawlessly. There are several ways buttons can “fail” (see our list further down this page).
Microprocessor-based systems are particularly susceptible to unexpected behavior when momentary buttons perform in a less-than-perfect way.
The purpose of this brief discussion is to present failure modes we have identified with our hand button assemblies.
Our button assembly can fail in one of four ways (listed in descending order of probable occurrence):
“Dirty Closure” – predominantly caused by worn-out button, but is also caused by damaged/worn cord. A “dirty closure” means the circuit will open-and-close multiple times as the button goes from open to fully pressed. Suggestion – at the very least, use a debouncing technique to safeguard against multiple transitions when the button is pressed and released. Effective debouncing can range from 5msec to 20msec (depending on the application).
Open-Circuit – caused by worn-out button or broken conductor in the cord
“False Closure” – Worn-out buttons can also close the circuit while the button is being pressed, but the switch contacts open when the button is fully pressed (the opposite of what you’d expect). When the button is released, the switch contacts temporarily close until the button is released (at which point it opens). Consequence – if the operator presses and holds the button for a length of time, your system may regard the switch closure (when the button is released) as a “new button press”.
Short-Circuit – caused by faulty cord (very rare, but it can happen)
One additional failure mode to consider is ESD (“electrostatic discharge”). ESD can occur when electrostatic energy is coupled from the user, through the button assembly, into the cord, and into your circuit. It is essential to safe-guard your circuit so that it dissipates ESD in a safe way.
ESD can also cause erratic system operation. Proper filtering and/or code that debounces switch-closures is essential. Also note that ESD can cause poorly-filtered input circuits to “latch up”.
* ESD is not associated with the button assembly itself, but can be a consequence of the button assembly when it’s part of your system.