3、硬件选型-驱动芯片:L298N、DRV8825、A4950、IR2104,栅极驱动与H桥原理
驱动芯片选型,说白了就是给电机配一个合适的“功率放大器”。
MCU的GPIO口只能输出几毫安、3.3V或5V的信号,这点能量连个小马达都转不起来。所以我们需要驱动芯片,把控制信号放大成能驱动电机的大电流、高电压。
我个人习惯把驱动芯片分成两类:集成式驱动和分立式栅极驱动。今天咱们就把L298N、DRV8825、A4950、IR2104这四款经典芯片掰开揉碎了讲清楚。
3.1 H桥原理:驱动电机的核心拓扑
先聊H桥。为什么叫H桥?你看它的电路结构,四个开关管(通常是MOSFET或三极管)摆成“H”形,电机接在中间横杠上。
工作原理很简单:
- 正转:导通Q1和Q4,电流从左往右流过电机。
- 反转:导通Q2和Q3,电流从右往左流过电机。
- 刹车:同时导通Q1和Q2(或Q3和Q4),电机两端短路,产生反向电动势制动。
- 滑行:所有开关管关断,电机自由旋转。
关键点:绝对不能让Q1和Q2同时导通,否则电源直接短路,这叫“直通”或“穿通”。我在项目中遇到过新手烧芯片,十有八九是这个问题。
你想想看,H桥其实就是四个开关的组合。但实际做起来,开关管怎么选?怎么驱动?这就是驱动芯片要干的事。
3.2 L298N:经典但已过时的双H桥
L298N是ST公司上世纪90年代的产品,双H桥,每个桥能输出2A峰值电流。
它的内部用的是达林顿管(两个三极管复合),不是MOSFET。这导致一个致命问题:饱和压降很大。我记得手册上写的是2V左右,也就是说12V供电,电机实际只能拿到10V。效率低,发热严重。
| 参数 | L298N |
|---|---|
| 驱动方式 | 达林顿管(BJT) |
| 最大电流 | 2A(峰值) |
| 导通压降 | 约2V |
| PWM频率 | 建议低于40kHz |
| 逻辑电平 | 5V |
避坑指南:我曾经用L298N驱动一个12V、1.5A的直流电机,散热片烫得能煎鸡蛋。后来换成DRV8825,温度直接降了30度。所以现在除非是教学演示,我基本不推荐L298N做新产品。
L298N还有一个槽点:它需要外接续流二极管。很多人忘了加,结果电机反向电动势直接把芯片打穿。
3.3 DRV8825:步进电机驱动的性价比之王
DRV8825是TI的产品,专门为步进电机设计的驱动芯片。它内部集成了两个H桥,可以驱动两相步进电机。
它的核心优势是微步进。通过内部电流斩波控制,可以把步进电机的每一步细分成1/2、1/4、1/8、1/16甚至1/32步。我做过一个3D打印机项目,用1/16微步进,电机运行起来几乎听不到噪音。
技术细节:DRV8825内部用的是MOSFET,导通电阻只有0.5Ω左右。相比L298N的2V压降,DRV8825在2A电流下压降只有1V,效率高得多。
它的引脚设计也很友好:
- STEP:每给一个脉冲,电机走一步(或一个微步)。
- DIR:方向控制。
- ENABLE:使能输出。
- M0、M1、M2:微步进模式选择。
嗯,这里要注意:DRV8825的电流设置是通过一个参考电压引脚(VREF)和外部检流电阻实现的。公式是:I_max = VREF / (8 × R_sense)。我刚开始用的时候,忘了算检流电阻的功率,结果电阻冒烟了。
3.4 A4950:低压直流电机的优选
A4950是Allegro公司的全桥驱动芯片,专门驱动直流有刷电机。
它的特点是小巧、高效。SOP-8封装,最大输出电流3.5A,导通电阻0.4Ω。非常适合电池供电的便携设备。
| 参数 | A4950 |
|---|---|
| 驱动方式 | MOSFET全桥 |
| 最大电流 | 3.5A |
| 导通电阻 | 0.4Ω |
| 工作电压 | 8V - 40V |
| PWM频率 | 最高100kHz |
A4950内部集成了电流检测功能。它通过一个内部检流电阻监测电流,当电流超过设定阈值时,自动关断输出。这相当于硬件层面的过流保护。
个人经验:我在做智能小车项目时,A4950是我的首选。它不需要外接续流二极管,内部已经集成了。而且它的PWM频率可以跑到100kHz,电机运行非常平滑。
但A4950有个小缺点:它没有细分功能,只能做简单的正反转和PWM调速。所以它不适合步进电机。
3.5 IR2104:分立式栅极驱动的代表
IR2104是英飞凌(原IR公司)的半桥栅极驱动芯片。它不直接驱动电机,而是驱动外部的MOSFET。
为什么需要栅极驱动?因为MOSFET的栅极有寄生电容,MCU的GPIO根本推不动。IR2104的作用就是把PWM信号放大成能快速充放电栅极电容的驱动信号。
核心原理:IR2104内部有一个自举电路。它利用一个自举电容和二极管,产生一个比电源电压还高的栅极驱动电压。这样才能让上管(高端MOSFET)完全导通。
IR2104的典型应用是两个IR2104组成一个H桥。一个负责左半桥,一个负责右半桥。每个IR2104输出两路信号:HO(高端输出)和LO(低端输出)。
我曾经用IR2104搭配IRF540N MOSFET做了一个500W的直流电机驱动器。说实话,分立式方案比集成式灵活得多,但调试也麻烦得多。
避坑指南:我曾经在自举电容选型上栽过跟头。电容太小,高端MOSFET关断后无法维持栅极电压;电容太大,充电时间太长,PWM频率上不去。一般建议用1μF到10μF的陶瓷电容,耐压要高于电源电压。
IR2104还有一个死区时间控制功能。死区时间就是上下管切换时,故意插入一段“全关断”时间,防止直通。IR2104的死区时间固定为520ns,对于大多数应用足够了。
3.6 四款芯片对比与选型建议
说了这么多,到底怎么选?我整理了一个对比表:
| 芯片 | 适用电机 | 最大电流 | 效率 | 集成度 | 推荐场景 |
|---|---|---|---|---|---|
| L298N | 直流有刷 | 2A | 低 | 高 | 教学演示 |
| DRV8825 | 步进电机 | 2.5A | 高 | 高 | 3D打印机、CNC |
| A4950 | 直流有刷 | 3.5A | 高 | 高 | 智能小车、机器人 |
| IR2104 | 任意(需外接MOSFET) | 取决于MOSFET | 最高 | 低 | 大功率、定制化设计 |
我的选型逻辑很简单:
- 如果做步进电机控制,直接上DRV8825,省心省力。
- 如果做小功率直流电机(3A以下),A4950是首选。
- 如果做大功率(10A以上)或者特殊电压(比如48V),那就用IR2104搭分立MOSFET。
- 至于L298N...除非你手头只有这个,或者纯粹为了学习原理,否则别用了。
最后说一句:驱动芯片选型不是越贵越好,也不是参数越高越好。关键是匹配你的电机参数和控制需求。你想想看,一个0.5A的小电机,用IR2104搭两个大MOSFET,那不是杀鸡用牛刀吗?