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

目录

  • 基于Ziegler-Nlichols方法的参数整定与PID仿真
    • 0研究背景
    • 1被控对象的传递函数
    • 2Ziegler-Nlichols方法的阶跃响应曲线
      • 2.1 Ziegler-Nlichols方法的简单介绍
      • 2.2 Ziegler-Nlichols方法的整定过程
      • 2.3 PID仿真的阶跃响应输出对比
    • 3总结

0研究背景


写在前面

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


1被控对象的传递函数


        G(s)=1s(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+1Ti∫0tedt+TDdedt)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)=δk​1​(e+Ti​1​∫0t​e 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。

参数整定的计算公式:

Kp=1δ=11.78δk,δk=1Kp′,Kp′=50Ki=KpTTi,Ti=0.5Tk,5Tk=11.228,T=10−3KD=KpTDT,TD=0.125Tk,Tk=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δk​1​,δk​=Kp′​1​,Kp′​=50Ki​=Kp​Ti​T​,Ti​=0.5Tk​,5Tk​=11.228,T=10−3KD​=Kp​TTD​​,TD​=0.125Tk​,Tk​=2.2456​

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

Kp=1δ=11.78δk=0.011Ki=KpTTi=0.011×1×10−30.5×2.2456=0.000009KD=KpTDT=0.011×0.125×2.24561×10−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δk​1​=0.011Ki​=Kp​Ti​T​=0.011×0.5×2.24561×10−3​=0.000009KD​=Kp​TTD​​=0.011×1×10−30.125×2.2456​=3.0877​

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

Kp=20Ki=1.0KD=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.

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

  1. 基于遗传算法的PID参数整定研究(七)

    基于遗传算法的PID参数整定研究 在前述深入了解PID参数的含义.基于常规人工的PID参数整定.以及所运用的遗传算法的介绍与应用后,紧接着进入应用遗传算法的PID参数整定,实现了Simulink仿真与 ...

  2. 参数整定临界比例度实验_控制算法手记自动整定方法初步

    自动化控制系统中,在控制器类型/结构已经确定的情况下,如何设计控制器参数以保证系统控制性能被称为控制器整定(Controller Tuning)问题.整定得到的控制器参数直接决定了控制性能的优劣.实际 ...

  3. 我的四轴专用PID参数整定方法及原理

    给四轴调了好久的PID,总算是调好了,现分享PID参数整定的心得给大家,还请大家喷的时候手下留情. 首先说明一下,这篇文章的主旨并不是直接教你怎么调,而是告诉你这么调有什么道理,还要告诉大家为什么'只 ...

  4. 如何使用matlab得出pid控制参数值,基于MATLAB的PID控制器参数整定及仿真

    基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...

  5. 基于遗传算法的PID参数整定研究(三)

    基于遗传算法的PID参数整定研究 在获得对象模型的基础上设计PID参数时常用的原理,经典的有经验试凑法.临界比例度法.极点配置原理.零极点相消原理.幅相裕度法等:现代的则往往借助于计算机,利用最优化方 ...

  6. 我的四轴专用PID参数整定方法及原理---超长文慎入(转)

    给四轴调了好久的PID,总算是调好了,现分享PID参数整定的心得给大家,还请大家喷的时候手下留情. 首先说明一下,这篇文章的主旨并不是直接教你怎么调,而是告诉你这么调有什么道理,还要告诉大家为什么'只 ...

  7. matlab中pid Tune控制器,基于MATLAB的PID控制器参数整定及仿真

    基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...

  8. 永磁同步电机矢量控制电流环参数整定方法----Matlab controlSystemDesigner的使用

    目录 1.永磁同步电机的传递函数 2.补偿器设计 3.PI参数生成 4.系统运行仿真 5.总结 1.永磁同步电机的传递函数 参考电机参数: inverter.PWM_frequency = 10000 ...

  9. 永磁同步电机电阻、电感、惯量、转矩系数、反电势系数、极对数、编码器零位等一系列的参数辩识方法,电流速度环pi参数整定方法

    参数辩识 永磁同步电机电阻.电感.惯量.转矩系数.反电势系数.极对数.编码器零位等一系列的参数辩识方法,电流速度环pi参数整定方法,都是从实际项目中总结出来的,个人写成了文档,很详细,想学参数辩识的可 ...

最新文章

  1. C语言实验——最小公倍数和最大公约数_JAVA
  2. android指定sqlite路径_Android:自定义Sqlite数据库路径
  3. 产品原型设计的参考步骤
  4. python求函数极值_python 遗传算法求函数极值的实现代码
  5. 微信“拍一拍”,竟然可以使用Python实现,你get到了吗?
  6. 1024带给程序员的福利
  7. poj 3268 Silver Cow Party dijkstra基础题!!!入门
  8. centos 配置subversion svn
  9. vc++播放wav声音
  10. SSM+MySQL实现在线考试系统(含源码、MySQL、文档,包运行)
  11. Arduino IDE for ESP8266 项目(1) 点亮灯+按键LED+pwm
  12. Android调试办法之adb指令解锁手机锁屏
  13. (18)UVM sequencer和sequence
  14. 【C++面向对象程序设计——侯捷大师】心得摘要
  15. html带复选框的表格,Html 表格行 ID 复选框
  16. 如何删除Mac OS Monterey自带(预装)软件?
  17. gstreamer基础教程13-Playback speed
  18. 机器学习稀疏之L0正则化
  19. 什么是BFC?如何触发BFC
  20. 基于Php电竞赛事管理系统设计与实现

热门文章

  1. ubuntu20.04安装rxt3090驱动步骤和遇到的问题
  2. 区块链学习-Ether币的基本单位换算
  3. 什么是计算机频繁读写硬盘,电脑经常卡爆?一文秒懂硬盘占用100%的原因
  4. 笔记本电脑加装固态硬盘(戴尔3543+东芝Q200EX)
  5. pandas竖列转横列
  6. 运维人员在武汉,献给正在拼搏的你,
  7. Mysql主从复制配置实例
  8. Linux打开和关闭防火墙指令
  9. Ubuntu中root及用户账户问题
  10. 2023 typecho Diaspora 清新文艺自适应主题模板