HyperAIHyperAI

Command Palette

Search for a command to run...

GitHub Repository Provides Comprehensive Switch Bouncing Data for Various Switch Types

GitHub user gsuberland has created a repository titled "switch_bouncing," which serves as a comprehensive resource for developers and engineers looking to understand and handle switch bouncing in their circuits and firmware. Switch bouncing is a common issue where a mechanical switch does not transition instantly between states, leading to rapid, short fluctuations in the signal. This repository provides detailed traces of switch bouncing behavior for various types of switches, offering valuable reference data for implementing robust debouncing solutions. Devices Tested Multicomp MC3813-011-01 Type: Rocker switch, latching, DPST (Double Pole Single Throw) Notes: Only one pole was tested. Schurter 1301.9206 Type: Rocker switch, latching, SPST (Single Pole Single Throw) Notes: An older part, stored in the developer's drawer for over a decade. Schneider XB2-BW31B1C Type: Push button, momentary, NO ( Normally Open) Notes: A very large industrial pushbutton. XKB Connection TC-1103-B-A Type: Push button, momentary, NO Notes: No additional notes provided. Dailywell MPS22-A03FP-3-JR-3V Type: Push button, momentary, NO Notes: Rated IP67 and IK10, indicating high protection against solid objects and water ingress. Dailywell KPB22-8000-F10-324-JQ Type: Push button, momentary, SPDT (Single Pole Double Throw) Notes: Rated IP65, with both normally-open and normally-closed traces recorded. Lorin IRL-5-M-D-2 Type: Key switch, momentary, DPDT Notes: Only one pole was recorded, and only the normally-open trace was captured as the normally-closed legs had been removed. Test Conditions The switches were configured as pull-downs, meaning the output voltage is +5.0V when the switch is open and drops to ground (0V) when the switch is closed. Each device's behavior was recorded using a standardized procedure and the same equipment to ensure consistency across the tests. Plots The repository includes plots that display 32 opening and 32 closing actions overlaid on each other for each device. Here is a brief overview: Multicomp MC3813-011-01 Falling Edge (Switch Closing): Detailed trace. Rising Edge (Switch Opening): Detailed trace. Schurter 1301.9206 Falling Edge (Switch Closing): Detailed trace. Rising Edge (Switch Opening): Detailed trace. Schneider XB2-BW31B1C Falling Edge (Switch Closing): Detailed trace. Rising Edge (Switch Opening): Detailed trace. XKB Connection TC-1103-B-A Falling Edge (Switch Closing): Detailed trace. Rising Edge (Switch Opening): Detailed trace. Dailywell MPS22-A03FP-3-JR-3V Falling Edge (Switch Closing): Detailed trace. Rising Edge (Switch Opening): Detailed trace. Dailywell KPB22-8000-F10-324-JQ N/O Falling Edge (Switch Closing): Detailed trace. N/O Rising Edge (Switch Opening): Detailed trace. N/C Falling Edge (Switch Closing): Detailed trace. N/C Rising Edge (Switch Opening): Detailed trace. Lorin IRL-5-M-D-2 Falling Edge (Switch Closing): Detailed trace. Falling Edge (Switch Opening): Detailed trace. PWL Data Piecewise Linear (PWL) files are also available for download in the repository's releases section. These files contain switch resistance values over time, assuming an off-resistance of 100MΩ and an on-resistance of 1mΩ. This allows for more accurate simulation of switch behavior during bouncing, moving beyond the basic on/off state. For example, in LTSpice, the PWL file can be loaded into a voltage source, labeled as Vres. A resistor can then be added to the circuit with its resistance parameter set to match the voltage source label (R={V(Vres)}). This setup effectively simulates the switching behavior, making it easier to test and refine debouncing techniques. Raw Data Raw data for the tests is provided in CSV format and can be downloaded from the repository's releases section. Each device has its own directory, and for double-throw devices, there are separate directories for normally-open (-NO) and normally-closed (-NC) data. The CSV files include voltage measurements in volts and timestamps in milliseconds. A timestamp of zero marks the point at which the oscilloscope was triggered by a rising or falling edge, with negative values representing times before the trigger and positive values after. License All content within this repository is released into the public domain, allowing free access and use for anyone interested in studying or addressing switch bouncing issues. This repository is a valuable resource for those working on electronic projects, providing practical data and tools to help create more reliable and stable circuits and firmware. By understanding the specific behaviors of different switches, engineers can design effective debouncing strategies to minimize or eliminate the impact of switch bouncing in their applications.

Related Links

GitHub Repository Provides Comprehensive Switch Bouncing Data for Various Switch Types | Trending Stories | HyperAI