电机数学模型完整版_第1页
电机数学模型完整版_第2页
电机数学模型完整版_第3页
电机数学模型完整版_第4页
电机数学模型完整版_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机 数 学 模 型以二相导通星形三相六状态为例,分析BLDC的数学模型及电磁转矩等特性。为了便于分析,假定:a)三相绕组完全对称,气隙磁场为方波,定子电流、转子磁场分布皆对称;b)忽略齿槽、换相过程和电枢反应等的影响;c)电枢绕组在定子内表面均匀连续分布;d)磁路不饱和,不计涡流和磁滞损耗。则三相绕组的电压平衡方程可表示为:Ua r 0 0iaL M Miaea[ub]= [0 r 0][ib]+[M L M]p[ib]+[eb] ⑴uc 0 0 ricM M Licec式中:Ua,Ub,Uc为定子相绕组电压(V);ia,%,%为定子相绕组电流(A);6a,6b,ec为定子相绕组电动势(V);L为每相绕组的自感(H);M为每相绕组间的互感(H);p为微分算子p=d/dt。三相绕组为星形连接,且没有中线,则有ia+ib+ic=0Mia+Mib+Mic=0得到最终电压方程:Ua

[ubUa

[ub]Ucr00ia L-M[0r0][ib]+[000ric00 0iaeaL-M0]p[ib]+[eb]

0L-Micec图.无刷直流电机的等效电路无刷直流电机的电磁转矩方程与普通直流电动机相似, 具电磁转矩大小与磁通和电流幅值成正比(5)Te=[eaia+e^b+ecic]一(5)CD所以控制逆变器输出方波电流的幅值即可以控制BLDC电机的转矩。为产生恒定的电磁转矩,要求定子电流为方波,反电动势为梯形波,且在每半个周期内,方波电流的持续时间为120。电角度,梯形波反电动势的平顶部分也为120。电角度,两者应严格同步。由于在任何时刻,定子只有两相导通,则:(6)电磁功率可表示为:(6)Pe eaia+ebib+ecic=2EsIs电磁转矩又可表小为:Te=Pe?co=2EsIs?co无刷直流电机的运动方程为:(8)Te-Tl-Bco=J*JPco(8)其中Te为电磁转矩;Tl为负载转矩;B为阻尼系数;-为电机机械转速;J为电机的转动惯量。传递函数:无刷直流电机的运行特性和传统直流电机基本相同, 其动态结构图可以采用直流电机通用的动态结构图,如图所示:图2.无刷直流电机动态结构图由无刷直流电机动态结构图可求得其传递函数为Ki为电动势传递系数,Ki=Ce为电动势系数;CeK2为转矩传递函数,Ki=-Rr,R为电动机内阻,Ct为转矩系数;CeCt2Tm为电机时间常数,Tm=kK,G为转子重量,D为转子直径。365CeCt基于MATLAB的BLDC系统模型的建立在Matlab中进行BLDC建模仿真方法的研究已受到广泛关注,已有提出采用节点电流法对电机控制系统进行分析,通过列写m文件,建立BLDC仿真模型,这种方法实质上是一种整体分析法,因而这一模型基础上修改控制算法或添加、删除闭环就显得很不方便;为了克服这一不足,提出在Matlab/Simulink中构造独立的功能模块,通过模块组合进行BLDC建模,这一方法可观性好,在原有建模的基础上添加、删除闭环或改变控制策略都十分便捷,但该方法采用快速傅立叶变换(FFT)方法求取反电动势,使得仿真速度受限制。本文提出了一种新型的BLDC建模方法,将控制单元模块化,在Matlab/Simulink建立独立的功能模块:BLDC本体模块、电流滞环控制模块、速度控制模块、参考电流模块、转矩计算模块和电压逆变模块,对这些功能模块进行有机整合,即可搭建出无刷直流电机系统的仿真模型。在建模过程中,梯形波反电动势的求取方法一直是较难解决的问题 [27,28],本文采用分段线性法成功地化解了这一难点,克服了建模方法存在的不足。Matlab6.5针对电气传动控制领域所设计的工具箱 SimPowerSystemToolbox2.3已提供了PMSM的电机模型,但没有给出BLDC的电机模型。因此,本文在分析无刷直流电机数学模型的基础上,借助于Matlab强大的仿真建模能力,在Matlab/Simulink中建立了BLDC控制系统的仿真模型。BLDC建模仿真系统采用双闭环控制方案:下即为BLDC建模的整体控制框图,其中主要包括: BLDC本体模块、电流滞环控制模块、速度控制模块、参考电流模块、转矩计算模块和电压逆变模块。BLDC本体结构(1)BLDCM本体模块在整个控制系统的仿真模型中,BLDCM本体模块是最重要的部分,该模块根据BLDC电压方程式⑷求取BLDC三相相电流,结构框图如图所示图.BLDCM本体模块结构框图及其封装形式在整个控制系统的仿真模型中,BLDC本体模块是最重要的部分,该模块根据BLDC电压方程式(2-4)求取BLDC三相相电流,而要获得三相相电流信号ia,ib,ic,必需首先求得三相反电动势信号ea,eb,ec控制框图如图2-11所示。而BLDC建模过程中,梯形波反电动势取求取方法一直是较难解决的问题,反电动势波形不理想会造成转矩脉动增大、 相电流波形不理想等问题,严重时会导致换相失败,电机失控。因此,获得理想的反电动势波形是BLDC仿真建模的关键问题之一。本文采用了分段线性法,如图2-12所示,将一个运行周期0。〜360。分为6个阶段,每60。为一个换相阶段,每一相的每一个运行阶段都可用一段直线进行表示,根据某一时刻的转子位置和转速信号,确定该时刻各相所处的运行状态,通过直线方程即可求得反电动势波形。分段线性法简单易行,且精度较高,能够较好的满足建模仿真的设计要求。因而,本文采用分段线性法建立梯形波反电动势波形。理想情况下,二相导通星形三相六状态的 BLDC定子三相反电动势的波形如图2-12所示。图中,根据转子位置将运行周期分为6个阶段:0〜兀/3冗/62冗/32冗/6冗,u4冗/34冗135冗/35冗/32前以第一阶段0〜九/3为伤J,A相反电动势处于正向最大值Em,B相反电动势处于负向最大值-Em,C相反电动势处于换相阶段,由正的最大值 Em沿斜线规律变化到负的最大值-Emo根据转子位置和转速信号,就可以求出各相反电动势变化轨迹的直线方程,其它5个阶段,也是如此。据此规律,可以推得转子位置和反电动势之间的线性关系,如表2-1所示,从而采用分段线性法,解决了在BLDC本体模块中梯形波反电动势的求取问题。转子位置和反电动势之间的线性关系表转子位置eaebec0~"3K*w-K*wK*w*((per-pos)/(兀/6)+1)“3~2"3K*wK*w*((pos-兀/6-per)/(兀-/6)-K*w2/3~九K*w*((per+2*兀/3-pos)/(兀/6)+1)K*w-K*wt~4"3-K*wK*wK*w*((pos-乃per)/(九/6)4V3~5〃3-K*wK*w*((per+4*兀/3K*w-pos)/(兀/6)+1)5卅3~2兀K*w*((pos-5*兀/3-per)/(兀-16)-K*wK*w表中:K为反电动势系数(V/(r/min),pos为角度信号,w为转速信号,转数per=fix(pos/(2*pi))*2*pi,fix函数是实现取整功能。根据上式,用M文件编写反电势系数的S函数如下:反电动势S函数(emf.m)%=========================================================%bldcM型中反电动势函数%=========================================================function[sys,x0,str,ts]=emf(t,x,u,flag)switchflagcase0,初始化设置[sys,x0,str,ts]=mdlInitializeSizes;case3,%输出量计算sys=mdlOutputs(t,x,u);case{1,2,4,9} 称定义标志sys=[];otherwise%昔误处理error(['unhandledflag=',num2str(flag)]);end%=========================================================%mdlInitializeSizes 进行初始化,设置系统变量的大小%=========================================================function[sys,x0,str,ts]=mdlInitializeSizes()sizes=simsizes; 须系统默认设置sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=3;sizes.NumInputs=2;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[];str=[];ts=[-10];%=========================================================%mdlOutputs计算系统输出%=========================================================functionsys=mdlOutputs(t,x,u)globalk;globalPos;globalw;k=0.060; % V/(r/min)反电动势系数w=u(1); % 转速(rad/s)Pos=u(2); % 角度(rad)ifPos>=0&Pos<=pi/3sys=[k*w,-k*w,k*w*((-Pos)/(pi/6)+1)];elseifPos>=pi/3&Pos<=2*pi/3sys=[k*w,k*w*((Pos-pi/3)/(pi/6)-1),-k*w];elseifPos>=2*pi/3&Pos<=pisys=[k*w*((2*pi/3-Pos)/(pi/6)+1),k*w,-k*w];elseifPos>=pi&Pos<=4*pi/3sys=[-k*w,k*w,k*w*((Pos-pi)/(pi/6)-1)];elseifPos>=4*pi/3&Pos<=5*pi/3sys=[-k*w,k*w*((4*pi/3-Pos)/(pi/6)+1),k*w];elsePos>=5*pi/3&Pos<=2*pisys=[k*w*((Pos-5*pi/3)/(pi/6)-1),-k*w,k*w];end转矩计算模块根据BLDC数学模型中的电磁转矩方程式,可以建立图5.7所示的转矩计算模块,模块输入为三相相电流与三相反电动势,通过加、乘模块即可求得电磁转矩信号 Te。转矩计算模块结构框图及其封装形式转速计算模块根据运动方程式 (2.4),由电磁转矩、负载转矩以及摩擦转矩,通过加乘、积分环节即可得到转速信号,求得的转速信号经过积分就可得到电机转角信号,如图转速计算模块结构框图及其封装形式电流滞环控制模块在这个仿真模块中采用滞环控制原理来实现电流的调节,使得实际电流随跟定电流的变化。模块结构框图如图5.10所示[40],输入为三相参考电流和三相实际电流,输出为PWM逆变器控制信号。电流滞环控制模块结构框图及其封装参考电流模块参考电流模块的作用是根据电流幅值信号 Is和位置信号给出三相参考电流,输出的三相参考电流直接输入电流滞环控制模块,用于与实际电流比较进行电流滞环控制。转子位置和三相参考电流之间的对应关系如表所示,参考电流模块的这一功能可通过 S函数编程实现,程序如下参考电流S函数(mod.m)function[sys,x0,str,ts]=mod(t,x,u,flag)switchflagcase0,[sys,x0,str,ts]=mdlInitializeSizes;case3,sys=mdlOutputs(t,x,u);case2,sys=[];case9,sys=[];otherwiseerror(['unhandledflag=',num2str(flag)]);endfunction[sys,x0,str,ts]=mdlInitializeSizes()sizes=simsizes;TOC\o"1-5"\h\zsizes.NumContStates =0;sizes.NumDiscStates =0;sizes.NumOutputs =1;sizes.NumInputs =1;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[];str=[];ts=[-10];functionsys=mdlOutputs(t,x,u)globalPos;globalw;globalTheta;Theta=u;b=fix(Theta/(2*pi));%取整ifTheta==0sys=0;elseif(Theta/(2*pi))==bsys=2*pi;elsesys=Theta-b*2*pi;endendPos=sys;%^置表5.2转子位置和三相参考电流之间的对应关系表转子位置I_arI_brI_cr0~〃3Is-Is0“3~2"3Is0-Is2卅3~九0Is-Ist~4"3-IsIs04〃3~5〃3-Is0Is5卅3~2兀0-IsIs5.2.5位置计算模块电机转角信号到电机位置信号的转换可通过 S函数编程实现,程序如下位置计算S函数(is.m)function[sys,x0,str,ts]=is(t,x,u,flag)switchflagcase0,[sys,x0,str,ts]=mdlInitializeSizes;case3,sys=mdlOutputs(t,x,u);case2,sys=[];case9,sys=[];otherwiseerror(['unhandledflag=',num2str(flag)]);endfunction[sys,x0,str,ts]=mdlInitializeSizes()sizes=simsizes;TOC\o"1-5"\h\zsizes.NumContStates =0;sizes.NumDiscStates =0;sizes.NumOutputs =3;sizes.NumInputs =2;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[];str=[];ts=[-10];functionsys=mdlOutputs(t,x,u)globalIs;globalPos;Is=u(1);%电流Pos=u(2);%位置ifPos>=0&Pos<=pi/3sys=[Is,-Is,0];elseifPos>=pi/3&Pos<=2*pi/3sys=[Is,0,-Is];elseifPos>=2*pi/3&Pos<=pisys=[0,Is,-Is];elseifPos>=pi&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论