开关磁阻电机05-Simulink仿真模型内部结构与官方仿真例程

文章目录
  1. 1. 开关磁阻电机模型参数设置
  2. 2. 开关磁阻电机模型内部结构
  3. 3. ψ-i-θ模型与T-i-θ模型
  4. 4. 开关磁阻电机控制仿真例程1-电流斩波控制
  5. 5. 开关磁阻电机控制仿真例程2-转速电流双闭环控制

本文将结合Simulink模型库中的开关磁阻电机模型、电机控制仿真例程、Matlab官方文档,分析仿真模型内部结构与Simulink仿真原理。

开关磁阻电机模型参数设置

本文所用软件为Matlab R2023a,首先打开库浏览器,选择Simscape->Electrical->Specialized Power Systems->Electrical Machines,就能找到开关磁阻电机(Switched Reluctance Motor)的模型,也可以直接在库浏览器中搜索Switched Reluctance Motor。
图0 开关磁阻电机模型

对模型右键打开“帮助(H)”,就可以看到该模型的官方帮助文档,该文档也可以在网页上打开,链接为:https://ww2.mathworks.cn/help/releases/R2023a/sps/powersys/ref/switchedreluctancemotor.html
该文档简要展示了开关磁阻电机的磁化特性曲线,以及电机模型中可以设置的参数。

双击该电机模型,进入参数设置界面,分为Parameters和Model两个选项卡。
Parameters的第一项是Type,可以选择6/4、8/6、10/8开关磁阻电机,还可以选择预定特性模型的额定功率开关磁阻电机(无需设置Model选项卡),默认值为6/4。
Stator resistance是定子相绕组的电阻值\(R_s\),默认为0.01Ω
Inertia是转动惯量\(J\),默认值为0.0082kg·㎡
Friction是粘性摩擦系数\(B\),默认值为0.01
Initial speed and position是电机初始转速\(w_0\)(rad/s)与转子初始位置\(\theta_0\)(rad),以数组形式表示,默认值为[0,0]
Sample time是采样时间,默认值为-1,表示模型的采样时间与Powergui模块指定的采样时间一致。

Machine Model分为通用模型(Generic Model)与特定模型(Specific Model),其与电机的磁化特性相关,对于通用模型,需要设置以下参数:
Unaligned inductance是转子处于“不对齐位置”时的电感\(L_q\),默认值为\(0.67\times 10^{-3}H\)
Aligned inductance是转子处于“对齐位置”时的不饱和电感\(L_d\),默认值为\(23.6\times 10^{-3}H\)
Saturated aligned inductance是转子处于“对齐位置”时的饱和电感\(L_{dsat}\),默认值为\(0.15\times 10^{-3}H\)
Maximum current是定子最大电流\(I_m\),默认为450A
Maximum flux linkage是定子电流最大时的最大磁链\(\Phi_m\),默认为0.486Wb
图1 理论磁化特性

上图为官方文档中展示的理论磁化特性曲线。图中“Unaligned”为“不对齐位置”的曲线,此时定子凸极对准转子轭部,电感最小,磁阻最大,磁路不饱和,磁化曲线近乎近似为一条直线。“Aligned”为“对齐位置”的曲线,此时磁阻较小,电感较大,磁路进入饱和状态,磁链随电流的增加速度先快后慢,具有较强的非线性。

设置完成后,可以勾选参数设置界面最下方Plot magnetization curves(绘制磁化曲线),采用通用模型默认设置所得的6/4开关磁阻电机磁化曲线如下图所示。
图2 开关磁阻电机磁化曲线(通用模型)
该磁化曲线展示了6/4开关磁阻电机转子角度0°至45°下电流与磁链的关系曲线。
值得注意的是该模型中“不对齐位置”转子角度为45°,“对齐位置”转子角度为0°,这与大多数教材、网络资料、论文中的定义(“不对齐位置”转子角度为0°,“对齐位置”转子角度为45°)不同。
图3 开关磁阻电机相电感与相电流关系

但本质原理是不变的,上图为官方文档中展示的相电感与相电流关系。
根据简化公式:\(T(\theta,i) = \frac{ { {i^2}}}{2}\frac{\partial L}{\partial \theta} =\frac{ { {i^2}}}{2}\frac{ {\text{d}}L}{ {\text{d}}\theta}\)
设置的开通与关断角要确保有电流流过时电感处于上升阶段,电感处于下降阶段时要确保没有电流流过,这样才能产生正向转矩,确保电机的正常运行。

对于特定模型,则可以通过建立二维表格,自定义电机磁化曲线。
首先确定所定义磁化曲线的来源,Source选择为Dialog时,可以直接在对话框中创建对应的变量。Source选择为MAT-File时,需要导入mat格式文件。
Magnetization characteristic table为磁化特性二维表格,默认名称为srm64_60kw.mat,若Source选择为MAT-File,则该文件需要包含三个变量,分别命名为FTBL、RotorAngles与StatorCurrents。若Source选择为Dialog,则可以定义一个二维数组变量,对应mat文件中的FTBL。
Rotor angle vector为转子角度变量,对应mat文件中的RotorAngles,默认值为[0,10,20,30,40,45]。
Stator current vector为定子电流变量,对应mat文件中的StatorCurrents,默认值为[0:25:450],该向量从0开始,到450结束,间隔为25,共计有19个元素。
若按照默认值,则会建立一个19*6(19行6列)的磁化特性二维表格,该表格描述了磁链、角度、电流之间的关系,也被称为电机的ψ-i-θ模型。

开关磁阻电机模型的输入端TL指的是负载转矩,A1、A2、B1、B2、C1、C2...通过功率变换模块的上下桥臂,连接到电机的各相绕组。
通过输出端m可以得到电机的各相定子电压、各相磁链、各相电流、电机转矩、电机转速、转子转过的总角度波形数据。

开关磁阻电机模型内部结构

对开关磁阻电机模型右键封装->查看封装内部,就可以看到开关磁阻电机模型的内部结构,如下图所示。
图4 开关磁阻电机模型内部结构
上半部分是被加密处理的文件,无法破解,但其作用中肯定包括获取各相绕组的电压。
图5 开关磁阻电机模型内部结构
下半部分如图所示,它根据开关磁阻电机的原理搭建而成,输入为上半部分处理得到的各相绕组的电压,以及外部输入的负载转矩。
大致的思路是先将电压转换为磁链,其转换基于相电压平衡方程式:
\(U_k=R_k i_k-e_k=R_k i_k + \frac{d\Psi_k}{dt}\)
\(\Rightarrow U_k-R_k i_k=\frac{d\Psi_k}{dt}\)
然后根据前文构建的ψ-i-θ模型将磁链转换为电流,再根据T-i-θ模型将电流转换为转矩,获得的各相转矩求和得到总转矩,总转矩与负载转矩经过Mechnaic机电能量转换模块得到转速与转子转过的总角度。转速经过Pos_sensor模块转换为各相的转子角度。最后用Bus Creator将电机本体的各个动态参数(各相定子电压、各相磁链、各相电流、电机转矩、电机转速、转子转过的总角度)整理为一个输出量。
电机模型中定义了一个名为SP的结构体,所有参数都在其中。与该结构体内各个参数形成的代码亦被加密,无法破解。
图6 角度转换模块
角度转换模块Pos_sensor如上图所示,其作用是将角度取模转换为各相绕组的转子角度,输入量为转速w,单位弧度每秒(rad/s),首先将其乘以180/π转换为度每秒(°/s),然后通过积分模块转换为转子转过的总角度,最后与一定的角度取模得到各相绕组的转子角度。
一定的角度存储于SP.PosSensor中,对于三相6/4开关磁阻电机,该值为90度。
积分模块中的初始条件表示各相绕组转子角度的初始值,在模块中的定义为SP.initialw + SP.theta0*180/pi,对于三相6/4开关磁阻电机,该值为[0,-30,-60]。
图7 机电能量转换模块

机电能量转换模块Mechnaic如上图所示,它的建立基于转子机械运动方程式\(T_e=J\frac{d^2 \theta}{dt^2}+B\frac{d\theta}{dt}+T_L=J\frac{d \omega}{dt}+B\omega+T_L\)
式中转速\(\omega=\frac{d\theta}{dt}\)

ψ-i-θ模型与T-i-θ模型

对于开关磁阻电机的本体模型,最为关键的部分就是ψ-i-θ模型与T-i-θ模型。其中ψ-i-θ模型在前面的参数配置过程中已被定义,在本体模型中,被存储于SP.ITBLD之中,该变量为181x101的二维数组,可以推测其对原始数据(前文的19 * 6数组)进行了一定的处理细化。而T-i-θ模型被存储与SP.TTBLD之中,为181x101的二维数组,目前尚不清楚该模型是如何生成,需要进一步的研究分析。

下面介绍获取两个模型具体数据的方法。
首先,打开仿真模型,点击“运行”右边的“步进”一次。
步进可以按照仿真步长逐步运行仿真。若点击“运行”,则会一次性完成仿真,就无法查看到SP.ITBLD与SP.TTBLD中的数据。
双击打开2D-Lookup Table,点击“编辑表和断点”,得到ψ-i-θ模型与T-i-θ模型图像如下所示:
ψ-i-θ与T-i-θ模型

开关磁阻电机控制仿真例程1-电流斩波控制

在matlab中输入power_SwitchedReluctanceMotor,就可以打开一个开关磁阻电机的仿真例程。
该例程在电脑中的位置为:
...\MATLAB\R2023a\toolbox\physmod\powersys\demos\machines\power_SwitchedReluctanceMotor.slx
帮助文档链接为:
https://ww2.mathworks.cn/help/releases/R2023a/sps/ug/switched-reluctance-motor.html

图8 开关磁阻电机官方例程

该例程中包含三个单独的开关磁阻电机控制系统,所采用的电机模型分别为6/4特定模型(外部导入电机磁化曲线数据)、8/6 75KW通用模型、10/8 10KW通用模型。三者均采用电流斩波控制策略,下面对6/4特定模型结构做具体介绍。

角度转换模块如图9所示,先将转速取积分得到转过的总角度,再取模得到各相绕组转子角度,该模块在图6基础上增加了开通角与关断角的判断,当转子角度处于开通角与关断角之间时,输出信号sig值为1,否者输出信号sig值为0,输出的sig值与电流设定值做乘法运算,得到的就是各相电流的电流参考值。
图9 角度转换与导通判断模块
功率变换模块如图10所示,采用三相不对称半桥结构,具体原理参考开关磁阻电机04-Simulink仿真模型搭建
不对称半桥有“导通”、“续流”、“关断”三种状态,该模型输入信号同时连接到上下两个桥臂,因而只具有导通与关断状态(硬斩波)。
图10 功率变换模块

开关磁阻电机控制仿真例程2-转速电流双闭环控制

上文提到的开关磁阻电机控制系统仅对电流进行了控制,Matlab提供的另一个例程采用转速环作为外环,电流滞环作为内环,实现双闭环控制。
该例程可以通过输入power_motordrive_SRM_6_4打开。
在电脑中的位置为...\MATLAB\R2023a\toolbox\physmod\powersys\demos\motordrives\power_motordrive_SRM_6_4.slx
帮助文档链接为:
https://ww2.mathworks.cn/help/releases/R2023a/sps/ug/power-motordrive-SRM-6-4.html
图11 开关磁阻电机官方例程
其中,转速与电流控制模块如下图所示。
图12 转速与电流控制模块
转速环采用PI控制器。Commutation Logic为角度转换模块,与图9结构相似。Current Regulator为电流滞环模块。
该电机采用全桥功率变换器,如下图所示。
图13 全桥功率变换器

与上文不对称半桥模块类似,该模型输入信号同时连接到上下两个桥臂,具有“导通”与“关断”两种状态。
未完待续:关于各类功率变换器件的原理,后续会专门写文章,结合Matlab提供的模型与例程加以介绍。