【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整定(参数调整),很考验经验。笔者投降。希望某天能够开悟。

相关推荐
草履虫建模12 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq14 小时前
分布式系统安全通信
开发语言·c++·算法
Jasmine_llq14 小时前
《P3157 [CQOI2011] 动态逆序对》
算法·cdq 分治·动态问题静态化+双向偏序统计·树状数组(高效统计元素大小关系·排序算法(预处理偏序和时间戳)·前缀和(合并单个贡献为总逆序对·动态问题静态化
ASKED_201915 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
爱吃rabbit的mq15 小时前
第09章:随机森林:集成学习的威力
算法·随机森林·集成学习
Lois_Luo15 小时前
Obsidian + Picgo + Aliyun OSS 实现笔记图片自动上传图床
笔记·oss·图床
(❁´◡`❁)Jimmy(❁´◡`❁)16 小时前
Exgcd 学习笔记
笔记·学习·算法
傻小胖16 小时前
21.ETH-权益证明-北大肖臻老师客堂笔记
笔记·区块链
YYuCChi16 小时前
代码随想录算法训练营第三十七天 | 52.携带研究材料(卡码网)、518.零钱兑换||、377.组合总和IV、57.爬楼梯(卡码网)
算法·动态规划
Dev7z16 小时前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab