IR2104 + IRF540 MOS电机驱动全桥 学习与实践过程
使用L293或L298等全桥芯片来控制直流电机虽然简便而且成本低廉,但由于它们的内阻较大,在控制大电流的马达时芯片常常过热,导致系统的整体效率较低。在电动车上,马达控制芯片的内阻过大会导致车子的加速度变小。
本人设想在暑假制作一个大的轮式或者履带式机器人,并且希望它能跑到公交车那么快,于是开始研究如何使用MOS管来控制更大电流的电机。
首先,本人参考了 《大功率直流马达的驱动——ABU ROBOCON 2005比赛之动力方案》一文中的电路图 (原文地址 http://www.robotdiy.com/article.php?sid=192 )
按照这个原理图,我热转印制作了单个全桥的实验电路。个别的电阻电容值有所变动。
上电并给予有效的持续高电平信号后发现电路不能驱动马达,而2104开始发烫,540没有任何反应。于是更换2104,但仍出现同样的现象。通过示波器检测发现,高端MOS没有被驱动,而低端MOS的G端信号正常,因而桥没有被导通。更换信号方向,另外半桥仍然出现相同的现象。
本人开始怀疑是BOOTSTRAP电容的问题,于是实验了不同的电容值。但无论怎么变换,问题仍然没有被解决。由于手头没有4148,使用了IN5819作为续流二极管,按道理5819只会比4148更好,不应该成为问题的原因。
由于手头2104只有6片,而所有的都上电并且发热过,于是重新购买了一批2104。在这里感谢周顺同学,那天刚好他毕业考考好,帮我到科技京城买了2104。
更换2104后,电路工作正常。周顺看了看我原来的2104,恍然大悟:原来的芯片是97年前的旧货。 马达欢快地转了起来。由于540的内阻要比298小很多,马达的加速度明显提高,变向时电刷更是发出了闪亮的火星。
回到家后用示波器开始研究高端MOS的G端驱动电压波形。发现在EN端为高的初期,高端MOS的驱动电压突然升至比VCC高10V。此时强推动作用起效。但随着时间的流逝,该电压逐渐衰减为VCC,MOS的导通程度越来越不完全。直到下一个脉冲到来,G端电压又恢复为VCC+10V,但又逐渐衰减。也就是说,用持续的高电平信号来驱动MOS会导致MOS不能被完全导通,致使MOS发热,马达的实际功率低下。使用PWM信号则可以解决这个问题,它使BOOTSTRAP电容反复充电放电,使高端驱动电压始终维持在一个比较高的水平。倘若想让马达全速前进,不能使用持续的高电平,而需要用3%左右占空比的PWM,这是驱动2104与驱动298等全桥芯片的最大差别。
不同的BOOTSTRAP电容值适应于不同频率的PWM信号与不同的MOS。电容值大的充电和放电时间都比较大,电压衰减得也比较慢,因而适合较低频率的PWM;电容值小的充电放电时间比较短,适合于较高频率的PWM。虽然IR给出过一个BOOTSTRAP电容的计算公式,但本人更倾向于通过实验来寻找合适的电容值。这样做既避免了繁杂的计算,又可以通过实验来了解它的工作原理,而且还可以适应板载电容。
通过实验,本人确定了1UF的电容值。该电容采用了旦电容,以减少漏电。但如果没有旦电容,其他漏电较大的电容影响也并非很大。相对于高频的PWM,在如此短的时间内漏电的影响是微乎其微的。但从理论上来说,BOOTSTRAP电容漏电会导致高端MOS的导通电阻变大。
总结了以上经验,本人又制作了一块双电机的MOS驱动电路。电路没有太大的改变,只是把续流二极管改为原图所说的4148,把阻容换成了贴片封装,并且采用了1UF旦电容作为BOOTSTRAP电容。
点击此处下载热转印用PCB文档(DXP)
该电路制作好后成功地驱动了我的机器人小车。小车在全速启动以及突然反向运动时的性能明显比使用298要好。主要原因为突然变向的电流很大,而298的驱动能力有限,导致变向的电流较小,加速度较小。 实验并没有发现该电路有什么问题,于是电路基本定型,转向于研究设计印刷电路板。由于TO-220封装的MOS管直立很占空间,而且还需要散热器,于是本人决定采用贴片的D2PAK封装的IRF540,其他元件也都改为贴片封状。另外为了散热,本人还在芯片的上面设计了散热器和风扇。降低MOS温度可以大大提高工作效率。
一周后我拿到了印刷电路板,同时我也去购买贴片元件。IRF540S(S是贴片,N是TO-220)并没有买到正品,而是买到了打磨后重新刻字的拆机件,其他元件都买到了正品。回家焊接好后,电路工作正常,绿的散热器很漂亮。
点击此处下载PCB以及SCH
虽然该电路工作正常,但总感觉拆机的MOS管发热很大。于是我决定将TO220的正品540改为D2PAK封装,以做对比实验。
首先,用凿子将BACK凿到合适的位置
剪去一个脚
用老虎钳弯到合适的位置再剪到合适的长短
改装好的540与D2PAK封装的7805对比
我将这些改装好的正品540焊接到了电路上,而且没有安装散热器。由于急于想看到实验结果,在使用完焊锡膏后我没有洗板就上电了,结果2104突然冒火,被烧成两半。我急忙断电,但为时已晚。更换2104后,电路仍不能正常工作。通过检测发现,问题出在74HC00上。更换74HC00并洗板后,电路工作正常。我突然意识到74HC00的剩余引脚没有接地,而焊锡膏则可能导致漏电。因而我将这次事故的主要原因归结为:CMOS剩余引脚没有接地,而焊锡膏漏电导致惨剧发生。
电路修理好后,通过驱动同一马达,我发现正品540没有任何感觉得到的升温,而拆机540则明显升温。我断定,拆机540并非540,而是其他电流较小的MOS打磨后冒充540。
我来到科技京城,到处寻找IRF540S,但所有的商家都告诉我,只有假的,真的没有。而其他的贴片MOS,电流都比较小。因此我意识到只能采用手工加工540N的办法来获得540S。。。。。真是无奈啊。 回家后我开始实验较大电流的驱动,我将驱动电压和2104工作电压设为同路的12V,由一个2A的稳压电源供电,并且将限流开到最大。驱动信号为97%高电平的PWM,每隔1秒反转马达。当马达反转时,意想不到的事情发生了:马达停了下来,电流却被限制在了2A!此时板上的元件一定开始发热了!我迅速地将电源关闭。摸了下2104,滚烫!不过还好没有烧毁。重新上电驱动小马达一切正常。但一反转大马达,同样的事情再次发生。经过反复思考,我将该问题归结于电源的限流。由于马达反转时电流巨大,拉低了电压,使2104工作电压低于了正常范围(10V-20V),最低甚至到达了3V,而此时外围电路却在继续工作,2104极有可能发生错乱而导致发热。因此本人建议:2104的VCC最好能单独供电,千万不能因为马达而拉低电压,否则后果很可能是毁灭性的!
解决了该问题后,我想到电路的设计电流过小,50MIL的线顶多只能通过5A的电流,而540却能驱动30个安培,该电路对它的驱动能力造成了极大的浪费,因此决定重新设计。
在重新设计的电路板上,我没有改变任何的电路,而是把心思放在了走线以及散热上。我在每个MOS的正面和反面都采用了长方形的敷铜充当散热片,并且在MOS安装的地方用数量众多的过孔将两片敷铜连接起来,使正面的热量能够迅速传递到反面进行散热。另外在大电流的网络中,我还运用了SOLDER层去除阻焊层,使之能够镀锡以提供更大的电流。
昨天我拿到了PCB板,迫不及待地进行了焊接,洗板以及上电实验,一切顺利。电路自身的散热性能极佳。
可以看到MOS反面的散热敷铜以及热传导用的过孔
焊接好的板子(正面)
焊接好的板子(反面)
MOS的研究基本上告以段落,因此作该文以分享我研究过程中的经验以及快乐。有一些多余的打印好的热转印纸和5张第一板的PCB可以送给大家,请需要的人跟贴。前提是你在索取之前已经进行过一些相关的学习和实验,并乐意将自己的快乐与大家分享。