一、摘要

由于PID算法结构简单,容易理解,所以电子工程师用的最多的控制算法就是PID算法。对于简单的被控对象,使用单闭环PID即可达到良好的控制效果。对于稍微复杂的控制对象,使用串级PID也能够实现良好的控制。由此可见,PID算法能够适用于大部分装置的控制。虽然PID算法只有一条公式,但是想发挥出良好的作用,就必须准确的整定参数。一般整定PID参数使用试凑法,这个方法虽然能在大部分情况下能够实现我们想要的效果,但是需要反复调节,效率很低。但其实是存在简单高效PID参数整定方法,叫Ziegler-Nichols法,它只需要测量出系统几个关键的参数,就可以计算出PID算法的具体参数,不需要盲目的进行调试了。

二、Ziegler-Nichols法

首先我们来看看离散式PID的公式:

u(k)是我们最终的输出,e(k)是我们控制系统当前时刻的误差,e(k-1)是上一时刻的误差,Kp是比例系数,T是控制周期,Ti是积分常数,Td是微分常数。

早在1942年,Ziegler与Nichols给出了著名的PID控制器整定的经验公式,为过程控制提出了一种切实可行的控制器整定方法,后来称为Ziegler-Nichols整定公式。这种方法与其改进的形式至今仍用于实际的过程控制。

假设已经得到了系统近似的带有时间延迟的一阶模型参数K(终值)、L(延迟)、和T(上升时间),根据相似三角形的原理就可以立即得出斜率a=KL/T,这样就可以根据表1设计出P、PI和PID控制器,设计方法很简单直观。根据此算法可以编写一个MATLAB函数Ziegler,由该函数可以直接设计出系统的PID控制器。

<center>图1-带有时间延迟的一阶模型 </center>

<center>表1-Ziegler-Nichols整定法 </center>

function [Gc,Kp,Ti,Td]=ziegler(key,vars)        %输入两个参数
%Ziegler-Nichols整定法,内置三种模式,由频域响应整定,由阶跃响应整定,还有改进版本,一般使用阶跃响应整定PID参数。算法来源于控制系统计算机辅助设计P322
%key:范围1~3,分别对应P、PI、PID控制器
%vars:这是一个向量,不同的模式有不同的长度,使用阶跃响应整定PID参数时,有4个参数,分别是K(终值)、L(延迟)、T(上升时间)、N(微分滤波器除数,一般取10)switch length(vars)case 3                                      %由频域响应整定K=vars(1);Tc=vars(2);N=vars(3);if key==1                               %P控制器Kp=0.5*K;Ti=inf;Td=0;   elseif key==2                           %PI控制器Kp=0.4*K;Ti=0.8*Tc;Td=0;elseif key==3                           %PID控制器Kp=0.6*K;Ti=0.5*Tc;Td=0.12*Tc;endcase 4                                      %由阶跃响应整定K=vars(1);L=vars(2);T=vars(3);N=vars(4);a=K*L/T;if key==1                               %P控制器Kp=1/a;Ti=inf;Td=0;elseif key==2                           %PI控制器Kp=0.9/a;Ti=3*L;Td=0;   elseif key==3                           %PID控制器Kp=1.2/a;Ti=2*L;Td=L/2;endcase 5                                      %改进的Ziegler-Nichols法,参考P324,前提是看懂奈奎斯特图K=vars(1);Tc=vars(2);rb=vars(3);N=vars(5);pb=pi*vars(4)/180;Kp=K*rb*cos(pb);if key==2Ti=-Tc/(2*pi*tan(pb));Td=0;elseif key==3Ti=Tc*(1+sin(pb))/(pi*cos(pb));Td=Ti/4;end
end
Gc=pidstd(Kp,Ti,Td,N);                          %pidstd具体看参考文档还有书的P315,改这里可以改输出形式

Key=1,2,3,分别对应P、PI、PID控制器;vars是一个矩阵,当里面存储的变量个数不一样时,对应不同的模式,当变量个数为3个时,由频域响应整定PID参数,当变量个数为4个时,由阶跃响应整定PID参数,当变量个数为5个时,使用基于频域响应的改进版Ziegler-Nichols法整定PID参数。

三、Ziegler-Nichols整定法的实际应用

当我们在实际应用的时候。例如要控制电机的转动角度,这时候我们就可以结合编码器来进行PID的参数整定。首先组装好硬件,软件上也配置好PID调试助手用于画图,电机开环控制。首先打开单片机的定时器,频率1000Hz。定时器每毫秒发一次电机的角度到上位机。然后电机给最大的PWM值(相当于给电机一个阶跃响应),1秒后关闭电机。在获取到电机的阶跃响应曲线之后,将获得的一千个数据导入到MATLAB计算K、L、T三个参数,然后使用上面的程序计算相应的PID参数。

四、Chien-Hrones-Reswick参数整定法

在实际应用中,传统的Ziegler-Nichols算法有各种各样的变形,所谓的Chien-Hrones-Reswick(CHR)算法就是其中的一种改进。表2中给出来PID控制器设计的经验公式,其中还允许带有较大的阻尼,以确保“没有超调量的快速响应”,该指标在表中标识为“有0%超调量”,该表中还允许设计出所谓有“20%超调量的最快速响应”,在表中标识为“有20%超调量”。和传统的Ziegler-Nichols整定算法相比,在CHR算法中直接使用了时间常数T。

<center>表2-Chien-Hrones-Reswick整定法 </center>

function [Gc,Kp,Ti,Td]=chrpid(key,vars)
%vars=[K L T N ov],ov为0对应没有超调量的控制,ov为1对应有20%超调量的控制
K=vars(1);L=vars(2);T=vars(3);N=vars(4);
ov=vars(5)+1;
a=K*L/T;
KK=[0.3,0.35,1.2,0.6,1,0.5;     %有0%超调量的参数0.7,0.6,1,0.95,1.4,0.47];   %有20%超调量的参数
if key==1                       %P控制器Kp=KK(ov,1)/a;Ti=inf;Td=0;
elseif key==2                   %PI控制器Kp=KK(ov,2)/a;Ti=KK(ov,3)*T;Td=0;
else                            %PID控制器Kp=KK(ov,4)/a;Ti=KK(ov,5)*T;Td=KK(ov,6)*L;
end
Gc=pidstd(Kp,Ti,Td,N);

Key=1,2,3,分别对应P、PI、PID控制器;vars=[K L T N ov],ov为0对应没有超调量的控制,ov为1对应有20%超调量的控制。

基于Ziegler-Nichols法的PID参数整定相关推荐

  1. 信捷plc的pid控制_基于信捷plc的pid参数自整定的温度控制

    苏卫峰 摘要:本文介绍了一种基于临界振荡法的PID自整定方法,通过整定可得到较佳的PID参数.采用信捷XC系列本体的PID控制,采用开关量输出,利用PT100传感器采集到温度,通过信捷模拟量温度混合模 ...

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

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

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

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

  4. 针对具有纯滞后环节的一阶惯性系统PID参数整定(衰减曲线法)

    假定被控系统的传递函数为: 一.建立开环结构图,观察系统对阶跃输入信号的跟随性. 由图二可知:开环系统的的上升时间很长,并且输出到达不了给定值,下面对该系统进行PID参数整定,进行PID控制. 图1 ...

  5. 基于入门级粒子群算法的PID参数整定(MATLAB2016b-simulink)(超详细01)

    PID算法作为工业或日常生活中常用的控制算法,想必大家都不陌生,依靠误差反馈来消除误差,关于PID的原理部分相比看这篇博客的同学应该都十分清楚,有不清楚的同学可以百度或知网搜索.PID算法的应用程度很 ...

  6. 自动控制原理PID参数整定的Matlab实现

      以一道题为例介绍调节PID控制器系数的方法,有:试凑法(Trial-and-Error Method).齐格勒-尼科尔斯校正规则(Ziegler and Nichols First Method. ...

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

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

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

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

  9. PID算法详解(2)---PID参数整定

    简易工程法整定PID参数--归一参数整定法         除了上面讲的一般的扩充临界比例度法而外,Roberts P.D在1974年 提出一种简化扩充临界比例度整定法.由于该方法只需整定一个参数即 ...

  10. 【控制理论】——控制系统分类PID算法简介PID参数整定PID上位机通信协议

    目录 ​ 前言 一.PID算法 1.控制系统分类&参数&信号 2.PID算法简介 二.PID参数整定 三.PID上位机通信协议 1.数据帧&协议调试 2.协议代码实现 拓展: ...

最新文章

  1. Android APK加壳技术方案----代码实现
  2. 直播 | Python Web开发者的破局之道
  3. 奎屯电信助力智慧城市光网建设
  4. Appium+Python+Pycharm如何创建并运行自动化测试脚本【真机运行】
  5. python基础语法-异常处理
  6. 什么是CRM Sales category
  7. dos命令查看oracle_home,Oracle - OraDb10g_home1配置方法+DOS命令
  8. 理想汽车10月份新增12家直营交付中心 蔚来第1000座充电站上线
  9. c++ 获取操作的精确时间
  10. bootstrap不同分辨率显示滚动条_bootstrap基础快速入门-8 响应式显示与隐藏
  11. 大数据可视化的三大误区
  12. 扒一扒,互联网大厂内部都用什么软件沟通?
  13. 电脑重启桌面 计算机图标消失,电脑重启桌面图标不见了怎么办
  14. IOS 控制器切换的动画样式
  15. python实现虚拟键盘
  16. 程序员:世界如此精彩何故钟情code
  17. c语言中的三角函数公式,高中三角函数公式大全-必背基础知识点.doc
  18. hive难点以及例子SXT
  19. CCF201809-4 再卖菜
  20. 【TPU和GPU,谁将一统AI芯片】摩尔定律之后一万倍,10万+热文引爆激辩

热门文章

  1. 华为网络设备交换机路由器查看MAC地址表项命令方法
  2. win10无线投屏_win8/win10笔记本无线投影到电视
  3. SaaSpace:11个免费建筑信息建模软件工具
  4. 工作中使用到的单词(软件开发)_2022-06-01备份
  5. Installation for COMSOl(安装COMSOL)
  6. 【启动】Windows上启动图形化软件,报错: 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-1-1-0.dll...
  7. 实现图像批量重命名处理方法(mat文件、matlab简单程序等方法)
  8. 6轴并联机器人示教器
  9. 高频面试题:秒杀系统设计
  10. 专业抠图软件Super PhotoCut Pro for Mac