PID算法:标准PID算法的一些改进措施

news2024/11/27 6:16:29

 

前面的几篇文章分别分享了PID算法的原理、增量式和位置式PID算法的区别、以及过程控制中一些重要的指标,感兴趣的朋友可以回看之前的文章或者自行查阅资料。

在实际项目中,使用数字PID算法对系统的被控量进行控制的时候,有时候并不是仅仅的使用简单的增量式或者位置式的PID就完成了对系统的被控量控制。很多时候会采用一些改进了的PID算法进行系统的控制,以求达到更好的控制效果。

常见的对标准PID算法进行改进的措施有哪些呢?下面会根据我个人有限的经验进行简单的分享,就当是一次学习分享吧!

1、针对微分项的改进

对微分项的改进常见的有两种措施:微分先行和输入滤波。

(1)微分先行

我们知道,在一个闭环的控制系统中,即使我们期望被控量稳定在期望的值范围内它也不可能是绝对的稳定的,变化才是常态,所以才要考虑才要某些算法进行调控,比如PID算法就很常用。

而微分先行的改进措施就是:在PID算法中把对偏差微分改为对被控量的微分。

这是什么意思呢?因为对于很多的系统而言,就算在给定的输入值发生了变化,也不会引起被控量的输出发生大幅度的变化。这就是说在输入值发生变化的时候,被控量也是在一段时间范围内缓慢进行变化的,是不会发生突变的。

那么既然被控量不会因为输入值的突变而发生突变,所以微分先行就是把原本算法中由对偏差的微分变为对被控量的变化的微分。这样的做法就是在即使输入量发生变化偏差还未产生时,微分就已经在起作用了,从而缓慢变化到新的输入值所要求的输出值。

所以,微分先行的输出增量计算如下:

(2)输入滤波

输入滤波的做法就是在计算微分项的时候,不直接采用当前时刻的误差e(n) 进行计算,而是采用经过滤波之后的滤波值。

这个滤波是怎么进行的呢?一般的做法是:用过去的三个采样时刻的误差和当前时刻的误差共四个误差值求一个平均值,再通过加权求和的方式构成微分项。

2、针对积分项的改进

对于积分的作用我前面的文章是有讲过的,在PID算法中,积分可以消除系统的静差,让被控量偏离期望输出值的偏差减小。但是积分作用它本身也有一个副作用,因为积分是对偏差的累积,可能会引起积分饱和的情况。

积分饱和又是什么呢?积分饱和指的是在一个PID调控的系统中,如果偏差一直存在的情况下,积分会一直对偏差进行累积,可能会导致积分项变得很大。

积分饱和又会对PID调控的系统带来什么样的影响呢?打个比方:如果积分饱和了,在系统的偏差方向发生了改变了之后,PID这个时候会起作用进行调节,但是由于积分项太大了,就需要经过比较长的时间才能让输出U(n) 从积分饱和区脱离,会使调控作用滞后,让系统出现明显的超调,整个系统的调节效果会变差,这肯定是不希望出现的。

所以需要一些措施对抗积分饱和。常见的克服积分饱和的方法有下面的方式:

(1)积分限幅法

积分限幅法的操作原理是:对积分项的输出设定一个限制,当积分项的输出达到限制,就停止积分项的计算,PID算法中的积分计算项的值采用上一个时刻的积分值。这样是为了防止积分项的输出过大,让系统的调节时间变慢,影响系统品质。

积分限幅的计算实现步骤一般如下图:

(2)积分分离法

上面提到了积分限幅的方式,就是让积分项的输出不要过大,防止控制时间变化太慢。还有一种做法就是将积分分离出来。

积分分离的做法就是:对系统的偏差设定一个门限值,如果系统偏差的绝对值小于门限值,就进行积分累加;相反,如果系统的偏差的绝对值大于这个门限值,就不进行积分。这样也可以避免过度积分的问题,防止系统因为偏差过大时产生了过大的控制作用。

积分分离的计算步骤如下:

(3)变速积分法

变速积分法的基本实现原理是:当系统的偏差比较大的时候,让积分的速度慢一些;相反,当系统的偏差比较小的时候,让积分的速度快一些,以求尽快的消除静差。

这种操作方式时,积分项按照下面的方式计算:

上面的计算中,A为设定的一个偏差阈值。

3、补充数字PID的其他需要注意的问题

(1)积分的不灵敏区

数字PID算法的应用大多数都是通过微处理器实现的,所以即使同样的算法放在不同的微处理器系统中产生的效果也是不一样的。

之所以会出现积分不灵敏的情况,是跟微处理的运行字长和计算精度有关的。比如当一个微处理器的运行字长较短时,如果采样周期很短,但是积分时间又比较长,这个时候就会容易因为字长太小精度不够,导致偏差不明显或者不出现,让积分的作用消失了。这就是积分不灵敏的情况。

(2)数字PID采样周期的选择问题

根据前面的数字PID的计算公式中会发现,公式中有一个变量Ti,这个就是采样周期。

一般而言,采样周期越小,数字PID就越是精确,控制效果就越接近连续控制。但是呢,天下万物都是有正反两面的,采样周期小了控制效果是精确了,但是太过频繁的采样就必然是要占用跟多的计算时间,计算机的计算负担就会变重,对计算机的运算性能要求就更高。

那采样频率要怎么选择才合适呢?

这个时候就要先看看采样定理了,也就是“香农采样定理”或“奈奎斯特采样定理”。

采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max >= 2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。

所以,最大的采样周期公式如下:

关于PID算法的一些改进就分享到这里,因为是个人实际使用中的总结,可能会有理解错误的地方,如有错漏,还烦请指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/759905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试之可重复读是否可以解决幻读

可重复读(repeatable read)定义:一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据时是一致的。 不过理论上 是会出现幻读的,简单的来说幻读指的是当用户读取某一范围的数据行时,另外一个事务又在该范围…

一个PDF怎么拆分成几个?这几个方法轻松拆分PDF!

在现代生活与工作的环境中,我们常常需要以高效的方式处理包含大量信息的PDF文件。在这种情况下,拆分这些文件成为一种理想的解决方案,以便更精准地管理和阅读这些信息。接下来,我们将深入探讨几种实用的PDF拆分技巧。 一、直观的…

postman-循环调用测试接口

此篇文章产生的背景是想针对接口做流控验证,检查流控是否奏效,便发现postman也能一次操作来循环调用接口,减少了一些开发测试工作,下面就看一下操作流程 目录 前置查看postman版本我的接口数据 具体操作步骤新建接口集选择接口集进…

FL Studio Producer Edition v21.0.3.3517 for Mac中文版解锁版下载

水果音乐编辑软件FL Studio Producer Edition v21.0.3.3517 for Mac中文版解锁版下载是兔八哥爱分享搜集到的Mac Os系统上一款功能齐全的音乐编曲工具,可以为需要创作高品质音乐曲目的专业和业余艺术家提供多轨录音,排序和混音。 借助FL Studio 21的帮助…

运动模糊还原|维纳滤波|图像处理

前言 那么这里博主先安利一些干货满满的专栏了! 这两个都是博主在学习Linux操作系统过程中的记录,希望对大家的学习有帮助! 操作系统Operating Syshttps://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482Linux S…

《Ansible故障篇:ansible报错解决python依赖》

一、背景信息 如下报错:这个警告是提醒您当前的Ansible配置在目标主机上使用的是/usr/bin/python而不是建议的/usr/bin/python3,因为Ansible 2.9版本之前的某些版本默认使用早期的Python 2.x版本。然而,在将来的版本中,Ansible将会…

xpath下载安装——Python爬虫xpath插件下载安装(2023.7亲测可用!!)

目录 1.免费下载插件链接(若失效评论区留言发送最新链接)(2023.7亲测可用) 2.安装插件 (1)打开chrome浏览器页面,点击:右上角三个点 > 扩展程序 > 管理拓展程序 &#xff…

leedcode 1326. 灌溉花园的最少水龙头数目

在 x 轴上有一个一维的花园。花园长度为 n,从点 0 开始,到点 n 结束。 花园里总共有 n 1 个水龙头,分别位于 [0, 1, …, n] 。 给你一个整数 n 和一个长度为 n 1 的整数数组 ranges ,其中 ranges[i] (下标从 0 开始…

wsl2中安装docker

1、安装docker 执行以下脚本: 这个脚本在执行之前需要先执行chmod x install-docker.sh这个命令 # install docker curl -fsSL get.docker.com -o get-docker.sh sh get-docker.shif [ ! $(getent group docker) ]; thensudo groupadd docker; elseecho "doc…

暗图增强 小期刊/会议 论文阅读笔记

Y. Ueda, H. Misawa, T. Koga, N. Suetake and E. Uchino, “HUE-Preserving Color Contrast Enhancement Method Without Gamut Problem by Using Histogram Specification,” 2018 25th IEEE International Conference on Image Processing (ICIP), Athens, Greece, 2018, pp…

一种具有集成JFET区域的新型SiC沟道MOSFET,通过该区域改善了其短路容限能力

标题:A Novel SiC Trench MOSFET with Improved Short-circuit Capability through an Integrated JFET Region 阅读日期:2023.7.16 研究了什么 该文章研究了一种新型SiC沟槽栅MOSFET,其具有集成JFET区域(IJ-TMOS)&a…

天天刷题-->LeetCode(最长回文子串)

个人名片: 🐅作者简介:一名大二在校生,热爱生活,爱好敲码! \ 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 &…

【NLP】使用Word Embedding实现中文自动摘要

使用Word Embedding实现中文自动摘要 主要步骤中文语料库数据预处理生成词向量把文档的词转换为词向量生成各主题的关键词检查运行结果 参考资料 本文通过一个实例介绍如何使用Word Embedding实现中文自动摘要,使用 Gensim中的word2vec模型来生成Word Embedding。 …

揭秘乳腺癌预测黑科技:R语言和支持向量机的奇妙之旅!

一、引言 乳腺癌被认为是全球范围内最常见的癌症之一,对女性健康造成了重大威胁[1]。根据世界卫生组织的统计数据,乳腺癌是女性恶性肿瘤中的主要类型,并且是导致女性死亡的第二大原因[2]。这个事实凸显了乳腺癌在全球范围内的流行程度以及对公…

数据库架构演变过程

🚀 ShardingSphere 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜&…

ES系列--分析器

一、前言 ES进行文档分析就会涉及到分析器,无论是内置的分析器,还是自定义的分析器,都是由一个分词器(tokenizers) 、0或多个词项过滤器(token filters)、0或多个字符过滤器(charact…

随机数检测(四)

随机数检测(四)- 累加和检测、近似熵检测、线性复杂度检测、Maurer通用统计检测、离散傅里叶检测 3.12 累加和检测方法3.13 近似熵检测方法3.14 线性复杂度检测3.15 Maurer通用统计检测3.16 离散傅里叶检测方法 如果商用密码产品认证中遇到问题&#xff…

Python应用实例(二)数据可视化(四)

数据可视化(四)下载数据 1.CSV文件格式1.1 分析CSV文件头‘1.2 打印文件头及其位置1.3 提取并读取数据1.4 绘制温度图表1.5 在图表中添加日期 从网上下载数据,并对其进行可视化。网上的数据多得令人难以置信,大多未经仔细检查。如…

智能车打开usb相机和激光雷达录制数据包的过程记录

首先,智能车的遥控器启动之后,要解除驻车挡位(尾灯不亮红色才可以),然后右上角的那个拨杆是喇叭,对应的左上角的那个拨杆是控制挡位的,包括前进档,后退档。假如是前进,往…

【我们一起60天准备考研算法面试(大全)-第十五天 15/60】【摩尔投票法】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…