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.mzph.cn/web/67705.shtml

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

相关文章

【论文阅读】RAG-Reward: Optimizing RAG with Reward Modeling and RLHF

研究背景 研究问题:这篇文章要解决的问题是如何优化检索增强生成(RAG)系统,特别是通过奖励建模和人类反馈强化学习(RLHF)来提高大型语言模型(LLMs)在RAG任务中的效果。研究难点&…

【数据结构】(3)包装类和泛型

一、包装类 1、什么是包装类 将基础类型包装成的类就是包装类。由于基础类型不是继承 Object 类的类,所以在泛型不能直接支持基础类型,为了解决这个问题,就需要把基础类型转换为对应的包装类。 基础类型对应的包装类 基础类型包装类byteByte…

C++11线程

C11提供了线程库&#xff0c;下面我们来看一下如何使用。 线程的创建 头文件 要创建一个线程需要包一个线程头文件:#include <thread> 我们先来看看thread支持的构造方式。 支持默认构造&#xff0c;直接使用thread创建一个空的线程对象。 也支持带参的构造&#x…

Golang 并发机制-3:通道(channels)机制详解

并发编程是一种创建性能优化且响应迅速的软件的强大方法。Golang&#xff08;也称为 Go&#xff09;通过通道&#xff08;channels&#xff09;这一特性&#xff0c;能够可靠且优雅地实现并发通信。本文将揭示通道的概念&#xff0c;解释其在并发编程中的作用&#xff0c;并提供…

笔记:使用ST-LINK烧录STM32程序怎么样最方便?

一般板子在插件上&#xff0c; 8脚 3.3V;9脚 CLK;10脚 DIO;4脚GND ST_Link 19脚 3.3V;9脚 CLK;7脚 DIO;20脚 GND 烧录软件&#xff1a;ST-LINK Utility&#xff0c;Keil_5; ST_Link 接口针脚定义&#xff1a; 按定义连接ST_Link与电路板&#xff1b; 打开STM32 ST-LINK Uti…

网络测试工具

工具介绍&#xff1a; 这是一个功能完整的网络测速工具&#xff0c;可以测试网络的下载速度、上传速度和延迟。 功能特点&#xff1a; 1. 速度测试 - 下载速度测试 - 上传速度测试 - Ping延迟测试 - 自动选择最佳服务器 2. 实时显示 - 进度条显示测试进度 - 实时显示测试状…

java每日精进1.31(SpringSecurity)

在所有的开发的系统中&#xff0c;都必须做认证(authentication)和授权(authorization)&#xff0c;以保证系统的安全性。 一、基础使用 1.依赖 <dependencies><!-- 实现对 Spring MVC 的自动化配置 --><dependency><groupId>org.springframework.bo…

17.2 图形绘制8

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 17.2.10 重绘 先看以下例子&#xff1a; 【例 17.28】【项目&#xff1a;code17-028】绘制填充矩形。 private void button1_Clic…

自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数

import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.metrics import precision_score, recall_score, f1_score# 数据准备 class1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4,…

neo4j入门

文章目录 neo4j版本说明部署安装Mac部署docker部署 neo4j web工具使用数据结构图数据库VS关系数据库 neo4j neo4j官网Neo4j是用ava实现的开源NoSQL图数据库。Neo4作为图数据库中的代表产品&#xff0c;已经在众多的行业项目中进行了应用&#xff0c;如&#xff1a;网络管理&am…

Java基础——分层解耦——IOC和DI入门

目录 三层架构 Controller Service Dao ​编辑 调用过程 面向接口编程 分层解耦 耦合 内聚 软件设计原则 控制反转 依赖注入 Bean对象 如何将类产生的对象交给IOC容器管理&#xff1f; 容器怎样才能提供依赖的bean对象呢&#xff1f; 三层架构 Controller 控制…

智慧园区系统集成解决方案引领未来城市管理的智能化转型

内容概要 在现代城市管理的背景下&#xff0c;“智慧园区系统集成解决方案”正扮演着越来越重要的角色。这种解决方案不仅仅是技术上的创新&#xff0c;更是一种全新的管理理念&#xff0c;它旨在通过高效的数据整合与分析&#xff0c;优化资源配置&#xff0c;提升运营效率。…

99.24 金融难点通俗解释:MLF(中期借贷便利)vs LPR(贷款市场报价利率)

目录 0. 承前1. 什么是MLF&#xff1f;1.1 专业解释1.2 通俗解释1.3 MLF的三个关键点&#xff1a; 2. 什么是LPR&#xff1f;2.1 专业解释2.2 通俗解释2.3 LPR的三个关键点&#xff1a; 3. MLF和LPR的关系4. 传导机制4.1 第一步&#xff1a;央行调整MLF4.2 第二步&#xff1a;银…

【VM】VirtualBox安装CentOS8虚拟机

阅读本文前&#xff0c;请先根据 VirtualBox软件安装教程 安装VirtualBox虚拟机软件。 1. 下载centos8系统iso镜像 可以去两个地方下载&#xff0c;推荐跟随本文的操作用阿里云的镜像 centos官网&#xff1a;https://www.centos.org/download/阿里云镜像&#xff1a;http://…

家居EDI:Hom Furniture EDI需求分析

HOM Furniture 是一家成立于1977年的美国家具零售商&#xff0c;总部位于明尼苏达州。公司致力于提供高品质、时尚的家具和家居用品&#xff0c;满足各种家庭和办公需求。HOM Furniture 以广泛的产品线和优质的客户服务在市场上赢得了良好的口碑。公司经营的产品包括卧室、客厅…

【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能

近期在做跟毕业设计相关的数据后台管理系统&#xff0c;其中的列表项展示有图片展示&#xff0c;添加/编辑功能有文件上传。 “文件上传/删除”也是我们平时开发会遇到的一个功能&#xff0c;这里分享个人的实现过程&#xff0c;与大家交流谈论~ 一、准备工作 本次案例使用的…

VLN视觉语言导航基础

0 概述 视觉语言导航模型旨在构建导航决策模型 π π π&#xff0c;在 t t t时刻&#xff0c;模型能够根据指令 W W W、历史轨迹 τ { V 1 , V 2 , . . . , V t − 1 } \tau\{V_1,V_2,...,V_{t-1}\} τ{V1​,V2​,...,Vt−1​}和当前观察 V t { P t , R t , N ( V t ) } V_…

Flux的三步炼丹炉——fluxgym(三):矩阵测试

前面两篇文章给大家介绍了如何准备素材和怎么炼丹&#xff0c;现在我们拿到训练完成后的多个Lora怎么才能确定哪个才是我们需要的、效果最好的呢&#xff1f;答案就是使用xyz图表测试&#xff0c;也称为矩阵测试&#xff0c;通过控制控制变量的方法对Lora模型批量生图&#xff…

利用Muduo库实现简单且健壮的Echo服务器

一、muduo网络库主要提供了两个类&#xff1a; TcpServer&#xff1a;用于编写服务器程序 TcpClient&#xff1a;用于编写客户端程序 二、三个重要的链接库&#xff1a; libmuduo_net、libmuduo_base、libpthread 三、muduo库底层就是epoll线程池&#xff0c;其好处是…

文件读写操作

写入文本文件 #include <iostream> #include <fstream>//ofstream类需要包含的头文件 using namespace std;void test01() {//1、包含头文件 fstream//2、创建流对象ofstream fout;/*3、指定打开方式&#xff1a;1.ios::out、ios::trunc 清除文件内容后打开2.ios:…