3、电机驱动基础:直流电机、有刷/无刷电机、步进电机的基本特性,以及H桥驱动电路的工作原理
电机是机器人运动系统的执行末端,无论是轮式机器人的驱动轮、机械臂的关节,还是云台的俯仰控制,最终都要靠电机将电能转化为机械能。在嵌入式系统中,MCU的GPIO无法直接驱动电机,必须通过驱动电路进行功率放大和逻辑转换。理解直流电机、有刷/无刷电机、步进电机的本质差异,以及H桥电路如何控制电机转向和速度,是设计可靠运动控制系统的前提。本节将从电机分类与特性出发,深入拆解H桥驱动原理,并结合实际工程案例说明选型与调试要点。
上图展示了电机驱动系统的整体框架:左侧为三种常见电机类型,中间为H桥核心拓扑,右侧为控制模式,底部为典型驱动链路与反馈闭环。下面将逐一展开。
3.1 直流电机的基本特性与数学模型
直流电机(DC Motor)是机器人领域最常用的执行元件,其工作原理基于通电导体在磁场中受力的安培定律。当电枢绕组通入直流电流时,在定子磁场作用下产生电磁转矩,驱动转子旋转。直流电机的等效电路由电枢电阻Ra、电枢电感La和反电动势Eb串联组成,其中Eb与转速成正比:Eb = Ke·ω,Ke为反电动势常数,ω为角速度。
直流电机的机械特性可用以下方程描述:
U = R_a·I_a + L_a·(dI_a/dt) + K_e·ω
T = K_t·I_a
T - T_L = J·(dω/dt) + B·ω
其中T为电磁转矩,Kt为转矩常数(数值上与Ke相等,SI单位制下),TL为负载转矩,J为转动惯量,B为粘滞摩擦系数。稳态时,转速与电枢电压近似成正比,转矩与电枢电流成正比,这就是PWM调速和电流闭环控制的理论基础。
| 参数 | 典型值 | 工程意义 |
|---|---|---|
| 额定电压 | 6V / 12V / 24V | 决定供电电源选型 |
| 空载转速 | 3000-12000 RPM | 反映电机最高速度能力 |
| 堵转转矩 | 0.5-5 kg·cm | 决定最大带载能力 |
| 电枢电阻 | 1-10 Ω | 影响启动电流和效率 |
| 反电动势常数 | 0.5-5 V/kRPM | 用于速度估算 |
有刷直流电机通过机械换向器(电刷和换向片)实现电流换向,结构简单、控制容易,但存在电刷磨损、换向火花、噪声大等缺点,适合低成本、低寿命要求的场景。无刷直流电机(BLDC)采用电子换向器(MOS管三相桥)替代机械电刷,转子为永磁体,定子为绕组,通过霍尔传感器或反电动势检测获取转子位置,依次导通三相绕组产生旋转磁场。BLDC电机效率高、寿命长、噪声低,但控制复杂,需要专用的换向逻辑和驱动电路,常用于无人机、机器人关节等高性能场景。
3.2 步进电机的工作原理与细分驱动
步进电机是一种将电脉冲信号转换为角位移的执行元件,其转子为永磁体或磁阻结构,定子有多相绕组。每输入一个脉冲,电机旋转一个固定角度(步距角),常见步距角为1.8°(200步/圈)或0.9°(400步/圈)。步进电机无需编码器即可实现开环位置控制,这是其最大优势,但存在失步、共振、高速转矩下降等问题。
步进电机的驱动方式包括:
- 整步驱动:每次只导通一相或两相绕组,步距角为基本步距角,转矩波动大。
- 半步驱动:交替采用单相导通和两相导通,步距角减半,运行更平滑。
- 细分驱动:通过PWM控制绕组电流按正弦阶梯变化,将一个步距角细分为多个微步,常见有1/4、1/8、1/16、1/32细分。细分后电机运行几乎无振动,但转矩会有所下降。
步进电机的选型关键参数包括:保持转矩(通电锁定时的转矩)、步距角精度(通常为±5%)、启动频率(直接启动的最高脉冲频率)和惯量匹配。在机器人应用中,步进电机常用于3D打印机、小型机械臂、云台等对位置精度要求高但负载不大的场景。
3.3 H桥驱动电路的工作原理与四种工作状态
H桥电路是直流电机正反转控制的标准拓扑,由四个开关管(MOSFET或IGBT)组成,形状类似字母"H",电机接在桥臂中点。四个开关管分别记为Q1(左上)、Q2(右上)、Q3(左下)、Q4(右下),通过控制不同开关管的导通组合,可以实现电机的正转、反转、制动和滑行四种状态。
| 工作状态 | 导通的开关管 | 电机行为 | 应用场景 |
|---|---|---|---|
| 正转 | Q1 + Q4 | 电机正向旋转,电流从A流向B | 前进、顺时针旋转 |
| 反转 | Q2 + Q3 | 电机反向旋转,电流从B流向A | 后退、逆时针旋转 |
| 制动 | Q1 + Q2(或Q3+Q4) | 电机两端短路,产生制动转矩 | 急停、位置保持 |
| 滑行 | 全部关断 | 电机自由旋转,无制动 | 惯性滑行、省电模式 |
在实际驱动中,PWM调速通过改变开关管的导通占空比实现。有两种常用的PWM调制方式:
- 单极性PWM:一个桥臂的开关管常通,另一个桥臂的开关管PWM斩波。例如正转时Q4常通,Q1以PWM方式开关。这种方式开关损耗小,但电流纹波较大。
- 双极性PWM:对角开关管(Q1+Q4)和(Q2+Q3)交替导通,电机两端电压在+VCC和-VCC之间切换。这种方式电流纹波小、低速线性度好,但开关损耗较大。
H桥驱动必须考虑死区时间(Dead Time),即上下桥臂开关管切换时,必须保证先关断导通的管子,再开通另一个管子,否则会造成上下桥臂直通(Shoot-through),导致电源短路烧毁器件。死区时间通常设置为几百纳秒到几微秒,具体取决于开关管的关断延迟时间。
3.4 电机驱动芯片选型与实战案例
实际工程中,很少用分立MOS管搭建H桥,而是选用集成驱动芯片。常见芯片包括:
- DRV8871(TI):单通道H桥,支持6.5-45V供电,峰值电流3.6A,内置电流检测和过流保护,适合中小型直流电机。
- TB6612FNG(东芝):双通道H桥,支持2.5-13.5V,峰值电流3.2A,逻辑电平兼容3.3V/5V,常用于小型机器人。
- L298N(ST):双通道H桥,支持最高46V,峰值电流2A,但压降较大(约2V),发热严重,适合教学实验。
- DRV8825(TI):步进电机专用驱动,支持1/32细分,峰值电流2.5A,内置电流调节,适合3D打印机和中小型步进电机。
下面通过一个轮式机器人底盘驱动的案例,说明H桥驱动的完整设计流程。
背景与约束:设计一台两轮差速底盘,使用两个12V直流减速电机(减速比30:1,空载转速300RPM),要求最大负载下(含电池和控制器,总重2kg)能爬15°坡,并实现精确的直线行驶。MCU采用STM32F103,供电为3S锂电池(11.1V)。
初始现象:使用TB6612FNG驱动芯片,PWM频率10kHz,占空比50%时,电机转速不稳定,且底盘无法走直线,向左偏转明显。
关键参数测量:
电机空载电流:150mA
电机堵转电流:2.8A
TB6612FNG最大持续电流:1.2A(需加散热)
PWM频率:10kHz → 电机电感感抗约2.5Ω(L=40μH)
实际测得左轮转速:280RPM,右轮转速:245RPM
分析判断:左右轮转速差异达12.5%,远超直线行驶允许的2%误差。可能原因包括:电机本身制造公差(±5%)、轮胎直径差异、驱动芯片导通电阻不一致、PWM占空比精度不足。进一步检查发现,TB6612FNG的导通电阻约0.5Ω,在2A电流下压降达1V,导致电机实际电压低于额定值,加剧了转速差异。
实际操作步骤:
- 更换为DRV8871驱动芯片,其导通电阻仅0.2Ω,且内置电流调节功能。
- 在电机电源端并联470μF电解电容和0.1μF陶瓷电容,抑制PWM斩波产生的电压尖峰。
- 增加编码器(每转500线),采用PID闭环控制,速度环频率100Hz。
- 将PWM频率从10kHz提高到20kHz,降低电流纹波和电机噪声。
- 软件中增加死区时间设置(1μs),防止上下桥臂直通。
结果对比:更换驱动芯片并加入闭环后,左右轮转速误差从12.5%降至0.8%,底盘在3米距离内直线偏移小于2cm。电机温升从55°C降至40°C(环境25°C)。
风险与代价:DRV8871成本比TB6612FNG高约40%,且需要外部电流采样电阻。PID参数整定耗时约2小时,初期出现过冲和振荡。复盘经验:电机驱动设计必须预留电流余量(至少1.5倍),闭环控制是保证运动一致性的必要手段,不能仅依赖开环PWM。
3.5 常见误区与设计要点总结
在电机驱动设计中,以下误区需要特别注意:
- 误区一:忽略电源内阻和线路压降。电机启动电流可达额定电流的5-10倍,如果电源线过细或电池内阻过大,会导致电压跌落,电机无法启动。建议使用AWG18以上线径,并在电机电源端加装大容量电解电容。
- 误区二:PWM频率选择不当。频率过低(<1kHz)会导致电机振动和噪声;频率过高(>50kHz)会增加开关损耗。一般直流电机推荐10-30kHz,步进电机推荐20-40kHz。
- 误区三:忽视续流二极管的作用。电机是感性负载,开关管关断瞬间会产生反向电动势,如果没有续流二极管(或MOS管体二极管),会击穿开关管。集成驱动芯片通常内置续流二极管,但分立方案必须外接。
- 误区四:逻辑电平不匹配。3.3V MCU的GPIO高电平可能不足以完全导通MOS管(需要10V以上栅极电压),必须使用栅极驱动芯片或逻辑电平转换电路。
- 误区五:步进电机开环使用不校验失步。在负载突变或高速运行时,步进电机可能失步而不自知。要求高可靠性的场景应增加编码器反馈或使用闭环步进驱动。
总结而言,电机驱动设计需要从电机特性、驱动拓扑、控制策略和热设计四个维度综合考虑。有刷直流电机适合简单应用,无刷电机适合高性能场景,步进电机适合开环位置控制。H桥电路是直流电机驱动的核心,必须处理好死区时间、续流保护和电流检测。在实际项目中,建议先根据负载计算电机功率和转矩,再选择合适的驱动芯片,最后通过闭环控制保证运动精度。