1. 简介
无刷直流电机BLDC(Brushless Direct Current)需要使用上图的三相功率逆变器,实现直流变三相,其常用控制方式有:
- 方波控制:最简单粗暴的控制方式,由于三相线圈按照120°错开,然后再根据电流方向可再细分出相间60°的磁场方向,方波控制就是根据转子所在区域,通断相应的线圈;
- SPWM(Sinusoidal PWM, 正弦脉冲宽度调制);
- SVPWM(Space Vector PWM, 空间矢量控制);
2. SPWM
引用电机控制要点解疑:SPWM,SVPWM和矢量控制文章的一句话.
抛开各种控制算法等细节,从最朴素的角度出发。我们只需要在A,B,C三相提供120相位差的正弦电压,电机就会稳定的转动起来,调节正弦电压的幅值和频率,就能调节电机的转速和扭矩。这是我们所需要的输出。而我们所提供的输入是稳压直流电源,电机控制中的控制二字指的就是通过6路PWM,控制6个MOS管的开断,来达到直流电源变正弦交流的目的。
所以SPWM的核心思想就是为三相提供相位错开120°的正弦波!至于每一相如何生成正弦波就是根据PWM的等效原理:形状不同但面积相同的信号加在有惯性的环节时,其效果基本相同.
2.1 PWM生成
PWM的通断时刻由三角波(锯齿波)对目标波形采样确定,有以下采样方法:
参考SPWM基本原理详解
- 自然采样法:直接求三角波和目标波的交点
- 规则采样,根据PWM的电压极性又可以分为:
- 单极性SPWM:在正弦波的正半周期,PWM只有一种极性,负半周期同样只有一种极性
- 双极性SPWM
2.2 SPWM的特点
从上面的SPWM原理讲解可知,SPWM的特点有以下几点:
- 简单粗暴,直接生成相互错开120°的正弦波;
- 没有考虑电机的状态
3. SVPWM
SVPWM的名字看起来和SPWM相似,但看其全称发现SV指的是Space Vector,平常听到的FOC(Filed-oriented control,磁场定位控制/矢量控制)使用的就是SVPWM.
其核心思想正如其名一样,就是控制一个空间磁场矢量拖动电机转子旋转,使合成的磁场角度始终与转子磁场角度保持90°,这样可以使效率最大化,减小发热.
按照上面的设想我们产生了几个问题:
- 如何产生合理的PWM才能符合我们想要的合成转矩?
- 如何控制?换句话说,根据什么反馈控制我们的输出的PWM?
3.1 PWM的产生
在前面的SPWM就提到,电机的线圈布局使其磁场作用区域分为6个区域
例如上图的绿色矢量可通过V6和V4合成(还有零矢量V0(000)V7(111)),根据矢量合成的原则分配V6/V4/V0/V7占用的时间,可能有人会问为什么有两个零矢量V0和V7,这个主要是在实际控制中,引入两个零矢量可使得控制的方波呈现对心对称的马鞍波,这样可以大大减小谐波分量.
因此引入零矢量的作用有2个(参考直流无刷电机FOC控制算法-理论二):
- 通过零矢量调节合成矢量的幅值
- 通过插入零矢量,使得七段式/五段式SVPWM在每一段的切换,只需要动作一路开关,得到成中央堆成的PWM,大大减小谐波分量
七段式马鞍波
五段式马鞍波
下面的动图很清晰的展示了SVPWM的生成与方向矢量的关系
3.2 电流反馈及PID控制
上面一节讲的是SVPWM的生成,所控制的对象其实就是逆变器的的6个开关,我们还需要依据电机的状态控制PWM的产生,所以我们常看到有以下FOC的控制框图,包含了3个闭环:
- 电流环
- 速度环
- 位置环
下面将会提到很多坐标变换的数学换算,为什么要这么复杂?
因为从电机3相采样得到的相电流是交流的,但是对于PID控制而言,交流的量很难控制,所以前人就设计一套变换流程将动态的值变成定值方便控制.引用直流无刷电机FOC控制算法-理论一的一句话
我们从电机U V W三相检测到的反馈电流为正弦波,同时处于静止的abc三相坐标系,谁会愿意在三相坐标系上去计算呢,受过九年义务教育的我们,都只喜欢在二维坐标系上去进行简单计算的嘛,聪明的先辈们也体会到计算的复杂性,太难的东西不利于推广,因此经过先辈们的艰苦奋斗,找到了一种巧妙的解决方式——坐标变换
控制的过程可以简单总结为以下5步:
- 通过传感器采样电机的相电流(可以只采样任意两相,再根据基尔霍尔原理求第三相的电流),之后通过Clark变换将三相abc坐标转换为两相直角坐标
$\alpha$
$\beta$
坐标系- Clark变换
- 坐标系:静止三相坐标系->静止两相直角坐标系
- 波形: 正弦波->正弦波
- Clark变换
- 通过Park变换,将静止两相直角
$\alpha$
$\beta$
坐标系转换为随电机旋转的旋转D/Q坐标系,旋转坐标系与静止坐标系夹角为电机当前时刻的电角度- Park变换
- 坐标系:静止两相直角坐标系->旋转DQ坐标系
- 波形:正弦波->常数
- Park变换
- PID计算:根据目标与实际的偏差调整电压输入
- 进行Park反变换
- 通过SVPWM技术,UVW三相输出相应的马鞍波
到此介绍完了SVPWM的控制流程,至于Clark变换与Park变换的理论推导这里不作介绍,详见:
- <永磁无刷电机及其驱动技术>
- 直流无刷电机FOC控制算法-理论二