【PID精讲 13 】位置式PID和增量式PID

文章目录

  • 位置式PID和增量式PID
    • 一、位置式PID控制算法
    • 二、增量式PID控制算法及仿真
    • 三、位置式与增量式优缺点

位置式PID和增量式PID

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

一、位置式PID控制算法

  • 按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:
    在这里插入图片描述

  • 可得离散表达式:

在这里插入图片描述

  • 式中, K i = K p / T I K_i=K_p/T_I Ki=Kp/TI K d = K p T D K_d=K_pT_D Kd=KpTD,T 为采样周期,K 为采样序号,k=1,2,……,e(k-1)和e(k)分别为第 (k-1) 和第 k 时刻所得的偏差信号。

  • 位置式PID控制系统框图如下,由图可以看出,位置式PID是当前系统的实际位置,与你想要达到的预期位置的偏差,进行PID控制。

在这里插入图片描述

  • 根据位置式PID控制算法得到其程序框图:

在这里插入图片描述


  • 从一个例子中理解位置式PID:
    在这里插入图片描述

  • (1)如上图所示,工作人员要对一个直流电机进行调速,设定了转速为1000;

  • (2)此时系统反馈回来的转速为 x,反馈回来的速度与设定速度差为 e;

  • (3)将差值 e 作为控制信号输入到位置式PID控制器,经位置式PID控制器计算的输出作为Process的输入值(可以是PWM占空比),最终Process输出相应的PWM控制电机;

  • (4)反馈装置(Feedback)检测电机转速;

  • (5)重复(2)、(3)、(4)步骤。


在这里插入图片描述

上式中:

  • 比例项 : e(k) 用户设定的值(目标值)- 控制对象的当前的输出值
  • 积分项: ∑e(j) 误差的累加
  • 微分项: e(k) - e(k-1) 当前误差-上次误差

位置式PID控制算法中,因为有误差积分 ∑e(j) 一直累加,也就是当前的输出u(k)与过去的所有状态都有关系;输出的u(k)对应的是执行机构的实际位置,一旦控制输出出错(控制对象的当前的状态值出现问题 ),u(k)的大幅变化会引起系统的大幅变化。

并且位置式PID在积分项达到饱和时,误差仍然会在积分作用下继续累积,一旦误差开始反向变化,系统需要一定时间从饱和区退出,所以在u(k)达到最大和最小时,要停止积分作用,并且要有积分限幅和输出限幅。

所以在使用位置式PID时,一般我们直接使用PD控制,而位置式 PID 适用于执行机构不带积分部件的对象,如舵机和平衡小车的直立和温控系统的控制。


二、增量式PID控制算法及仿真

  • 增量式PID控制算法是指其输出只是被控量的增量

    当执行机构需要的是控制量的增量,而不是位置量的绝对值时, 例如驱动步进电机等,应采用增量式PID控制。

  • 根据递推原理可得:

在这里插入图片描述

  • 增量式PID的算法:

    在这里插入图片描述


  • 从一个例子中理解增量式PID

在这里插入图片描述

  • (1)如上图所示,工作人员要对一个直流电机进行调速,设定了转速为1000;
  • (2)此时系统反馈回来的转速为x,反馈回来的转速与设定转速差为e(k);
  • (3)系统中保存了上一次反馈转速与设定转速的偏差e(k-1)以及上上次的反馈转速与设定转速的偏差e(k-2),这三个量( e(k)、e(k-1)、e(k-2) )作为输入值输入到增量式PID控制器中,并计算得到本次PID增量∆u(k);
  • (4)系统中还保存了上一次的PID输出u(k-1),本次PID输出u(k)为上一次的PID输出值u(k-1)加上增量∆u(k),u(k)作为Process的输入值(可以是PWM占空比),最终Process输出相应的PWM控制电机;
  • (5)反馈装置(Feedback)检测电机转速;
  • (6)重复(2)、(3)、(4)、(5)步骤。

在这里插入图片描述

上式中:

  • 比例项: e(k)-e(k-1) 这次误差 - 上次误差
  • 积分项: e(k) 这次误差
  • 微分项: e(k) - 2e(k-1)+e(k-2) 这次误差 - 2*上次误差 + 上上次误差

从增量式PID根据公式可以很好地看出,一旦确定了Kp、Ki、Kd,只要使用前后三次测量值的偏差,即可由公式求出控制增量∆u(k)。得出的控制增量对应的是近几次位置误差的增量,而不是对应与实际位置的偏差,没有误差累加

也就是说,增量式PID中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果,并且在系统发生问题时,增量式不会严重影响系统的工作。


仿真示例
设被控对象如下:

G ( s ) = 400 s 2 + 50 s G(s)=\frac{400}{s^2+50s} G(s)=s2+50s400

PID控制参数为:Kp=8, Ki=0.10, Kd=10

增量式PID阶跃跟踪结果:

在这里插入图片描述

  • 由于控制算法中不需要累加,控制增量Δu(k)仅与最近k次的采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。

三、位置式与增量式优缺点

    1. 位置式PID算法结构改变灵活,算法简单,鲁棒性好,可靠性高。 但是每次输出都与控制偏差e过去整个变化过程有关,这样容易产生较大的累积偏差,特别是当计算机发生故障时,由于调节器是全量输出,控制变量y可能会发生大幅振荡,给生产带来严重危害。而如果采用增量式PID算法,由于计算机只输出控制变量的增量Δy发生故障时只影响本次增量的大小,故影响较小。
    1. 系统从手动切换到自动时,位置式PID算法需要将调节器的输出置为初始值,这样才可能实现无冲击切换,而增量式PID算法易于实现手动自动的无冲击切换。
    1. 位置式PID算法要求计算累加和,故运算量大。而增量式PID算法不需要计算累加和,故运算量小。
    1. 位置式PID算法中,由于偏差公式中有对偏差的累积计算,所以,容易产生积分饱和现象,造成系统失控。而在增量式PID算法中,由于差分公式中不存在有对偏差的累加计算,所以,不会产生积分失控现象,避免了系统的超调和振荡现象的发生。但增量式PID算法有产生比例和微分失控现象的可能,使系统的动态性能变坏
  • 综上所述,位置式与增量式PID算法各有自己的优缺点,因此我们在应用之中应该结合实际情况,来选择具体的,最合适的控制方法。


本节完

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

聚道云软件连接器带给服装行业客户的业务革新

【客户介绍】 某服装制作企业,专注于设计和生产各类服饰。追求时尚与品质的完美结合,以满足不同消费者的需求。凭借丰富的行业经验,该企业不断创新,致力于提供优质的服装产品和服务。我们的目标是成为消费者心目中的首选品牌&…

【Electron】快速建立Vue3+Vite+Electron Ts项目

git https://github.com/electron-vite/electron-vite-vue 创建项目 npm create electron-vite or pnpm create electron-vite 初始化 pnpm install or pnpm i 启动项目 pnpm dev 打包项目 pnpm build 项目创建成功后默认情况下 窗口是H800 W600 在createWindow 函数…

2.5 设计FMEA第五步:风险分析

2.5.1 目的 DFMEA风险分析的目的是:通过评估严重度(S)、频度(O)和探测度(D)来估计风险,进而对采取的措施进行优先级排序(AP)。 其主要目标包括: 针对失效,分配控制措施&#xff0…

人机交互不是人机融合智能

一、人机交互和人机融合智能是两个不同的概念 人机交互是指人类与计算机之间的信息交流和操作方式,包括输入和输出界面、交互技术、用户体验等方面。人机交互的目标是提供用户友好的界面和自然的交互方式,使人类能够与计算机更加高效地进行沟通和协作。 …

增删改查语句实现了解不同的函数与特殊字符unionunion all区别

一、crud(增删改查) 1.1、查询 概念: 查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作 注:在MySQL中,当执行一条SQL语句后,系…

Java中的序列化方法探索

.为什么要序列化 对象不序列化,能直接存储吗? 在 Java 中,序列化是将对象的状态信息转换为可以存储或传输的形式(例如,转换为字节流)的过程。在对象数据需要在网络上传输或需要在磁盘上持久化存储时&#…

初始数字孪生

文章目录 概念定义 架构框图 基本要求 功能要求 服务应用 参考文献 概念定义 数字孪生(digital twin),是指具有保证物理状态和虚拟状态之间以适当速率和精度同步的数据连接的特定目标实体的数字化表达。 架构框图 数字孪生的整体架构&a…

C# halcon 工业产品尺寸测量

产品检测 这段代码是一个基于HalconDotNet的Windows窗体应用程序,主要用于图像处理和测量。以下是对代码的一些总结: 1. **图像显示与加载:** - 使用HalconDotNet库进行图像处理。 - 通过OpenFileDialog实现图像文件的选择和加载。 …

Vue v-html中内容图片过大自适应处理

之前图片如下&#xff0c;图片已经超出了页面的展示范围 对v-html增加样式处理 <div class"body padding-l scroll " v-html"docData.content"> </div><style scoped>.body >>> img {max-width: 100% ;} </style>…

[书生·浦语大模型实战营]——书生·浦语大模型全链路开源体系

大模型成为发展通用人工智能的重要途径 书生浦语大模型开源历程 书生浦语模型性能 从模型到应用 应用例子&#xff1a;智能客服/个人助手/行业应用 实现流程&#xff1a; 开源开放体系&#xff1a; 1.数据——书生万卷 价值观对齐这个挺有意思嗷&#xff01; 2.预训练工具…

redis复习笔记02(小滴课堂)

分布式缓存Redis6常见核心配置讲解 查看配置文件&#xff1a; 创建配置文件&#xff1a; 配置完我们去验证一下&#xff1a; 启动成功就没有问题了。 可以看到redis日志。 然后我们就可以连接我们的redis了&#xff1a; 设置了密码就需要密码登录了。 如果登录了错误的密码也无…

搜索Agent方案

为啥需要整体方案&#xff0c;直接调用搜索接口取Top1返回不成嘛&#xff1f;要是果真如此Simple&Naive&#xff0c;New Bing岂不是很容易复刻->.-> 我们先来看个例子&#xff0c;前一阵火爆全网的常温超导技术&#xff0c;如果想回答LK99哪些板块会涨&#xff0c;你…

勒索检测能力升级,亚信安全发布《勒索家族和勒索事件监控报告》

评论员简评 近期(12.08-12.14)共发生勒索事件119起&#xff0c;相较之前呈现持平趋势。 与上周相比&#xff0c;本周仍然流行的勒索家族为lockbit3和8base。在涉及的勒索家族中&#xff0c;活跃程度Top5的勒索家族分别是&#xff1a;lockbit3、siegedsec、dragonforce、8base和…

视频监控可视化云平台EasyCVR智能视频技术优势分析

TSINGSEE青犀视频安防视频管理系统EasyCVR视频智能融合共享平台&#xff0c;是一个支持Windows/Linux(CentOS ubuntu)/国产化系统的视频管理平台。平台可以支持多协议接入&#xff0c;通过视频应用引擎将多种格式的视频数据转换为统一的视频流数据&#xff0c;支持无插件H5直播…

k8s的pod基础

pod:pod是k8s中最小的资源管理组件。 pod也是最小化运行容器化的应用的资源管理对象。 pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合。 在一个pod当中运行一个容器是最常用的方式。在一个pod当中同时运行多个容器&#xff0c;在一个pod当中可以同…

聊聊分布式会话及实现方案

鲁大猿&#xff0c;寻找精品资料&#xff0c;帮你构建Java全栈知识体系 http://www.jiagoujishu.cn 基础概念 Session Cookie 会话方案比较简单&#xff0c;这里我在网上找了点资料&#xff0c;再回顾下基础吧。 为什么要产生Session http协议本身是无状态的&#xff0c;客户…

《绝地求生》改名卡快速获得方法 绝地求生改名卡怎么获得

《绝地求生》改名卡是很多小伙伴所在意的物品&#xff0c;购买通行证后需要提升一定的等级才能入手&#xff0c;而怎么升级最快最划算呢&#xff1f;今天闲游盒带来“米奇”分享的《绝地求生》改名卡快速获得方法&#xff0c;赶紧来试试吧。 吃鸡刚刚迎来了更新&#xff0c;通行…

八大算法排序@冒泡排序(C语言版本)

冒泡排序 概念 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单直观的排序算法&#xff0c;它重复地遍历待排序序列&#xff0c;一次比较两个相邻的元素&#xff0c;如果它们的顺序错误就将它们交换过来。通过多次的遍历&#xff0c;使得最大的元素逐渐移动到待排序序…

Windows—常用DOS命令

解释&#xff1a;DOS命令即面向磁盘的操作命令 进入DOS页面&#xff1a;快捷键“winR”&#xff0c;输入cmd help命令 help 【命令名】可查看其他命令的解释&#xff0c;直接输入help也可以查看部分命令 另外&#xff0c;如果输入help显示help不是内部或外部命令&#xff0c;…

ACCESS从零入门教程

最近&#xff0c;在公司实习自学了一款简单的access数据库软件&#xff0c;下面是自己的一些学习心得过程&#xff0c;供大家参考。 一、access导入数据 两种方法&#xff1a; 1、直接复制&#xff0c;crtl-c/v即可 2、若数据量较大&#xff0c;可以从access内部进行导入&am…