文档库 最新最全的文档下载
当前位置:文档库 › 实验七-对汽车控制系统的设计与仿真设计

实验七-对汽车控制系统的设计与仿真设计

实验七-对汽车控制系统的设计与仿真设计
实验七-对汽车控制系统的设计与仿真设计

实验七 对汽车控制系统的设计与仿真

一、实验目的:

通过实验对一个汽车运动控制系统进行实际设计与仿真,掌握控制系统性能的分析和仿真处理过程,熟悉用Matlab 和Simulink 进行系统仿真的基本方法。

二、实验学时:4

个人计算机,Matlab 软件。

三、实验原理:

本实验是对一个汽车运动控制系统进行实际设计与仿真,其方法是先对汽车运动控制系统进行建摸,然后对其进行PID 控制器的设计,建立了汽车运动控制系统的模型后,可采用Matlab 和Simulink 对控制系统进行仿真设计。

注意:设计系统的控制器之前要观察该系统的开环阶跃响应,采用阶跃响应函数step( )来实现,如果系统不能满足所要求达到的设计性能指标,需要加上合适的控制器。然后再按照仿真结果进行PID 控制器参数的调整,使控制器能够满足系统设计所要求达到的性能指标。

1. 问题的描述

如下图所示的汽车运动控制系统,设该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,该汽车运动控制系统可简化为一个简单的质量阻尼系统。

根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为:

?

??==+v y u bv v m 系统的参数设定为:汽车质量m =1000kg ,

比例系数b =50 N ·s/m ,

汽车的驱动力u =500 N 。

根据控制系统的设计要求,当汽车的驱动力为500N 时,汽车将在5秒达到10m/s 的最大速度。由于该系统为简单的运动控制系统,因此将系统设计成10%的最大超调量和2%的稳态误差。这样,该汽车运动控制系统的性能指标可以设定为:

上升时间:t r <5s ;

最大超调量:σ%<10%;

稳态误差:e ssp <2%。

2、系统的模型表示

假定系统的初始条件为零,则该系统的Laplace 变换式为:

???==+)

()()()()(s V s Y s U s bV s msV 即 )()()(s U s bY s msY =+ 则该系统的传递函数为:b

ms s U s Y +=1)()( 如果用Matlab 语言表示该系统的传递函数模型,相应的程序代码如下: num=1;den=[1000,50];sys=tf(num,den)

同时,系统的数学模型也可写成如下的状态方程形式:

?????=+-=v

y u m v m b v 1

如果用Matlab 语言表示该系统状态空间模型,相应的程序代码如下:

A=-50/1000;B=1/1000;C=1;D=0;sys=ss(A,B,C,D)

四、实验容:

系统的仿真设计

利用Matlab 进行仿真设计

(1)求系统的开环阶跃响应

在Matlab 命令窗口输入相应的程序代码,得出该系统的模型后,接着输入下面的指令:

step(u*sys)

可得到该系统的开环阶跃响应曲线,如下图所示:

从图上可看出该系统不能满足系统设计所要求达到的性能指标,需要加上合适的控制器。

(2)PID 控制器的设计

PID 控制器的传递函数为:

s

K s K s K s K s K K I P D D I P ++=++2在PID 控制中,比例(P )、积分(I )、微分(D )这三种控制所起的作用是不同的(请注意在实验总结中进行归纳)。下面分别讨论其设计过程。

①比例(P )控制器的设计

增加比例控制器之后闭环系统的传递函数为:

)

()()(P P K b ms K s U s Y ++= 由于比例控制器可以改变系统的上升时间,现在假定Kp =100,观察一下系统的阶跃响应。在MATLAB 命令窗口输入指令: num=100;den=[1000,150];sys=tf(num,den);step(500*sys)

由此仿真结果,分析系统的稳态值是否满足设计要求,系统的稳态误差和上升时间能不能满足设计要求?

上升时间为40s远远大于5s,不能满足设计要求,稳态误差为(500-333)/500远远大于2%,因此系统不满足设计要求

若减小汽车的驱动力为10N,重新进行仿真,仿真结果为:

num=100;den=[1000,150];sys=tf(num,den);step(10*sys)

如果所设计的比例控制器仍不能满足系统的稳态误差和上升时间的设计要求,则

可以通过提高控制器的比例增益系数来改善系统的输出。例如把比例增益系数Kp 从100提高到10000重新计算该系统的阶跃响应,结果为:

程序:num=10000;den=[1000,10050];sys=tf(num,den);step(10*sys)

此时系统的稳态误差接近为零,系统上升时间也降到了0.5s 以下。这样做虽然满足了系统性能要求,但实际上该控制过程在现实中难以实现。因此,引入比例积分(PI )控制器来对系统进行调节。

②比例积分(PI )控制器的设计

采用比例积分控制的系统闭环传递函数可表示为:

I

P I P K s K b ms K s K s U s Y ++++=)()()(2 增加积分环节的目的是减小系统的稳态误差,假设比例系数Kp =600,积分系数K I =1,编写相应的MATLAB 程序代码如下:

num=[600,1];den=[1000,650,1];sys=(num,den)

可以调节控制器的比例和积分系数来满足系统的性能要求。例如选择比例系数K P =800,积分系数K I =40时,可得系统阶跃响应曲线为: num=[800,40];den=[1000,850,40];sys=(num,den);step(500*sys)

可见,此时的控制系统已经能够满足系统要求达到的性能指标设计要求。但此控制器无微分项,而对于有些实际控制系统往往需要设计完整的PID 控制器,以便同时满足系统的动态和稳态性能要求。

③比例积分微分(PID )控制器的设计

采用PID 控制的系统闭环传递函数为:

I

P D I P d K s K b s K m K s K s K s U s Y ++++++=)()()()()(22 假设该控制器的比例系数K P =1,积分系数K I =1,微分系数K D =1,编写MATLAB 程序代码如下:num=[1,1,1];den=[1001,51,1];sys=(num,den)

运行上述程序,并且调整PID控制器的控制参数,直到控制器满足系统设计的性能指标要求为止。

num=[10,650,50];den=[1010,700,50];sys=tf(num,den);step(500*sys)

最后,选择K P=650,K I =50,K D=10,此时系统的阶跃响应曲线如下:

从图中可以看出该系统能够满足设计的总体性能要求。

(1)求系统的开环阶跃响应

利用Simulink建立系统阶跃响应模型,如下图所示。双击Step模块,设置模块属性:跳变时间为0;初始值为0;终止值为10;采样时间为0。

单击◢按钮开始仿真,双击Scope模块,可得系统阶跃响应曲线。

(2)PID控制器的设计

在Simulink的模型窗口建立一个包含PID控制器的闭环系统阶跃响应模型,如图所示:

分别双击Kp、Ki、Kd模块设定比例、积分、微分系数,点击◢按钮开始仿真,双击Scope模块,观察系统的阶跃响应曲线,直到满足要求为止。

最终选取K P= 680 ,K I= 50 ,K D= 15 ,此时控制器能满足系统设计所要求达到的性能指标,Simulink仿真的汽车运动PID控制系统的阶跃响应曲线如下:

相关文档