换相原理:BLDC与PMSM的六步换相与FOC换相逻辑

聊到电机控制,换相是个绕不开的话题。说白了,换相就是告诉电机定子线圈,什么时候该通电,什么时候该断电,电流该往哪个方向流。你想想看,如果换相搞错了,电机要么抖得像筛子,要么干脆不转。

我刚开始做电机驱动那会儿,就吃过换相时序的亏。板子焊好,程序烧进去,电机嗡嗡响就是不转。查了两天,最后发现是霍尔信号接反了。嗯,从那以后,我对换相逻辑就格外上心。

BLDC与PMSM的本质区别

先搞清楚一个基本问题:BLDC和PMSM到底有啥不同?

对比项 BLDC(无刷直流电机) PMSM(永磁同步电机)
反电动势波形 梯形波 正弦波
绕组方式 集中绕组 分布绕组
转矩脉动 较大(约15%) 较小(约5%)
控制方式 六步换相为主 FOC为主
适用场景 风机、水泵、电动工具 伺服、机器人、电动汽车

其实从控制角度看,BLDC和PMSM的物理模型是一样的,都是永磁同步电机。区别在于绕组的分布方式导致了反电动势波形不同。我个人的习惯是:如果项目对噪音和转矩平稳性要求高,直接上PMSM+FOC;如果成本敏感、对噪音不太在意,BLDC+六步换相就够了。

六步换相逻辑

六步换相,也叫梯形换相。名字很直白,就是在一个电周期内,换六次相,每次换相改变两个功率管的导通状态。

拿一个三相全桥逆变器来说,六个MOS管分成上三路和下三路。六步换相的核心规则是:任何时候只有两个管子导通,一个上管,一个下管。第三个管子处于关断状态,用来检测反电动势过零点。

六步换相的关键点:

  • 每60°电角度换相一次
  • 每次换相改变一个上管和一个下管
  • 非导通相用于检测反电动势过零(无传感器模式)
  • 导通顺序决定电机旋转方向

六步换相的导通顺序表是这样的(以正转为例):

步数 导通相 上管 下管 电流方向
1 A-B Q1 Q4 A→B
2 A-C Q1 Q6 A→C
3 B-C Q3 Q6 B→C
4 B-A Q3 Q2 B→A
5 C-A Q5 Q2 C→A
6 C-B Q5 Q4 C→B

我曾经在一个项目中,把换相表搞反了,结果电机反转。当时没注意,直接装到设备上,差点把机械结构打坏。所以,换相顺序一定要先空载验证,确认方向对了再带载。

FOC换相逻辑

FOC(磁场定向控制)和六步换相完全是两码事。六步换相是"开环换相",FOC是"矢量换相"。说白了,FOC把三相电流分解成两个正交分量:直轴电流Id和交轴电流Iq。

Id控制磁场,Iq控制转矩。通过控制这两个分量,就能实现像直流电机一样平滑的转矩控制。

我的经验:FOC的换相不是"换",而是"算"。每次PWM周期(通常10kHz-20kHz),MCU都要重新计算三相电压的占空比。这个计算量比六步换相大得多,所以对MCU的算力要求高。

FOC换相的核心流程:

  1. 采集两相电流(Ia, Ib),第三相通过基尔霍夫定律算出
  2. Clark变换:将Ia, Ib变换到αβ坐标系
  3. Park变换:将αβ坐标系变换到dq旋转坐标系
  4. PI调节:分别对Id和Iq进行闭环控制
  5. 逆Park变换:将dq电压变换回αβ坐标系
  6. SVPWM:生成三相占空比,驱动逆变器

你想想看,这一套流程跑下来,每个PWM周期都要完成。所以FOC对MCU的实时性要求很高。我建议至少用Cortex-M4以上的内核,带FPU的更好。

霍尔传感器换相

霍尔传感器是最直接的换相方案。三个霍尔元件安装在定子上,间隔120°或60°电角度。转子磁钢经过时,霍尔输出高低电平,三个霍尔组合出6种状态,正好对应六步换相的6个扇区。

霍尔换相的优点很明显:

  • 启动可靠,零速就能检测位置
  • 算法简单,中断里查表就行
  • 抗干扰能力强

缺点也有:

  • 需要额外安装霍尔传感器,增加成本
  • 霍尔安装位置有精度要求,装偏了换相就不准
  • 高温环境下霍尔可能失效

注意:霍尔传感器的安装角度误差直接影响换相精度。我曾经遇到过霍尔安装偏差5°的情况,结果电机在高速运行时噪音很大,转矩也上不去。后来用示波器抓霍尔信号,发现换相点偏移了,重新调整安装位置才解决。

无传感器换相

无传感器换相,说白了就是不用霍尔,靠检测电机的电气量来推算转子位置。最常用的方法是反电动势过零检测法。

原理很简单:在六步换相中,非导通相的那一相绕组上,会感应出转子的反电动势。当反电动势过零时,就是换相的最佳时机。

具体做法:

  1. 在PWM的"关断时间"内,采样非导通相的端电压
  2. 与母线电压的一半(虚拟中点)比较
  3. 检测到过零信号后,延迟30°电角度执行换相

无传感器换相的难点在于:

  • 启动问题:零速时没有反电动势,无法检测位置。需要先"预定位"或"开环强拖"
  • 低速问题:反电动势信号太弱,信噪比低
  • 负载突变:反电动势波形会畸变,影响过零检测精度

我的建议:如果项目要求低成本、对低速性能要求不高,无传感器方案是首选。但如果需要零速带载启动、或者低速平稳运行,还是老老实实加霍尔吧。我在做电动工具项目时,试过无传感器方案,低速启动时总是抖,最后加了霍尔才搞定。

六步换相与FOC的对比

对比项 六步换相 FOC
转矩脉动 大 小
噪音 大 小
效率 中等 高
动态响应 慢 快
MCU算力要求 低 高
代码复杂度 简单 复杂
适用速度范围 中低速 全速域

我个人觉得,选哪种方案,关键看项目需求。如果只是做个风扇、水泵,六步换相完全够用,成本低、开发快。但如果是做伺服驱动器、机器人关节,FOC是必须的,转矩平稳性和动态响应不是一个量级。

换相方案选型决策流程 项目需求分析 对转矩平稳性要求高? 否 是 六步换相 FOC矢量控制 霍尔传感器方案 无传感器方案 带霍尔FOC 无传感器FOC 选型建议 低速/零速带载 → 加霍尔 高速/低成本 → 无传感器

这张图是我自己总结的选型流程。每次做新项目,我都会先问自己:转矩平稳性到底要不要?如果答案是"要",直接走FOC路线;如果"不要",六步换相就够。然后再根据启动要求决定加不加霍尔。

嗯,换相原理这块内容不少,但核心就两点:六步换相是"开关式"换相,FOC是"矢量式"换相。搞清楚了这两者的本质区别,后面的位置环设计就好办了。