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. 网路编程和并发:2.什么是C/S和B/S架构?

    1.C/S 架构 客户端和服务器之间的架构.Client-Server也称客户机服务器模型. 在Client/Server结构的系统中,应用程序分为客户端和服务器两点部分,客户端为每个用户所有,服务器 ...

  2. 使用Navicat for Oracle新建表空间、用户及权限赋予

      Navicat for Oracle是有关Oracle数据库的客户端工具.通过这个客户端,我们可以图形方式对Oracle数据库进行操作. 说 明我们此次试验的Oracle数据库版本是Oracle  ...

  3. JAVA学习笔记--初探hash与map

    先推荐一篇文章 http://blog.csdn.net/cownew/article/details/6478993 也为自己mark

  4. 51nod 1040:最大公约数之和(数论)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 给出一个n,求1-n这n个数,同n的最大公约数的和. ...

  5. Halo(九)

    跨域问题 域名A(http://www.a.com)的 Web 应用程序中, 通过标签引入了域名B(http://ww.b.com)站点的某图片资源(http://www.b.com/image.jp ...

  6. 前端this相关

    前端this相关: <script> //示例一 function func1() { console.log(this); //this代指window } func1(); //win ...

  7. Cloudera Hadoop 环境搭建(离线安装)

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  8. Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据

    一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信 ...

  9. [CSP-S模拟测试]:小奇的矩阵(matrix)(DP+数学)

    题目背景 小奇总是在数学课上思考奇怪的问题. 题目描述 给定一个$n\times m$的矩阵,矩阵中的每个元素$a_{i,j}$为正整数.接下来规定:    $1.$合法的路径初始从矩阵左上角出发,每 ...

  10. js中forEach,for in,for of循环的用法

    from:https://www.cnblogs.com/amujoe/p/8875053.html 一.一般的遍历数组的方法: var array = [1,2,3,4,5,6,7]; for (v ...