利用Matlab和Simulink进行系统仿真设计Word文档下载推荐.docx
- 文档编号:20186138
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:15
- 大小:372.28KB
利用Matlab和Simulink进行系统仿真设计Word文档下载推荐.docx
《利用Matlab和Simulink进行系统仿真设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《利用Matlab和Simulink进行系统仿真设计Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
五.实验内容
1.问题的描述
如下图所示的汽车运动控制系统,设该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,该汽车运动控制系统可简化为一个简单的质量阻尼系统。
根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为:
系统的参数设定为:
汽车质量m=1000kg,
比例系数b=50N·
s/m,
汽车的驱动力u=500N。
根据控制系统的设计要求,当汽车的驱动力为500N时,汽车将在5秒内达到10m/s的最大速度。
由于该系统为简单的运动控制系统,因此将系统设计成10%的最大超调量和2%的稳态误差。
这样,该汽车运动控制系统的性能指标可以设定为:
上升时间:
tr<
5s;
最大超调量:
σ%<
10%;
稳态误差:
essp<
2%。
2.系统的模型表示
假定系统的初始条件为零,则该系统的Laplace变换式为:
即
则该系统的传递函数为:
如果用Matlab语言表示该系统的传递函数模型,相应的程序代码如下:
m=1000;
b=50;
u=500;
num=[1];
den=[m,b];
sys=tf(num,den)
同时,系统的数学模型也可写成如下的状态方程形式:
如果用Matlab语言表示该系统状态空间模型,相应的程序代码如下:
Ad=-b/m;
Bd=1/m;
Cd=1;
Dd=0;
sys=ss(Ad,Bd,Cd,Dd)
3.系统的仿真设计
●利用Matlab进行仿真设计
.求系统的开环阶跃响应
在Matlab命令窗口输入相应的程序代码,得出该系统的模型后,接着输入下面的指令:
step(sys,0:
0.1:
100),gridon
可得到该系统的开环阶跃响应曲线,如下图所示:
>
从图上可看出该系统不能满足系统设计所要求达到的性能指标,需要加上合适的控制器。
.PID控制器的设计
PID控制器的传递函数为:
在PID控制中,比例(P)、积分(I)、微分(D)这三种控制所起的作用是不同的(请注意在实验总结中进行归纳)。
下面分别讨论其设计过程。
(1)比例(P)控制器的设计
增加比例控制器之后闭环系统的传递函数为:
由于比例控制器可以改变系统的上升时间,现在假定Kp=100,观察一下系统的阶跃响应。
在MATLAB命令窗口输入指令:
kp=100;
num=[kp];
den=[m,b+kp];
sys=tf(num,den)
step(u*sys),gridon
可得系统阶跃响应如下:
由此仿真结果,分析系统的稳态值是否满足设计要求,系统的稳态误差和上升时间能不能满足设计要求?
若减小汽车的驱动力为10N,重新进行仿真,仿真结果为:
u=10;
如果所设计的比例控制器仍不能满足系统的稳态误差和上升时间的设计要求,则可以通过提高控制器的比例增益系数来改善系统的输出。
例如把比例增益系数Kp从100提高到10000重新计算该系统的阶跃响应,结果为:
kp=10000;
此时系统的稳态误差接近为零,系统上升时间也降到了0.5s以下。
这样做虽然满足了系统性能要求,但实际上该控制过程在现实中难以实现。
因此,引入比例积分(PI)控制器来对系统进行调节。
(2)比例积分(PI)控制器的设计
采用比例积分控制的系统闭环传递函数可表示为:
增加积分环节的目的是减小系统的稳态误差,假设比例系数Kp=600,积分系数KI=1,编写相应的MATLAB程序代码如下:
kp=600;
ki=1;
num=[kp,ki];
den=[m,b+kp,ki];
sys=tf(num,den)
step(u*sys,0:
0.01:
40),gridon
运行上述程序后可得系统阶跃响应曲线为:
可以调节控制器的比例和积分系数来满足系统的性能要求。
例如选择比例系数KP=800,积分系数KI=40时,可得系统阶跃响应曲线为:
kp=800;
ki=40;
10),gridon
可见,此时的控制系统已经能够满足系统要求达到的性能指标设计要求。
但此控制器无微分项,而对于有些实际控制系统往往需要设计完整的PID控制器,以便同时满足系统的动态和稳态性能要求。
(3)比例积分微分(PID)控制器的设计
采用PID控制的系统闭环传递函数为:
假设该控制器的比例系数KP=1,积分系数KI=1,微分系数KD=1,编写MATLAB程序代码如下:
kp=1;
kd=1;
num=[kd,kp,ki];
den=[m+kd,b+kp,ki];
运行上述程序,并且调整PID控制器的控制参数,直到控制器满足系统设计的性能指标要求为止。
最后,选择KP=800,KI=400,KD=10,此时系统的阶跃响应曲线如下:
kp=800;
kd=10;
20),gridon
从图中可以看出该系统能够满足设计的总体性能要求。
●利用Simulink进行仿真设计
利用Simulink建立系统阶跃响应模型,如下图所示。
双击Step模块,设置模块属性:
跳变时间为0;
初始值为0;
终止值为10;
采样时间为0。
单击◢按钮开始仿真,双击Scope模块,可得系统阶跃响应曲线。
分析此时系统的性能指标是否满足设计要求?
若不能则应加上合适的控制器。
在Simulink的模型窗口建立一个包含PID控制器的闭环系统阶跃响应模型,如图所示:
分别双击Kp、Ki、Kd模块设定比例、积分、微分系数,点击◢按钮开始仿真,双击Scope模块,观察系统的阶跃响应曲线,直到满足要求为止。
最终选取KP=500,KI=20,KD=10,此时控制器能满足系统设计所要求达到的性能指标,Simulink仿真的汽车运动PID控制系统的阶跃响应曲线如下:
六.总结与体会
实验总结:
(总结实验中遇到的问题及解决办法,分析PID控制器三种控制所起的作用等。
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 Matlab Simulink 进行 系统 仿真 设计