资源描述
试验七 对汽车控制系统设计和仿真
一、试验目标:
经过试验对一个汽车运动控制系统进行实际设计和仿真,掌握控制系统性能分析和仿真处理过程,熟悉用Matlab和Simulink进行系统仿真基础方法。
二、试验课时:4
个人计算机,Matlab软件。
三、试验原理:
本试验是对一个汽车运动控制系统进行实际设计和仿真,其方法是先对汽车运动控制系统进行建摸,然后对其进行PID控制器设计,建立了汽车运动控制系统模型后,可采取Matlab和Simulink对控制系统进行仿真设计。
注意:设计系统控制器之前要观察该系统开环阶跃响应,采取阶跃响应函数step( )来实现,假如系统不能满足所要求达成设计性能指标,需要加上适宜控制器。然后再根据仿真结果进行PID控制器参数调整,使控制器能够满足系统设计所要求达成性能指标。
1. 问题描述
以下图所表示汽车运动控制系统,设该系统中汽车车轮转动惯量能够忽略不计,而且假定汽车受到摩擦阻力大小和汽车运动速度成正比,摩擦阻力方向和汽车运动方向相反,这么,该汽车运动控制系统可简化为一个简单质量阻尼系统。
依据牛顿运动定律,质量阻尼系统动态数学模型可表示为:
系统参数设定为:汽车质量m=1000kg,
百分比系数b=50 N·s/m,
汽车驱动力u=500 N。
依据控制系统设计要求,当汽车驱动力为500N时,汽车将在5秒内达成10m/s最大速度。因为该系统为简单运动控制系统,所以将系统设计成10%最大超调量和2%稳态误差。这么,该汽车运动控制系统性能指标能够设定为:
上升时间:tr<5s;
最大超调量:σ%<10%;
稳态误差:essp<2%。
2、系统模型表示
假定系统初始条件为零,则该系统Laplace变换式为:
即
则该系统传输函数为:
假如用Matlab语言表示该系统传输函数模型,对应程序代码以下:
num=1;den=[1000,50];sys=tf(num,den)
同时,系统数学模型也可写成以下状态方程形式:
假如用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控制器传输函数为:
在PID控制中,百分比(P)、积分(I)、微分(D)这三种控制所起作用是不一样(请注意在试验总结中进行归纳)。下面分别讨论其设计过程。
①百分比(P)控制器设计
增加百分比控制器以后闭环系统传输函数为:
因为百分比控制器能够改变系统上升时间,现在假定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)控制器设计
采取百分比积分控制系统闭环传输函数可表示为:
增加积分步骤目标是减小系统稳态误差,假设百分比系数Kp=600,积分系数KI=1,编写对应MATLAB程序代码以下:
num=[600,1];den=[1000,650,1];sys=(num,den)
能够调整控制器百分比和积分系数来满足系统性能要求。比如选择百分比系数KP=800,积分系数KI =40时,可得系统阶跃响应曲线为:
num=[800,40];den=[1000,850,40];sys=(num,den);step(500*sys)
可见,此时控制系统已经能够满足系统要求达成性能指标设计要求。但此控制器无微分项,而对于有些实际控制系统往往需要设计完整PID控制器,方便同时满足系统动态和稳态性能要求。
③百分比积分微分(PID)控制器设计
采取PID控制系统闭环传输函数为:
假设该控制器百分比系数KP=1,积分系数KI =1,微分系数KD=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)
最终,选择KP=650,KI =50,KD=10,此时系统阶跃响应曲线以下:
从图中能够看出该系统能够满足设计总体性能要求。
(1)求系统开环阶跃响应
利用Simulink建立系统阶跃响应模型,以下图所表示。双击Step模块,设置模块属性:跳变时间为0;初始值为0;终止值为10;采样时间为0。
单击◢按钮开始仿真,双击Scope模块,可得系统阶跃响应曲线。
分析此时系统性能指标是否满足设计要求?若不能则应加上适宜控制器。
答:不满足
(2)PID控制器设计
在Simulink模型窗口建立一个包含PID控制器闭环系统阶跃响应模型,图所表示:
分别双击Kp、Ki、Kd模块设定百分比、积分、微分系数,点击◢按钮开始仿真,双击Scope模块,观察系统阶跃响应曲线,直到满足要求为止。
最终选择KP= 680 ,KI= 50 ,KD= 15 ,此时控制器能满足系统设计所要求达成性能指标,Simulink仿真汽车运动PID控制系统阶跃响应曲线以下:
展开阅读全文