1、控制系统仿真与CAD课程设计报告doc控制系统仿真与CAD 课程设计学 院:物流工程学院专 业:测控技术与仪器班 级:测控102姓 名:杨红霞学 号:201010233037指导教师:兰莹完成日期:2013年7月4日一、 目的和任务配合控制系统仿真与CAD课程的理论教学,通过课程设计教学环节,使学生掌握当前流行的演算式MATLAB语言的基本知识,学会运用MATLAB语言进行控制系统仿真和辅助设计的基本技能,有效地提高学生实验动手能力。一、基本要求:1、利用MATLAB提供的基本工具,灵活地编制和开发程序,开创新的应用;2、熟练地掌握各种模型之间的转换,系统的时域、频域分析及根轨迹绘制;3、熟练
2、运用SIMULINK对系统进行仿真;4、掌握PID控制器参数的设计。二、设计要求1、编制相应的程序,并绘制相应的曲线;2、对设计结果进行分析;3、撰写和打印设计报告(包括程序、结果分析、仿真结构框图、结果曲线)。三、设计课题设计一:二阶弹簧阻尼系统的PID控制器设计及其参数整定考虑弹簧阻尼系统如图1所示,其被控对象为二阶环节,传递函数G(S)如下,参数为M=1kg,b=2N.s/m,k=25N/m,F(S)=1。设计要求:(1) 控制器为P控制器时,改变比例系数大小,分析其对系统性能的影响并绘制相应曲线。(2) 控制器为PI控制器时,改变积分时间常数大小,分析其对系统性能的影响并绘制相应曲线。
3、(例如当kp=50时,改变积分时间常数)(3) 设计PID控制器,选定合适的控制器参数,使闭环系统阶跃响应曲线的超调量%20%,过渡过程时间Ts2s, 并绘制相应曲线。图1 弹簧阻尼系统示意图 弹簧阻尼系统的微分方程和传递函数为:图2 闭环控制系统结构图附:P控制器的传递函数为:PI控制器的传递函数为:PID控制器的传递函数为:(一) 设计P控制器,改变比例系数大小,分析其对系统性能的影响并绘制相应曲线。以下为所做的设计以及运行结果,KP取了不同的值,通过运用sim函数进行仿真,并得出超调量MP,过渡过程时间Ts的大小,通过分析所得出的结果,多次改变KP的大小直到符合题目的要求,使稳态误差等都
4、达到要求。1、 仿真运行程序for Kp=200,400,800t=0:0.01:6;t,x,y=sim(yhx,6);hold onplot(t,y);N=length(t);yss=y(N); %yss:稳态值hold on ymax,i=max(y);mp=(ymax-yss)*100/yss, %计算超调量mpi=N;while abs(y(i)-yss)/yss=0.02 i=i-1;endTs=t(i), %计算过渡过程时间gtext(num2str(Kp);end2、 仿真框图3、 仿真运行结果改变比例系数kp大小,得如下结果,通过以下数据以及得出的曲线可分析其对系统性能的影响K
5、p=200mp = 75.3359Ts =3.7962Kp=400mp = 84.7526Ts =3.8317Kp=800mp = 88.0528Ts = 4.56854、 仿真运行曲线5、运行结果分析 根据实验要求设计了一个P控制器,与Gs等构成闭环控制系统结构。由以上的运行结果以及曲线可以看出随Kp增大,超调量mp是逐渐变大的,Ti也是逐渐变大的,而且总是达不到稳态误差很小很小,因此得出以下结论:随着Kp值的增大,系统的超调量变大,调节时间变长,振荡次数也增多了。Kp值越大,系统的稳态误差就越小,调节应精度越高,但是系统的波动明显变多了,稳定性变差,但是系统响应变快了。随着比例系数女kp的
6、增大并不能消除稳态误差,只能减小稳态误差。 (二) 设计PI控制器,改变积分时间常数大小,分析其对系统性能的影响并绘制相应曲线。以下为设计出的仿真程序等,运用sim函数进行仿真,编写程序使KP=50,改变KI的大小,来进行分析,直到符合题目的要求,使运行出的结果稳态误差基本很小即可,如果达不到,就要重新设定KI的大小,进行多次试验,选出如下符合要求的KI的值,程序中都有所体现。1、 仿真运行程序for Ki=30,50,80t=0:0.01:10;t,x,y=sim(yhxx,10);hold onplot(t,y);N=length(t); %yss:稳态值yss=y(N); hold on
7、 ymax,i=max(y);mp=(ymax-yss)*100/yss, %计算超调量mpi=N;while abs(y(i)-yss)/yss=0.02 i=i-1;endTs=t(i),%计算过渡过程时间end2、 仿真框图3、仿真运行结果当Kp=50时, 改变积分时间常数ki的大小,由以下的结果以及曲线可分析其对系统性能的影响ki=30mp = 21.4633Ts =6.5686Ki=50mp = 26.7424Ts =5.1127Ki=80mp = 31.0229Ts = 7.33754、仿真运行曲线:5、运行结果分析Kp=50时,随着ki值的增大,系统的超调量变大,系统响应时间出现
8、了波动。ki越大,积分速度越快,积分作用就越强,响应时间变快,但系统振荡次数就较多。PI控制可以消除系统的稳态误差,提高系统的误差度。在积分控制中,控制器的输出与输入误差信号的积分成正比关系。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后基本无稳态误差。这是比上一个只有比例控制器的一个进步的地方。(三) 设计一PID控制器,选定合适的控制器参数,使闭环系统阶跃响应曲线的超调
9、量%20%,过渡过程时间Ts2s, 并绘制相应曲线。以下为所设计的程序,仿真等,改变kp,ki,kd 的值得出闭环阶跃响应的超调量和过渡过程时间,通过多次试验,得到的kp取20,ki取65,kd取9时运行出的结果是满足题目要求的:1、仿真运行程序t,x,y=sim(yhxxx);plot(t,y);N=length(t);yss=y(N); %yss:稳态值ymax,i=max(y);mp=(ymax-yss)*100/yss, %计算超调量mpi=N;while abs(y(i)-yss)/yss=0.02 i=i-1;endTs=t(i), %计算过渡过程时间2、仿真框图3、仿真运行结果经
10、过多次试验,当Kp=20,ki=65,pd=9满足使闭环系统的阶跃响应曲线的超调量%20%,过渡过程时间ts2s,结果如下:mp = 1.1367Ts =0.8945从结果可知超调量mp%20%,过渡过程时间Ts rltool,进入设计环境。一、 设计思路方法根据题目要求采用matlab中提供的一个辅助设计闭环系统根轨迹的仿真软件Rltool,来进行根轨迹校正。打开matlab,在command window 下键入 rltool,进入设计环境。根据设计要求:开环比例系数即 取k=40, 传递函数二、设计步骤1、打开matlab,在command window 下键入 rltool,进入设计环
11、境。启动SISO Design Tool在matlab中键入num=40;den=conv(1,0,1,2); ex_1=tf(num,den),出现函数 40/(s2 + 2 s)得到该系统的LTI对象模型ex_1。2、启动SISO Design Tool 窗口后,利用该窗口中File菜单下的命令Import,打开系统模型输入对话框窗口。采用系统默认的结构,输入选中的对象ex_1,将控制对象G设置为ex_1,控制器C设为1,其他的环节H,F均使用默认的取值1.单击OK在SISO Design Tool中会自动绘制此负反馈线性系统的根轨迹图,以及系统波特图,如图3、点击Analysis 中的o
12、ther loop response 选择step得到闭环系统阶跃响应曲线如图可以看到校正前的超调量为60.4%,过渡过程时间为3.66s,明显不满足要求。4、经过反复试验,得出加入零点-5,加入极点-33,是满足要求的,可得到如下的根轨迹图以及伯德图5、得到的阶跃响应曲线如下超调量15.8%20%,过渡过程时间0.715s1.5s,满足要求说明加的零极点是正确的6、在使用SISO Design Tool 完成系统的设计之后,在系统实现之前必须对设计好的系统通过Simulink 进行仿真分析,进一步对控制器C进行验证,以确保系统设计的正确性。下图为系统相应的Simulink模型:7、编写M文件
13、运行以得出超调量和过渡过程时间,以验证是否正确,程序如下:num0=40;den0=conv(1,0,1,2);num1=0.2,1;den1=0.03,1;num2,den2=series(num0,den0,num1,den1);num,den=cloop(num2,den2);t=0:0.005:5;y=step(num,den,t);plot(t,y);N=length(t);yss=y(N); hold on ymax,i=max(y);mp=(ymax-yss)*100/yss,i=N;while abs(y(i)-yss)/yss=0.02 i=i-1;endTs=t(i),运行
14、结果:mp = 15.7500Ts =0.7150运行所得的曲线如下:运行结果分析:所得出的结果,超调量15.7500%20%,过渡过程时间0.7150s1.5s,满足设计要求,证明设计的没有问题,符合设计要求。三、串联校正装置中增益、极点和零点对系统性能的影响。(1)加入增益68,所得到的根轨迹及伯德图:编写M程序,得出图像及超调量,过渡过程时间等值,来判断加入增益对系统性能的影响,程序如下:num0=40;den0=conv(1,0,1,2);num1=68*0.2,1;den1=0.03,1;num2,den2=series(num0,den0,num1,den1);num,den=cl
15、oop(num2,den2);t=0:0.005:1;y=step(num,den,t);plot(t,y);%计算超调量mpN=length(t);yss=y(N); hold on %yss:稳态值ymax,i=max(y);mp=(ymax-yss)*100/yss,i=N;while abs(y(i)-yss)/yss=0.02 i=i-1;endTs=t(i),运行结果为mp = 69.4107Ts =0.2600运行曲线为:由以上结果及图像可以得出以下结论:加入增益之后超调量变大了,过渡过程时间变短了,波动的更加厉害,稳态误差变小了。说明可以改变开环增益的大小,从而改善稳态误差(2
16、)加入零点-10,所得到的根轨迹及伯德图:阶跃响应曲线如下:由图可以得出,加入零点后对系统的性能产生了很大的影响,过渡过程时间变长了,超调量变小了,波动次数少了,而且增加开环极点,使得原系统根轨迹的整体走向在S平面向右移,使系统稳定性变坏。(3)加入极点-10后所得到的根轨迹以及伯德图:阶跃响应曲线如下:由图可以看出加入零点之后系统的性能发生的变化,过渡过程时间变得更长了,超调量变大了,波动次数变多了,增加开环零点,使得原系统根轨迹的整体走向在S平面向右移,使系统稳定性得到改善。四、设计小结这个设计是应用了matlab中新的功能,是辅助设计闭环系统根轨迹的仿真软件Rltool,可以用来进行根轨
17、迹校正的一个软件,在使用的过程中遇到了很多问题,参照着课本,一步一步的进行探索,遇到课本上解决不了的,就向同学和老师询问,或者在网上搜些资料以帮助自己理解一些概念,从而更快的理解课程设计需要做的东西,该如何按照老师的要求做出来,其中需要试一些符合要求的零极点,试了很多次。还要到最后进行simulink的仿真,并且编写了程序,以验证所设计的是不是符合要求。通过这次课程设计,我学到了很多东西,通过编写程序,用到了以前学过的知识,对以前所学知识进行了巩固,觉得非常好,把以前学过的东西又重新捡起来,继续用,也为自己的后续的学习之路铺下基础,比如说后面的毕业设计可能就会用到matlab。我也感受到了matlab强大的功能,对这个软件产生了极大的兴趣,非常实用和好玩。这次课程设计真的学到了很多很多,深受启发,让我对以后的学习充满了信心,老师也很敬业,对我们学生很负责任,耐心教导。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1