3、BLDC电机驱动原理:六步换向法、FOC矢量控制基础、PWM调制策略
好,咱们进入正题。BLDC电机驱动,说白了就是怎么让电机转得稳、转得准、转得安全。呼吸机里的电机可不是玩具,它直接关系到病人的通气质量。我做了这么多年电机控制,踩过的坑不少,今天把这些核心原理掰开揉碎了讲给你听。
3.1 六步换向法——最经典的入门方案
六步换向法,也叫梯形控制。为什么叫六步?因为一个电周期内,你需要切换六次通电状态。每次只有两相导通,第三相悬空。
我刚开始做BLDC驱动时,用的就是六步法。它简单、可靠,对MCU算力要求低。但有个问题——转矩脉动大。你想想看,每次换向时电流突变,电机就会“咯噔”一下。呼吸机要是这么抖,病人能舒服吗?
核心要点:六步换向依赖霍尔传感器或反电动势过零点检测。霍尔信号每60°电角度变化一次,对应一次换向。
具体换向顺序是这样的(以三相星形连接为例):
| 步数 | 导通相 | 电流方向 | 霍尔信号(H1,H2,H3) |
|---|---|---|---|
| 1 | A+ B- | A→B | 101 |
| 2 | A+ C- | A→C | 100 |
| 3 | B+ C- | B→C | 110 |
| 4 | B+ A- | B→A | 010 |
| 5 | C+ A- | C→A | 011 |
| 6 | C+ B- | C→B | 001 |
嗯,这里要注意:霍尔信号的安装位置决定了换向时序。我见过不少新手把霍尔装反了,结果电机死活转不起来。建议上电后先用手转动电机,用示波器抓一下霍尔波形,确认顺序正确再写代码。
我的经验:六步法在低速时反电动势信号太弱,很难检测过零点。所以呼吸机启动阶段,我建议先用强拖(强制换向)把转速拉到一定值,再切回闭环。否则容易失步。
3.2 FOC矢量控制基础——让电机像丝般顺滑
六步法有它的局限性。呼吸机需要的是安静、平稳、响应快。这时候FOC(磁场定向控制)就派上用场了。
FOC的核心思想是什么?说白了,就是把三相交流电机的控制,等效成直流电机的控制。你想想看,直流电机多好控啊——调电压就是调转速,调电流就是调转矩。FOC就是通过坐标变换,把三相电流分解成两个分量:
- d轴电流(Id):控制励磁磁场,通常设为0(表贴式电机)
- q轴电流(Iq):控制转矩,直接决定电机出力大小
为什么会这样?因为通过Clark变换和Park变换,我们把静止的三相坐标系(ABC),先转到两相静止坐标系(αβ),再转到旋转坐标系(dq)。在dq坐标系下,电机模型就变成了线性系统。
关键公式:
Clark变换:
Iα = Ia
Iβ = (Ia + 2*Ib) / √3
Park变换:
Id = Iα * cos(θ) + Iβ * sin(θ)
Iq = -Iα * sin(θ) + Iβ * cos(θ)
我个人习惯用双闭环结构:外环是速度环,内环是电流环。速度环的输出作为q轴电流的给定值。电流环用PI调节器,分别控制Id和Iq。
我曾经在一个呼吸机项目里,发现电机在低速时有明显的“嗡嗡”声。查了半天,原来是电流采样噪声太大,导致PI调节器输出抖动。后来加了低通滤波,问题就解决了。嗯,细节决定成败。
注意:FOC对MCU算力要求高。你需要在一个PWM周期内完成电流采样、坐标变换、PI计算、SVPWM生成。我建议用带CORDIC硬件加速的MCU,或者用FPGA做协处理器。否则算力不够,控制周期拉长,效果反而不好。
3.3 PWM调制策略——怎么给电机“喂电”
有了换向逻辑和矢量控制,最后一步就是怎么把控制信号变成实际的电压。这就靠PWM了。
常用的PWM调制策略有三种:
- SPWM(正弦波PWM):用正弦波与三角波比较,生成占空比。简单,但母线电压利用率低(只有86.6%)。
- SVPWM(空间矢量PWM):用电压空间矢量合成目标电压矢量。母线电压利用率高(100%),谐波小。FOC的标配。
- 方波PWM:六步法用的就是这种。导通相全开,悬空相全关。简单粗暴,但转矩脉动大。
呼吸机里,我强烈推荐SVPWM。为什么?因为它能输出更平滑的电压波形,电机运行更安静。你想想看,病人晚上睡觉时,电机要是吱吱响,那体验能好吗?
避坑指南:我曾经在SVPWM的扇区判断上栽过跟头。计算出来的扇区号总是差一两个,导致电压矢量方向错误。后来发现是角度补偿没做好。记住,Park变换用的角度是电角度,而SVPWM扇区判断用的是转子位置角,两者差一个初始相位偏移。这个偏移量需要根据霍尔安装位置标定。
PWM频率的选择也有讲究。频率太低,电流纹波大,电机发热严重。频率太高,开关损耗大,MOSFET容易过热。我一般选16kHz~20kHz,既避开人耳可听范围(减少噪音),又兼顾效率。
最后说一句:PWM死区时间一定要设好。上下桥臂不能同时导通,否则就是短路。我见过一个案例,死区设得太短,MOSFET直接炸了。嗯,安全第一。
总结一下:
- 六步换向法:适合低成本、低要求的场合。呼吸机启动阶段可用。
- FOC矢量控制:呼吸机主驱动方案。安静、平稳、响应快。
- SVPWM调制:FOC的最佳搭档。电压利用率高,谐波小。
好了,这一章就讲到这里。下一章我们聊聊电流采样和位置估算,这两个是FOC落地的关键。到时候我会分享一些我在实际项目中踩过的坑,保证让你少走弯路。