当前位置: 首页 > article >正文

PID算法的数学实现和参数确定方法

目录

概述

1 算法描述

1.1 PID算法模型

1.2 PID离散化的图形描述

1.3 PID算法的特点

2 离散化的PID算法

2.1 位置式PID算法

2.2 增量式PID算法

2.3 位置式PID与增量式PID比较

3  控制器参数整定

3.1 PID参数确定方法

3.1.1 凑试法

3.1.2 临界比例法

3.1.3  经验法

3.2 采样周期

3.3 经验分享

 3.4 一个Demo


概述

PID算法是一种常用的反馈控制算法,全称为Proportional-Integral-Derivative。它根据测量值与设定值的差距,经过比例、积分和微分的处理,得到控制器的输出。本文主要介绍该算法的实现原理,离散PID算法实现方法以及参数确定方法等内容。

1 算法描述

1.1 PID算法模型

其用数学公式描述如下:

1)定义误差:

2)模拟算法的数学描述:

3)离散PID算法的数学描述:

1.2 PID离散化的图形描述

1)PID积分项的图像描述

 数学解释内容:

2) PID微分项的图像描述

 数学解释内容:

1.3 PID算法的特点

1)PID是比例(Proportional)、积分(Integral)、微分(Differential)的缩写

2)PID是一种闭环控制算法,它动态改变施加到被控对象的输出值(Out),使得被控对象某一物理量的实际值(Actual),能够快速、准确、稳定地跟踪到指定的目标值(Target)

3)PID是一种基于误差(Error)调控的算法,其中规定:误差=目标值-实际值,PID的任务是使误差始终为0

4)PID对被控对象模型要求低,无需建模,即使被控对象内部运作规律不明确,PID也能进行调控

2 离散化的PID算法

2.1 位置式PID算法

由于计算机控制是一种采样控制, 它只能根据采样时刻的偏差计算控制量,而不能像模拟控制 那样连续输出控制量量, 进行连续控制。 由于这一特点模拟式PID算法公式中的积分项和微分项不能直接使用,必须进行离散化处理。

离散化处理的方法为:以T 作为采样周期, 作为采样序号,则离散采 样时间 对应着连续时间 , 用矩形法数值积分近似代替积分, 用一阶后向差分近似代替微分, 可作如下近似变换:

公式-1:

2.2 增量式PID算法

 

所谓增量式 PID 是指数字控制器的输出只是控制量的增量∆uk 。 当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式 PID 控制算法进行控制。

将k= k-1带入到公式-1中,得到公式-2

使用公式-1减去公式-2得到公式-3

2.3 位置式PID与增量式PID比较

1)位置式PID由连续形式PID直接离散得到,每次计算得到的是全量的输出值,可以直接给被控对象 ;增量式PID由位置式PID推导得到,每次计算得到的是输出值的增量,如果直接给被控对象,则需要被控对象内部有积分功能

2)增量式PID也可在控制器内进行积分,然后输出积分后的结果,此时增量式PID与位置式PID整体功能没有区别 ;位置式PID和增量式PID计算时产生的中间变量不同,如果对这些变量加以调节,可以实现不同的特性。

3  控制器参数整定

控制器参数整定: 指决定调节器的比例系数 Kp 、 积分时间Ti 、 微分时间Td 和采样周期Ts 的具体数值。

整定的实质是通过改变调节器的参数,使其特性和过程特性相匹配, 以改善系统的动态 和静态指标,取得最佳的控制效果。 整定调节器参数的方法很多, 归纳起来可分为两大类, 即理论计算整定法和工程整定法。

理 计算整定法有对数频率特性法和根轨迹法等;

工程整定法有凑试法、 临界比例法、经验法、 衰减曲 线法和响应曲线法等。

工程整定法特点不需要事先知道过程的数学模型,直接在过程控制系统中进 行现场整定方法简单、计算简便、易于掌握。

3.1 PID参数确定方法

3.1.1 凑试法

按照先比例(P)、再积分(I)、最后微分(D)的顺序。 置调节器积分时间Ti =∞, 微分时间Td =0, 在比例系数 按经验设置的初值条件下, 将系统 投入运行,由小到大整定比例系数 。求得满意的 1/4 衰减度过渡过程曲线。

Kp Kp 引入积分作用(此时应将上述比例系数 Kp 设置为 5/6 Kp )。将Ti 由大到小进行整定。 若需引入微分作用时,则将Td 按经验值或按Td =(1/3~1/4) Ti 设置,并由小到大加入。

3.1.2 临界比例法

在闭环控制系统里, 将调节器置于纯比例作用下, 从小到大逐渐改变调节器的比例系数, 得到 等幅振荡的过渡过程。 此时的比例系数称为临界比例系数 , 相邻两个波峰间的时间间隔, 称为临 界振荡周期Tu 。

Ku 临界比例度法步骤:

1、将调节器的积分时间 置于最大( Ti =∞),微分时间置零( Td =0),比例系数 适当, 平衡操作一段时间,把系统投入自动运行。 Ti Kp

2、 将比例系数 Kp 逐渐增大, 得到等幅振荡过程, 记下临界比例系数 Ku 和临界振荡周期Tu 值。

3、根据 Ku 和Tu 值,采用经验公式,计算出调节器各个参数,即 Kp 、 Ti 和Td 的值。 按“先 P 再 I 最后 D”的操作程序将调节器整定参数调到计算值上。

若还不够满意,可再作进一 步调整。 临界比例度法整定注意事项: 有的过程控制系统, 临界比例系数很大, 使系统接近两式控制, 调节阀不是全关就是全开, 对 工业生产不利。 有的过程控制系统, 当调节器比例系数 调到最大刻度值时, 系统仍不产生等幅振荡, 对此, 就把最大刻度的比例度作为临界比例度 进行调节器参数整定。

3.1.3  经验法

用凑试法确定 PID 参数需要经过多次反复的实验, 为了减少凑试次数, 提高工作效率, 可以借 鉴他人的经验, 并根据一定的要求, 事先作少量的实验, 以得到若干基准参数, 然后按照经验公式, 用这些基准参数导出 PID 控制参数,这就是经验法。 临界比例法就是一种经验法。 这种方法首先将控制器选为纯比例控制器, 并形成闭环, 改变比 例系数,使系统对阶跃输入的响应达到临界状态,这时记下比例系数 Ku 、临界振荡周期为Tu ,根据 Z-N 提供的经验公式,就可以由这两个基准参数得到不同类型控制器的参数,如下表所示。

 这种临界比例法使针对模拟 PID 控制器, 对于数字 PID 控制器, 只要采样周期取的较小, 原则 上也同样使用。在电动机的控制中,可以先采用临界比例法,然后在采用临界比例法求得结果的基 础上,用凑试法进一步完善。 上表的控制参数, 实际上是按衰减度为 1/4 时得到的。 通常认为 1/4 的衰减度能兼顾到稳定 性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。

3.2 采样周期

香农(Shannon) 采样定律 :为不失真地复现信号的变化, 采样频率至少应大于或等于连续 信号最高频率分量的二倍。根据采样定律可以确定采样周期的上限值。实际采样周期的选择还要受 到多方面因素的影响,不同的系统采样周期应根据具体情况来选择。

采样周期的选择,通常按照过程特性与干扰大小适当来选取采样周期:即对于响应快、(如流 量、压力) 波动大、易受干扰的过程,应选取较短的采样周期;反之,当过程响应慢(如温度、 成 份)、滞后大时,可选取较长的采样周期。

采样周期的选取应与PID参数的整定进行综合考虑, 采样周期应远小于过程的扰动信号的周期, 在执行器的响应速度比较慢时,过小的采样周期将失去意义,因此可适当选大一点;在计算机运算 速度允许的条件下,采样周期短, 则控制品质好;当过程的纯滞后时间较长时, 一般选取采样周期 为纯滞后时间的 1/4~1/8。

3.3 经验分享

人们通过对 PID 控制理论的认识和长期人工操作经验的总结, 可知PID 参数应依据以下几点来适应系统的动态过程。

1、 在偏差比较大时, 为使尽快消除偏差, 提高响应速度, 同时为了避免系统响应出现超调, Kp 取大值, 取零;在偏差比较小时,为继续减小偏差,并防止超调过大、产生振荡、稳定性变坏, 值要减小, 取小值; 在偏差很小时,为消除静差,克服超调,使系统尽快稳定, 值继续 减小, 值不变或稍取大。 


2、当偏差与偏差变化率同号时,被控量是朝偏离既定值方向变化。因此,当被控量接近定值 时,反号的比列作用阻碍积分作用,避免积分超调及随之而来的振荡,有利于控制;而当被控量远 未接近各定值并向定值变化时,则由于这两项反向,将会减慢控制过程。在偏差比较大时, 偏差变 化率与偏差异号时, Kp 值取零或负值,以加快控制的动态过程。


3、偏差变化率的大小表明偏差变化的速率, 越大, 取值越小, 取值越大,反 之亦然。同时,要结合偏差大小来考虑。


4、微分作用可改善系统的动态特性,阻止偏差的变化,有助于减小超调量,消除振荡,缩短 调节时间 ,允许加大 ,使系统稳态误差减小,提高控制精度,达到满意的控制效果。所以, 在 比较大时, 取零,实际为 PI 控制;在 比较小时, 取一正值,实行 PID 控制。

 3.4 一个Demo

一个自校正 PID 控制器参数的配置案例:

对于一个特定的被控对象, 在纯比例控制的作用下改变比例系数可以求出产生临界振荡的振荡
周期Tu 和临界比例系数 Ku 。

根据 Z-N 条件,有:


将这些参数带入到增量PID的公式中,其中增量PID的表达式如下:

带入参数之后:

 

 


http://www.kler.cn/a/529093.html

相关文章:

  • DeepSeek r1本地安装全指南
  • 【算法设计与分析】实验8:分支限界—TSP问题
  • 【Rust自学】15.5. Rc<T>:引用计数智能指针与共享所有权
  • 【python】python基于机器学习与数据分析的手机特性关联与分类预测(源码+数据集)【独一无二】
  • Xposed-Hook
  • CSS核心
  • 新集成,Sui 的 Phantom 时代正式开启!
  • Java小白入门教程:数组(一维数组)
  • kamailio-ACC_RADIUS模块详解,附加AAA协议
  • 一文读懂Python之random模块(31)
  • C++:虚函数与多态性习题2
  • 洛谷 P1734 最大约数和 C语言
  • 讯飞绘镜(ai生成视频)技术浅析(三):自然语言处理(NLP)
  • 手撕Vision Transformer -- Day2 -- Dataset
  • 02数组+字符串+滑动窗口+前缀和与差分+双指针(D2_字符串(D2_刷题练习))
  • 每日 Java 面试题分享【第 18 天】
  • Java - 引用类型:强引用、软引用、弱引用和虚引用详解
  • java CountDownLatch和CyclicBarrier
  • Spring AOP 入门教程:基础概念与实现
  • ASP.NET Core 启动并提供静态文件
  • 动态规划两个数组dp问题系列一>不相交的线
  • 一文讲解Java中的HashMap
  • 快速提升网站收录:如何设置网站标签?
  • pandas中的apply方法使用
  • 【漫话机器学习系列】074.异方差(Heteroscedasticity)
  • 【Linux】23.进程间通信(2)