先说结论:差压(-5V~+5V 或 -3.3V~+3.3V)给定相比单端 0~5V 给定,抗干扰好一个数量级,但它有一个致命特性:断线时"两侧同时悬空",接收端读到的差值可能落在正满偏,设备直接满速冲出去。
这个失效模式叫"fail-to-max",和模拟量的 fail-safe 恰好相反。本文讲清它的成因,以及为什么必须有软件侧的合理性判断。
某板材切割机的横移轴,原用单端 0~10V 给定,改造后换成差压给定以提升抗干扰(导轨旁有变频器)。
驱动侧用的是 AQMD2410NS-B3I 直流有刷电机驱动器,电机控制方式为有刷 PWM 斩波调速 + 四象限运行,485/CAN 隔离:峰值 16A(30 秒)/ 额定 7.5A,适配 12V-40W 至 24V-120W,能耗制动 3A,过热/过流/短路保护,支持单电位器、开关、按键、0-3.3/10V 模拟、-3.3V~3.3V 差分模拟等多种给定,55×55×25mm 裸板。
改造后运行两周正常。第三周一次检修后,电工把差压负端的端子漏拧,设备上电即满速冲出,撞到机械限位。
差压给定用两根线 V+ 和 V−,接收端取 V_adc = V+ − V−。地电位差同时叠加在两根线上,做差时相互抵消——这就是它抗干扰的原理。
但断开一根线时:
正常:V+ = 1.65V, V− = 1.65V → 差值 0V(零速)
断 V−:V+ = 1.65V, V− 悬空(被输入偏置拉向某电位,可能接近 0V 或轨)
→ 差值 ≈ +1.65V → 满偏 → 满速注意:悬空端的电位不确定,取决于接收端的输入偏置网络、线上的感应电荷、以及 PCB 的漏电流。 它可能落在正满偏,也可能落在负满偏。对横移轴来说,两个方向都是灾难。
单端 0~10V 的断线行为恰恰相反:线断开后输入悬空,若接收端有下拉,读数归零——fail-to-zero,设备停住,这是"安全方向"。
要做出 fail-safe,接收端需要在两线之间加偏置网络:一个上拉 + 一个下拉,使开路时差值稳定落在零或负值。
但很多驱动器的差压输入为了"不影响精度",刻意不加偏置(偏置电阻会带来误差与温漂),于是就成了 fail-to-max 的隐患。
判断方法很简单:断开 V− 线,上电,看驱动器往哪个方向跑。
硬件改不了的情况下,固件必须兜住。三道判断按优先级:
第一道:给定合法性窗口。 上电后 200ms 内,若给定值超出 [−0.5V, +0.5V] 范围(即非零位),判定为异常,禁止使能,等待操作员确认。
第二道:跳变速率限制。 正常操作电位器,给定变化率远低于此值;断线瞬间是阶跃:
正常旋钮:全行程 2 秒 → 变化率 ≈ 1.65V/2s ≈ 0.8 V/s
断线阶跃:≈ 1.65V / 数毫秒 → 数百 V/s
判据:单周期变化 > 0.5V 且持续 2 个周期 → 判定异常,立即封锁第三道:使能前的一致性校验。 使能瞬间读取给定,与上一周期的存储值比对,差值超阈值则要求"归零后再使能"——类似机床的"手轮回零"逻辑。
如果允许改板,加两个 100kΩ 电阻即可(对 10kΩ 电位器源内阻影响可忽略):
V+ ──[100k]── V_supply_mid
V− ──[100k]── GND
开路时:V+ ≈ V− ≈ 中点 → 差值 ≈ 0 → fail-to-zero代价是输入阻抗略降、共模抑制略有变化,但对 0.5% 级的工艺要求完全够用。
接口的"抗干扰能力"和"失效安全能力"是两个独立指标。抗干扰强的接口,未必失效时是安全的——这条在选型表上永远找不到,只能靠推演失效模式。
文中电压数值按 ±1.65V 差压摆幅举例;实际开路电位随接收端偏置网络与走线分布变化。本文为原创内容,未引用第三方受限文档。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。