0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

啥是PID?通俗易懂

jf_BxU6dNQb 来源:混说Linux 2023-01-10 14:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

27c6739e-909e-11ed-bfe3-dac502259ad0.jpg

啥是PID?

PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。


PID已经有107年的历史了。

它并不是什么很神圣的东西,大家一定都见过PID的实际应用。

比如四轴飞行器,再比如平衡小车......还有汽车的定速巡航、3D打印机上的温度控制器....

就是类似于这种:需要将某一个物理量“保持稳定”的场合(比如维持平衡,稳定温度、转速等),PID都会派上大用场。

那么问题来了:

比如,我想控制一个“热得快”,让一锅水的温度保持在50℃,这么简单的任务,为啥要用到微积分的理论呢。

你一定在想:

这不是so easy嘛~ 小于50度就让它加热,大于50度就断电,不就行了?几行代码用Arduino分分钟写出来。

没错~在要求不高的情况下,确实可以这么干~ But!如果换一种说法,你就知道问题出在哪里了:

如果我的控制对象是一辆汽车呢?

要是希望汽车的车速保持在50km/h不动,你还敢这样干么。

设想一下,假如汽车的定速巡航电脑在某一时间测到车速是45km/h。它立刻命令发动机:加速!

结果,发动机那边突然来了个100%全油门,嗡的一下,汽车急加速到了60km/h。

这时电脑又发出命令:刹车!

结果,吱...............哇............(乘客吐)

所以,在大多数场合中,用“开关量”来控制一个物理量,就显得比较简单粗暴了。有时候,是无法保持稳定的。因为单片机传感器不是无限快的,采集、控制需要时间。

而且,控制对象具有惯性。比如你将一个加热器拔掉,它的“余热”(即热惯性)可能还会使水温继续升高一小会。

这时,就需要一种『算法』:

它可以将需要控制的物理量带到目标附近

它可以“预见”这个量的变化趋势

它也可以消除因为散热、阻力等因素造成的静态误差

....

于是,当时的数学家们发明了这一历久不衰的算法——这就是PID。


你应该已经知道了,P、I、D是三种不同的调节作用,既可以单独使用(P,I,D),也可以两个两个用(PI,PD),也可以三个一起用(PID)。

这三种作用有什么区别呢?客官别急,听我慢慢道来

27d5fbfc-909e-11ed-bfe3-dac502259ad0.gif

我们先只说PID控制器的三个最基本的参数:kP,kI,kD。

kP

P就是比例的意思。它的作用最明显,原理也最简单。我们先说这个:

需要控制的量,比如水温,有它现在的『当前值』,也有我们期望的『目标值』。

当两者差距不大时,就让加热器 “轻轻地”加热一下。

要是因为某些原因,温度降低了很多,就让加热器 “稍稍用力” 加热一下。

要是当前温度比目标温度低得多,就让加热器 “开足马力” 加热,尽快让水温到达目标附近。

这就是P的作用,跟开关控制方法相比,是不是 “温文尔雅” 了很多。

实际写程序时,就让偏差(目标减去当前)与调节装置的“调节力度”,建立一个一次函数的关系,就可以实现最基本的“比例”控制了~

kP越大,调节作用越激进,kP调小会让调节作用更保守。

要是你正在制作一个平衡车,有了P的作用,你会发现,平衡车在平衡角度附近来回 “狂抖”,比较难稳住。

如果已经到了这一步——恭喜你!离成功只差一小步了~

kDD的作用更好理解一些,所以先说说D,最后说I。

刚才我们有了P的作用。你不难发现,只有P好像不能让平衡车站起来,水温也控制得晃晃悠悠,好像整个系统不是特别稳定,总是在“抖动”。

2819591a-909e-11ed-bfe3-dac502259ad0.gif

你心里设想一个弹簧:现在在平衡位置上。拉它一下,然后松手。这时它会震荡起来。因为阻力很小,它可能会震荡很长时间,才会重新停在平衡位置。

请想象一下:要是把上图所示的系统浸没在水里,同样拉它一下 :这种情况下,重新停在平衡位置的时间就短得多。

我们需要一个控制作用,让被控制的物理量的 “变化速度” 趋于0,即类似于 “阻尼” 的作用。

因为,当比较接近目标时,P的控制作用就比较小了。越接近目标,P的作用越温柔。有很多内在的或者外部的因素,使控制量发生小范围的摆动。

D的作用就是让物理量的速度趋于0,只要什么时候,这个量具有了速度,D就向相反的方向用力,尽力刹住这个变化。

kD参数越大,向速度相反方向刹车的力道就越强。

如果是平衡小车,加上P和D两种控制作用,如果参数调节合适,它应该可以站起来了~欢呼吧。

等等,PID三兄弟好像还有一位。看起来PD就可以让物理量保持稳定,那还要I干嘛?

因为我们忽视了一种重要的情况:

kI

还是以热水为例。假如有个人把我们的加热装置带到了非常冷的地方,开始烧水了。需要烧到50℃。

在P的作用下,水温慢慢升高。直到升高到45℃时,他发现了一个不好的事情:天气太冷,水散热的速度,和P控制的加热的速度相等了。

这可怎么办?

P兄这样想:我和目标已经很近了,只需要轻轻加热就可以了。

D兄这样想:加热和散热相等,温度没有波动,我好像不用调整什么。


于是,水温永远地停留在45℃,永远到不了50℃。

作为一个人,根据常识,我们知道,应该进一步增加加热的功率。可是增加多少该如何计算呢?
前辈科学家们想到的方法是真的巧妙。

设置一个积分量。只要偏差存在,就不断地对偏差进行积分(累加),并反应在调节力度上。

这样一来,即使 45℃ 和 50℃ 相差不太大,但是随着时间的推移,只要没达到目标温度,这个积分量就不断增加。系统就会慢慢意识到:还没有到达目标温度,该增加功率啦!

到了目标温度后,假设温度没有波动,积分值就不会再变动。这时,加热功率仍然等于散热功率。但是,温度是稳稳的50℃。

kI的值越大,积分时乘的系数就越大,积分效果越明显。

所以,I的作用就是,减小静态情况下的误差,让受控物理量尽可能接近目标值。


I在使用时还有个问题:需要设定积分限制。防止在刚开始加热时,就把积分量积得太大,难以控制。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 发动机
    +关注

    关注

    33

    文章

    2739

    浏览量

    73074
  • PID
    PID
    +关注

    关注

    38

    文章

    1510

    浏览量

    92310

原文标题:PID到底是个啥?给你讲个故事,通俗易懂

文章出处:【微信号:混说Linux,微信公众号:混说Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RV1126B 评估板 Linux 系统操作与配置详解

    本文为创龙科技RV1126B 评估板 Linux 系统使用指南,涵盖启动方式、系统信息查询、内存 /eMMC 分区、开关机、用户管理、时间配置与静态 IP/DNS 设置等全场景操作。内容通俗易懂、可直接上手,帮助用户快速完成系统配置与功能验证。
    的头像 发表于 05-20 11:05 85次阅读
    RV1126B 评估板 Linux 系统操作与配置详解

    电阻电容电感基础原理|通俗易懂一文讲清

    我们日常接触的电路,看似抽象难懂 —— 电流看不见也摸不着,电阻、电容、电感的作用更是难以直观理解。但如果我们把电路类比成一套由水流驱动的“水路系统”,其实就非常好理解了
    的头像 发表于 05-19 16:55 572次阅读
    电阻电容电感基础原理|<b class='flag-5'>通俗易懂</b>一文讲清

    别再瞎选了!LoRa、Wi-Fi、蓝牙3种无线技术选型指南,看完再也不踩坑

    LoRa、Wi-Fi、蓝牙看起来都能无线传输,实际用起来天差地别,选错了轻则项目延期,重则直接推倒重来。今天就用最通俗易懂的方式讲清三者的核心差异,帮你一次性搞懂不同场景该怎么选。
    的头像 发表于 04-30 13:56 244次阅读

    变频器pid怎么启用

    变频器PID调试是工业自动化控制中的关键环节,其核心在于通过比例(P)、积分(I)、微分(D)三个参数的动态调整,实现被控量(如压力、温度、流量等)的快速稳定控制。以下从调试原理、步骤、常见问题
    的头像 发表于 01-28 07:37 1026次阅读
    变频器<b class='flag-5'>pid</b>怎么启用

    C语言的PID算法

    C语言PID算法#include \"stdio.h\" #include //定义PID结构体 struct _pid{ float SetSpeed; float
    发表于 01-16 08:13

    使用诺顿定理的等效电路分析

    本文将从诺顿定理的基本原理、具体求解方法,到与其他分析方法的区别,进行通俗易懂的介绍。同时,也将对诺顿定理的使用要点进行整理归纳。
    的头像 发表于 12-10 13:59 5186次阅读
    使用诺顿定理的等效电路分析

    通俗易懂的晶振专业术语

    想要了解一个行业,就要对其产品的术语要有所了解,各行各业都要自己专业术语,石英晶振也不例外;了解晶振术语对晶振采购和选型有很大帮助;下面小扬给大家简单的解释晶振术语都代表什么意思:
    的头像 发表于 09-18 11:31 2211次阅读
    <b class='flag-5'>通俗易懂</b>的晶振专业术语

    普通扫码枪和手持扫码PDA的功能对比:哪个更适合你的行业?

    本文深入了解手持PDA与扫码枪的专业区别、核心功能、应用场景及选购要点。本文将通过通俗易懂的语言,助您清晰区分这两种数据采集设备,并为您的业务选择最合适的解决方案。
    的头像 发表于 09-02 14:37 1608次阅读
    普通扫码枪和手持扫码PDA的功能对比:哪个更适合你的行业?

    【「DeepSeek 核心技术揭秘」阅读体验】--全书概览

    感谢平台提供的书籍,实物如下 这本书主讲从年前开始火热的DeepSeek 。书籍看起来轻薄,但言简意赅,通俗易懂,总览全局,比较精炼。 第一章 介绍DeepSeek的一系列技术突破与创新。 第二章
    发表于 07-21 00:04

    LED驱动电路设计

    兼顾了不同读者的需要,由浅入深,层次清晰,通俗易懂,实用性强,可作为电气工程类专业本科生及研究生的入门教材,也可供从事LED驱动电源设计的工程技术人员参考。获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 07-18 15:26

    通俗易懂版)排针的作用和生产加工中对温度的要求

    总结: 排针注塑加工时温度过高,本质是过度加热带来的连锁反应: 1. 伤“密封”(塑料变形老化) -> 造成泄漏。 2. 卡“筋骨”(塑料/金属热胀冷缩不均) -> 针脚卡死,插拔困难或损坏。 3. 坏“材料”(塑料烧焦分解) -> 产生杂质堵塞、塑料性能劣化,产品内部隐患多。 4. 失“形态”(塑料过稀) -> 漏料产生毛刺、包裹不紧、磨
    的头像 发表于 06-27 17:34 2932次阅读
    (<b class='flag-5'>通俗易懂</b>版)排针的作用和生产加工中对温度的要求

    图解单片机功能与应用(完整版)

    过程通道图解、单片机显示电路图解、51单片机按键识别电路图解、51单片机常用算法图解、单片机常用电路图解、51单片机抗扰技术图解、51单片机典型应用案例图解。书中注重基础,强调应用,内容充实,通俗易懂,例举
    发表于 06-16 16:52

    单片机C语言入门指导(非常通俗易懂!)

    (一) 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只 听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的 微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、 实时控制、通信、家电等方面。不过这一切都没什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。 现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是 把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽 量少走些弯路而已!首先,你必须有学习单片机的热情, 不是说今天去图书馆看了一个下午关于单片机的书, 而明天玩上半天,后天就不知道那个本书在讲什 么东西了。 还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你 可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当 时我就想过,为了单片机值不值得我这样去付出,或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应 该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候, 显而易见的问题出来了: 我要选择那种语言为 单片机编写程序呢? 这个问题,困扰了我好久。具 体选择 C51 还是 A51 呢?汇编在我们大二之前并没有开过课, 虽然看着人家的讲解, 很容易 明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学 C51,毕竟 C51 和我们课上讲的 C 语言,有些类似, 编程的思想可以说是相通的。 而且 C51 还有更大的优点就是编写大程序时的优越性更不言而 喻,当然在那时,我并没有想的那么深远,C51 的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了 C51,那么请继续往下看, 如果你选择了 A51,那么你可以不要看了!因为下面讲 的全是 C 方面的,完全在浪费你的时间! 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 06-16 16:32

    C语言精彩编程百例-364页

    大量经验,从而可以熟练地进行C程序设计。 全文共分为四篇,全面、系统地讲述了C语言各个方面的知识点和程序设计的基本方法,以及编写程序过程中值得注意的地方,内容深入浅出,通俗易懂。对于C语言的初学者来说
    发表于 06-13 17:28

    边缘计算服务器全面解析:为什么5G、AI、工业智造都绕不开它?

    说起“边缘计算服务器”,很多人第一反应是:这是服务器的一种吧?是的,但它远不止“服务器的一种”这么简单。今天,小颉就从一个行业专业从业者的角度,用通俗易懂的语言,聊聊这个在5G、AI和工业现场大显身手的硬核选手——边缘计算服务器。
    的头像 发表于 06-03 16:34 1239次阅读
    边缘计算服务器全面解析:为什么5G、AI、工业智造都绕不开它?