ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

IR2104+MOS管H桥驱动直流电机:从选型到调试的完整指南

IR2104+MOS管H桥驱动直流电机:从选型到调试的完整指南 1. 为什么IR2104加MOS管H桥是直流电机驱动的黄金组合搞电机驱动的朋友多半都经历过这样的纠结想驱动一个几十瓦甚至上百瓦的直流有刷电机用现成的L298N模块吧压降大、发热猛电流一过2A就开始烫手用继电器搭H桥吧切换频率上不去PWM调速基本没戏触点还容易烧蚀。折腾一圈下来你会发现自搭分立MOS管H桥才是真正兼顾效率、成本和可控性的方案。而在这个方案里IR2104这颗半桥驱动芯片几乎是绕不开的选择。IR2104是什么简单说它是一片高压、高速的功率MOS管半桥驱动芯片内部集成了自举供电电路和死区逻辑能同时输出两路驱动信号去控制一个半桥的上管和下管。两片IR2104拼在一起就构成了一个完整的全桥H桥驱动架构。它最大的价值在于解决了两个核心痛点一是高边MOS管的栅极驱动电压问题二是上下管直通短路的风险。这两点如果靠分立元件自己搭光是自举电容和死区时间的计算就够喝一壶的。这套电路能做什么最典型的应用就是直流有刷电机的正反转控制和PWM调速。你给它两路方向信号加一路PWM信号电机就能实现无级调速、正反转切换、快速制动。往大了说它可以驱动电动工具、机器人底盘、升降机构、传送带往小了说做个自动窗帘、云台旋转、小车驱动都绰绰有余。工作电压从12V到48V都能覆盖电流能力取决于你选的MOS管做到几十安培也不稀奇。适合谁来参考如果你已经会画简单的单片机最小系统能看懂基本的MOS管开关电路那这篇内容就是为你准备的。如果你连MOS管的三个引脚都还没分清建议先补一下MOS管工作原理的基础知识否则后面关于米勒效应和寄生电容的讨论会让你一头雾水。我会尽量用生活化的类比把关键概念讲透但基本的电路常识还是需要你提前具备。注意本文讨论的是低压直流有刷电机的H桥驱动不涉及交流电机、无刷电机或三相逆变器。虽然底层原理相通但拓扑结构和控制策略差异很大不要混用。2. 电路整体架构与核心器件选型思路2.1 H桥拓扑的基本工作原理H桥这个名字来源于它的电路形状——四个开关管围成一个“H”形电机横跨在中间那条横杠上。想象一下十字路口的四个方向各站一个交警电机就是路口中央的车辆。通过控制对角线上两个交警同时放行车辆就能往一个方向走换另一对对角线放行车辆就往反方向走。这就是H桥最朴素的正反转逻辑。具体到MOS管H桥四个管子分为两组左上Q1和右下Q4组成一组右上Q2和左下Q3组成另一组。当Q1和Q4同时导通时电流从电源正极经Q1流向电机正极再从电机负极经Q4回到地电机正转。当Q2和Q3同时导通时电流方向反转电机反转。关键在于同一侧的上管和下管比如Q1和Q3绝对不能同时导通否则电源正极直接通过两个管子短路到地瞬间大电流会把管子炸掉。这个“绝对不能同时导通”的约束就是死区时间存在的意义。用MOS管代替机械开关的好处在于MOS管的开关速度可以做到微秒甚至纳秒级别这意味着你可以用PWM信号高速斩波来控制电机的平均电压从而实现无级调速。而且MOS管导通时压降很小典型值只有几十毫伏大电流下的损耗远低于达林顿管或继电器方案。2.2 为什么选IR2104而不是自己搭分立驱动你可能会想驱动MOS管不就是给栅极加个电压吗为什么还要专门用一颗驱动芯片这里涉及两个关键问题。第一个问题是高边驱动。H桥的上管Q1和Q2源极是接在电机输出端的不是接地。当上管导通时源极电压会接近电源电压。要让上管导通栅极电压必须比源极高出10V左右。也就是说如果电源是24V上管导通时源极是24V栅极需要34V左右。你手头的单片机只能输出5V或3.3V根本没法直接驱动。IR2104内部集成了一个自举电路用一个电容和一个二极管就能在每次下管导通时给自举电容充电上管导通时把电容上的电压叠加到栅极上轻松解决高边驱动问题。第二个问题是死区控制。IR2104内部有硬件死区逻辑当输入信号切换时它会自动插入一段死区时间确保上管完全关断之后下管才导通反之亦然。这个死区时间典型值是520ns左右对于大多数MOS管来说足够安全。如果你自己用分立元件搭驱动死区时间要么靠RC延时要么靠单片机软件插入前者精度差后者占用CPU资源且容易出错。IR2104的输入逻辑也很简洁一个IN引脚控制半桥输出状态一个SD引脚用于关断。当SD为低电平时两路输出都被强制拉低半桥关闭。这个功能可以用来做紧急制动或故障保护。两片IR2104分别驱动H桥的左半桥和右半桥IN引脚接单片机的方向控制信号SD引脚可以并联接使能信号。2.3 MOS管选型的关键参数与计算过程选MOS管不是随便抓一个IRF540就完事需要根据你的电机参数来算。假设你要驱动一个24V、额定电流5A、堵转电流15A的直流有刷电机以下几个参数必须重点看。耐压VDS电源24V电机换向时会产生反电动势加上线路寄生电感导致的尖峰实际加在MOS管漏源之间的电压可能达到电源电压的2倍甚至更高。所以VDS至少选40V以上稳妥起见选55V或60V。IRF3205的VDS是55V刚好够用但余量不大IRF1404的VDS是40V就有点冒险了。导通电阻RDS(on)这个参数决定了管子导通时的损耗。IRF3205的RDS(on)典型值是8mΩ在15A堵转电流下单管损耗是15²×0.0081.8W。H桥工作时同时有两个管子导通总损耗约3.6W。这个热量需要散热片来散否则管子会过热。如果你选RDS(on)更低的管子比如IRF1404的4mΩ损耗能降到一半但价格也上去了。栅极电荷Qg这个参数决定了驱动芯片需要提供多少电流来快速开关MOS管。IRF3205的Qg是146nCIR2104的输出峰值电流是200mA左右开关时间大约在几百纳秒量级对于20kHz的PWM频率来说完全够用。但如果你选了一个Qg特别大的管子比如某些低RDS(on)的型号Qg超过300nC开关速度就会变慢开关损耗增加这时候就需要考虑换驱动能力更强的芯片或者加图腾柱缓冲。封装与散热TO-220封装是最常见的选择方便加散热片。如果电流更大可以考虑TO-247或者直接上多个管子并联。并联时要注意均流问题每个管子的栅极要单独串一个小电阻比如10Ω来抑制振荡。参数IRF3205IRF1404说明VDS55V40V24V系统建议55V以上RDS(on)8mΩ4mΩ越低损耗越小ID110A162A脉冲电流能力Qg146nC200nC影响开关速度封装TO-220TO-220通用封装实操心得选MOS管时不要只看电流参数很多标称100A的管子是在25°C壳温下的理想值实际加散热片后可能只能跑30A。留足余量比追求极限参数更重要。3. 完整电路图拆解与关键节点分析3.1 主功率回路与自举电路先看主功率部分。电源正极经过一个滤波电容建议100μF电解并联0.1μF陶瓷后接到Q1和Q2的漏极。Q1的源极接电机的一端同时接IR2104左片的VS引脚Q2的源极接电机的另一端同时接IR2104右片的VS引脚。Q3和Q4的漏极分别接电机两端源极共同接地。电机的两端就是H桥的两个输出节点。自举电路是IR2104正常工作的关键。以左片IR2104为例VB引脚和VS引脚之间接一个自举电容通常0.1μF到1μFVB引脚还通过一个快恢复二极管如1N4148或UF4007接到12V驱动电源正极。当Q3下管导通时VS引脚被拉到地电位12V电源通过二极管给自举电容充电电容两端电压接近12V。当Q3关断、Q1需要导通时IR2104内部把VB引脚的电压连接到HO输出此时VS引脚电压升高到接近电源电压自举电容上的12V电压就像坐在一个升高的平台上一样使得HO输出的电压比VS高出12V足以驱动Q1导通。这个自举电容的选型有讲究。容量太小上管导通期间电荷很快放完栅极电压下降管子进入线性区发热容量太大充电时间长低频PWM时可能来不及充满。经验公式是C≥2×Qg/ΔV其中Qg是MOS管栅极电荷ΔV是允许的电压跌落。以IRF3205的146nC为例允许跌落1V则C≥2×146nC/1V292nF取0.47μF或1μF都行。实际用1μF/25V的陶瓷电容就很稳。自举二极管必须用快恢复型反向恢复时间在100ns以内。普通整流二极管如1N4007的反向恢复时间在微秒级在高频开关下会发热甚至失效。UF4007的反向恢复时间是75ns1N4148是4ns都可用。但1N4148的电流能力只有200mA左右如果PWM频率很高、自举电容充放电电流大建议用UF4007或ES1D。3.2 栅极驱动电阻与死区设置IR2104的HO和LO输出不能直接接MOS管栅极中间必须串一个栅极电阻。这个电阻的作用是限制栅极充电电流控制开关速度抑制栅极振荡。电阻太小开关速度快但容易引起振铃和EMI问题电阻太大开关速度慢开关损耗增加。对于IRF3205这类Qg在100nC级别的管子栅极电阻取10Ω到22Ω比较合适。我实测用15Ω时开关时间大约300ns20kHz PWM下温升可以接受。如果你发现管子发热严重但电流不大可以试着减小栅极电阻看看波形有没有改善。但注意减小电阻会增加驱动芯片的峰值电流IR2104的峰值输出电流是200mA15Ω电阻下峰值电流约0.8A已经超过芯片能力了——实际上IR2104内部有限流所以栅极电压上升会变慢。这也是为什么大Qg管子需要外加图腾柱缓冲的原因。死区时间方面IR2104内部已经固定了约520ns的死区对于大多数应用足够了。但如果你用的MOS管开关特别慢比如栅极电阻取了100Ω520ns可能不够上下管会有瞬间同时导通的风险。判断方法是用示波器同时看HO和LO的波形确认一个完全降到0之后另一个才开始上升。如果没有示波器就老老实实用小一点的栅极电阻别超过47Ω。3.3 电源去耦与保护电路IR2104的VCC引脚需要接一个12V左右的驱动电源这个电源的电流需求不大几十毫安但必须干净稳定。建议在VCC引脚旁边放一个0.1μF陶瓷电容和一个10μF电解电容就近接地。如果驱动电源和主电源共地注意主电源上的开关噪声会串到VCC上可能导致IR2104误动作。可以在VCC前串一个10Ω电阻再加电容滤波形成RC低通。主电源回路上除了前面说的滤波电容还建议加一个TVS二极管来吸收电机换向时产生的尖峰电压。TVS的击穿电压选比电源电压高10V左右比如24V系统选36V的TVS。如果没有TVS至少要在电机两端并联一个续流二极管如MBR20100肖特基给电机电感电流提供释放回路。虽然H桥内部的MOS管体二极管也能续流但体二极管的反向恢复特性较差大电流下损耗大外并肖特基能分担一部分。注意自举电容的耐压要选25V以上因为VS引脚电压可能接近电源电压加上自举的12VVB引脚对地电压可能达到电源电压加12V。24V系统下VB对地最高约36V所以自举电容和自举二极管都要选50V以上的耐压。4. 从零搭建的实操步骤与调试记录4.1 物料准备与PCB布局要点先列一下我这次搭建用的物料清单IR2104两片IRF3205四只自举电容1μF/50V陶瓷两只自举二极管UF4007两只栅极电阻15Ω四只VCC去耦电容0.1μF和10μF各两只主电源滤波电容100μF/50V和0.1μF各一只TVS二极管SMBJ36A一只接线端子和排针若干。单片机用STM32F103最小系统板输出两路方向信号和一路PWM信号。PCB布局有几个坑必须避开。第一自举电容和自举二极管要尽量靠近IR2104的VB和VS引脚走线越短越好否则寄生电感会导致自举电压不稳。第二栅极电阻要靠近MOS管栅极不要靠近驱动芯片这样可以把驱动芯片输出的电流先经过电阻再送到栅极减少栅极回路的面积。第三主功率回路的走线要粗至少2mm以上大电流路径尽量短而直。第四模拟地和功率地要分开走最后在电源入口处单点汇合避免功率地上的大电流波动干扰IR2104的参考地。如果你用洞洞板搭以上布局原则同样适用只是实现起来更考验手工。我建议先用洞洞板验证电路原理确认没问题再打PCB。洞洞板搭的时候功率线用粗铜线飞线信号线用细线交叉处用热缩管绝缘。4.2 焊接顺序与上电前检查焊接顺序很重要先焊矮的元件再焊高的先焊驱动部分再焊功率部分。具体来说先焊IR2104的IC座不要直接焊芯片方便调试时更换然后焊自举二极管、自举电容、栅极电阻、VCC去耦电容再焊MOS管和主电源滤波电容最后焊接线端子和TVS。全部焊完之后上电前必须做三项检查。第一用万用表蜂鸣档测电源正极和地之间有没有短路正常应该有几百欧姆以上的电阻电容充电过程。第二测四个MOS管的栅极和源极之间有没有短路正常应该是几十千欧到几百千欧。第三测IR2104的VB和VS之间有没有短路正常是电容充电后的高阻态。确认没有短路后先不接电机只给驱动部分上12V电。用示波器看IR2104的HO和LO输出。给IN引脚一个方波信号可以用单片机产生也可以用信号发生器观察HO和LO是否有交替的方波输出死区时间是否正常。如果没有示波器可以用万用表测HO和LO的平均电压正常应该在VCC的一半左右。如果HO一直为低检查自举电容和二极管是否焊反或损坏。4.3 带电机测试与波形观察驱动部分正常后接上电机和主电源。主电源先调到最低比如12V电机空载。给单片机下载程序产生20kHz的PWM信号和方向信号。先测试正转左片IR2104的IN给高电平右片IN给低电平PWM信号加到左片的SD引脚或者用PWM控制INSD常高。此时左半桥的上管Q1应该跟随PWM开关右半桥的下管Q4常通电机正转。用示波器看电机两端的电压波形应该是占空比可调的方波。然后测试反转交换两片IR2104的IN信号电机应该反转。测试调速改变PWM占空比电机转速应该跟着变化。测试制动两片IR2104的IN都给低电平SD给高电平此时Q3和Q4同时导通电机两端被短接电机会快速制动。注意这种制动方式会产生很大的制动电流如果电机转速很高制动电流可能超过MOS管额定值建议先用低转速测试。我实测下来24V电源、5A负载下IRF3205的温升大约30°C加小散热片IR2104几乎不发热。PWM频率20kHz时电机噪音很小频率降到5kHz时能听到明显的啸叫。如果你对噪音敏感建议PWM频率设在16kHz以上超出人耳听觉范围。测试项目预期结果实测记录正转电机顺时针转正常转速随PWM变化反转电机逆时针转正常制动电机快速停转正常制动电流约10A堵转电流限制在15A正常管子温升明显20kHz噪音几乎无声正常5kHz噪音明显啸叫正常实操心得第一次上电一定要用限流电源把电流限制设在1A左右。如果电路有短路限流电源会保护而不是炸管子。确认正常后再逐步放开电流限制。5. 常见问题排查与避坑经验实录5.1 上管不导通或发热严重这是最常见的故障。现象是电机只能一个方向转或者转起来没力上管发热严重。根本原因通常是自举电路没工作。排查步骤先用万用表测自举电容两端的电压正常应该在10V以上。如果只有几伏说明自举电容没充上电。检查自举二极管方向是否焊反自举电容是否虚焊IR2104的VS引脚是否可靠连接到MOS管源极。另一个可能的原因是PWM频率太低。自举电容靠下管导通时充电如果PWM占空比接近100%下管几乎没有导通时间自举电容就充不上电。解决办法是限制最大占空比在95%以下或者用外部隔离电源给高边驱动供电。IR2104的数据手册建议PWM频率在1kHz到100kHz之间但实际使用中低于5kHz时自举电容需要加大到10μF以上。还有一种情况是上管导通但很快关断表现为电机抖动。这通常是自举电容容量不够上管导通期间电容放电太快栅极电压跌落到阈值以下。用示波器看HO对VS的波形如果是一个下降的斜坡而不是平顶方波就是这个问题。换大电容或者降低PWM占空比可以解决。5.2 上下管直通炸管这是最严重的故障通常伴随一声脆响和一缕青烟。直通的原因有三个死区时间不够、栅极电阻太大导致关断太慢、或者驱动信号本身有问题。IR2104内部死区是520ns对于大多数MOS管够了但如果你用的管子栅极电荷特别大或者栅极电阻取了100Ω关断时间可能超过520ns上下管就会有重叠导通的时间。排查方法是用示波器同时看同一片IR2104的HO和LO波形确认HO降到0之后LO才开始上升。如果重叠减小栅极电阻或者换开关更快的管子。另外如果单片机程序里方向信号切换时没有留死区也会导致直通。虽然IR2104内部有死区但两片IR2104之间的配合需要你自己保证——比如左片从正转切换到反转时左片的IN从高变低右片的IN从低变高这两个信号不能同时切换否则在切换瞬间可能出现左片上管和右片上管同时导通的情况虽然概率低但一旦发生就是电源短路。注意调试时一定要在电源回路里串一个保险丝或限流电阻炸管时能保住其他元件。我习惯串一个10A的汽车保险丝炸管时保险丝先断IR2104和单片机通常能幸存。5.3 电机干扰导致单片机复位电机换向时产生的电磁干扰会通过电源线和空间辐射耦合到单片机导致单片机复位或程序跑飞。现象是电机一转单片机就重启。解决办法分三层第一层在电机两端并联0.1μF陶瓷电容和100Ω电阻串联的RC吸收电路吸收换向尖峰。第二层在单片机的电源引脚旁边加0.1μF和10μF电容并且单片机的电源和驱动电源之间用磁珠或电感隔离。第三层PCB布局时让单片机远离功率回路晶振尽量靠近单片机晶振外壳接地。如果干扰特别严重可以考虑给IR2104的输入信号加光耦隔离。光耦的响应速度要选高速型如6N137普通PC817的响应速度太慢会导致PWM波形失真。光耦隔离后单片机和驱动部分完全电气隔离干扰问题基本消失。5.4 常见问题速查表现象可能原因排查方法解决方案上管不导通自举电容没充电测自举电容电压检查二极管方向、加大电容上管发热自举电压不足看HO对VS波形降低占空比、换大电容炸管上下管直通看HO和LO重叠减小栅极电阻、检查信号电机抖动PWM频率太低听声音、看波形提高PWM频率到16kHz以上单片机复位电机干扰电机一转就复位加RC吸收、光耦隔离电机没力MOS管没完全导通测栅极电压检查自举电路、换驱动芯片管子很烫但电流不大开关损耗大看开关波形减小栅极电阻、换低Qg管子5.5 进阶优化从能用到好用电路能跑起来之后还有几个优化方向。第一把PWM频率提高到20kHz以上电机噪音会小很多但开关损耗会增加需要权衡。第二在MOS管漏源之间并联RC吸收电路比如100Ω加1nF可以抑制换向尖峰但会增加一点损耗。第三用电流采样电阻加运放做电流闭环实现恒扭矩控制。第四把IR2104的SD引脚接到单片机的故障保护中断一旦过流立即关断。如果你要驱动更大的电机可以考虑用IR2136这类三相驱动芯片它内部集成了三个半桥驱动适合无刷电机或三相逆变。但那是另一个话题了先把有刷H桥吃透后面的路会好走很多。我在实际使用中发现IR2104最容易被忽视的问题是自举电容的材质。陶瓷电容的容量随电压变化较大1μF/50V的陶瓷电容在36V下实际容量可能只有0.5μF。如果空间允许用钽电容或电解电容会更稳定。另外自举二极管的反向恢复时间对效率影响很大UF4007和1N4148的差别在示波器上能明显看出来前者波形更干净。最后分享一个小技巧调试时如果手头没有示波器可以用一个LED串联10kΩ电阻接到HO和VS之间LED的亮度能大致反映PWM占空比。虽然精度不高但判断有没有输出、占空比大概多少够用了。这个方法我教过好几个新手他们都说比看万用表直观多了。
返回列表