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,那不是杀鸡用牛刀吗?