https://blog.csdn.net/Uncle_GUO/article/details/51367764

https://blog.csdn.net/HandsomeHong/article/details/72528869

一个故事读懂PID控制绝对经典

一文看懂舵机硬件pid电路原理-电子发烧友网

《从新手到高手 自动调节系统解析与PID整定》

PID控制器的数字实现及C语法讲解 - free_稀饭 - 博客园

有的时候书本上的仅仅是理论,读起来会比较深奥。反倒是博客上的有些文章是比较不错的。所以记录下。

mcu实现的有位置式PID和增量PID,但是通常用的多是增量式PID,这样可以减少mcu的内存占用,效果也可以达到,因此在多数场景中,都用增量式PID控制的方法。

两者的优缺点

a) 增量式算法优点:①算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换。

b) 位置式PID控制算法的缺点:当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。

区别于联系:

1、其实是位置式和增量式是一样的,增量式最后那个输出化解完和位置式一样。增量式PID可以通过 u(k) = u(k-1) + Δu(k) 得到位置式输出

2、增量型算法与位置型算法比较:

(1)增量型算法不需做累加,计算误差后产生的计算精度问题,对控制量的计算影响较小。位置型算法用到过去的误差的累加,容易产生较大的累加误差。

(2)增量型算法得出的是控制的增量,误动作影响小,必要时通过逻辑判断限制或禁止本次输出,不会影响系统的工作。位置型算法的输出是控制量的全部输出,误动作影响大。

(3)增量式算法的主要优势体现在对积分环节的处理上,积分作用的累加效果会影响到输出的准确性。

(4)楼上的说法让我获益不少,一直没理解“避免误动作”的原因。另外,增量式算法易于实现手、自动的无扰动切换。

增量式PID调教总结

1.负反馈

自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。

2.PID调试一般原则

a.在输出不振荡时,增大比例增益P。

b.在输出不振荡时,减小积分时间常数Ti。

c.在输出不振荡时,增大微分时间常数Td。

调整方法现在一般采用的是临界比例法。

部分来源于网络。。

控制系统中应用最为广泛的一种控制规律。

PID调节器之所以经久不衰,主要有以下优点:

(1)技术成熟,通用性强

(2)原理简单,易被人们熟悉和掌握

(3)控制效果较好

(一)、PID的形式:

P:Proportion(比例),就是输入偏差乘以一个常数。I  :Integral(积分),就是对输入偏差进行积分运算。D:Derivative(微分),对输入偏差进行微分运算。

注:输入偏差=读出的被控制对象的值-设定值。比如说我要把温度控制在26度,但是现在我从温度传感器上读出温度为28度。则这个26度就是”设定值“,28度就是“读出的被控制对象的值”。

KP为比例增益;TI为积分时间常数;TD为微分时间常数;u(t)为控制

量(控制器输出);e(t)为被控量与给定值的偏差。

(二)PID参数对控制性能的影响

1.随着比例系数Kp的增加,超调量增大,系统响应速度加快,

2.积分时间常数Ti对控制性能的影响

        积分作用的强弱取决于积分常数Ti。Ti越小,积分作用就越强,反之

Ti大则积分作用弱。积分控制的主要作用是改善系统的稳态性能,消除

系统的稳态误差。当系统存在控制误差时,积分控制就进行,直至无

差,积分调节停止,积分控制输出一常值。

        加入积分控制可使得系统的相对稳定性变差。Ti值的减小可能导致

系统的超调量增大,Ti值的增大可能使得系统响应趋于稳态值的速度减

慢。

3.微分时间常数Td对控制性能的影响

        随着微分时间常数Td的增加,闭环系统响应的响应速度加快,调节

时间减小。微分环节的主要作用是提高系统的响应速度。由于该环节对

误差的导数(即误差变化率发生作用),它能在误差较大的变化趋势时施加

合适的控制。

        但是过大的Kd值会因为系统造成或者受控对象的大时间延迟而出现

问题。微分环节对于信号无变化或变化缓慢的系统不起作用。

总结:

*比例控制能迅速反映误差,从而减小误差,但比例控制不能消除稳态误

  差,KP的加大会引起系统的不稳定;

*积分控制的作用是,只要系统存在误差,积分控制作用就不断地积累,

  输出控制量以消除误差。因此只要有足够的时间,积分控制将能完全消

  除误差,但是积分作用太强会使系统超调加大,甚至使系统出现振荡;

*微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快

  系统的动态响应速度,减小调整时间,从而改善系统的动态性能。

PID算法知识点博文收藏记录的更多相关文章

  1. PID算法学习记录

    最近做项目需要用到PID算法,这个本来是我的专业(控制理论与控制工程),可是我好像是把这个东西全部还给老师了. 没办法,只好抽时间来学习了. 先占个座,后续将持续更新!

  2. PID算法笔记2

    总所周知,PID算法是个很经典的东西.而做自平衡小车,飞行器PID是一个必须翻过的坎.因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂.并举出PID的形象例子来帮助理解PID.一. ...

  3. 某科学的PID算法学习笔记

    最近,在某社团的要求下,自学了PID算法.学完后,深切地感受到PID算法之强大.PID算法应用广泛,比如加热器.平衡车.无人机等等,是自动控制理论中比较容易理解但十分重要的算法. 下面是博主学习过程中 ...

  4. 基本的PID算法整理(水缸的例子有问题!!)

    一,先谈关于水缸漏水的问题 谈到PID原理入门的时候,大家经常会举的一个例子就是水缸漏水的例子.这里把一个解释水缸漏水的帖子放在这里:https://blog.csdn.net/qq_41736609 ...

  5. 线性控制原理——PID算法应用

    使用控制系统(PID)控制被控对象 PID控制的三要素:控制器,被控对象,反馈器.控制器就是一个数学模型,就PID来说,等同于PID算法.是对反馈量的一个处理与输出.通俗的说就是对于每个被控的量,我的 ...

  6. 位置式PID与增量式PID算法

    位置式PID与增量式PID算法  PID控制是一个二阶线性控制器     定义:通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能.     优点             ...

  7. PID算法

    所谓PID就是比例-积分-微分的英文缩写,但并不是必须同时具备这三种算法,也可以是 PD, PI,甚至只有 P算法控制,下面分别介绍每个参数的含义:首先需要明确一个事实就是,要实现PID算法,必须在硬 ...

  8. PID算法(c 语言)(转)

    PID算法(c 语言)(来自老外) #include <stdio.h> #include<math.h> //定义PID 的结构体 struct _pid { int pv; ...

  9. PID控制器开发笔记之一:PID算法原理及基本实现

    在自动控制中,PID及其衍生出来的算法是应用最广的算法之一.各个做自动控制的厂家基本都有会实现这一经典算法.我们在做项目的过程中,也时常会遇到类似的需求,所以就想实现这一算法以适用于更多的应用场景. ...

随机推荐

  1. null,blank,default

    null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空. blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,比如 admin 界面 ...

  2. Hive数据如何同步到MaxCompute之实践讲解

    摘要:本次分享主要介绍 Hive数据如何迁移到MaxCompute.MMA(MaxCompute Migration Assist)是一款MaxCompute数据迁移工具,本文将为大家介绍MMA工具的 ...

  3. 存储系统设计——NVMe SSD性能影响因素一探究竟

    目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...

  4. 【BZOJ3756】Pty的字符串(广义后缀自动机)

    题意: 思路:论文题 建立Trie树的后缀自动机需要换这个长的板子 #include<bits/stdc++.h> using namespace std; typedef long lo ...

  5. Agri-Net —poj1258

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44670   Accepted: 18268 Descri ...

  6. [CSP-S模拟测试]:养花(分块)

    题目描述 小$C$在家种了$n$盆花,每盆花有一个艳丽度$a_i$.在接下来的$m$天中,每天早晨他会从一段编号连续的花中选择一盆摆放在客厅,并在晚上放回.同时每天有特定的光照强度$k_i$,如果这一 ...

  7. (转载)虚拟机出现无法连接虚拟设备sata0:0,因为主机上没有相应设备

    虚拟主机需要镜像文件, 如果是拷贝的虚拟机,还需要桥接联网的话,更改mac地址,

  8. Batch批处理中的 参数 路径和字符串 处理详解

    1.截取字符串 截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符.举例说明其基本功能: @echo off set ifo=abcdefghijk ...

  9. spring事务传播行为讲解转载

    https://segmentfault.com/a/1190000013341344 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为.事务传播行为是 ...

  10. jmeter添加自定义扩展函数之String---base64加密

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...