主要内容

用于设定点跟踪的PID调整与扰动抑制

这个例子用途过度探讨整定PID控制器时设定值跟踪和抗干扰之间的权衡。

PID调优的权衡

在整定1-DOF PID控制器时,通常不可能同时实现良好的跟踪和快速的抗干扰。在控制带宽固定的情况下,越快的抗扰要求带宽内的增益越大,这只能通过增加交叉频率附近的斜率来实现。因为较大的斜率意味着较小的相位裕度,这通常是以对设定值变化响应的更多超调为代价的。

图1:1-DOF PID调谐中的折衷。

这个例子用途过度探索此权衡并找到您的申请的正确妥协。也可以看看Pidtool.为了更直接的方式来制定这种权衡(参见控制器选项下的“设计焦点”)。

调整设置

考虑图2的PID环路,在工厂输入处具有负载干扰。

图2:PID控制循环。

对于这个例子,我们使用工厂模型

$$ g(s)= {10(s + 5)\ over(s + 1)(s + 2)(s + 10)}。$$

目标控制带宽为10 rad/s。创建一个可调PID控制器,并将其微分滤波器的时间常数固定为T_f = 0.01美元(10倍带宽),因此只有三种增益可调(比例增益、积分增益和导数增益)。

g = ZPK(-5,[ -  1 -2 -10],10);c =调谐('C''PID');C.Tf.Value = 0.01;C.Tf.Free = false;%修复Tf = 0.01

构建可调型号T0.闭环传输的R.y。使用“分析点”块标记位置扰动进入的地方。

LS = AnalysisPoint ('U');T0 =反馈(G * LS * C, 1);T0。u ='r';t0.y =“y”;

开环响应的增益$ l = gc $是反馈回路行为的关键指标。开环增益在控制带宽内应该是高的(大于1),以确保良好的干扰抑制,而在控制带宽外应该是低的(小于1),以对测量噪声和未建模的植物动态不敏感。因此,用三个要求来表达控制目标:

  • “跟踪”要求指定大约0.2秒的响应时间来进行步进更改R.

  • “MaxLoopGain”要求强制- 20db / 10年以上的交叉频率10 rad/s

  • “MinLoopGain”要求在低于0.1 rad/s的频率下调整积分增益。

s = tf(s);WC = 10;%目标交叉频率% 追踪R1 = TuningGoal。跟踪('r'“y”,2 / wc);%带宽和滚动r2 = tuninggoal.maxloopgain('U'、wc / s);%干扰拒绝R3 = TuningGoal。MinLoopGain ('U'、wc / s);R3。焦点= [0 0.1];

一自由度PID控制器的整定

使用过度调整PID增益以满足这些要求。将带宽和干扰抑制目标作为硬约束,并在这些约束下优化跟踪。

T1 = SYSTUNE(T0,R1,[R2 R3]);
Final:Soft = 1.12,硬= 0.9998,迭代= 157

验证几乎满足了所有三种要求。蓝色曲线是实现的值,黄色贴片突出显示所要求的区域。

数字(“位置”,[100,100,560,580])视图目标([R1 R2 R3],T1)

跟踪与拒绝

要进入跟踪和干扰拒绝之间的权衡探讨,通过一个因素增加频段[0,0.1] RAD的最小环路增益\α美元。重新调整值的PID增益$ \ alpha = 2,4 $

%回路增益增加2倍alpha = 2;r3.mingain = alpha * wc / s;T2 = SYSTUNE(T0,R1,[R2 R3]);
最终:Soft = 1.17,硬= 0.99954,迭代= 115
%回路增益增加4倍alpha = 4;r3.mingain = alpha * wc / s;T3 = SYSTUNE(T0,R1,[R2 R3]);
Final:Soft = 1.25,硬= 0.99994,迭代= 166

将响应与步骤命令进行比较R.并对一步的骚扰D.在工厂输入处输入

图,步骤(T1,T2,T3,3)标题(“定位点跟踪”) 传奇(“\α= 1”“\α= 2”“\α= 4”的)

%计算闭环从y到yD1 = getIOTransfer (T1,'U'“y”);d2 = getiotransfer(t2,'U'“y”);D3 = getIOTransfer (T3,'U'“y”);步骤(d1,d2,d3,10)标题(“干扰拒绝”) 传奇(“\α= 1”“\α= 2”“\α= 4”的)

注意干扰抑制是如何改进的α增加,但以设置点跟踪中增加的超调为代价。绘制三种设计的开环响应,并注意交叉前的斜率(0dB)随α

L1 = getLoopTransfer (T1,'U');l2 = getLooptransfer(t2,'U');L3 = getLoopTransfer (T3,'U');bodemag (L1, L2, L3,{1飞行,1 e2}),网格标题('开环响应') 传奇(“\α= 1”“\α= 2”“\α= 4”的)

哪种设计最适合取决于您正在调整的反馈循环的主要目的。

调整2-DOF PID控制器

如果你不能利用跟踪来提高抗干扰能力,可以考虑使用2-DOF架构。二自由度PID控制器能够快速抑制扰动,而不增加设定值跟踪的超调量。

图3:二自由度PID控制回路。

使用TunablePid2.对象以参数化2-DOF PID控制器并构建可调型号T0.闭环系统在图3中。

C = tunablePID2 ('C''PID');C.Tf.Value = 0.01;C.Tf.Free = false;%修复Tf = 0.01T0 =反馈(G * LS * C, 1、2、1,+ 1);T0 = T0 (: 1);T0。u ='r';t0.y =“y”;

下一个调整2-DOF PI控制器,以提前尝试过最大的循环增益($ \ alpha = 4 $)。

百分比带宽内的最小环路增益(用于干扰抑制)alpha = 4;r3.mingain = alpha * wc / s;%曲调2-DOF PI控制器T4 = SYSTUNE(T0,R1,[R2 R3]);
最终:Soft = 1.09,硬= 0.91898,迭代= 70

比较1-DOF和2-DOF设计的设定点跟踪和干扰抑制特性$ \ alpha = 4 $

clf、步骤(T3,'B',t4,“g——”,4)标题(“定位点跟踪”) 传奇('1-DOF''2-DOF'的)

d4 = getiotransfer(t4,'U'“y”);步骤(D3,'B',d4,“g——”,4)标题(“干扰拒绝”) 传奇('1-DOF''2-DOF'的)

对阶跃扰动的响应是相似的,但二自由度控制器消除了响应中对设定值变化的超调。您可以使用展示比较1-DOF和2-DOF控制器的调谐增益。

展示(T3)% 1-DOFπ
C = 1 S KP + KI * --- + KD * -------- S TF * S + 1带KP = 9.51,KI = 14.9,KD = 0.89,TF = 0.01名称:C连续时间PIDF控制器以并行形式。
展示(T4)%2-DOF PI
C = 1 s u = Kp (b*r-y) + Ki --- (r-y) + Kd -------- (c*r-y) s Tf*s+1 with Kp = 6.18, Ki = 21.3, Kd = 0.897, Tf = 0.01, b = 0.688, c = 1.23 Name: C Continuous-time 2-DOF PIDF controller in parallel form.

也可以看看

相关的话题