探索开关弹跳现象:GitHub 上的详尽波形参考库
GitHub 上的一个名为 gsuberland/switch_bouncing 的仓库收集了多种开关在操作时产生的反弹行为的数据。这对于开发稳定可靠的去抖动系统非常有用,无论是电路设计还是固件编写。仓库中的数据来源于多款不同类型的开关测试,包括摇杆开关、按钮开关和键控开关。 测试设备 Multicomp MC3813-011-01:摇杆开关,锁定式,双刀双掷(DPST)。仅测试了一组触点。 Schurter 1301.9206:摇杆开关,锁定式,单刀单掷(SPST)。这是一款老型号,已闲置超过十年。 Schneider XB2-BW31B1C:按钮开关,瞬时式,常开(NO)。属于大型工业按钮。 XKB Connection TC-1103-B-A:按钮开关,瞬时式,常开(NO)。具体特点未详述。 Dailywell MPS22-A03FP-3-JR-3V:按钮开关,瞬时式,常开(NO)。具有 IP67 和 IK10 等级,适用于恶劣环境。 Dailywell KPB22-8000-F10-324-JQ:按钮开关,瞬时式,单刀双掷(SPDT)。具有 IP65 等级,记录了常开(NO)和常闭(NC)触点的痕迹数据。 Lorin IRL-5-M-D-2:键控开关,瞬时式,双刀双掷(DPDT)。仅记录了一个触点的数据,且只有常开(NO)触点的反弹迹线,因为常闭(NC)触点的引脚被剪断了。 测试条件 开关配置为下拉状态,即开关打开时电压为 +5.0V,关闭时电压拉至地(0V)。所有反弹迹线都通过相同的测试程序和设备采集: 数据展示 每种设备的数据包含 32 次开关闭合动作和 32 次开关断开动作的叠加图形。需要注意的是,高电压代表开关打开状态,低电压代表开关关闭状态。 Multicomp MC3813-011-01 闭合时(下降沿) 断开时(上升沿) Schurter 1301.9206 闭合时(下降沿) 断开时(上升沿) Schneider XB2-BW31B1C 闭合时(下降沿) 断开时(上升沿) XKB Connection TC-1103-B-A 闭合时(下降沿) 断开时(上升沿) Dailywell MPS22-A03FP-3-JR-3V 闭合时(下降沿) 断开时(上升沿) Dailywell KPB22-8000-F10-324-JQ 闭合时(常开触点,下降沿) 断开时(常开触点,上升沿) 闭合时(常闭触点,下降沿) 断开时(常闭触点,上升沿) Lorin IRL-5-M-D-2 闭合时(下降沿) 断开时(下降沿) 数据文件 仓库的发布部分提供了这些开关的原始数据和 PWL 文件。PWL 文件包含了随时间变化的开关电阻值,假设未闭合状态下的电阻为 100MΩ,闭合状态下的电阻为 1mΩ。这些文件可以帮助用户更准确地模拟开关在反弹期间的行为,而不仅仅是简单的开/关状态。 LTSpice 示例 PWL 文件可以在 LTSpice 中加载到电源中,其输出电压被标记为 Vres。然后在电路中添加一个电阻,其参数设置为 R={V(Vres)},这样电阻就模拟了开关的行为。LTSpice 中的其他组件用于硬件去抖动测试,但实际上只需要电源和电阻即可。 原始数据格式 所有的原始数据都在发布部分以 CSV 文件形式提供,每种设备都有单独的目录。对于双掷开关,常开和常闭触点的数据会分别存放在带有 -NO 和 -NC 后缀的目录中。 时间戳 时间戳以毫秒为单位,零表示示波器被触发的时间点,负数表示触发前的时间,正数表示触发后的时间。 许可证 该仓库中的所有内容均已发布到公有领域,使用者可以自由利用。 行业专家评价 这一项目的实用性得到了广泛认可,特别是对于嵌入式系统开发工程师而言,能够提供宝贵的参考数据来设计和优化去抖动算法。 GitHub 用户 gsuberland 被誉为是一位细致且乐于分享的技术爱好者,其工作对社区贡献良多。 公司背景 这些测试涉及的公司如 Schurter、Schneider、Dailywell 和 XKB Connection 均为知名电子元器件制造商,产品覆盖工业、消费级和专业应用领域。该数据的公开发布,不仅有助于个人项目,也为企业提供了重要的技术支持。
