【PID】连续PID和数字PID chapter1(补充) 学习笔记

在上一篇篇章中,我们讲到了PID控制系统的基本结构和S-Function。本章我们就PID控制模型本身展开。

1 连续PID控制规律

根据上一节所述:
err(t)=yd(t)−y(t) err(t)=y_d(t)-y(t) err(t)=yd(t)−y(t)

其中yd(t)y_d(t)yd(t)为期望值(目标),y(t)y(t)y(t)为实际输出值,err(t)err(t)err(t)为偏差。

u(t)=kperr(t)+ki∫t0tferr(t)dt+kdderr(t)dt u(t)=k_perr(t)+k_i\int^{t_f}_{t_0}err(t)dt+k_d\frac{derr(t)}{dt} u(t)=kperr(t)+ki∫t0tferr(t)dt+kddtderr(t)

连续系统的控制量一般为上述形式,对应的控制规律我们称为连续PID控制。各个变量一般都是时间的连续函数。

2 离散PID控制规律

由于各种控制系统采用的底层控制控制器实际上都是离散的(就是微控制器计算),包括传感器值的采样也是离散的。因此,实际控制中,离散PID控制应用更加广泛。

而且,由于离散化,在对连续PID控制规律采样的基础上,还演化出了很多改进控制规律(虽然其控制量不完全与连续PID相通,但能达到同样甚至更好的控制效果。)

2.1 位置式PID

位置式PID与连续PID的关联最为紧密,两者通过如下方式转换:

  • 采样时刻kT(k=0,1,2,...)kT(k=0,1,2,...)kT(k=0,1,2,...)替代连续时间ttt
  • 矩阵法数值积分(面积法,还可以用梯形法等)近似替代积分
  • 一阶向后差分(还可以通过更高精度的插值实现)近似替代微分
    u(k)=kperr(k)+ki∑j=0kerr(j)T+kderr(k)−err(k−1)T u(k)= k_perr(k)+k_i\sum^k_{j=0}err(j)T+k_d\frac{err(k)-err(k-1)}{T} u(k)=kperr(k)+kij=0∑kerr(j)T+kdTerr(k)−err(k−1)
    注意:上述离散函数的自变量没有显示写出TTT,以u(k)u(k)u(k)为例,其取值对应连续系统的u(kT)u(kT)u(kT)。
    离散连续PID控制规律的方法还有很多,这里只举了最简单的一种。

2.2 增量式PID

对于某些控制,我们需要实现的是控制量的增量,即其控制率是Δu(k)\Delta u(k)Δu(k)。

直接对位置式控制规律作递推并作差,得到增量式PID控制:
u(k)−u(k−1)=Δu(k)=kp(err(k)−err(k−1))+kierr(k)T+kd(err(k)−2err(k−1)+err(k−2)) u(k)-u(k-1)=\Delta u(k)=k_p(err(k)-err(k-1))+k_ierr(k)T+k_d(err(k)-2err(k-1)+err(k-2)) u(k)−u(k−1)=Δu(k)=kp(err(k)−err(k−1))+kierr(k)T+kd(err(k)−2err(k−1)+err(k−2))

这样做,还有一个好处,积分项不需要累加。控制增量Δu(k)\Delta u(k)Δu(k)只与最近的k次采样有关。

这里引用原书的一段话:

在计算机控制系统中,PID控制是通过计算机程序实现的,...,一些在原来模拟PID控制器中无法实现的问题,在引入计算机以后就可以得到解决,于是产生了一系列的改进算法,形成非标准的控制算法,以改善系统品质,满足不同控制系统的需要。

最后

其实还有很对离散PID基本形式,这里不再叙述。

关于PID整定(参数调整),很考验经验。笔者投降。希望某天能够开悟。

相关推荐
霍田煜熙1 分钟前
C++ 部署小型图书管理系统
开发语言·c++·算法
ywwwwwwv2 分钟前
力扣300
算法·leetcode·职场和发展
来自于狂人5 分钟前
HCIE云计算超长考点精析
算法·贪心算法·云计算
@小码农8 分钟前
2025年厦门市小学生信息学竞赛C++(初赛)真题-附答案
开发语言·c++·python·算法·蓝桥杯
代码游侠8 分钟前
应用--Minishell实现
linux·运维·笔记·学习·算法
m0_4711996310 分钟前
【vue】diff算法简介
前端·vue.js·算法
努力学算法的蒟蒻10 分钟前
day34(12.15)——leetcode面试经典150
算法·leetcode·面试
星川皆无恙12 分钟前
基于ARIMA 算法模型和NLP:社交媒体舆情分析在涉众型经济犯罪情报挖掘中的应用研究
人工智能·爬虫·python·算法·机器学习·自然语言处理·数据分析
zore_c13 分钟前
【C语言】Win 32 API——一部分内容详解!!!
c语言·开发语言·c++·经验分享·笔记
重生之我在番茄自学网安拯救世界19 分钟前
网络安全中级阶段学习笔记(七):Web 安全之文件上传漏洞笔记1(包含upload-labs-master靶场前三关实战)
笔记·学习·web安全·文件上传漏洞·网安基础