2. 电机控制基础:直流有刷电机原理、PWM调速原理、H桥驱动电路、电机模型简化

好,咱们正式开始电机控制的第一课。

说实话,很多做RTOS的朋友,一听到「电机控制」四个字就觉得头大。觉得那是搞电力电子的人该干的事。其实不然。你想想看,电机控制说白了就是「让电机转起来,转得准,转得稳」。而RTOS的任务调度,恰恰是保证「准」和「稳」的关键。

这一章,我们先打好基础。把直流有刷电机、PWM调速、H桥驱动这些概念理清楚。嗯,别急,我会结合我实际踩过的坑来讲。

2.1 直流有刷电机的工作原理

直流有刷电机,结构其实很简单。一个转子(绕线圈),一个定子(永磁体或励磁绕组),再加上两个电刷。

通电后,电流流过转子线圈,在磁场中受力旋转。电刷负责换向——转子每转半圈,电流方向就切换一次,保证转子一直朝一个方向转。

我在项目中遇到过一个问题:电刷磨损太快。后来发现是PWM频率太低,导致电刷处持续拉弧。嗯,这个后面会细讲。

核心公式:

电机转速 n 与电压 U 成正比:n ≈ (U - I·R) / Ke

电机转矩 T 与电流 I 成正比:T = Kt · I

说白了,调电压就是调转速,调电流就是调力矩。

2.2 PWM调速原理

为什么要用PWM?直接调电压不行吗?

行,但效率低。线性调压,多余的能量全变成热量散掉了。PWM就不一样——它靠快速开关,让电机「感觉」到平均电压。

PWM调速的三个关键参数:

  • 频率:一般1kHz~20kHz。太低会听到啸叫,太高开关损耗大。我个人习惯用10kHz,人耳听不到,MOS管也不烫。
  • 占空比:0%~100%。决定平均电压。50%占空比,12V供电,平均就是6V。
  • 分辨率:比如8位PWM,就是256级。够不够用?看需求。我做过一个云台,8位就够。但做伺服,至少12位起步。

避坑指南:

我曾经在调试一个AGV小车时,PWM频率设成了500Hz。结果电机低速时一顿一顿的,还发出「嗡嗡」声。后来改成10kHz,问题解决。记住:频率太低,电机在脉冲间隔里会「掉速度」。

2.3 H桥驱动电路

直流有刷电机要正反转,怎么办?用H桥。

H桥由4个开关管(MOSFET或三极管)组成,像个字母「H」。电机接在中间横杠上。

四种工作状态:

Q1Q2Q3Q4电机状态
ONOFFOFFON正转
OFFONONOFF反转
OFFOFFOFFOFF停止(滑行)
ONONOFFOFF刹车(短路制动)

重要警告:

绝对不能让Q1和Q2同时导通!这叫「直通」,会瞬间烧毁MOS管。我刚开始做驱动板时,就犯过这个错——代码里一个延时没处理好,两个管子同时开了,冒烟了。从那以后,我写PWM驱动一定会加死区时间,哪怕只有几百纳秒。

2.4 电机模型简化

做控制,不能把电机当黑箱。但也没必要把麦克斯韦方程组搬出来。我们需要一个「够用」的模型。

直流有刷电机的简化模型,就三个部分:

  1. 电阻 R:电枢绕组的直流电阻。决定了堵转电流。
  2. 电感 L:电枢绕组的电感。影响电流的上升速度。
  3. 反电动势 E:电机旋转时产生的电压,与转速成正比。E = Ke · ω

电压平衡方程:

U = I·R + L·(dI/dt) + E

这个方程,就是电机控制的「牛顿第二定律」。你给它加电压,电流慢慢建立,反电动势慢慢升高,最后稳定在一个转速上。

我个人的经验是:做速度环控制时,重点关注R和Ke。做电流环时,L才是关键。因为L决定了电流环的带宽——电感越大,电流响应越慢。

简化模型参数获取(实测法):

  • R:用万用表量电机两根线,直接读。
  • L:用电桥测,或者用示波器看电流上升斜率反推。
  • Ke:用手转动电机,测开路电压和转速,比值就是Ke

嗯,这些参数不用太精确。有个±20%的误差,PID控制器都能扛住。

2.5 小结

这一章,我们聊了直流有刷电机的原理、PWM调速、H桥驱动,还有简化模型。

说白了,电机控制就是三件事:给电压、换方向、测反馈。而RTOS要做的,就是保证这三件事在正确的时间点被执行。

下一章,我们会把电机接到STM32上,用定时器输出PWM,再配合RTOS的任务调度,让电机真正转起来。

课后思考:

如果PWM频率从10kHz降到1kHz,电机低速运行时会出现什么现象?为什么?

想明白了,你就真正理解了PWM调速的本质。