实验七-对汽车控制系统的设计与仿真设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七 对汽车控制系统的设计与仿真
一、实验目的:
通过实验对一个汽车运动控制系统进行实际设计与仿真,掌握控制系统性能的分析和仿真处理过程,熟悉用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)