电机系统建模与分析大作业.doc

上传人:李司机 文档编号:1181119 上传时间:2022-07-15 格式:DOC 页数:19 大小:1.82MB
返回 下载 相关 举报
电机系统建模与分析大作业.doc_第1页
第1页 / 共19页
电机系统建模与分析大作业.doc_第2页
第2页 / 共19页
电机系统建模与分析大作业.doc_第3页
第3页 / 共19页
电机系统建模与分析大作业.doc_第4页
第4页 / 共19页
电机系统建模与分析大作业.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《电机系统建模与分析大作业.doc》由会员分享,可在线阅读,更多相关《电机系统建模与分析大作业.doc(19页珍藏版)》请在三一办公上搜索。

1、本科上机大作业报告本科上机大作业报告课程名称:电机系统建模与分析姓名:学号:学院:专业:指导教师:提交日期:年 月 日目录目录一、作业目的一、作业目的 2 2二、作业要求二、作业要求 3 3三、解题思路三、解题思路 3 31.数学模型的建立 32.滞环 PWM 的产生 43.电枢电压的确定 44.电枢电流为负值时的处理方法 45.RUNGLE-KUTTA法的基本算式 5四、仿真程序四、仿真程序 5 51.主程序 52.调用程序 8五、仿真结果与其分析五、仿真结果与其分析 9 91.仿真结果 92.分析计算结果 113.计算结果影响因素 11步长的影响 11转动惯量的影响 12电感的影响 134

2、.改进控制策略以获得更好的转速控制性能(PID)141.主程序 162.调用程序 18六、收获与体会六、收获与体会 1818一、作业目的一、作业目的1.熟悉永磁直流电动机与其调速系统的建模与仿真;2.熟悉滞环控制的原理与实现方法;3.熟悉 Rungle-Kutta 方法在仿真中的应用。二、作业要求二、作业要求一台永磁直流电动机与其控制系统如以下图。直流电源 Udc=200V;电机永磁励磁f=1Wb, 电枢绕组电阻 Rq=0.5ohm、电感 Lq=0.05H;转子转动惯量 J=0.002kgm2 ;系统阻尼转矩系数 B=0.1Nm/(rad/s) ,不带负载;用滞环控制的方法进行限流保护,电流上

3、限Ih=15A、Il 下限=14A;功率管均为理想开关器件;电机在 t=0 时刻开始运行,并给定阶跃(方波)转速命令,即,在 00.2s 是 80rad/s,在 0.20.4s 是 120rad/s,在0.40.6s 是 80rad/s 如此反复,用滞环控制的方法进行转速调节(滞环宽度+/-2rad/s) 。用四阶龙格库塔求解电机的电流与转速响应。三、解题思路三、解题思路1.1.数学模型的建立数学模型的建立按电动机原则取正方向即:整理得状态方程组:000,0qfq qqqf qquR ipiLiBpJi2.2.滞环滞环 PWMPWM 的产生的产生写一个 PWM 波发生函数,使其具有以下功能:1

4、) 周期 T、占空比 t 可调2) 输入一个时刻值 t,可输出对应时刻下输出电压值(高电平/低电平)设置一个电流限制标识变量:当电枢电流小于电流下限值时,该变量置 1(开通) ;当电枢电流大于电流上限值时,该变量置 0(关断) ;当电枢电流在上下限之间时,该变量保持原值不变。3.3.电枢电压的确定电枢电压的确定对上述电流限制标识变量和 PWM 波输出做“与”运算,通过判断对 Uq 赋值:如果“与”结果为 1,则 Uq 的值为 Udc;如果“与”结果为 0,则 Uq 的值为 0。4.4.电枢电流为负值时的处理方法电枢电流为负值时的处理方法在滞环控制中,当转速从 120r/min 下降到 80r/

5、min 时,由于电机自身转动惯量 J 的影响,即使 uq 为 0,转速下降还是需要一段时间,而电枢电流就有可能在这段时间能掉到负值。而通过实际电路分析可以发现,当电流反向时,并没有实际的通路,故电枢电流值不可能为负,在迭代求解时需要改变电机状态方程组,即电枢电流 iq 的值置为 0,uq 置为电机两端感应电势。电枢电流出现了负数的情况,而根据理论分析,由于续流二极管的存在,电枢电流是不可能反向流动的,故现在的仿真程序是需要调整的。当功率管断开时,通过电机的电流不断减小,当电流等于零时,此时可以看作电机两端断开,由于没有了电流,此时电机上的电压就是电机的旋转电势,故在仿真中,出现 iq=0 时,

6、就直接把 iq 赋零。5.Rungle-Kutta5.Rungle-Kutta 法的基本算式法的基本算式对于微分方程组四、仿真程序四、仿真程序1.1.主程序主程序% Square wave generator -just for persipicuous visialization.FS=10000; % sampling ratet=0:1/FS:0.6;p=20*(-square(t*5*pi,50)+100; % square wave controllerplot(t,p);hold on% Main code -only one period from 00.4s deserve i

7、mproving!t1=0.2;t2=0.4;t3=0.6;h=0.0001;Udc=200;Ff=1;fi=1;B=0.1;J=0.002;Rq=0.5;Lq=0.05;vb(1)=80;vb(2)=120;i=1;resid=0.00002;pwm_i=1;pwm_w=1;Uq(1)=Udc;w(1)=0;iq(1)=0;pwm(1)=1;con_flag=0;for t1=h:h:0.6if t10.2 limit_flag =1;elseif t10.2 limit_flag =2;else limit_flag=1;end% if iq(i)0.04 con_flag=1;end%

8、% if (iqvb(limit_flag)+resid) pwm_w=0;endif(iq(i)15) pwm_i=0;end pwm(i)=pwm_i*pwm_w;% if(iq(i)14 & pwm_i=1 & pwm_w=0)% pwm(i)=1;% endelseif(pwm(i)=0) iq(i+1),w(i+1)=rungeoff(iq(i),w(i),Lq); plot(t1,iq(i+1),t1,w(i+1);hold on i=i+1; if(w(i)vb(limit_flag)-resid) pwm_w=1;endif(iq(i)14) pwm_i=1;end pwm(i

9、)=pwm_i*pwm_w;% if(iq(i)14 & pwm_i=1 & pwm_w=0)% pwm(i)=1;% end% if(iq(i)=0)% iq(i)=0;% Udc=w(i)*Ff;% else% Udc=pwm(i)*200;% end% if(iq(i)0.2 count=count+1;if(mod(count,2)=1) velocity=120;else velocity=80;end temp=0;end% if temp1peri% count1=count1+1;% if(mod(count1,2)=1)% pwm=1;% else% pwm=0;% end%

10、 temp1=0;% end% plot(i*h,velocity);hold on Udc=Tau*200; iq(i+1),w(i+1)=runge(iq(i),w(i),Udc,h);% plot(i*h,iq(i+1),i*h,w(i+1);hold on Tau = Tau + Kp*(e(3)-e(2) + Ki*e(3)+ Kd*(e(3)+e(1)-2*e(2);if Tau 1 Tau=1;elseif Tau0 Tau=0;end e(1)=e(2); e(2)=e(3); e(3)=velocity-w(i+1);% if(e(3)-2)% e(3)=0;% end% i

11、f(iq(i+1)15) iq(i+1)=15;elseif(iq(i+1)0) iq(i+1)=0;endif i=tail-1 disp(sprintf(The final steady error is : %2.1f .n,e(3);endendnum=1:tail+1;plot(h*num,w,LineWidth,2);hold onplot(h*num,iq,r);set(gca,FontName,Helonia,FontSize,10,FontWeight,bold);xlim(0,h*tail);xlabel(T/s);ylabel(I/A(V/(red/s);title(PI

12、D);2.2.调用程序调用程序function iq,w=runge(iq0,w0,Udc,h)w(1)=w0;iq(1)=iq0;k1=f1(w(1),iq0,Udc);a1=iq(1)+h*k1/2;k2=f1(w(1)+0.5*h,a1,Udc);a2=iq(1)+h*k2/2;k3=f1(w(1)+0.5*h,a2,Udc);a3=iq(1)+h*k3;k4=f1(w(1)+h,a3,Udc);k=(k1+2*k2+2*k3+k4)/6;iq=iq(1)+h*k;k11=pw(iq,w(1);a11=w(1)+h*k11/2;k22=pw(iq+0.5*h,a11);a22=w(1)+

13、h*k22/2;k33=pw(iq+0.5*h,a22);a33=w(1)+h*k33;k44=pw(iq+h,a33);k=(k11+2*k22+2*k33+k44)/6;w=w(1)+h*k;function y=pw(a,c)fi=1;B=0.1;J=0.002;y=(fi*a-B*c)/J;function y=f1(w,iq,Udc)fi=1;Rq=0.5;Lq=0.05;y=(Udc-w*fi-Rq*iq)/Lq; 六、收获与体会六、收获与体会通过本次电机建模作业,熟悉永磁直流电动机与其调速系统的建模与仿真,同时也熟悉熟悉滞环控制的原理与实现方法和 Rungle-Kutta 方法在

14、仿真中的应用。这次实验过程中,对于 matlab 软件要求较高,对于很多 matlab 语言有更多的理解。对于电机建模过程中的矩阵运算,微分方程组的求解都有很大的提高。建模过程中,开始遇到最难的问题是将龙哥库塔法,准确的应用微分方程组中,其中矩阵方程的建立起到十分重要的作用。通过这次实验,更多的熟悉了直流电动机的性能,对于电机调速,电枢电流大小的电机各方面性能有了更加清楚的了解。这次实验虽然题目比较简单,但是涉与的知识面丰富,还需要在以后应用过程中慢慢体会。由于初次接触到软件建模,所以建模过程中有很多细节都参加到同学讨论之中,对于电机方面,软件方面的理解都在沟通中提升,所以总的来说这次建模十分有意义。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号