自动化专业07级
《计算机仿真与MATLAB》课程报告
题目: 基于MATLAB/Simulink的PID控制系统的设计与仿真
班级:
姓名:
学号:
2010年6月
基于MATLAB/Simulink的PID控制系统的设计与仿真
摘要: 介绍了基于Ziegler- Nichols整定方法的PID 控制器设计, 给出了基于MATLAB和Simulink的实现方法和仿真。仿真结果表明, 此算法设计的PID 控制器有良好的性能指标。
1 控制对象建模
PID 控制系统的建模
PID(Proportional,Integral and Differemial)控制器是一种基于“过去”,“现在”和“未来”信息估计的简单算法。常规PID控制系统原理框图如下图所示,系统主要由PID控制器和被控对象组成。作为一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差e(t),将偏差按比例、积分、和微分通过线性组合构成控制量u(t),对被控对象进行控制。
PID控制系统原理图
PID 控制器的数学描述为:
其传递函数可表示为:
PID控制器各校正环节的作用如下:
:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。
:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之越强。
:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
从根本上讲,设计 PID 控制器也就是确定其比例系数K p、积分系数Ti 和微分系数Td , 这三个系数取值的不同,决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制
系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下, 适当选择控制器的参数使控制仪表的特性和控制对象的特性相配合, 从而使控制系统的运行达到最佳状态, 取得最好的控制效果。本文介绍基于Ziegler- Nichols整定方法的 PID 控制器设计。
被控对象的建模
在实际的过程控制系统中,有大量的对象模型可以近似地由带有延迟的一阶传递函数模型来表示,该对象的模型可以表示如下:
Gs=K1+Tse-sL
如果不能建立起系统的物理模型,可通过试验测取对象模型的阶跃响应,从而得到模型参数。当然, 我们也可在已知对象模型的情况下, 由 MATLAB 通过 STEP( ) 函数得到对象模型的开环阶跃响应曲线。在被控对象的阶跃响应输出信号图(如图所示)中, 可获取 K、L 和 T 参数。
2 PID控制系统的设计
Ziegler- Nichols法是一种基于频域设计 PID 控制器的方法。此法首先通过实验获取控制对象单位阶跃响应,获得K、L 和 T 参数。令a=KL/T,我们可以通过下表给出的Ziegler- Nichols经验公式确定P、PI 和 PID 控制器的参数。
控制器类型
Kp
Ti
Td
P
T(K×L)
∞
0
PI
(K×L)
0
PID
(K×L)
Ziegler- Nichols法整定控制器参数
3 PID 控制系统MATLAB/Simulink仿真分析
在MATLAB 下实现PID 控制器的设计与仿真
根据Ziegler- Nichols法,这里编写一个MATLAB函数ziegler,该函数的功能实现由Ziegler- Nichols公式设计PID 控制器,在设计过程中可以直接调用。其源程序如下:
function [Gc,Kp,Ti,Td,H]=ziegler(key,vars)
Ti=[]; Td=[]; H=1;
if length(vars)==4,
K=vars(1); L=vars(2); T=vars(3); N=vars(4); a=K*L/T;
if key==1, Kp=1/a;
elseif key==2, Kp=; Ti=*L;
elseif key==3 | key==4, Kp=; Ti=*L; Td=L/2; end
elseif length(vars)==3,
K=vars(1); Tc=vars(2); N=vars(3);
if key==1, Kp=*K;
elseif key==2, Kp=*K; Ti=*Tc;
elseif key==3 | key==4, Kp=*K; Ti=*Tc; Td=
基于MATLAB和Simulink的PID控制系统的设计与仿真 来自淘豆网www.taodocs.com转载请标明出处.