目录:
1. Ziegler-Nichols方法简介
2.Ziegler-Nichols方法计算PID参数步骤
3.Ziegler-Nichols方法的Matlab仿真实现
1.Ziegler-Nichols方法
Ziegler-Nichols(齐格勒-尼科尔斯)方法是PID参数整定得到广泛使用的方法,由John G. Ziegler和Nathaniel B. Nichols在1942年提出。该方法主要基于系统的动态响应特性,通过仿真或实验确定PID控制器的比例(P)、积分(I)和微分(D)参数。Ziegler-Nichols方法有两种主要的形式:(1)Ziegler-Nichols临界比例度法;(2)Ziegler-Nichols阶跃响应法。简单介绍如下:
(1)Ziegler-Nichols临界比例度法
临界比例度法是在闭环系统保持稳定的前提下,将PID控制器置于纯比例作用,逐渐增加比例增益(或从大到小逐渐改变比例度),直到系统出现持续等幅振荡的过渡过程,此时的比例增益称为临界增益 (临界比例度
),相邻两个波峰间的时间间隔称为临界振荡周期
。据此
临界比例度和临界振荡周期的数值,按经验公式(表1)可以计算出控制器的各个参数。这种方法只适合于三阶或三阶以上的系统(三阶以下的系统不能产生等幅振荡),显然,我们所研究的永磁直流电动机不适合于采用这种方法。
(2)Ziegler-Nichols阶跃响应法
阶跃响应法是一种基于时域的分析方法。对于被控对象的开环阶跃响应曲线为“S”形的以及开环阶跃响应曲线无超调的,可以应用这种方法。实验或仿真过程如下:在系统开环并处于稳定的情况下, 给系统输入一个阶跃信号, 测量系统的输出响应曲线,一般的响应曲线如图1所示。通过在曲线的拐点处绘制一条切线,找出延迟时间(L)和时间(T)常数。·从切线与时间轴的交点处求出系统(K)的稳态增益。在计算完K、L、T后,PID控制器参数可采用表1进行计算。
图1. 无超调的开环阶跃响应法的响应曲线
表1. 齐格勒-尼科尔斯阶跃响应法整定PID参数公式
说明:图1和表1来源于网络。
2.Ziegler-Nichols阶跃响应方法计算PID参数步骤
(1)根据永磁直流电动机的数学模型编写Matlab程序或建立Simulink仿真模型;
(2)由上述程序或模型求得单位阶跃响应特性曲线,依据该特性曲线的相关信息,求得延迟时间(L)时间常数(T)以及系统(K)的稳态增益;
(3)根据上面求得的L,T和K按表1公式求得PID参数Kp,Ki和Kd。
编写Matlab程序求取开环系统的单位阶跃响应曲线,并求取延迟时间L和时间常数T,进而求取闭环PID控制永磁直流电动机转速系统的单位阶跃响应曲线。仿真结果分别如图2和图3所示。
clc
clear all
close all
K=0.01;
R=1;
L=0.5;
J=0.01;
b=0.1;
num=[K];
den=[(L*J) ((L*b)+(R*J)) (R*b)+K^2];
Gs=tf(num,den);
[y t]=step(Gs);
dy=diff(y);
dt=diff(t);
[slope,I]=max(abs(dy)./dt);% 求开环阶跃响应曲线的最大的斜率及其下标
c=y(I)-(slope*t(I));
T=abs(y(end)-y(1))/slope; % 时间常数
L=t(I)-abs(y(I)-y(1))/slope; % 延迟时间
figure(1)
plot(t,y,t,(slope*t)+c,'--',t(I),y(I),'s','lineWidth',1.5);
axis([0,max(t),0,max(y)+0.008]);
legend('开环单位阶跃响应','斜率线');
title('开环单位阶跃响应');
xlabel('时间(s)');
ylabel('幅值');
grid on
% 计算PID参数
Kp=1.2*(T/L);
Ti=2*L;
Td=0.5*L;
Ki=Kp/Ti;
Kd=Kp*Td;
% 求闭环系统的阶跃响应曲线
s=tf('s');
Gc=Kp*(1+(1/(Ti*s))+Td*s);% PID控制器传递函数
Gsc=feedback(Gc*Gs,1);% 闭环系统传递函数
figure(2);
[y,t]=step(Gsc);
plot(t,y,'LineWidth',1.5);
title('闭环单位阶跃响应');
xlabel('时间(s)');
ylabel('幅值');
grid on;
图2. 根据单位阶跃响应曲线求延迟时间L和时间常数T
图3. Ziegler-Nichols法整定的PID控制器控制永磁直流电动机转速曲线
根据Ziegler-Nichols整定PID参数的公式(表1)计算得到Kp=16.73,Ki=156.5,Kd=0.4473,这些参数构成的PID控制器控制的永磁直流电动机转速特性如图3所示。从图3可以看出,控制效果并不是很好,超调量过大(约50%),存在一定程度的振荡,过渡过程时间较长。现在要做的就是减小超调,克服振荡,提高系统的响应速度和稳定性,所以增加比例增益Kp和微分增益kd,而积分增益Ki可以保持不变或略为增加。我们以Kp=16.73,Ki=156.5,Kd=0.4473作为初值,以超调量小于5%作为优化目标,优化结果为:Kp=52,Ki=159.5,Kd=8。经过优化后的仿真结果如图4所示。从图4可以看出,仿真结果已满足各项设计要求(设计要求参看前文)。
图4. 优化PID参数后的永磁直流电动机转速曲线
总结: 齐格勒-尼科尔斯方法简单易行,有较广泛的实用性和一定的有效性,容易掌握。但是控制精度并不是很高,可能会导致系统产生过大的超调和一定程度的振荡。从上述仿真结果看,其整定(计算)得出的参数值数值偏小,有进一步改进的空间。总之,Ziegler-Nichols方法在PID参数整定中提供了一种快速且有效的途径,但也存在一些局限性,需要根据具体的应用场景和系统特性进行适当的调整和优化。
参考文献:
- The Design of PID Controllers using Ziegler Nichols Tuning. Brian R Copeland March 2008
- K Ogata. Modern Control Engineering. New Jeresy: Prentice-Hall, Inc. 2010.
-
刘金琨. 先进PID控制 MATLAB 仿真(第四版)【M】. 电子工业出版社:北京,2016