simulinkPID仿真.docx
《simulinkPID仿真.docx》由会员分享,可在线阅读,更多相关《simulinkPID仿真.docx(15页珍藏版)》请在冰豆网上搜索。
simulinkPID仿真
一、设计目的
1.掌握PID控制规律及控制器实现。
2.掌握用Simulink建立PID控制器及构建系统模型与仿真方法。
二、使用设备
计算机、MATLAB软件
三、设计原理
在模拟控制系统中,控制器中最常用的控制规律是PID控制。
PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。
PID控制规律写成传递函数的形式为
式中,
为比例系数;
为积分系数;
为微分系数;
为积分时间常数;
为微分时间常数;简单来说,PID控制各校正环节的作用如下:
(1)比例环节:
成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。
(2)积分环节:
主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。
(3)微分环节:
反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
四、上机过程
1、在MATLAB命令窗口中输入“Simulink”进入仿真界面。
2、构建PID控制器:
(1)新建Simulink模型窗口(选择“”),在SimulinkLibraryBrowser中将需要的模块拖动到新建的窗口中,根据PID控制器的传递函数构建出如下模型:
各模块在如下出调用:
MathOperations模块库中的Gain模块,它是增益。
拖到模型窗口中后,双击模块,在弹出的对话框中将‘Gain’分别改为‘Kp’、‘Ki’、‘Kd’,表示这三个增益系数。
Continuous模块库中的Integrator模块,它是积分模块;Derivative模块,它是微分模块。
MathOperations模块库中的Add模块,它是加法模块,默认是两个输入相加,双击该模块,将‘ListofSigns’框中的两个加号(++)改为三个加号,即(+++),可用来表示三个信号的叠加。
Ports&Subsystems模块库中的In1模块(输入端口模块)和Out1模块(输出端口模块)。
(2)将上述结构图封装成PID控制器。
①创建子系统。
选中上述结构图后再选择模型窗口菜单“Edit/CreatSubsystem”
②打开封装编辑器窗口。
选中上述子系统模块,再选择模型窗口菜单“Edit/MaskSubsystem”
③根据需要,在封装编辑器对话框中进行一些封装设置,包括设置封装文本、对话框、图标等。
本次试验主要需进行以下几项设置:
Icon项:
“Drawingcommands”编辑框中输入“disp(‘PID’)”,如下左图示:
Parameters项:
创建Kp,Ki,Kd三个参数,如下右图示:
至此,PID控制器便构建完成,它可以像Simulink自带的那些模块一样,进行拖拉,或用于创建其它系统。
3、搭建一单回路系统结构框图如下图所示:
所需模块及设置:
Sources模块库中Step模块;Sinks模块库中的Scope模块;CommonlyUsedBlocks模块库中的Mux模块和Sum模块;Continuous模块库中的Zero-Pole模块。
Step模块,Sum模块和Zero-Pole模块设置如下:
4、构建好一个系统模型后,就可以运行,观察仿真结果。
运行一个仿真的完整过程分成三个步骤:
设置仿真参数、启动仿真和仿真结果分析。
选择菜单“Simulation/ConfiurationParameters”,可设置仿真时间与算法等参数,如下图示:
其中默认算法是ode45(四/五阶龙格-库塔法),适用于大多数连续或离散系统。
5、双击PID模块,在弹出的对话框中可设置PID控制器的参数Kp,Ki,Kd:
设置好参数后,单击“Simulation/Start”运行仿真,双击Scope示波器观察输出结果,并进行仿真结果分析。
比较以下参数的结果:
(1)Kp=8.5,Ki=5.3,Kd=3.4
(2)Kp=6.7,Ki=2,Kd=2.5
(3)Kp=4.2,Ki=1.8,Kd=1.7
6、以Kp=8.5,Ki=5.3,Kd=3.4这组数据为基础,改变其中一个参数,固定其余两个,以此来分别讨论Kp,Ki,Kd的作用。
只改变
,当
=8.5,
=6.7,
=4.2时候系统输出曲线截图标注;
只改变
,当
=5.3,
=2,
=1.8时候系统输出曲线截图标注;
只改变
,当
=3.4,
=2.5,
=1.7时候系统输出曲线截图标注。
7、分析不同调节器下该系统的阶跃响应曲线
(1)P调节Kp=8
(2)PI调节Kp=5,Ki=2
(3)PD调节Kp=8.5,Kd=2.5
(4)PID调节Kp=7.5,Ki=5,Kd=3
五.实验结果
1.
(1)Kp=8.5,Ki=5.3,Kd=3.4
(2)Kp=6.7,Ki=2,Kd=2.5
(3)Kp=4.2,Ki=1.8,Kd=1.7
2以Kp=8.5,Ki=5.3,Kd=3.4这组数据为基础,改变其中一个参数,固定其余两个。
(1)Ki,Kd不变仅改变Kp;
Kp=8.5,Ki=5.3,Kd=3.4
Kp=6.7,Ki=5.3,Kd=3.4
Kp=4.2,Ki=5.3,Kd=3.4
(2)Kp,Kd不变仅改变Ki;
(1)Kp=8.5,Ki=5.3,Kd=3.4
Kp=8.5,Ki=2,Kd=3.4
Kp=8.5,Ki=1.8,Kd=3.4
(3)Kp,Ki不变仅改变Kd;
(1)Kp=8.5,Ki=5.3,Kd=3.4
Kp=8.5,Ki=5.3,Kd=2.5
Kp=8.5,Ki=5.3,Kd=1.7
3不同调节器下该系统的阶跃响应曲线
(1)P调节Kp=8
(2)PI调节Kp=5,Ki=2
(3)PD调节Kp=8.5,Kd=2.5
(4)PID调节Kp=7.5,Ki=5,Kd=3
六.总结
1、P控制规律控制及时但不能消除余差,I控制规律能消除余差但控制不及时且一般不单独使用,D控制规律控制很及时但存在余差且不能单独使用。
2、比例系数越小,过渡过程越平缓,稳态误差越大;反之,过渡过程振荡越激烈,稳态误差越小;若Kp过大,则可能导致发散振荡。
Ti越大,积分作用越弱,过渡过程越平缓,消除稳态误差越慢;反之,过渡过程振荡越激烈,消除稳态误差越快。
Td越大,微分作用越强,过渡过程趋于稳定,最大偏差越小;但Td过大,则会增加过渡过程的波动程度。
3、P和PID控制器校正后系统响应速度基本相同(调节时间ts近似相等),但是P控制器校正产生较大的稳态误差,而PI控制器却能消除余差,而且超调量较小。
PID控制器校正后系统响应速度最快,但超调量最大。