基于Ziegler-Nlichols方法的参数整定与PID仿真

基于Ziegler-Nlichols方法的参数整定与PID仿真

0研究背景


写在前面

 1.本代码基于MATLAB2019a版本,低版本或者不同版本可能会报错,mdl文件或slx文件打开可能会失败;
 2.本博客将详细介绍Ziegler-Nlichols方法的PID仿真,如果转载请注明出处;
 3.如果本博客恰巧与您的研究有所关联,欢迎您的咨询qq1366196286


1被控对象的传递函数


         G ( s ) = 1 s ( s + 2 ) ( s + 4 ) G(s)=\frac{1}{s(s+2)(s+4)} G(s)=s(s+2)(s+4)1

   系统数学模型(即传递函数)确定的这种数学模型是在用拉普拉斯变换方法求解微分方程过程中引出来的复域中的数学模型,它不但能等同微分方程反映系统的输入、输出动态特性,而且能间接的反映结构、参数变化时对系统输出的影响。而且传递函数只取决于系统(或元件)的结构和参数,与外界输入无关。基于传递函数模型的传统PID控制经验公式,是Ziegler与Nichols于20世纪40时年代提出的。他们著名的回路整定技术使得PID算法直到现在还被广泛地应用在工业领域内的反馈控制策略中。本博客将以传递函数为背景来介绍基于Ziegler-Nlichols 方法的PID仿真实现。


m函数

 
 clc,
 clear all; %#ok<CLALL> 
 num = [1]; %#ok<NBRAK>
 den = [1 6 8 0];
 sys = tf(num,den);
 isstable(sys) %%判断系统是否稳定,返回值1,说明系统是稳定的,返回值0,则系统不具有稳定性。
 

运行结果如下:
在这里插入图片描述

  其中logical的返回值,是判断系统是否稳定的。返回值0,说明系统不具有稳定性。


Simulink仿真文件
在这里插入图片描述


2Ziegler-Nlichols方法的阶跃响应曲线

  大致的整定流程与步骤,如下图所示。其中以基于Ziegler-Nlichols 方法的PID参数整定为基础,也可以前往参数整定的专栏,去进一步了解PID控制器的控制参数对系统的影响作用,链接直达:基于遗传算法的PID参数整定研究
在这里插入图片描述


2.1 Ziegler-Nlichols方法的简单介绍

  控制系统在外界干扰作用后,不能恢复到稳定的平衡状态,而出现一种既不衰减,也不发散的等幅振荡过程,这样的过渡过程就称为临界振荡过程,如下图所示。
在这里插入图片描述
图 临界振荡过程示意图(一般的我们选定3Tk以减小测量误差)


PID控制算法为

u ( t ) = 1 δ k ( e + 1 T i ∫ 0 t e   d t + T D d e   d t ) u(t)=\frac{1}{\delta_{\mathrm{k}}}\left(e+\frac{1}{T_{\mathrm{i}}} \int_{0}^{t} e \mathrm{~d} t+T_{\mathrm{D}} \frac{\mathrm{d} e}{\mathrm{~d} t}\right) u(t)=δk1(e+Ti10te dt+TD dtde)

式中,δk为临界比例度,Ti为积分时间,TD为微分时间


   Ziegler-Nlichols方法是根据给定对象的临界状态参数K和T来确定PID控制器的参数,整定公式如表1-l所示。其中,如果单位阶跃响应曲线为S形曲线,则可用此法,否则不能用。此外,适用于临界振幅不大、振荡周期较长的过程控制系统,但有些系统从安全性考虑不允许进行稳定边界试验,如锅炉汽包水位控制系统。还有某些时间常数较大的单容对象,用纯比例控制时系统始终是稳定的,对于这些系统也是无法用临界比例度法来进行参数整定的。

  我们在Ziegler-Nlichols方法整定中,首先需要得到的就是临界参数,即在临界状态下,被控量y来回振荡一次所用时间,称为临界周期Tk。被调参数处于临界状态时的比例度,称为临界比例度δk。其次,在上图中的临界振荡过程,可以得到我们所需要的临界比例度δk和临界周期Tk的数值。再次,根据控制器的结果结合表选定经验公式,最后根据经验公式计算出PID控制器各参数的具体数值。具体的实现步骤如下:

  1. Step 1 寻找临界振荡状态,求取临界比例度δk和临界周期Tk。

   先把积分时间放至最大,微分时间放至零,比例度放至较大的适当值。“纯P控制参数”,就是使控制系统按纯比例作用的方式投入运行。然后,慢慢地减少比例度,在外界干扰的作用下,细心观察控制器的输出信号和被调参数的变化情况。如果控制过程的曲线波动是衰减的,则把比例度继续调大,如果控制过程的曲线波动是发散的,则应把比例度调小些,直到曲线波动呈等幅振荡为止,从而得到临界比例度δk和临界周期Tk值。即整定口诀说的“等幅振荡出现时,δk值Tk值为临界”。

  1. Step 2 结合控制器的结构形式,按表选定参数计算公式

         表 Ziegler-Nlichols方法的参数整定计算表
在这里插入图片描述

  “按照公式乘系数”即根据得到的δk和Tk值按下表临界比例度法参数计算公式表,来计算调节器的各参数值。

  1. Step 3 先比例调节,后积分调节,最后微分调节。

  求得具体的数值后,将比例度调在比计算数值大一些的刻度上,然后把积分时间放至计算值上,然后从大到小地调整积分时间,最后把微分时间放至计算值上,从小到大地调整微分时间。这样的调整次序就是口诀中的“PID顺序不能错”。

  1. Step 4 多次调节参数,观察最佳响应曲线的输出。

  最后把比例度减小到计算值上,通过观察曲线,也就是“静观运行勤调整,细心寻求最佳值”。即适当地进行各参数的微调,以达到满意的控制效果。

  整定的口诀:

临界整定应用多,纯P运转减参数;
等幅振荡出现时,δk值Tk值为临界;
按照公式乘系数,P、I、D顺序不能错;
静观运行勤调整,细心寻求最佳值。

2.2 Ziegler-Nlichols方法的整定过程

   构建闭环控制回路,确定稳定极限。将积分作用和微分作用均断开连接,或者直接在PID控制器模块中将其所对应的控制参数设置为0。即此时被控对象仅存在比例作用,通过调节比例系数,来获取临界震荡状态。
在这里插入图片描述
   输入信号:t=1.0 s 由0阶跃上升至5。通过改变kp的值观察输出的波形,最后确定等幅镇荡的临界比例度δk和临界周期Tk。其中,kp = 50,Tk = 11.228 s ,δk = 1/kp = 0.02。
在这里插入图片描述
当kp = 1.0时,系统的阶跃响应输出曲线如下:
在这里插入图片描述
当kp = 10.0时,系统的阶跃响应输出曲线如下:
在这里插入图片描述
当kp = 30.0时,系统的阶跃响应输出曲线如下:
在这里插入图片描述
当kp = 50.0时,系统的阶跃响应输出曲线如下:
在这里插入图片描述
当kp = 60.0时,系统的阶跃响应输出曲线如下:
在这里插入图片描述
   当kp = 50.0时,系统出现等幅镇荡,可得临界比例度δk和临界周期Tk。其中,kp = 50,Tk = 11.228 s ,δk = 1/kp = 0.02。
在这里插入图片描述
参数整定的计算公式:

K p = 1 δ = 1 1.78 δ k , δ k = 1 K p ′ , K p ′ = 50 K i = K p T T i , T i = 0.5 T k , 5 T k = 11.228 , T = 1 0 − 3 K D = K p T D T , T D = 0.125 T k , T k = 2.2456 \begin{array}{l} K_{\mathrm{p}}=\frac{1}{\delta}=\frac{1}{1.78 \delta_{\mathrm{k}}}, \quad \delta_{\mathrm{k}}=\frac{1}{K_{\mathrm{p}}^{\prime}}, K_{\mathrm{p}}^{\prime}=50 \\ K_{\mathrm{i}}=K_{\mathrm{p}} \frac{T}{T_{\mathrm{i}}}, \quad T_{\mathrm{i}}=0.5 T_{\mathrm{k}}, \quad 5 T_{\mathrm{k}}=11.228, T=10^{-3} \\ K_{\mathrm{D}}=K_{\mathrm{p}} \frac{T_{\mathrm{D}}}{T}, \quad T_{\mathrm{D}}=0.125 T_{\mathrm{k}}, \quad T_{\mathrm{k}}=2.2456 \end{array} Kp=δ1=1.78δk1,δk=Kp1,Kp=50Ki=KpTiT,Ti=0.5Tk,5Tk=11.228,T=103KD=KpTTD,TD=0.125Tk,Tk=2.2456

计算可得PID控制器参数为:

K p = 1 δ = 1 1.78 δ k = 0.011 K i = K p T T i = 0.011 × 1 × 1 0 − 3 0.5 × 2.2456 = 0.000009 K D = K p T D T = 0.011 × 0.125 × 2.2456 1 × 1 0 − 3 = 3.0877 \begin{array}{l} K_{\mathrm{p}}=\frac{1}{\delta}=\frac{1}{1.78 \delta_{\mathrm{k}}}=0.011 \\ K_{\mathrm{i}}=K_{\mathrm{p}} \frac{T}{T_{\mathrm{i}}}=0.011 \times \frac{1 \times 10^{-3}}{0.5 \times 2.2456}=0.000009 \\ K_{\mathrm{D}}=K_{\mathrm{p}} \frac{T_{\mathrm{D}}}{T}=0.011 \times \frac{0.125 \times 2.2456}{1 \times 10^{-3}}=3.0877 \end{array} Kp=δ1=1.78δk1=0.011Ki=KpTiT=0.011×0.5×2.24561×103=0.000009KD=KpTTD=0.011×1×1030.125×2.2456=3.0877

   多次调整PID控制器参数后,最后得到Ziegler-Nlichols方法整定后的参数值。

K p = 20 K i = 1.0 K D = 0.005 \begin{array}{l} K_{\mathrm{p}}=20 \\ K_{\mathrm{i}}=1.0 \\ K_{\mathrm{D}}=0.005 \end{array} Kp=20Ki=1.0KD=0.005


2.3 PID仿真的阶跃响应输出对比

   整定前后的阶跃响应输出图,如下图所示。
在这里插入图片描述

   整定前后进行阶跃响应曲线的对比,很明显可看出整定后的优于整定前的,性能有很大的提升。


3总结

   针对参数整定,一方面需要根据具体应用考虑不同方面的影响因素,如跟随性能、抗外负载扰动能力、模型不确定性、传感器噪声等;另一方面,参数整定也可采用数据驱动方法来克服模型复杂整定困难,以及基于模型简化的整定方法(如阶跃响应方法)所导致的模型不确定性问题。从某种意义上来说,频率响应方法是一种数据驱动自动整定方法,但却只用到了极少的整定实验数据。

   为此,学者们相继被提出一系列新型数据驱动自动整定方法。如采用遗传算法对PID参数进行智能整定。利用专家系统或基于知识库等进行智能推理实现参数自整定。基于案例推理的PID参数自整定等,这些方法不仅克服了传统Z-N整定方法的缺陷,也成功地应用于线性时变系统、非线性系统或非最小相位系统(Non-minimum phase system)的控制器自动整定上。

   以上方法虽然不依赖被控对象的数学模型且取得一定效果,但在参数自整定中都将单一的性能指标作为优化目标。然而,选择不同性能指标会使控制器参数、结构等不同,又或者优化算法的适应度函数设计仅考虑了时域性能指标。同时,PMSM伺服调速系统进行控制器的最优设计时要考虑控制性能的多目标优化,而且多控制性能指标的矛盾一直存在,如超调量与响应时间之间的矛盾,超调量减小势必造成响应时间增大。或针对多控制性能指标的参数整定,多数是采取加权处理或主观赋权,进而简化为单目标整定问题。因此,运用NSGA-Ⅱ算法对控制参数进行整定与优化,以实现良好的动稳态性能。可参考博客【Simulink】NSGA-2优化算法整定PID控制器参数(四)—— 一阶带时延的被控对象


在这里插入图片描述

参考文献

[1] 刘金琨.先进PID控制MATLAB仿真(第四版)[M].电子工业出版社:北京,2016.
[2] J.G. Ziegler and N.B. Nichols. Optimum settings for automatic controllers. trans. ASME, 64(11), 1942.
[3] Hjalmarsson H. Iterative feedback tuning—an overview[J]. International journal of adaptive control and signal processing, 2002, 16(5): 373-395.
[4] Campi M C, Lecchini A, Savaresi S M. Virtual reference feedback tuning: a direct method for the design of feedback controllers [J]. Automatica, 2002, 38(8): 1337-1346.

  • 23
    点赞
  • 138
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昔时扬尘处

你的鼓励会让技术更加具有价值!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值