我最近在给医院的电动病床做电子设计。这个设计不难,只需在两个方向使用六个致动器(actuator),外加几个按键。
竞争对手使用一对继电器来切换马达的方向,但我们决定在H 桥电路中使用场效晶体管(FET)作控制。这是典型的电路设计,而且并非我们为马达控制所作的第一个电路设计。设计中会出错吗?结果发现问题很多。
完成最初的原型组装后,开始测试。一切似乎运作正常,但是由于某些原因,当我快速切换方向时(例如快速地按上、下按钮时),实验室的红色LED显示灯有时候会突然闪烁一下,这表明电流超过限制而发生了电路跳闸。为什么会出现这种情况?这个电路板本身正在测试,没有附加负载(只有微小的LED),唯一的解释就是H 桥短路。
重新检查控制驱动器的软件,用示波器检验控制FET驱动器的信号,并确认我们在相反方向打开H 桥之前,已经完全关掉所有设备。但问题依然存在。
然而,如果在切换方向时加上至少10ms的延迟,问题就消失了。我想这是一个解决办法,对吧?在实际应用中,这种延迟并没有任何影响,因为用户不可能注意到这个微小的差异。但是我真的不太喜欢在生产设备时存在任何不明状况。我得把问题弄个水落石出。
现在来研究一下电路图。因为客户希望降低成本,因此我们没有使用任何专用FET驱动器IC。如下图所示,上方的栅极(Q1)由非常原始的分压器控制,而底部的栅极(Q2)有较为精细的驱动器。实际上,底部驱动器的开关速度约为1μs,而上方驱动器的开关速度约为100μs。这种折衷方案很容易理解。我们不确定是否所有六个通道上都需要脉宽调制(PWM)功能,例如软启动/停止(soft start/stop)。我们这样做的理由是让上方其中一个栅极维持开启状态,并且对下方的栅极进行脉宽调制。因此,应用中只需要降低上方驱动器的速度。
图1:电路中没有使用任何专用FET驱动器IC。
改变方向时,我们发现上方的驱动器速度变慢,在打开左、右两边栅极时会有200μs的延迟时间(反之亦然)。
将每一次栅极切换(gate switching)事件分离出来,我们很快发现,这个问题与打开下方栅极时产生的问题是一致的。当时乱成一团,12V线路崩溃了,24V线路也崩溃了(其电流受到电源控制),底部驱动器的振荡时间达到10到15μs。到底是怎么回事?!
同时,H桥的地回路(ground return path)出现了极大的突波(surge)。起初我以为接地反弹(ground bounce)会大到足以关闭Q39,并打开桥底错误的那一面。可能情况也的确如此,因为直接连接CPU接地和桥接地会防止过电流跳闸(overcurrent tripping)。但是原来的接地反弹来自何方?接地的布线设计(layout)经过一次又一次的反复检查,确认没有任何错误。将接地(ground)连接起来没有任何意义,因此也无法解决问题。
通过对问题进行充分的研究分析,我意识到可能是顶部驱动器的原因。的确,将电阻R1和R15降低到500Ω会减少接地反弹,并停止过电流跳闸。但是问题依然存在,只是受影响的程度大大降低。
然后我就知道原因了。例如,当我打开左边的栅极(Q1B)后,桥的输出都是24V(因为它们通过负载连接,底部栅极是关闭的)。当我打开右边的栅极(Q2A)时,我有一个电容分压器—— Cgd和Cgs,它由上方的FET Q1A所形成,栅极为分压器的中点。电流对电容进行充电使上方的栅极变成12V,与源极(source)相对应,因此导通了右上方的栅极。现在电流直接流过桥的右侧,结果出现接地反弹,并打开了左下方的栅极。现在四边的栅极都打开了! 24V线路开始崩溃,导致12V线路断电。
事后看来,原因似乎显而易见。如果不需要快速切换功能,为什么要设置快速且功能强大的FET驱动器?吃一堑长一智,不要再将电阻驱动器当作功率FET了。
《电子技术设计》2017年7月刊版权所有,谢绝转载。