第10章 控制系统的计算机仿真应用实例模板ppt课件.ppt
1,本章主要教学内容熟悉计算机仿真在实际系统设计中的基本应用掌握利用MATLAB和Simulink进行系统仿真的基本方法,第10章,控制系统的计算机仿真应用实例,2,本章教学目的及要求掌握控制系统性能的分析和仿真处理过程熟练运用MATLAB和Simulink对系统仿真进行编程,第10章,控制系统的计算机仿真应用实例,3,10.1 问题的描述 如图10-1所示的汽车运动控制系统,为了方便系统数学模型的建立和转换,我们设定该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,可将图10-1所示的汽车运动控制系统简化为一个简单的质量阻尼系统。,第10章,控制系统的计算机仿真应用实例,4,图10-1 汽车运动示意图,第10章,控制系统的计算机仿真应用实例,5,根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为:,第10章,控制系统的计算机仿真应用实例,为了分析方便,我们对系统的参数进行设定:汽车质量m=1000kg,比例系数b=50 Ns/m,汽车的驱动力u=500 N。,6,第10章,根据控制系统的设计要求,当汽车的驱动力为500N时,汽车将在5秒内达到10m/s的最大速度。由于该系统为简单的运动控制系统,因此将系统设计成10的最大超调量和2的稳态误差。这样,该汽车运动控制 系统的性能指标可以设定为:上升时间:5s;最大超调量:10;稳态误差:2。,控制系统的计算机仿真应用实例,7,第10章,10.2 系统的模型表示 为了得到控制系统的传递函数,我们进行Laplace变换。假定系统的初始条件为零,则该系统的Laplace变换式为:,控制系统的计算机仿真应用实例,则该系统的传递函数为:,8,第10章,如果用MATLAB语言表示该系统的传递函数模型,可编写相应的程序代码如下:m=1000;b=50;u=500;num=1;den=m b;sys=tf(num,den);,控制系统的计算机仿真应用实例,同时,也可写成如下的状态方程形式:,9,如果用MATLAB语言表示该系统状态空间模型,可编写相应的程序代码如下:m=1000;b=50;u=500;A=-b/m;B=l/m;C=1;D=0;sys=ss(A,B,C,D);当然,也可以使用MATLAB中的模型转换函数tf2ss(),直接将传递函数模型转换成标准的状态空间模型。,第10章,控制系统的计算机仿真应用实例,10,第10章,10.3 系统的仿真设计10.3.1 利用MATLAB进行仿真设计1求系统的开环阶跃响应 在命令窗口输入前面所描述的MATLAB程序代码,可得该系统的模型,接着输入下面的指令:step(u*sys)可得到该系统的开环阶跃响应曲线,如图10-2所示。从图上可看出该系统不能满足要求达到的性能指标,需要加上合适的控制器。,控制系统的计算机仿真应用实例,11,第10章,控制系统的计算机仿真应用实例,图10-2 系统的开环阶跃响应曲线,12,2PID控制器的设计 PID是Proportional(比例)、Integral(积分)、Differential(微分)三者的缩写。在过程控制中按误差信号的比例、积分和微分进行控制的调节器简称为PID调节器,这是技术最成熟、应用最为广泛的一种调节器。PID控制器的传递函数为:,第10章,控制系统的计算机仿真应用实例,13,第10章,下面我们分别讨论采用比例(P)、比例积分(PI)和比例积分微分(PID)这3种控制方法的原理和设计过程。(1)比例(P)控制器的设计 增加比例控制器之后闭环系统的传递函数为:,控制系统的计算机仿真应用实例,14,由于比例控制器可以改变系统的上升时间,现在假定Kp100,观察一下系统的阶跃响应。在MATLAB命令窗口输入下列指令:kp=100;m=1000;b=50;u=500;num=kp;den=m b+kp;t0:0.1:20;step(u*num,den,t);得到如图10-3所示的系统阶跃响应。从图中可看到,系统的稳态值太高,远远超出了设计要求,而且系统的稳态误差和上升时间也不能满足设计要求。,第10章,控制系统的计算机仿真应用实例,15,第10章,图10-3 比例控制器作用下的汽车阶跃响应(u=500),控制系统的计算机仿真应用实例,16,第10章,为此,可减小汽车的驱动力为10N,重新进行仿真,得到如图10-4所示的仿真结果。从图10-4可以看到,所设计的比例控制器仍不能满足系统的稳态误差和上升时间的设计要求。我们可以通过提高控制器的比例增益系数来改善系统的输出。例如,将比例增益系数Kp从100提高到10000重新计算该系统的阶跃响应,结果如图10-5所示。,控制系统的计算机仿真应用实例,17,第10章,图10-4 比例控制器作用下的汽车阶跃响应(u=10),控制系统的计算机仿真应用实例,18,第10章,图10-5 u=10000时控制系统阶跃响应,控制系统的计算机仿真应用实例,19,第10章,(2)比例积分(PI)控制器的设计 采用比例积分控制的系统闭环传递函数可表示为:,增加积分环节的目的是减小系统的稳态误差,假设比例系数Kp=600,积分系数KI=1,编写MATLAB程序代码如下:kp=600;ki=1;m=1000;b=50;u=10;num=kp ki;den=m b+kp ki;t=0:0.1:20;step(u*num,den,t);运行上述程序后可以得到如图10-6所示的系统阶跃响应曲线。,控制系统的计算机仿真应用实例,20,第10章,图10-6 KP600,KI=1时控制系统的阶跃响应曲线,控制系统的计算机仿真应用实例,21,第10章,我们可以调节控制器的比例和积分系数来满足系统的性能要求。选择比例系数KP800,积分系数KI=40时,可以得到如图10-7所示的系统阶跃响应曲线。从中可以看出,此时的控制系统已经能够满足系统要求达到的性能指标设计要求。,控制系统的计算机仿真应用实例,22,第10章,图10-7 KP800,KI=40时控制系统的阶跃响应曲线,控制系统的计算机仿真应用实例,23,第10章,(3)比例积分微分(PID)控制器的设计采用PID控制的系统闭环传递函数为:,假设该控制器的比例系数KP=1,积分系数KI=1,微分系数KD=1,编写MATLAB程序代码如下:kp=1;ki=1;kd=1;m=1000;b=50;u=10;num=kd kp ki;den=m+kd b+kp ki;t=0:0.1:40;step(u*num,den,t);,控制系统的计算机仿真应用实例,24,第10章,运行上述程序,并且调整PID控制器的控制参数,直到控制器满足系统设计的性能指标要求为止。我们选择KP=600,KI=50,KD=10时系统的阶跃响应曲线如图10-8所示。从图中可以看出该系统能够满足设计的总体性能要求。,控制系统的计算机仿真应用实例,25,第10章,图10-8 KP=600,KI=50,KD=10时控制系统的阶跃响应曲线,控制系统的计算机仿真应用实例,26,第10章,10.3.2 利用Simulink进行仿真设计 图10-1所示的汽车运动控制系统也可以利用Simulink进行仿真设计。1求系统的开环阶跃响应 利用Simulink建立系统阶跃响应模型,如图10-9所示。双击Step模块,设置模块属性:跳变时间为0;初始值为0;终止值为10;采样时间为0。打击按钮开始仿真,双击Scope模块,可以看到如图10-10所示的系统阶跃响应曲线,该阶跃响应曲线与图10-2所示的系统阶跃响应曲线完全相同。,控制系统的计算机仿真应用实例,27,第10章,图10-9 开环控制系统的阶跃响应模型,控制系统的计算机仿真应用实例,28,第10章,图10-10 Simulink仿真的开环控制系统阶跃响应,控制系统的计算机仿真应用实例,29,第10章,2PID控制器的设计 在Simulink的模型窗口建立一个包含PID控制器的闭环系统阶跃响应模型,如图所示。,控制系统的计算机仿真应用实例,30,第10章,分别双击Kp、Ki、Kd模块设定比例、积分、微分系数,点击按钮开始仿真,双击Scope模块,观察系统的阶跃响应曲线,直到满足要求为止。图10-12所示为KP=600,KI=50,KD=11时系统的阶跃响应曲线,与图10-8所示的系统阶跃响应曲线完全相同。,控制系统的计算机仿真应用实例,31,第10章,图10-12 Simulink仿真的汽车运动PID控制系统阶跃响应,控制系统的计算机仿真应用实例,32,本章小结,本章介绍了一个汽车控制系统的实际设计与仿真过程,其方法是先对汽车运动控制系统进行建摸,然后对其进行PID控制器的设计,建立汽车运动控制系统的模型后,可采用MATLAB和Simulink对控制系统进行仿真设计。设计系统的控制器之前要观察该系统的开环阶跃响应,采用阶跃响应函数step()来实现,如果系统不能满足要求达到的设计性能指标,需要加上合适的控制器。我们可以通过不断调整PID控制器的控制参数,使控制器能够满足系统设计要求达到的性能指标。,第10章,33,第10章,本章小结,利用MATLAB和Simulink对汽车运动控制系统仿真设计是很方便的,通过仿真处理和实验,按照得出的仿真结果进行参数的调整,最后即可得出一组满足设计要求的系统控制参数。MATLAB与Simulink的功能是非常丰富的,其应用范围也很广泛,读者可参考与之有关的文献。,34,第10章内容到此结束,谢谢各位!,