【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算法各有自己的优缺点,因此我们在应用之中应该结合实际情况,来选择具体的,最合适的控制方法。


本节完

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

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

相关文章

【单片机 TB作品】节拍器,电子音乐节拍器,51单片机,Proteus仿真

节拍器的使用可以使练琴者正确掌握乐曲的速度,从而使音 乐练习达到事半功倍的效果。本课题基于单片机设计具有声光晋 示的电子乐器节拍器,充分利用单片机的定时和中断系统,通过 C语言程序设计,控制外部相关硬件电路,实现对音乐速,度 40~120次/分钟范围内连续可调,节拍114、 2/4…

Nest 框架:解锁企业级 Web 应用开发的秘密武器(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

【动态规划】【字符串】扰乱字符串

作者推荐 视频算法专题 涉及知识点 动态规划 字符串 LeetCode87扰乱字符串 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将…

uni-app 从入门到精通 3天快速掌握 文字版 学习专栏

大家好,我是java1234小锋老师。 近日锋哥又卷了一波课程,uni-app 从入门到精通 3天快速掌握教程,文字版视频版。三天掌握。 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从…

[C#]使用onnxruntime部署yolov8-onnx实例分割模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性。具体创新包括一个新的骨干网络、一个新…

芯课堂 | MCU之EXT

概述 本文将介绍一下华芯微特MCU的嵌套向量中断控制器(NVIC)与外部中断/事件控制器(EXTI)的使用方法等。 01.嵌套向量中断控制器(NVIC) NVIC的全称是Nested vectoredinterrupt controller,即嵌…

rime中州韵小狼毫 inputShow lua Filter 输入字符透传滤镜

在 rime中州韵小狼毫 inputShow lua Translator 一文中,我们通过 inputShow.lua 定制了 inputShow_translator,这使得我们的输入方案可以将用户输入的字符透传到候选列表中来。如下👇: 👆上图中我们在候选列表中看到了…

linuxnodejs 20.* 安装问题,version `GLIBCXX_3.4.26‘

背景 今天服务器被重置拉,nodejs 环境不存在,特意安装下nodejs,一访问官网,妈呀,居然到20版本拉!就尝试安装下最新版本! 过程 $ cd /opt $ curl -OL https://nodejs.org/dist/v20.10.0/node-v2…

什么是Alibaba Cloud Linux?完全兼容CentOS,详细介绍

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

简单工厂,工厂方法,抽象工厂模式

文章目录 简单工厂模式简单工厂模式的角色简单工厂的介绍 工厂方法UML图片代码工厂方法总结: 抽象工厂代码实现 简单工厂模式 简单工厂模式(Simple Factory Pattern)专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共…

【数据库原理】(5)关系数据库的关系数据结构

关系及相关概念 在关系模型中,无论是实体还是实体之间的联系均由关系(二维表)来表示。 1.域(Domain) 定义:域是一组具有相同数据类型的值的集合。例子:实数集合、整数集合、英文字母集合等。 2.笛卡儿积(Cartesian…

项目框架构建之3:Nuget服务器的搭建

本文是“项目框架构建”系列之3,本文介绍一下Nuget服务器的搭建,这是一项简单的工作,您或许早已会了。 1.打开vs2022创建Asp.net Web应用程序 框架选择.net framework4.8,因为nuget服务器只支持.net framework。 2.选择空项目和去…