内容发布更新时间 : 2024/12/28 11:20:09星期一 下面是文章的全部内容请认真阅读。
实验1 闭环控制系统仿真实验——PID控制算法仿真
一、实验目的
1.掌握PID控制规律及控制器实现。
2.掌握用Simulink建立PID控制器及构建系统模型与仿真方法。 二、实验设备
计算机、MATLAB软件 三、实验原理
在模拟控制系统中,控制器中最常用的控制规律是PID控制。PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。PID控制规律写成传递函数的形式为
G(s)?E(s)1Ki?Kp(1??Tds)?Kp??Kds U(s)Tiss式中,KP为比例系数;Ki为积分系数;Kd为微分系数;Ti?单来说,PID控制各校正环节的作用如下:
KpKi为积分时间常数;Td?Kd为微分时间常数;简Kp(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。 (2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用
越弱,反之则越强。
(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早
期修正信号,从而加快系统的动作速度,减少调节时间。 四、实验过程
1、在MATLAB命令窗口中输入“simulink”进入仿真界面。
2、构建PID控制器:(1)新建Simulink模型窗口(选择“File/New/Model”),在Simulink Library Browser中将需要的模块拖动到新建的窗口中,根据PID控制器的传递函数构建出如下模型:
各模块如下:
Math Operations模块库中的Gain模块,它是增益。拖到模型窗口中后,双击模块,在弹出的对话框中将‘Gain’分别改为‘Kp’、‘Ki’、‘Kd’,表示这三个增益系数。
Continuous模块库中的Integrator模块,它是积分模块;Derivative模块,它是微分模块。
Math Operations模块库中的Add模块,它是加法模块,默认是两个输入相加,双击该模块,将‘List of Signs’框中的两个加号(++)后输入一个加号(+),这样就改为了三个加号,用来表示三个信号的叠加。 Ports & Subsystems模块库中的In1模块(输入端口模块)和Out1模块(输出端口模块)。 (2)将上述结构图封装成PID控制器。
①创建子系统。选中上述结构图后再选择模型窗口菜单“Edit/Creat Subsystem”
②封装。选中上述子系统模块,再选择模型窗口菜单“Edit/Mask Subsystem”
③根据需要,在封装编辑器对话框中进行一些封装设置,包括设置封装文本、对话框、图标等。本次试验主要需进行以下几项设置:
Icon(图标)项:“Drawing commands”编辑框中输入“disp(‘PID’)”,如下 上图示:Parameters(参数)项:创建Kp,Ki,Kd三个参数,如下图示:
至此,PID控制器便构建完成,它可以像Simulink自带的那些模块一样,进行拖拉,或用于创建其它系统。 3、搭建一单回路系统结构框图如下图所示:
所需模块及设置:Sources模块库中Step模块;Sinks模块库中的Scope模块;Commonly Used Blocks模块库中的Mux
模块;Continuous模块库中的Zero-Pole模块。Step模块和Zero-Pole模块设置如下:
4、构建好一个系统模型后,就可以运行,观察仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数、启动仿真和仿真结果分析。选择菜单“Simulation/Confiuration Parameters”,可设置仿真时间与算法等参数,如下图示:其中默认算法是ode45(四/五阶龙格-库塔法),适用于大多数连续或离散系统。
5、双击PID模块,在弹出的对话框中可设置PID控制器的参数Kp,Ki,Kd: