01--BLDC旋转原理
原理:
六步换相的本质是,通过绕组形成的磁场,不断吸引转子上的永磁体,使电机转起来。霍尔位置传感器把360°空间(电角度)分为了等间隔的六份,所以绕组能形成六个位置的磁场,所以被称为六步换相。
总体框架如下,来自MATLAB官方网站的电机控制介绍
一对极的BLDC电机,通过给三相ABC通电,使得绕组线圈即定子产生磁场,与转子的磁场通过同性相排斥,异性相吸引原理产生旋转运动的原理。
上图,通过传感器模块采集BLDC的转速(角速度)和角位移(即转过的角度),角速度即为采集到的实际速度,通过设定目标转速,与实际转速的差值进行PID控制,得到输入到逆变器的直流电压。而传感器采集到的角位移进行扇区的划分形成逆变器的开关逻辑,与电压一起最终输出三相交流电最终再进入到BLDC电机。
为什么叫六步换相呢,是因为每隔60°ABC三相需要进行切换,如下图,有S1-S6 6个开关,每次通电其中2个(上下桥臂每次只有一个闭合)形成一个回路。
02--模型搭建
1.BLDC电机模块
直接搜索BLDC电机模块
拖动该模块到模型BLDC区域
模块左边~端口表示三相端口,表示电机的电气端口,R、C端口表示电机的转子及外壳,为机械端口。右键点击BLDC模块,选择拓展三相端口
调节完后如下图:
库内搜索Mechanical Rotational Reference,即机械旋转参考模块,表示电机的定子外壳部分
库内搜索Electrical Reference模块,电气参考模块,电气参考模块连接到BLDC模块左侧下端的n端口,其意义是电机的中性点
2.传感器模块
库内搜索Ideal Rotational Motion Sensor 理想旋转运动传感器
去掉了区域图,看起来挺奇怪
传感器模块也哟参考端口C,角速度即转速W,角位移A即转过的角度
同样的C使用机械参考端口
在转子中间加一个负载,为了仿真电机带负载情况,我们可以使用一个惯性模块,用于模拟电机运行时的惯性负载。
另外,接口W和A连接的各类模块属于物理仿真模块,其信号不能直接输入给Simulink模块,需要进行数据转换后才能正常连接。这里我们搜索“PS-Simulink Converter”模块,该模块用于将物理信号转换为常规的Simulink输出信号。
3.扇区模块
根据BLDC六步换相连续运行的原理,逆变电路的开关导通状态共有六种;按照转子所在位置划定六个扇区,每个扇区对应于一种开关状态,以实现当转子处于任意位置时,逆变电路对励磁线圈的控制均可使得转子受到磁场作用而旋转。
可以按如下开关表进行建模
开关表 含义
[1 0 0 0 0 1] A相上桥、C相下桥打开 电机转子处于270~330°范围
[0 0 1 0 0 1] B相上桥、C相下桥打开 电机转子处于330~30°(或者说正负30°)范围(建模 时,这里的逻辑要使用逻辑或,其他都是逻辑与)
[0 1 1 0 0 0] B相上桥、A相下桥打开 电机转子处于30~90°范围时
[0 1 0 0 1 0] C相上桥、A相下桥打开 电机转子处于90~150°范围
[0 0 0 1 1 0] C相上桥、B相下桥打开 电机转子处于150~210°范围
[1 0 0 1 0 0] A相上桥、B相下桥打开 电机转子处于210~270°范围
按如上逻辑进行扇区划分建模:
上面有个gain模块代表极对数,由于我们做的BLDC简易模块,用的1对极,6个扇区,但是如果不是1对极是2对极或者4对极的话,扇区就会被划分更多,每个扇区角度可能从60°变为30°或者15°。对角位移进行360°取余,可以是的扇区循环,最终的输出就是不同角位移对应的具体扇区。
注意到,在gain模块后面有个延时模块,该模块是为了避免代数环出现,因为扇区输出后面会作为逆变器开关的输入。这个delay模块是否可以放在扇区最终输出模块之后呢?如果放在那里,由于delay模块有个初始值0,将会与后面的Multiport Switch形成冲突,因为该模块是扇区的选择,只有1-6 6个扇区,而没有0扇区这个说法,仿真会报错。
4.扇区开关选择模块
根据开关表,搭建如下模块
5.三相逆变器模块
库内搜索Controlled Voltage Source模块,该可控电压源模块可以根据左侧的Vs端口的输入,控制输出端口电压。
搜索MOSFET模块,
将MOSFET模块复制为六份,并按照如图所示方式进行连接,和经典三相逆变电路排布一致。
上下桥臂分别命名为ABC,H代表上桥臂,L代表下桥臂
继续加上Simulink-PS Converter模块,使得Simulink信号可以转化为物理信号
使用Demux模块把之前的终端开关输出接进来,同时使用Goto和From模块并按如下方式搭建
整体如下:
接下来使用传感器采集三相电流和电压,Current Sensor和Phase Voltage Sensor模块
同样的,按如下方式把三相调出来
按如下方式接入到电路中
然后将目标的a,b,c相的电流接入到BLDC电机模块中
6.转速闭环控制
现在我们还有电压及BLDC模块的输出转速信号没有连接,BLDC模块的输出转速W是实际的反馈转速,我们可以通过控制目标转速,通过PID模块进行转速控制。
目标转速我们使用Repeating Sequence模块
PID Controller模块
为避免代数环,在连接的线路上需要加上延迟模块,按如下搭建:
整体模型如下:
7.参数设置
①BLDC模块
转子:
定子:
②惯性模块
③理想旋转运动传感器模块,单位改为度
④PS-SimulinkConverter模块,转速输出单位为deg/s,角位移单位为deg
⑤MOSFET模块,电压阈值设置为0.5V,6个都需要设置,当输入置1时,开关闭合,反之打开
⑥Repeating Sequence模块,时间从0-10s,转速从0-1500转
⑦PID模块,离散时间,P为2,I为5
8.运行仿真
整体模型如下:增加如下示波器进行观测(电流、电压、实际转速、实际位置)
运行仿真发现报如下错误
缺少求解器配置模块,按照报错信息搜索Solver Configuration模块
求解器模块放如下位置,勾选本地求解器即可
整体模型如下:
把模型按照最开始的示意图进行封装子系统:
封装后:
基本上和上面的示意图一致,运行仿真
读取电流:
读取电压:
读取实际转速:和目标转速接近
读取实际角位移:
03--小结
六步换相和PMSM用的FOC控制,他们都是永磁同步电机,只是控制方法不一样,六步换相是梯形控制,而FOC是正弦控制