BLDC电机控制-六步换相简易模型搭建

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是正弦控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值