1、电机控制基础:直流电机工作原理、PWM调速原理、H桥驱动电路解析
各位同学,咱们今天正式进入电机控制的世界。说实话,我做了十几年电机驱动,每次回头看直流电机,都觉得它是最朴实、最讲道理的一个家伙。你搞懂了它,后面那些交流电机、永磁同步电机,理解起来就顺多了。
1.1 直流电机工作原理——它凭什么转?
直流电机,说白了就是「电生磁,磁生力」。你给它通上电,它就能转。但为什么转?我简单讲一下。
电机内部有个转子,上面绕了线圈。外面是定子,通常是永磁体或者电磁铁。当你给线圈通电,电流在磁场里就会受到一个力——这就是安培力。力拉着转子转起来,电机就动了。
这里有个关键点:换向器。转子每转半圈,电流方向就得换一次。不然力矩方向反了,电机就卡住了。换向器就是干这个活的——机械式地切换电流方向。
核心公式:
- 电磁转矩:T = KT · Ia(转矩和电枢电流成正比)
- 反电动势:E = KE · ω(转速越高,反电动势越大)
我在项目中遇到过一件事。有次调试一个直流有刷电机,电机死活不转,嗡嗡响。查了半天,发现是换向器碳刷磨损了,接触不良。嗯,这种机械结构的问题,有时候比电路还难排查。
1.2 PWM调速原理——怎么让电机跑得稳?
直流电机调速,最常用的方法就是PWM——脉冲宽度调制。你想想看,电机两端电压直接决定了转速。但如果我们用开关管快速通断,让平均电压变化,转速也就跟着变了。
PWM有三个关键参数:
- 频率:开关管通断的快慢。我一般选10kHz~20kHz,人耳听不到就行。太低会有啸叫声,太高开关损耗大。
- 占空比:高电平时间占整个周期的比例。占空比50%,平均电压就是电源电压的一半。
- 幅值:电源电压本身。这个一般固定。
举个例子:
// 伪代码:PWM生成逻辑
while(1) {
GPIO_HIGH(); // 开
delay_us(ON_TIME); // 保持高电平
GPIO_LOW(); // 关
delay_us(OFF_TIME); // 保持低电平
}
// ON_TIME / (ON_TIME + OFF_TIME) = 占空比
我曾经踩过一个坑。有次做项目,PWM频率设了1kHz,结果电机低速运行时嗡嗡响,客户投诉说噪音大。后来我把频率提到16kHz,问题就解决了。人耳听不到,电机也安静了。
我的习惯:PWM频率选在16kHz~20kHz之间。太低有噪音,太高MOS管发热严重。你根据自己用的开关管型号,折中选一个就行。
1.3 H桥驱动电路解析——正反转怎么实现?
直流电机要正反转,光靠一个开关管不行。你得用四个开关管,搭成一个「H」形状的电路——这就是H桥。
H桥的结构很简单:
- 四个开关管:Q1、Q2(上桥臂),Q3、Q4(下桥臂)
- 电机接在中间:一端接Q1和Q3之间,另一端接Q2和Q4之间
工作模式就四种:
| 模式 | Q1 | Q2 | Q3 | Q4 | 电机状态 |
|---|---|---|---|---|---|
| 正转 | ON | OFF | OFF | ON | 电流从左到右 |
| 反转 | OFF | ON | ON | OFF | 电流从右到左 |
| 刹车 | OFF | OFF | ON | ON | 电机短路制动 |
| 滑行 | OFF | OFF | OFF | OFF | 电机自由停止 |
⚠️ 致命陷阱:直通!
Q1和Q3绝对不能同时导通!否则电源直接短路,瞬间烧毁MOS管。我刚开始做驱动板时,就犯过这个错——程序里切换状态时没加死区时间,结果上电就冒烟了。
解决办法:在切换方向时,先关掉所有开关管,等几百纳秒(死区时间),再打开目标开关管。这个习惯我一直保持到现在。
实际项目中,我建议用集成H桥驱动芯片,比如L298N、DRV8833之类的。它们内部已经处理了死区时间和逻辑互锁,你只需要给PWM和方向信号就行。省心不少。
1.4 小结——这一章你该记住什么?
好,咱们捋一下:
- 直流电机靠安培力转动,换向器负责切换电流方向。
- PWM调速就是调平均电压,频率选16kHz左右比较合适。
- H桥实现正反转,但千万注意死区时间,别让上下桥臂直通。
我个人觉得,直流电机控制是所有电机控制的基础。你把这个搞透了,后面学BLDC、PMSM,很多概念都是相通的。下一章咱们聊无刷直流电机,那个更有意思——没有碳刷,没有换向器,全靠电子换相。
嗯,今天就到这儿。有问题随时找我。