Matlab工业过程PID控制器参数整定算法设计与实现(3)
时间:2017-02-09 19:53 来源:毕业论文 作者:毕业论文 点击:次
Ziegler和Nichols给出了参数整定的经验公式: Ziegler-Nichols法及其他一些整定PID参数的算法是基于FOLPD模型的。而大部分过程控制的受控对象模型的响应曲线和一阶系统的响应较类似,可以直接进行拟合。找出获得一阶的近似模型对很多PID算法都是很必要的。本文介绍了基于频域响应的近似方法。 2.2.2 过程系统的一阶延迟模型近似 带有时间延迟一阶模型(first-order lag plus delay, FOLPD)的数学表示为 (2-4) 文献[11]中介绍了基于频域响应的Jacobi矩阵求解方法,概念清楚,计算简单,使用方便,有较强的实用性。 对于传递函数为 的数学模型,其频率特性为: 实际系统在剪切频率 下的极限增益 实际上是Nyquist图与负实轴的第一个交点,满足下面的方程组: k是受控对象的稳态值,该值可以直接由给出的传递函数的阶跃响应曲线稳态值获得。将式(2-7)改写为以T和 为待求未知量的方程组为 该函数的的Jacobi矩阵为: (2-9) 对于这种矩阵,可以用拟牛顿算法[16]求解两个待求变量T、 。根据这个原理得到函数kttau()用来求解K、T与 。 function [K,T,tau]=kttau(G) %输入参量G为模型的传递函数,输出参数K、T、 为拟合成的KT 模型参数 % MATLAB FUNCTION PROGRAM kttau.m %非KT 模型拟合成对应参数K、T、 的函数 % K=dcgain(G); %dcgain()函数可以直接得出系统G的阶跃响应稳态值 [Kc,Pm,Wcg,Wcp]=margin(G); %margin()函数得出系统G的阶跃响应赋值裕度、频率、相位裕度、剪切频率。 tau=1.6*pi/(3*Wcg);T=0.5*Kc*K*tau; ktt=0; x0=[tau;T]; while ktt==0 %为真时继续执行 ww1=Wcg*x0(1);ww2=Wcg*x0(2); FF=[K*Kc*(cos(ww1)-ww2*sin(ww1))+1+ww2^2;sin(ww1)+ww2*cos(ww1)]; J=[-K*Kc*Wcg*sin(ww1)-K*Kc*Wcg*ww2*cos(ww1),... -K*Kc*Wcg*sin(ww1)+2*Wcg*ww2; Wcg*cos(ww1)-Wcg*ww2*sin(ww1),Wcg*cos(ww1)]; x1=x0-inv(J)*FF; %inv()矩阵求逆 if norm(x1-x0)<1e-8, %norm(A)返回A的最大奇异值 ktt=1; else,x0=x1; end tau=x0(1);T=x0(2); end 2.3 Cohen-Coon整定法 Cohen-Coon法[12]是针对FOPTD模型而提出的一种PID控制器参数整定方法。它的主要原理是通过配置系统的主导极点使对象的过渡曲线按4:1衰减率衰减,从而得到最优的PID参数整定值。表1所示是不同类型的参数整定规则。 (责任编辑:qin) |