4、电机控制基础:直流有刷电机控制、PWM调速原理、H桥驱动电路、电机电流检测
各位同学,今天我们聊聊电机控制。这是汽车电子里最接地气的话题之一。
你想想看,车窗升降、雨刮器、电动座椅、天窗开合……这些动作背后,十有八九都是直流有刷电机在干活。虽然现在无刷电机越来越普及,但有刷电机因为控制简单、成本低,在汽车上依然大量存在。我个人习惯,凡是遇到这类基础执行器,第一反应就是先搞定有刷电机的控制逻辑。
4.1 直流有刷电机的工作原理
说白了,直流有刷电机就是一个靠电刷换向的旋转装置。给它通上电,转子就会转。电压越高,转得越快;负载越大,电流就越大。
它的数学模型其实不复杂:
U = E + I·R + L·(dI/dt)
E = Ke·ω
T = Kt·I
其中U是电枢电压,E是反电动势,I是电枢电流,R是电枢电阻,L是电枢电感,ω是转速,Ke和Kt分别是反电动势常数和转矩常数。
我在项目中遇到过一个问题:电机低速运行时,反电动势很小,电流会很大。如果不加限制,很容易烧MOS管。嗯,这里要注意,低速大扭矩工况是电机控制的第一个坑。
4.2 PWM调速原理
怎么调电机速度?最直接的办法是调电压。但汽车上只有12V或24V的蓄电池,总不能串个可调电阻吧?那太浪费能量了。
所以,我们用的是PWM——脉冲宽度调制。
PWM的原理很简单:以固定频率开关电源,通过改变占空比来调节平均电压。
平均电压 = 电源电压 × 占空比
举个例子:12V电源,占空比50%,平均电压就是6V。电机就以半速运转。
关键参数:
- 频率:通常1kHz~20kHz。太低会有噪音,太高会增加开关损耗。我个人习惯,汽车上用10kHz~20kHz,人耳听不到,效率也还行。
- 占空比:0%~100%。注意,0%和100%其实都是极端情况,实际项目中很少用到。
为什么会选择PWM而不是线性调节?因为效率。MOS管要么全开要么全关,导通损耗和开关损耗加起来,比线性调节小得多。你想想看,线性调节时,管子工作在放大区,那热量……啧啧,散热器都能煎鸡蛋。
4.3 H桥驱动电路
电机要正反转怎么办?一个开关管搞不定。这时候就需要H桥了。
H桥由四个开关管组成,形状像字母“H”,电机接在中间横杠上。
Q1 Q3
+--/\/\--+--/\/\--+
| | |
+--------M--------+
| | |
+--/\/\--+--/\/\--+
Q2 Q4
GND GND
控制逻辑很简单:
| 模式 | Q1 | Q2 | Q3 | Q4 | 电机状态 |
|---|---|---|---|---|---|
| 正转 | ON | OFF | OFF | ON | 正转 |
| 反转 | OFF | ON | ON | OFF | 反转 |
| 刹车 | OFF | ON | OFF | ON | 短接制动 |
| 滑行 | OFF | OFF | OFF | OFF | 自由停止 |
警告:千万不要让Q1和Q2同时导通,或者Q3和Q4同时导通。这叫“直通”,会瞬间烧毁MOS管。我曾经在调试时手抖了一下,程序里延时没设好,结果……嗯,一股青烟,MOS管直接炸了。从那以后,我写H桥驱动代码,第一件事就是加死区时间。
死区时间,就是上下管切换时,先关断一个,等一小段时间再开通另一个。一般设几百纳秒到几微秒,具体看MOS管的关断速度。
4.4 电机电流检测
为什么要测电流?两个原因:
- 过流保护:堵转、短路时,电流会飙升,必须快速切断。
- 闭环控制:电流环是速度环和位置环的内环,响应最快。
电流检测的常用方法有三种:
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 采样电阻 | 串联小电阻,测压降 | 简单、便宜、精度高 | 有损耗,发热 |
| 霍尔电流传感器 | 利用霍尔效应 | 隔离、无损耗 | 贵、体积大 |
| MOS管Rds(on)检测 | 利用导通电阻压降 | 无额外损耗 | 精度差,受温度影响大 |
我个人习惯,汽车电子里最常用的是采样电阻法。成本低,精度够用。选电阻时要注意功率:
P = I² × R
比如电机峰值电流10A,采样电阻选10mΩ,那功率就是1W。留点余量,选2W的电阻比较稳妥。
小技巧:采样电阻要放在低端(GND侧),这样共模电压低,运放好选。如果非要放高端,那就得用差分放大器或隔离运放,成本就上去了。
电流信号出来后,一般要经过运放放大,再送进ADC。放大倍数怎么算?
Vout = I × R_sense × Gain
假设ADC参考电压3.3V,最大电流10A,采样电阻10mΩ,那最大压降是0.1V。要放大到3.3V,增益就是33倍。选个35倍左右的运放,留点余量。
嗯,这里还要注意一点:电流采样有噪声。PWM开关瞬间,电流波形上会有很大的尖峰。我建议在ADC采样时,避开开关时刻,或者加个低通滤波器。我曾经在项目里没加滤波,结果电流环抖得像筛糠……后来加了个RC滤波,世界清净了。
4.5 小结
这一章我们聊了直流有刷电机的控制基础。说白了,就是三件事:
- 用PWM调电压,控制速度
- 用H桥换方向,控制正反转
- 用采样电阻测电流,做保护和闭环
这些基础搞懂了,后面学无刷电机、步进电机,甚至更复杂的伺服控制,都会轻松很多。下一章我们聊聊无刷电机的FOC控制,那才是真正考验算法功底的地方。
好,今天就到这里。有问题随时问我。