首页 MATLAB下开关磁阻电机的线性模型及仿真

MATLAB下开关磁阻电机的线性模型及仿真

举报
开通vip

MATLAB下开关磁阻电机的线性模型及仿真MATLAB下开关磁阻电机的线性模型及仿真 对MATLAB的介绍已经有很多。其仿真结果都以文档的形式保存,这些文档包括结构图和相应功能的函数。在MATLAB环境下,我们建立了开关磁阻电机的模型,并利用滞环电流控制方式,得出稳态运行情况来验证模型的正确性。 I 介绍 对整个系统进行仿真是很有必要的,在仿真过程中我们可以发现问题、验证可行性以及分析实验结果。系统的仿真是设计和实验室实现的重要指标。 通过一些软件可以实现SRM的动态仿真,像C语言,Fortran语言,还有ACSL(连续系统仿真语言)。甚至还有一些用...

MATLAB下开关磁阻电机的线性模型及仿真
MATLAB下开关磁阻电机的线性模型及仿真 对MATLAB的介绍已经有很多。其仿真结果都以文档的形式保存,这些文档包括结构图和相应功能的函数。在MATLAB环境下,我们建立了开关磁阻电机的模型,并利用滞环电流控制方式,得出稳态运行情况来验证模型的正确性。 I 介绍 对整个系统进行仿真是很有必要的,在仿真过程中我们可以发现问题、验证可行性以及分析实验结果。系统的仿真是设计和实验室实现的重要指标。 通过一些软件可以实现SRM的动态仿真,像C语言,Fortran语言,还有ACSL(连续系统仿真语言)。甚至还有一些用于仿真电网系统的语言如EMTDC和EMTP。这些语言虽然很有用但是当引入新的参数时缺乏灵活性,需要额外的程序而导致成本增加。另一方面,很少有基于电子电路的语言来仿真SRM,如Spice,Simulink,Matrix,Vissim,甚至Mathcad。最初的仿真是靠Spice语言实现的。然而,这种语言不太理想,因为Spice只能用于电子电路仿真。后来,有人用MATLAB/Simulink,这种语言允许在高灵敏度的模拟环境下选取电机参数。 第二节介绍了SRM的主要特性,包括SRM的优点和缺点,并且与直流电机进行了比较,还给出了电磁方程以及转矩产生的过程。 仿真。 第三节,首先详细介绍了SRM线性模型,并对6/4 SRM进行了 第四节为附录,给出了关于SRM线性模型的MATLAB仿真程序。 II SRM特性 在SRM中,只有定子存在线圈,转子由硅钢叠片构成,没有线圈和永磁体。这种结构简单并且大大降低了成本。SRM结构简单再加上近年来电力电子领域的发展使得SRM与直流和交流电机相比主要有两个优点。 1)每相在物理和电磁方面都相互独立。 2)因为定子上没有线圈和永磁体,所以SRM能获得较高转速一般可达到 (20000-50000r/min)。 但是,SRM也有一些局限性: 1)SRM不能直接工作在直流或者交流环境下,必须经过整流。 2)其结构导致其磁化曲线非线性,使得分析和控制比较复杂。 3)转矩波动较大,而且噪声较大。 由于SRM定转子之间气隙的磁阻是变化的,我们提出了一个方案。定子绕组通电后形成了单相磁场。由于转子有向最小磁阻位置转动的趋势,因而产生了电磁转矩。当定子极与转子对其时没有转矩,这时电感最大,磁阻最小(忽略磁路磁阻)。如果改变转子位置就会产生回到对其位置的转矩。 在对齐位置时给一相通电,不会产生转矩(或者很小)。如果改变转子所处的位置,将产生使定子指向下一个对齐位置的转矩。 A 电磁方程 根据法拉第定律,SRM绕组端电压瞬时值与磁链有关,如下 d,VRI (1) ,,dt 这里V是定子绕组端电压,I是相电流,R是线圈电阻,Ψ是线圈的磁链。由于SRM双突极式结构和磁路饱和的影响,SRM磁链是关于转子位置角和相电流的函数。方程(1)可以扩展为 ,dI,d,,,V,RI,, (2) ,Idt,Idt ,d,,,,这里为,瞬时电感和角速度乘积是瞬时反电动势。 L(,,I),I,Idt B 转矩形成 SRM磁共能仅与位置角和各相电流有关。与n相磁通和位置W(I,,)W(,,,) 。无论磁通量Ψ和I怎么改变,总满足下边的不等式: 角有关 t (3) W(I,,),W(,,,),,I 由于SRM的双突极结构,使他具有变化的磁能,进而产生了转矩。对W(,,,)转子位置求偏导得到转矩,: ,W (4) ,(,...,,,,)(,,...,,,,),,1n1n,, 在6/4 SRM中,应用上述关系,我们可以得到 ,W,, (5) ,(,,,,,,)(,,,,,,,)123123,, 当给一相通电时,产生的转矩使定子转向电感增加的方向。因此,在靠近对齐位置的地方产生转矩。 III SRM线性模型 通过有限元分析我们得到6/4极SRM用到的参数。图1为每相电感关于位置角的函数关系,每相互差,由如下方程得到: ,,ss 11 (6) ,,,2,()sNNrs 这儿Nr和Ns分别为转子和定子极数。 当电机Nr=Ns时,,我们可以得到以下关系: ,,,rs , (7) ,,(,,)xrNr , (8) ,,yNr : , 图1 SRM线性模型,毎相电感图像 上述关系图3已经指出。图2为相与相之间相差角度,由下式得到: , 11 (9) ,,,2,()NNrs o假设6/4 SRM具有以下参数:,,。,,,,30L,8mHL,60mHminmaxr oo从(7)和(8),得出和。 ,,45,,15yx 图2 相与相的角度差 每相方程如下: d(,I),,ii ,, (10) i,1,2,3,RI,Vidt 不计磁路饱和以及互感的影响,每相磁通方程为: (11) ,(,,I),L(,)Iiii 三相总能量为: 312W,L(,,(n,i,1),)I (12) ,totalsi2,i1 电机总转矩为: 3,,dLni(,(,,1))12sI (13) ,,,i,d2,i1 机械方程为: ,d (14) J,,,,,f,ldt 又知道: ,d (15) ,,dt 这里表示负载转矩,f表示机械摩擦系数。 ,l simulink下建立SRM图3我们给出了SRM的仿真模型。我们可以在MATLAB/模型,simulink使得模型更容易理解。图4给出phase 1的模块的内容,它包括另外4个模块,每个模块与特定的MATLAB函数有关。它们分别为: 1) 开关 允许功率变换器工作在,之间。附录III给出了开关,,offon 函数的程序。 2) 电感 通过转子位置角和磁链估算每相电流()。在附,,Li,, 录IV中,也给出了相应的程序。 ) 转矩 通过转子位置角3和相电流i估算该相产生的转矩。在附录, V中给出了相应的程序。 ) 对pi/2取余 每相电感周期为,故6/4 SRM电感周期为42,/Nr pi/2。为了控制方便,需要将转子位置角对pi/2取余。附录II中 的程序完成了对pi/2取余。每相只是相差pi/6而已。 图3 Matlab/simulink SRM仿真模型 图4 第一相模块 使用线性模型开始SRM仿真,必须选择好转子初始位置,不能在电感L为恒定值的区域内,因为这儿不能产生转矩。当负载转矩为零时,与转子位置一致的角将不再变化,此时电机永远不会转动。然而,负载转矩不为零时,转子位置, 不断改变,进而产生一个最终保持电磁转矩等于负载转矩的转速。为了避免转矩为零,本电机模型选择初始位置角大于15度(从图3电感图像得到证实)。 IV SRM通电策略 SRM供电方式有多种。参考资料[2]中给出了详细的介绍。不同的供电方式根据所用二极管和可控器件的数量来区分,也可根据相数和定子线圈的绕线方式区分。这里我们使用H型不对称桥式结构,如图5所示。 图5 H型不对称桥式电路 每一相有两个独立的IGBT和两个二极管。这里使用的可控器件个数与同步电机相同。但接法不同,可以看到这里电源不可能短路,因为有线圈限制电流。 在线性模型的基础上,磁通方程为: (16) ,,L(,)i 磁共能为: 12 (17) W,L(,)i2 产生的转矩为: 1dL2i (18) ,,2d, 最常用的SRM供电策略有电压源控制和滞环电流控制。这里我们主要讲述滞 oo环电流控制。结果如图6所示,此时,,0,,,30,参考电流I,8A,电refonoff 机无负载。图6第1条曲线描述了电感的变化。第2条曲线描述了滞环电流控制对相电流曲线的影响。我们可以看到,曲线的滞环带不是恒定不变的。相电感保持恒定并且在15度时恒定在最小值。通过图6第2条曲线可以看出电流控制对转矩的影响。第3条曲线描述了滞环电流控制对相磁通曲线的影响,情况与相电流大致相同。这里选择的开通角和关断角不合适导致转矩波动幅度较大,进而导致转速波动,如图7所示。 图6 SRM线性模型的动态性能 图7 关断角为30度时,转速波形 为了降低转速波动,有必要增大转矩。因此,我们把关断角从30度增加到 oo38度。得到了新的SRM,其动态性能如图12所示,此时,,0,,,38,参onoff考电流I,8A,电机运行无负载。图7中描述了一相电感、电流的图像。通过ref 图7第二条曲线可以看出,新的关断角使得相电流仍然出现在相电感减小的区域内,此时产生了负转矩。调整关断角之后转矩波动减小了,并且转速波的谐波也减少了,如图8所示。然而,减小转矩波动不是那么简单,因为其他参数例如转速,负载的大小都会影响转矩波动程度。 图8 关断角为38度时,相电感、电流波形 图9 关断角为38度时,转速波形 滞环电流控制器用于中低转速,因为这样会有足够的时间来控制相电流,如图8所示。在中低转速下使用滞环电流控制还使得感应电动势值不会很大以至于破坏电流波形。 B 备注 在滞环电流控制中,根据电流所处的滞环带可以分为两种控制方式:通过电流的误差()是正值还是负值分别得到+V和-V的电压;或者分别得到+VI,Iref 和0的电压。第一阶段,由于存在电流误差,不管是IGBT还是二极管都是导通的。第二阶段,图5所示为IGBT Q2在校正环节一直导通,但是Q1导通还是关断取决于电流误差。 就开通角而言,为了能够利用一个较大的,大多数作者建议在相电感di/dt 开始增加的时刻估计一个开通角的值。然而,如果我们预测太早,电感变化,on 12引起的转子位置变化太小。因此,产生的转矩也很小()。另一方,,dL/d,i2 面,电流值很大,增大了功率损耗。所以,有必要选择一个合适的开通角来优化电机的效率。 封装后模型 IV 附录 附录I (1)程序:设置SRM电机的参数。 NS=6 NR=4 P=3; BETAS=30*(pi/180); BETAR=30*(pi/180); TETAS=(2*pi)*((1/NR)-(1/NS)) TETAX=(pi/NR)-((BETAR+BETAS)/2) TETAY=(pi/NR)-((BETAR-BETAS)/2) TETAZ=(BETAR-BETAS)/2 TETAXY=(TETAY+TETAZ+TETAS) TETAON=0*(pi/180) TETAOFF=30*(pi/180) TETAQ=60*(pi/180) TETAIN=20.1*(pi/180) V=150 R=1.30; J=0.0013; F=0.0183; I=5; DELTAL=0.2; DELTAVMIN=0; DELTAVMAX=150; LMIN=0.008; LMAX=0.06; G=(inv([TETAX 1;TETAY 1]))*([LMIN;LMAX]); AUP=G(1); BUP=G(2); H=(inv([(TETAY+TETAZ) 1;TETAXY 1]))*([LMAX;LMIN]); ADOWN=H(1); BDOWN=H(2); DL=AUP; 附录II 程序:位置角e对pi/2取余。 function s=f(e) %s=rem(e,pi/2); s=e; while s>pi/2 s=s-pi/2; end 附录III 程序:判断IGBT工作状态。 function Va=f(e,teta,i) if (( TEYAON<=teta)&&(teta <= TETAOFF)) Va =e; elseif (TETAOFF0 Va=-V; else Va=0; end else Va=0; end; 附录IV ,程序:通过转子位置角和磁链估算每相感应电流。 , function U=f(TE); U是输出每相感应电流变量 E=TE'; TE是输入行向量,第一个元素是磁链,第二个元素是转子位置角 flux=E(1); teta=E(2); if ((0 <= teta)&(teta <= TETAX)) U=[flux/LMIN,LMIN]; end; if ((TETAYTETAXY) U=[flux/LMIN,LMIN]; end; 附录V ,程序:通过转子位置角和相电流I估算该相产生的转矩。 function T=f(TE); T是输出转矩值 E=TE'; TE是输入行向量,第一个元素是相电流,第二个元素是转子位置角 i=E(1); teta=E(2); if ((0 <= teta) && (teta <= TETAX)) T=[0,0]; elseif ((TETAX < teta) && (teta <= TETAY)) T=[0.5*DL*(i*i),DL]; elseif (( TETAY < teta) && (teta <= TETAXY)) T=[-0.5*DL*(i*i),-DL]; else T=[0,0]; end; S函数 Switched函数参数设置 Switch. function [sys,x0,str,ts] = switched(t,x,u,flag,ton,toff,V) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 3, sys=mdlOutputs(t,x,u,ton,toff,V); case {1,2,4,9} sys=[]; otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes() sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 3; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; % sys = simsizes(sizes); x0 = []; str = []; ts = [0 0]; function sys=mdlOutputs(t,x,u,ton,toff,V) e=u(1); teta=u(2); i=u(3); if ((ton<=teta)&&(teta <= toff)) sys =e; elseif (toff0 sys=-V; else sys=0; end else sys=0; end
本文档为【MATLAB下开关磁阻电机的线性模型及仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_729658
暂无简介~
格式:doc
大小:172KB
软件:Word
页数:14
分类:生活休闲
上传时间:2018-02-10
浏览量:57