基于 MatlabSimulink 的 BLDCM 控制系统模型的建立_第1页
基于 MatlabSimulink 的 BLDCM 控制系统模型的建立_第2页
基于 MatlabSimulink 的 BLDCM 控制系统模型的建立_第3页
基于 MatlabSimulink 的 BLDCM 控制系统模型的建立_第4页
基于 MatlabSimulink 的 BLDCM 控制系统模型的建立_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

基于Matlab/Simulink的BLDCM控制系统模型的建立在Matlab7.6的Simulink环境下,利用其丰富的模块库,在了解和分析BLDCM数学模型的基础上,建立起BLDCM控制系统仿真模型。本文设计了一种BLDCM的建模方法,将控制单元模块化。在Matlab/Simulink中建立独立的功能模块:电机本体模块,电压逆变模块,转矩计算模块,参考电流模块,转速PI控制模块和电流滞环跟踪控制模块。将以上的模块进行合理的连接,就能搭建出BLDCM双闭环控制仿真系统。其系统框图如下图1.参考转转速I控制器参考电流模块Ia*Ib*Ic*压变

电逆CbUauI参考转转速I控制器参考电流模块Ia*Ib*Ic*压变

电逆CbUauIuiaibic输出转关*BLDCM模块负载转矩图1:BLDCM双闭环控制系统框图BLDCM控制系统采用双闭环控制方案:转速环由PI调节器构成,电流环由电流滞环调节器构成,本文据此建立的BLDCM控制系统仿真模型。如图2所示。

cankaodianliu■thetaiarCurrentMeasurementTeiaiaibS-FunctionCurrentMeasurement2UniversalBridgeicSubsystem1ibrpulseibConstantlTransportDelayCurrentMeasurement!OutlIniPIcontrolcankaodianliu■thetaiarCurrentMeasurementTeiaiaibS-FunctionCurrentMeasurement2UniversalBridgeicSubsystem1ibrpulseibConstantlTransportDelayCurrentMeasurement!OutlIniPIcontrol图2:BLDCM控制系统仿真模型1BLDCM模块的建立在整个控制系统的仿真模型中,BLDCM本体模块是最重要的部分,该模块根据BLDCM电压方程式求取BLDCM三相相电流,控制框图如图2所示。由电压方程式(可得,要获得三相相电流信号ia、ib、ic,必需首先求得三相反电动势信号ea、eb、ec。获得理想的反电动势波形是BLDCM仿真建模的关键问题之一。本文采用现在流行的分段线性法,如图3所示,将一个运行周期0-360°分为6个阶段,每60°为一个换向阶段,每一相的每一个运行阶段都可用一段直线进行表示,根据某一时刻的转子位置和转速信号,确定该时刻各相所处的运行状态,通过直线方程即可求得反电动势波形。分段线性法简单易行,且精度较高,能够较好的满足建模仿真的设计要求。因而,本文采用分段线性法建立梯形波反电动势波形。理想情况下,二相导通星形三相六状态的BLDCM定子三相反电动势的波形如图3所示。

表I转子位置和反电动势之间的践性关系表转子位置eaebecK^w-K*wK*w*((per-pos)/(71/6}+])71/3-K^wK*w*((pos-^.6--K^w2*7T/3per朋^/6)-l)2*7T已~K*w*((per+2*71/K*w-K^w7T3-pos)/(TT/6片1)7T--K*wK*wK*w*((pos-71-4*7T/3per)/(71/6)-1)4*71已~-K*wK*w*((per+-4*71/K*w5*71/33-pOsy(7T76)+1)K*w*((pos-5*71已~5*^/3--K*wK*w卄7TperX7T/6)-1)表中K=Ke,theta为转子位置角度信号,W为转速信号对转子正确位置的检测,我们根据数学模型可以得出转子的角速度,然后将转速转化为位置。本文设计出一个简单的函数运算模块,将得到的角速度除以2*pi,然后取其余数,这样就可以方便的得到转子在旋转一周的位置。在这个运算模块中,我们直接调用mod函数,其具体调用格式为mod(u,2*pi)。在本文中我们依据表1中转子和反电动势的相互关系我们可以编出S函数,直接生成一个模块,其模块具有二个输入端口(角速度和转子位置)和三个输出端口(三相的反电动势),BLDCM仿真模型如图4。图4:BLDCM仿真模型2电压逆变模块电压逆变模块也可采用Matlab中提供的通用逆变模块搭建,只需3对IGBT功率开关器件,反向并联续流二极管,根的导通信号要求,控制6个开关器件顺序导通和关断,从而产生三相端电压输出。3转矩计算模块根据BLDCM数学模型中的电磁转矩方程式,可以建立图5所示的转矩计算模块,模块输入为三相相电流与三相反电动势及负载转矩TI,通过三相相电流与三相反电动势的点乘,然后再乘以角速度W的倒数即可求得电磁转矩信号Te。同时根据运动方程式,由电磁转矩、

负载转矩以及摩擦转矩,通过加减、乘、积分环节,即可得到转速信号W,求得的转速信号经过积分就可得到电机位置信号,并使用mod函数除2*pi求余数就得到转子位置信号theta,可用于BLDCM本体模块和参考电流模块中三相反电动势和三相参考电流的求取。Ga.in73ibGa.in73ib4ebmiceec图5:转矩计算模块4参考电流模块参考电流模块的作用是根据电流幅值信号Is和位置信号给出三相参考电流,输出的三相参考电流直接输入电流滞环控制模块,用于与实际电流比较进行电流滞环控制。参考电流模块的这一功能可通过S函数编程实现,转子位置和三相参考电流之间的对应关系如表2所示。表2转子位置和三相参考电流之间的对应关系表转子位置iaribricrIs-Is07T/3Js0-Is2*7T/3-7T0is-Is7T~4*7T/3-Isis0护兀口~針托山-Is0[s5*7T/3-^2*7r0-Is[s根据表2构造S函数,建立起参考电流模块如图6,其中输入的Is表示的是由PI环节反馈回来的电流Is,theta表示的是转子的位置角度信号;其输出为三相的参考电流信号。csnkaodianliu2)outS-Functia-n图6:参考电流模块5转速PI控制模块速度控制模块可以直接调用模块库中的PID模块,本文自己建立的PI速度控制模块如图7所示。单输入:参考转速和实际转速的差值,单输出:三相参考相电流的幅值Is。其中,Ki为PI控制器中P(比例)的参数,KTi为PI控制器中I(积分)的参数,Saturation饱和限幅模块将输出的三相参考相电流的幅值限定在要求范围内。图7:PI速度控制模块6电流滞环跟踪控制模块电流滞环控制模块的作用是实现滞环电流控制方法,输入为三相参考电流和三相实际流,输出为逆变器控制信号,模块结构框图如图8所示。当实际电流低于参考电流且偏差大于滞环比较器的环宽时,对应相正向导通,负向关断;当实际电流超过参考电流且偏差大于滞环比较器的环宽时,对应相正向关断,负向导通。选择适当的滞环环宽,即可使实际电流不断跟踪参考电流的波形,实现电流闭环控制。300-200-100-0300-200-100-00图8:电流滞环跟踪控制模块7系统仿真结果分析本文基于Matlab/Simulink建立了BLDCM控制系统的仿真模型,并对该模型进行了BLDCM双闭环控制系统的仿真。仿真中BLDCM电机参数设置为:额定转速为800转/分,极对数为2,72V直流电源供电,定子相绕组电阻R=1G,定子相绕组自感L=5.5mH,互感M=0.3mH,转动惯量J=0.005kg.m2,电势常数Ke=0.06V/(r.min-1),阻尼系B=0.0002。在系统运行0.2秒时加负载转矩TI=3.56Nm。通过调试BLDCM控制仿真系统,可得到系统转速、三相反电动势、转矩和参考电流仿真曲线如下图:900800700-600-500-400-0.050.10.150.20.250.30.350.40.45设定转速电机转速图9900800700-600-500-400-0.050.10.150.20.250.30.350.40.45设定转速电机转速图9:转速响应曲线0.566420-2-4-6o0.050.10.150.20.250.30.350.40.45420-2-4-6o0.050.10.150.20.250.30.350.40.450.5图10:a相反电势仿真曲线54327呻-』//V/-'/'ly/J■■/■/■-Mf-r/r/■r/10-1-2-300.050.10.150.20.250.30.350.40.450.5图11:转矩仿真曲线40l'山认;J>S丿2■r-A^'/AxJx":‘4;:以20-20-480.050.10.150.20.250.30.350.40.450.5图12:参考电流仿真曲线

由仿真波形可以看出,在N=800r/min的参考转速下,系统响应快速且平稳,反电动势波形和转矩波形较为理想,参考电流能在一定误差内保持平衡。系统具有较好的静、动态特性,仿真结果证明了本文所采用这种BLDCM仿真建模方法的有效性和可行性。附录:各个S函数源程序1,反电势S函数源程序:function[sys,xO,str,ts]=fandianshi(t,x,u,flag)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case3,sys=mdlOutputs(t,x,u);case{1,2,4,9},sys=[];otherwiseDAStudio.error('Simulink:blocks:unhandledFlag',num2str(flag));endfunction[sys,xO,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=3;sizes.NumInputs=2;%atleastonesampletimeisneeded%atleastonesampletimeisneededstr=[];ts=[00];functionsys=mdlOutputs(t,x,u)if(u(2)>=0&u(2)<pi/3)sys=[0.060*u(1),-0.060*u(1),0.060*u(1)*((-u(2))/(pi/6)+1)]elseif(u(2)>=pi/3&u(2)<2*pi/3)sys=[0.060*u(1),0.060*u(1)*((u(2)-pi/3)/(pi/6)-1),-0.060*u(1)];elseif(u(2)>=2*pi/3&u(2)<pi)sys=[0.060*u(1)*((2*pi/3-u(2))/(pi/6)+1),0.060*u(1),-0.060*u(1)];elseif(u(2)>=pi&u(2)<4*pi/3)sys=[-0.060*u(1),0.060*u(1),0.060*u(1)*((u(2)-pi)/(pi/6)-1)];elseif(u(2)>=4*pi/3&u(2)<5*pi/3)sys=[-0.060*u(1),0.060*u(1)*((4*pi/3-u(2))/(pi/6)+1),0.060*u(1)];elseif(u(2)>=5*pi/3&u(2)<=2*pi)sys=[0.060*u(1)*((u(2)-5*pi/3)/(pi/6)-1),-0.060*u(1),0.060*u(1)];end2,参考电流S函数源程序:function[sys,xO,str,ts]=cankaodianliu(t,x,u,flag)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case3,sys=mdlOutputs(t,x,u);case{1,2,4,9},sys=[];otherwiseDAStudio.error('Simulink:blocks:unhandledFlag',num2str(flag));endfunction[sys,xO,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=3;sizes.NumInputs=2;%atleastonesampletimeisneeded%atleastonesampletimeisneededstr=[];ts=[00];functionsys=mdlOutputs(t,x,u)globaltheta;globalIs;Is=u(1);theta=u(2);

温馨提示

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

评论

0/150

提交评论