基于Matlab的开关磁阻电机控制系统仿真建模新方法

更新时间:2023-09-04 23:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

开关磁阻,论文,DSP,控制

第18卷 第2期 浙江万里学院学报 Vol.18 No.2

基于Matlab的开关磁阻电机控制系统

仿真建模新方法

纪志成,薛 花

(江南大学控制科学与工程研究中心电气自动化研究所,江苏 无锡 214122)

摘 要:在分析开关磁阻电机(SRM)数学模型的基础上,利用C语言编写S-函数,提出了SRM控制系统仿真建模的新方法. 在Matlab/Simulink中,构造C MEX S-函数的三类简化结构,建立独立的功能模块,如电机本体模块、速度控制模块、电流滞环控制模块等,通过功能模块的有机整合,搭建SRM控制系统快速高效的仿真模型. 系统采用双闭环控制:速度环采用PI控制,电流环采用角位置控制(APC)与电流斩波控制(CCC)相结合的方法,保证了SRM在低速或高速运行时都可获得满意的性能. 仿真结果证明了采用C MEX S-函数方式仿真建模的快速性和有效性.

关 键 词:C MEX S-函数;开关磁阻电机(SRM);仿真建模;快速性

中图分类号:TM352 文献标识码:A 文章编号:1671-2250(2005)02-0001-06 收 稿 日 期:2004-01-12

作 者 简 介:纪志成,江南大学控制科学与工程研究中心电气自动化研究所教授,博士,博士生导师;薛花,江南大学控制科学与工程研究中心博士研究生。

1 引言

因其结构简单、可靠性高、性能优良、输出转矩大等特点,开关磁阻电机(SRM)应用广泛[1],且随着SRM应用领域的不断拓宽,对电机控制系统设计要求越来越高,既要考虑成本低廉、控制算法合理,又需兼顾控制性能好、开发周期短. 如何建立有效的SRM控制系统的仿真模型成为电机控制算法设计人员迫切需要解决的关键问题,因此,对于建立电机控制系统仿真模型方法的研究具有十分重要的意义[2,3].

对于在Matlab中进行交流异步电机仿真建模方法的研究已成为探讨的热点,例如通过编写m文件可在Simulink环境下实现SRM控制系统的仿真建模[4],虽然m文件形式的S-函数具有容易编写和理解的优点,但由于它在每个仿真步都要激活Matlab解释器,使得仿真速度变慢,且这种方法实质上是一种整体分析法,因而在这一模型基础上修改控制算法或添加、删除闭环就都需对整体系统重新建模. 为此,文献[5,6]提出在Matlab/Simulink中构造独立的功能模块,通过模块组合进行交流异步电机建模,通过模块组合进行交流异步电机建模,这一方法可观性好,在原有的建模基础上添加、删除闭环或改变控制策略都十分便捷,但模块化建模的方式存在控制策略难以硬件实现的问题.

本文提出了一种新型的SRM建模方法,将控制单元模块化,利用C MEX S-函数三类简化形式,在Matlab/Simulink中建立独立的功能模块:SRM本体模块、速度控制模块、电流控制模块、转角选择模块、参数计算模块和电压逆变模块,对这些功能模块进行有机整合,即可搭建出SRM控制系统的仿真模型. C MEX S-函数不仅执行速度快,而且可用来生成独立的仿真程序,且由于结合了C语言的优势,可以实现对操作系统的访问和向硬件的下载,如速度、电流等控制模块做简单转换后,就可下载至DSP,实现硬件控制器的设计与调试. 仿真结果证明,利用C MEX S-函数建立SRM控制系统模型这一新方法的快速性和有效性,为分析和设计SRM控制系统提供了有效的手段和工具.

开关磁阻,论文,DSP,控制

2 浙江万里学院学报 2005年4月

2 C MEX S-函数的简化结构

利用Matlab/Simulink进行运动控制系统的建模仿真是普遍采用的方法之一,而S-函数,尤其是C MEX S-函数,正是整个Simulink动态系统的核心,它不仅提供了增强和扩展Simulink能力的强大机制,同时也是使用RTW(Real Time Workshop)实现实时仿真的关键所在,也因此十分适合于复杂动态系统的数学描述,支持连续、离散以及两者混合的线性和非线性系统的仿真建模[7].

Matlab提供了名为sfuntmpl_basic.c的C MEX S-函数模板,包含了所有的子程序,较为复杂,本文在此基础上提出了简单实用的三类简化结构,如图1所示.

结构A结构B

图1 C MEX文件简化结构

结构C

结构A:仅包含3个子函数,Initialization子函数完成S-函数的初始化工作,如初始化结构体SimStruct、设置输入/输出口、设置采样时间等;mdlOutputs子函数描述S-函数的输出方程,输出值是状态x、输入u和时间t的函数,而不包括任何动态方程(微分或差分)在内;Termination子模块在仿真结束时调用,可在此完成结束仿真所需的工作. 结构A仅完成由输入直接计算输出的函数描述,采样时间可为连续的或离散的,但不含状态向量,因而没有mdlUpdate子函数和mdlDerivatives子函数.

结构B:在结构A的基础上增加了mdlDerivatives子函数,用于连续状态的求解. 状态向量的一阶导 是状态x、输入u和时间t的函数,通过mdlDerivatives子函数完成计算,并将结果返回供求解器积数x分.

结构C:在结构A的基础上增加了mdlUpdate子函数,用于离散状态的求解. 下一步状态向量的值xk+1依赖于当前的状态x、输入u和时间t,通过mdlUpdate子函数完成计算,并通过求解器传递给其他模块.

将这三类简化的C MEX S-函数有机组合,即可完成SRM控制系统的最小化建模,实现占用最少资源的高效仿真,由于结构简单,不仅可使C MEX S-函数编程灵活,删改方便,更确保了C MEX S-函数高速仿真的特性.

3 SRM数学模型与控制系统的建立

SRM控制系统采用双闭环控制方案:转速环由PI调节器构成,电流环由角位置控制器(APC)与电流斩波控制器(CCC)复合构成. 根据模块化建模的思想,将控制系统分割为各个功能独立的子模块,主要包括:SRM本体模块、速度控制模块、电流控制模块、转角选择模块、参数计算模块和电压逆变模块. 利用C MEX S-函数编程实现各模块的功能,再将这些功能模块有机整合,即可在Matlab/Simulink中搭建SRM控制系统的仿真模型,实现双闭环的控制算法. 各功能模块的构建方法与数学模型简述如下. 3.1 SRM本体模块

电机本体模块是控制系统的仿真模型中的关键部分,描述了SRM的本质属性,该模块完成求取SRM三相相电流、电机转速和位置信号的功能,主要由两个子模块组成:相电流生成子模块和转矩计算子模块.

对于6/4三相SRM,第k相绕组的电压平衡方程可表示为

Ldi Ldθ Uk=Rsik+(Lk+ikk)k+ikk (1) ikdt dt

开关磁阻,论文,DSP,控制

第2期 纪志成,薛花:基于Matlab的开关磁阻电机控制系统仿真建模新方法 3 式中:k=a,b,c;Uk为k相绕组电压;Rs为转子相电阻;Lk为k相绕组电感;ik为k相绕组电流;θ为转子位移角. 根据电压平衡方程式(1)建立相电流生成子模块,模块输入量为电机转速ωr、逆变器输出的各相电压Uk(k=a,b,c)和参数计算模块输出的各相绕组电压计算参数Lt,k和Mk,输出量为各相相电流ik.

SRM的电磁转矩方程为 Te=运动方程为

k=a,b,c

∑Te,k,Te,k=

θ

ik0

Ψk(ik,θ)dik (2)

dωr

(3) dt

式中: Te为电磁转矩;Te,k为k相电磁转矩;Tl为负载转矩;ωr为电机机械角速度;J为转动惯量. 根据SRM电磁转矩方程式(2)建立转矩计算子模块,模块输入为各相电磁转矩Te,k,通过加和模块即可求得电磁转矩信号Te. 同时根据运动方程式(3),由电磁转矩Te和负载转矩Tl,通过加乘、积分环节,即可得转速信号ωr,求得的转速信号经过积分可得到转子位置信号θ.

Te Tl=J

3.2 速度控制模块

速度控制模块采用PI算法,结构简单,单输入:参考转速和实际转速的差值,单输出:参考相电流*

,实现该功能的数学表达式可写为 幅值i0

* i0=kpe(t)+ki∫e(t)dt (4)

0t

式中:kp为PI控制器中P(比例)的参数,ki为PI控制器中I(积分)的参数,e(t)为参考转速与实际

*

转速的差值,即e(t)=wr(t) wr(t). 3.3 电流控制模块

电流控制模块的作用是实现电流APC和CCC方式的复合控制,模块输入为参考相电流幅值i0,位移角θ,转速ωr和SRM本体模块输出的三相相电流ia,ib,ic,输出为逆变器控制信号. 当转速ωr大于基速ωb时,采用APC方式,输出恒功率特性,通过调节开通角θon、关断角θoff,改变相电流峰值、有效值,以达到由转矩调节实现转速调节的目的. APC方式下,固定外加电压Ud,可按比例增大导通角θc=θoff θon,以补偿转矩的下降,实现恒功率输出特性. APC方式下的相电流波形如图2(a)所示. 当转速ωr小于基速ωb时,采用CCC方式,输出恒转矩特性,通过电流的限幅控制Ud加在导通相绕组上的有效时间,实现了最大磁链和最大电流的限定. CCC方式下,固定θon、θoff,通过斩波控制外加电

*

压Ud,若电流超出参考相电流i0幅值上限,则功率开关器件关断,迫使电流下降;若超出参考相电流幅值下限,则功率开关器件导通,又使电流开始回升,因此相电流波形近似“理想平顶波”. CCC方式下的相电流波形如图2(b)所示. 电流控制模块采用APC与CCC方式的复合控制,可保证在额定运行曲线下方,SRM可运行在任一希望的机械特性上,实现较宽范围的调速特性,使仿真特性更为准确,模型性能更为优越.

L(θLLmini(θL(θL*

Lmin

i(θon

off

z

(a)

on

offz

(b)

(a)APC方式 (b)CCC方式

图2 相电流波形

开关磁阻,论文,DSP,控制

4 浙江万里学院学报 2005年4月 3.4 转角选择模块

转角选择模块实现由位移角信号θ进行电机运行状态选择的功能. SRM相电感L(θ)的变化周期正比

D

于转子极对数,因此6/4三相SRM相电感的变化周期τr=90. 一周期内,转子位置信号与相选择信号的对应关系如表1所示,输出的相选择信号直接输入参数计算模块,进行各相电压方程运算参数和转矩的求取. 表1 转子位置信号与相选择信号对应关系表 3.5 参数计算模块

位置信号 0~π/6

相选择信号 1 0 0

对应相 a相

0 1 0 π/6~π/3 b相 参数计算模块利用相选择信号、角位移θ和各

0 0 1 π/3~π/2 c相

相电流ia,ib,ic,求取参与SRM本体模块中电压

平衡方程运算的参量Lt,k,Mk与各相转矩Te,k(k=a,b,c). SRM磁路的非线性、磁通的复杂分布及相间的非线性耦合等因素,使得SRM模型中Lt,k,Mk参数的求取、电磁转矩Te,k的解析计算极为复杂,为以最简洁的近似方法计算出这些参变量,本文采用磁化特性曲线分段线性化的方法,以分饱和段和非饱和段两部分线性特性来近似非线性磁化曲线. 基于此准线性模型可推理求得Lt,k,Mk,Te,k的计算公式分别为

(Ψadia) 0ia≤isLuia≤is Ψa 0ia≤is,, (5) Lt,a= Ψa= =T= ==M e,aa

>0ii>>Lii0ii ia s as ua as

Ks Ks2 Ks

Ψi (d)iiib≤is (6) θθ+ ≤L()iiiii≤ Ψb u Ψbbs,0bs,bb=i2isTe,b== Lt,b=Mb=b= is s

ib θ Kii>i

Luib>is sbbs Ksib>is

Ks2Ksπ Ks (d) Ψicc(θ0+ θ)ic≤is icic≤is (7) Ψc icic≤is, Ψc Lu+ ==Tis3= Mc== isLt,c= 2ise,c

ic θ Kii>i

sccs Luic>is Ksic>is

式中:Lu=Ψminimax为未饱和电感;Ks=(Ψmax imaxLu)3.6 电压逆变模块

βs,βs为定子极弧;is为磁化曲线开始弯

曲处对应的电流值;θ0为电感开始上升变化时对应的位移角.

电压逆变模块实现的是逆变器功能,输入为电流控制模块给出逆变控制信号,可根据电机所处的运行

阶段输出三相端电压.

4 SRM控制系统C MEX S-函数设计方法

Matlab6.5的Simulink环境中,在分析SRM数学模型的基础上,提出了利用C MEX S-函数建立SRM

图3 SRM控制系统仿真建模组成框图

SRM双闭环控制系统主要由6个功能模块组成,利用C MEX S-函数的三类简化结构,编写程序实现模块功能. 其中:①电机本体模块,描述SRM机理特性,具有连续采样时间和连续状态,采用7输入4

开关磁阻,论文,DSP,控制

第2期 纪志成,薛花:基于Matlab的开关磁阻电机控制系统仿真建模新方法 5 输出的B结构;②速度控制模块,实现PI控制策略,具有离散状态,采样时间1ms,采用2输出1输出的C结构;③电流控制模块,实现APC和CCC的复合控制,具有连续采样时间,无状态向量,采用4输入3输出的A结构;④转角选择模块,实现电机运行状态的选择功能,无状态向量,采样时间1ms,采用1输入1输出的A结构;⑤参数计算模块,求取电压平衡方程中的运算参量,无状态向量,采样时间0.1ms,采用6输出3输出的C结构;⑥电压逆变模块,描述逆变功能,具有连续采样时间,无状态向量,采用3输入3输出的A结构.

C MEX S-函数中使用文本方式输入公式和方程,非常适合于对复杂动态系统的数学描述,并且在仿真过程中可以对仿真进行更精确的控制. 因此,SRM双闭环控制系统原本需要Simulink元件库中的大量模块完成积分、微分、增益、加和、滞环控制、饱和限幅等功能,利用C MEX S-函数实现只需6类基本模块:S-function模块、Mux模块、Demux模块、用于给定参考信号的Step模块、用于消除代数环的Memory模块和用于观测波形的Scope模块,即可完成SRM控制系统的快速仿真建模. 该方法不仅可以保证控制策略的正常运行,获得良好的控制性能,更为关键的是大大提高了仿真的运行速度,可以实现对操作系统的访问,为控制系统向DSP硬件的下载运行提供了准备与条件.

结构A为C MEX S-函数的最简架构,结构B、C是结构A的拓展. 模块的输入、输出间为简单的直馈关系,无连续或离散状态向量时,可采用结构A编写C MEX S-函数;当需实现一个连续系统时,首先在结构A的基础上,对结构B模板中的mdlInitilizeSizes子函数做适当修改,包括对连续状态个数、状态初始值和采样时间的设置等,还需编写mdlDerivatives子函数,对于多变量系统,系统结构向量返回的是所有连续状态的导数,最后在mdlOutputs子函数中对系统输出方程做一修改;当需实现一个离散系统时,首先在结构A的基础上,对结构C模板中mdlInitilizeSizes子函数的离散状态个数、状态初始值和采样时间等设置做适当修改,然后编写mdlUpdate和mdlOutputs子函数,分别输入要表示的系统离散状态方程和输出方程. 三类简化结构简单实用,有效实现了易编、易改、易理解的编程原则,确保了设计效率与质量.

5 仿真结果

本文基于Matlab/Simulink建立了6/4三相SRM控制系统的仿真模型,并对该模型进行了双闭环控制方式的仿真实验. SRM参数为:电机相电压Ud=300V,最大相电流I0max=10A,相绕组电阻Rs=1.5Ω,定、转子极弧βs=βr=30°,饱和时的最大磁通Ψmax=0.8Wb,最小磁通Ψmin=0.16Wb,磁化曲线转折处对应电流值is=2A,转动惯量J=0.002kg·m2,额定转速ne=500rad/s,极对数np=2.

为了验证所设计的SRM控制系统仿真模型的静、动态性能,系统空载起动,进入稳态运行后,在t=0.3s时参考转速由500rad/s突变为150rad/s,在t=0.5s时突加负载转矩Tl=8N·m,在t=0.6s时卸载至1N·m,同时参考转速由150rad/s突变为700rad/s,稳态t=0.8s时再突增负载转矩至3N·m,可得系统转速、转矩、a相电流、a相电压波形如图4~7所示.

由仿真波形分析可得:在ne=500rad/s额定转速下,系统响应快速且平稳,相电流和相波形较为理想,参考电流的限幅作用十分有效;空载稳速运行时,参考转速由500rad/s突降至150rad/s,电机工作在CCC方式下,再突增为700rad/s后,电机工作在APC方式下,突变过程中电机实际转速始终能迅速跟踪给定,超调小,无静差,说明系统反应快速,具有较高的控制精度;在t=0.5s,0.6s,0.8s时突变负载转矩,电机转速有小跳变,但能够快速回复至平稳运行状态,说明系统运行特性对参数扰动有较强的鲁棒性. 仿真结果证明了这种新型的基于C MEX S-函数SRM仿真建模方法的有效性.

)s/dar(w

W/(rad·s-1)

t(s)

t/s

开关磁阻,论文,DSP,控制

6 浙江万里学院学报 2005年4月

Ua/V

)V(aU

ia/A

)A(ai

t/s

t(s)

t(s)

t/s

图6 a相电流波形 图7 a相电压波形

5 结论

本文在分析SRM数学模型的基础上,提出了一种基于C MEX S-函数仿真建模的新方法. 将该方法应用于Simulink环境下SRM控制系统模型的设计,采用经典的速度、电流双闭环控制方法对该建模方法进行了测试,仿真实验结果表明:波形符合理论分析,系统能平稳运行,具有较好的静、动态特性. 采用简单明了的三类C MEX S-函数简化结构,使得实现、验证控制算法十分便捷,改换或改进控制策略十分简易,只需对部分编程语句进行修改即可实现功能模块的更新或替换. 特别的是,与m文件S函数建模和框图建模相比,结合了C语言优势的S-函数仿真速度最快,而且可实现对操作系统和硬件访问的特点,使得该方法为设计和调试实际SRM控制系统提供了有效的手段和工具.

参考文献:

[1]SRINIVAS K N,ARUMUGAM R. Dynamic characterization of switched reluctance motor by computer-aided design and electromagnetic transient simulation[J]. IEEE Trans. on Magnetics, 2003, 39(3): 1806-1812.

[2] XUE X D , CHENG K W E, Ho S L.Simulation of switched reluctance motor drives using two-dimensional bicubic spline[J]. IEEE Trans. on Energy Conversion, 2002, 17(4): 471-477.

[3]HAMID E, VIRENDRA K S,AMBRISH C, et al. Modeling simulation and performance analysis of switched reluctance motor operating with optimum value of fixed turn-on and turn-off switching angles[A]. Power Electronics Specialist[C]. Acapulco, 2003:397-402.

[4]KIM C C, JIN H,HYUN D S. Simulation of a switched reluctance motors using Matlab M-file[A]. Industrial Electronics Society[C]. Sevilla, 2002. 1066 –1071.

[5]SOARES F, COSTA BRANCO P J. Simulation of a 6/4 switched reluctance motor based on Matlab/Simulink environment[J]. IEEE Tran. on Aerospace and Electronic System, 2001, 37(3): 989 –1 009.

[6]CHEN H, JIANG J G,SUN S L, et al. Dynamic simulation models of switched reluctance motor drivers[A]. Intelligent Control and Automation[C]. Hefei, 2000:2111-2115.

[7]THOMAS S,TIM A.HASKEW. Comparative study of different implementations for induction machine model in Matlab/Simulink for wind turbine simulations[A]. System Theory[C]. Huntsvill, 2002:58-63.

(下转第11页)

开关磁阻,论文,DSP,控制

第2期 吕志香,张春喜,李国辉,等:DSO-2100动态连接库DLL在电机故障检测系统中的应用 11

5 结束语

本文是使用DSO-2100提供的DLL对其控制软件进行二次开发. 由于DLL提供的函数库主要是数据采集等函数,在故障检测系统中使用比较频繁. DLL是在应用程序运行时进行动态装载,装载时DLL将被映射到进程的地址空间中,并在程序中记录了程序的入口点和接口. 因此,不管多少程序使用了DLL,内存中只有该DLL的一个副本,当没有程序使用时,系统就会将它移出内存,减少了对内存和磁盘的要求. 在本系统中使用DLL不仅可以节省系统资源,而且实现了DLL资源共享.

参考文献:

[1]朱时银,马承志,杨飞,等.C++ Builder 5编程实例与技巧[M].北京:机械工业出版社,2001:291-298.

[2]郑学军,金亮.如何实现C++ Builder和VC之间的动态连接库DLL的相互调用[J].现代计算机,2002,(5):94-95. [3]宁玉泉,大型三相异步电机气隙偏心的在线监测和故障诊断[J].大电机技术,1999,(6):20-24.

Application of Dynamic-Link Library of DSO-2100

in the system of fault inspection

LV Zhi-xiang,ZHANG Chun-xi,LI Guo-hui,LIU Hai-li

(Harbin University of Science and Technology, Harbin 150040)

Abstract: In order to use DSO-2100 in the system of motor fault diagnosis, we discribe a method to make use of Dynamic-Link

Library (DLL) of DSO-2100 in the second exploitation of control soft. when the applied procedure runs, DLL would be loaded dynamically. The links of the DLL is not a copy of the code of the Dynamic-Link Library. It is a mapping of the dimension of the address. In this way, the links of DLL can not only reduce the requirement of the EMS memory and disk space , but also can realize the share of resources.

Key words: dynamic-link library; C++ Builder;DSO-2100

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (上接第6页)

Novel Method of Modeling and Simulation for Switched Reluctance

Motor Control System Based on Matlab

JI Zhi-Cheng,XUE Hua

(Institute of Electrical Automatic,Control Science and Engineering Research Center,Southern Yangtze University,Wuxi 214122)

Abstract: Based on the mathematical model of switched reluctance motor(SRM), a novel method for modeling and simulation of

motor control system written in C language and linked into Matlab has been proposed. Basically it is categorized into three minimum structures, then the isolated functional blocks, such as Motor model block, Speed controller block, Hysteresis current controller block, can be modeled quickly. In combination with these blocks, the model of SRM control system can be established efficiently. In the double loop of control system, a PI controller is adopted in the speed loop and a compound current controller is adopted in the current loop. In order to obtain expected performance, an angular position controller (APC) is used in current closed-loop when the speed is above base speed. A current chopping controller(CCC) is adopted when the speed is below base speed. The reasonability and validity have been testified by the simulation results. This novel method offers a new way for designing and debugging actual motors.

Key words: C MEX S-function;modeling and simulation;switched reluctance motor(SRM)

本文来源:https://www.bwwdw.com/article/ql6i.html

Top