西北工业大学硕士学位论文 第三章基于MATLAB/Simulink的控制系统仿真
算模块。然后对这些功能模块进行有机整合,从而搭建出无位置传感器无刷直流 电机控制系统的仿真模型。系统控制模型如图3-2所示。|
? 3-2系统仿真模型
3.3.1电机本体模块
在整个控制系统的仿真模型中,BLDCM本体模块是最重要的部分。由电压 方程式(34)可得,要获得三相相电流信号/?、》??、,必需首先求得三相反电 动势信号I。而BLDCM建模过程中,梯形波反电动势的求取方法一 直是较难解决的问题,反电动势波形不理 想会造成转矩脉动增大,相电流波形不理 想等问题,严重时会导致换向失败,电机 失控。因此,获得理想的反电动势波形是 BLDCM仿真建模的关键问题之一。
本文采用分段线性法建立梯形反电 动势波形,如图3-3。将一个运行周期 (K360
某一时刻的转子 位置和转速信号,确定该时刻各相所处的 图3-3三相反电动势波形
运行状态,通过直线方程即可求得反电动势波形。分段线性法简单易行,且精度 较高,能够较好的满足建模仿真的设计要求。
图3-3中,根据转子位置将运行周期分为6个阶段:0?足/3, ?/3?2JT/3,
f/3 un t inn 5*/3
9poa
pm
2?r/3r,4;r/3~5;r/3? 以第一阶段0~死73为例i A
相反电动势处于正向最大值Em, B相反电动势处于负向最大值-Em,C相反电 动势处于换向阶段,由正的最大值Em沿斜线规律变化到负的最大值-Em。根据
18
西北工业大学硕士学位论文 第三章基于MATLAB/Simulink的控制系统仿真
转子位置和转速信号,就可以求出各相反电动势变化轨迹的直线方程:其他5个 阶段也是如此#据此规律,可以推得转子位置和反电动势之间的线性关系如表
3- 2所示,
表3J反电动势与转子位置之间的线性关系 转子位置 e。 ec 0 r/3 K*W K*W K*W*((2;r/3 K*W -K*W K*W*(-theta/(^/6)+l) -K*W ^/3~2?-/3 *((theta-fl-/3)/(ff/6)-l) 2贫/3T -theta)/(^/6)+l] K*W -K*W K*W*((theta-;r)/(?r/6)-l jr ?4;r/3 4?r/3 ?5W3 -K,W K*W K*W -K*W K*W*((theta- *((4^/3-theta)/(ff/6)+ K*W 5JT/3?2苽 5JT/3)/(7T/6)4) ■K*W K*W 根据数学模型可以得出转子的角速度,将得到的角速度除以2;r。然后取余 数,这样就可以方便的得到转子旋转一周的位置。依据上述反电动势与转子位置 之间的关系,我们可以在MATLAB
Fen模块中编写一个函数,来得到反电动势 波形。这样就得到了 BLDC本体的仿真结构如图
3
*4所示
图3*4 BLDC本体仿真模型
19
西北工业大学硕士学位论文第三聿基于MATLAB/Simulink的控制系统仿真
在模型中MATLAB Fen模块用来依据转子位置计算反电动势波形, MATLABFcnl模块用来产生中性点电压,具体实现如下:
//**** jJfsMcsMt***** 林 *********** 函数实现 *******林************++++*=1〇1?// function y s
fandianshifcn(u) K=0.0025; w^niO); theta=u(2);
if (theta>=0)&(theta y=[K*w;-K*w;K*w*((-tfieta)/(pi/6)+l)]; elseif (theta>=pi/3)&(theta<2*pi/3) y=[K*w;K*w*((theta-pi/3)/(pi/6)-l);-K*w]; elseif (theta>=2*pi/3)&(theta y=[K*w+((2*pi/3-thcta)/(piy6)+l);K*w;-K*w]; elseif (theta>=pi)&(theta<4*pi/3) y=[-K*w;K*w;K*w*((theta-pi)/{pi/6)-l)]; eJseif (theta>=4*pi/3)&(thcta<5*pi/3) y=-[-K*w;K*w*((4*pi/3-theta)/(pi/6)+l)^*w]; elseif (theta>=5*pi/3)&(theta<2*pi) y=[K*w*((theta-5<,pi/3)/(pi/6>l);-K*w;K*w]; end function y = Unfcn(u) Ua=u(l); Ub=u(2); Uc=u(3); ea=u(4); eb=u(5); cc=u(6); y=[(Ua+UlH-Uc)/3^ea+eb+ec)/3;(Ua+UlH-Uc)/3-(ea+eH?cy3;(UaH-Ub+Uc)/3-(ea+eb+ec)/3]; //林林林*林*林林*林林林林*林林料*林*林*林林*林*林*林*****林*林***// 3.3.2电流滞环控制模块 电流滞环控制模块的作用是实现滞环电流控制方法,输入为三相参考电流和 三相实际电流,输出为逆变器控制信号,模块结构框图如图3-5所示。当实际电 流低于参考电流且偏差大于滞环比较器的环宽时,对应相正向导通,负向关断; 当实际电流超过参考电流且偏差大于滞环比较器的环宽时,对应相正向关断,负 向导通。选择适当的滞环环宽,即可使实际电流不断跟踪参考电流的波形,实现 电流闭环控制。 20 西北工业大学硕士学位论文 ia 第三章基于MATLAB/SimuHnk的控制系统仿真 图3-5电流滞环 3.3.3速度控制模块 速度控制模块的结构较为简单,如图3-6所示。单输入:参考转速和实际转 速的差值,单输出:三相参考电流Is。其中,Ki为PI控制器中P (比例)的参 数,K/Ti为PI控制器中(积分)的参数,Saturation饱和限幅模块将输出的三相 参考相电流的幅值限定在要求的范围内。 图3*6速度控制模块 3.3.4参考电流模块 参考电流模块的作用是根据电流幅值信号Is和位置信号给出三相参考电流, 输出的三相参考电流直接输入电流滞环控制模块,用于与实际电流比较进行电流 滞环控制。转子位置和三相参考电流之间的对应关系如表3-3所示。 西北工业大学硕士学位论文 表3-3参考电流与转子位置之间的关系 转子位置 第三章基于MATLAB/Simulink的控制系统仿真 iar Is Is 0 -Is -Is 0 ibr -Is 0 Is Is 0 -Is icr 0 ■Is -Is 0 Is Is 0 ?JT/3 ^r/3-2^/3 2尤?龙/3r 贫4/3 贫4龙/3?5/3 ?In 参考电流模块的这一功能可以通过Simulink调用m函数来实现。如图3-7所示 theta 图3-7参考电流模块 //* 林 ** 林 ****料**林林 ******* 函数实现 *** 料 **** 林 *** 林 **************// function y = cankaodianliufcn(u) Is=u(l); thet£^u(2); if (theta>=0)&(lheta^)i/3) y=[Is;-Is;0]; elseif (theta>=pi/3)&(theta<2*pi/3) y=[ls;〇rls]; elseif (theta>=2*pi/3)&(theta ,/*林林**料***********林料*林林林林林**林林林林林林林林林// 3.3.5电压逆变模块 电压逆变模块实现的是逆变器功能,输入为位置信号和电流滞环控制模块给 出的逆变器控制信号, 输出为三相端电压。该模块可根据位置信号判断电机所处 22 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于tms320f2812的无刷直流电机控制系统设计(1) - 图文(6)在线全文阅读。
相关推荐: