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

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

3天内不再提示

PID到底是什么PID的本质详细分析

Wildesbeast 来源:未知 作者:遛电子的老李 2020-02-06 14:43 次阅读

入住头条有1年多了,第一次发文。我是一只在无人机领域的嵌入式工程狮,看了头条上很多的对PID解说的专业文章,几乎都是从控制上切入的,这里我从不同的角度来分析PID。

先说结论:PID的本质是跟随器,用于跟踪给定信号

很多朋友在这里又会发问了,PID不是控制器吗?在某权威百科上面的解释就是:比例(P)积分(I)微分(D)控制,简称PID控制。这是没错的,PID算法从100年前开始出现,就开始广泛的用于工业控制,PID的起源就是用于做控制器。看起来PID和控制是分不开的,实则不然。

从PID的公式也可以看出,e是目标量和输出量的偏差,当误差e趋近0时,输出u将收敛到一个固定值。最终PID实现的效果就是将目标量和输出量两者的偏差归零,当目标量变化时,输出量也会跟随着目标量变化,也就是说输出量通过PID来跟随目标量。

下面我从两个例子来说明PID分别作为控制器使用和信号跟随器的使用。

PID作为控制器——水箱液位控制

这里水箱的液位我们假设没有延迟,设计一个PID控制器来控制液位,误差e为目标液位和输出量为液位之差。u为执行器输出,这里是阀门开度,大于0为注水,小于0为放水。具体代码不在此赘述。

刚开始的时候,把液位设置到5米,2秒后实际液位基本到达5米。在50s的时候,把目标液位设置为2米,液位下降,2秒后稳定到2米。说明PID完成了它原始的使命——作为控制器使用。

PID作为信号跟随器——倾角传感器的设计

这里倾角传感器的设计就不涉及到任何控制了。我们的目标是测量角度,硬件选用加速度计和陀螺仪构成。为了方便,我们只测量单轴角度,这里用2轴微电子加速度计和1轴微电子陀螺仪。

陀螺仪的输出量是角速度,角速度积分就是角度,这不是用陀螺仪就能解决了吗?为什么还要加速度计呢?是因为陀螺仪输出的角速度包含有各种噪声,积分得到的角度会随着时间误差越来越大。具体的可以看下面的图像分析。

上面左图是以1度/秒的角速度运动10秒,右图在角速度1度/秒的基础上加了±0.5度/秒的随机噪声,可以发现在10秒后角度值为106度(图可能看不清),这是因为角度值的获取是通过角速度积分得到的,存在累计误差。而加速度计具备良好的稳定性,测量的偏移也很小,最重要的是它测量的角度没有累计误差。

θacc是加速度计测量的倾角。定义当测量角为0时,az沿着重力方向竖直向下,和重力加速度的关系是az=g*cos(θacc),ax垂直于az,和重力加速度的关系是az=g*sin(θacc)。这就是加速度计测量倾角的原理。

那既然加速度计没有累计误差,测量比陀螺仪更好,用加速度计就够了嘛,为什么一定要用陀螺仪呢?因为加速度计测量的物理量是比力,而非加速度,加速度是通过比力计算得到的。加速度计不能分辨出是地球引力还是运动外力。所以在被测量物体运动的时候将无法得到准确的倾角。这个时候陀螺仪就起作用了,因为陀螺仪对运动加速度不敏感。

陀螺仪短时间内计算的角度很准确,但时间长了会产生累计误差,加速度计长时间内的稳定弥补了陀螺仪的短缺。加速度计在运动的情况下测量有误差,陀螺仪对运动不敏感。

所以可以用两者的互补关系,来设计一个倾角传感器。那这里面怎么用到PID的性质呢?

我们把加速度求得的角度θacc作为目标量,我们把陀螺仪积分角度θgyro作为输出量。让陀螺仪角度跟随着加速度角度。设计PI跟随器,调节参数,让陀螺仪积分角度θgyro慢慢跟随加速度计算的角度θacc。下图是计算周期为50ms时,kp=0.2,ki=0.005时的效果图像。角速度噪声±0.5度/秒。加速度受到运动的影响,角度噪声为±2度。

在0秒时以角速度10度/秒运动2秒,在2秒时角速度以-10度/秒运动4秒。下面是6s到10s的放大图。

真实角度(蓝色)为-21度,陀螺仪积分角度(紫色)漂移了2度左右,加速度计计算角度(绿)噪声为±2度,组合角度(红,即陀螺仪积分角度跟随加速度计计算角度的结果)保持在真实角度附近,误差不到1度,说明PID完成了它的本质工作——作为信号跟随器使用。

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

    关注

    2526

    文章

    48110

    浏览量

    740142
  • 陀螺仪
    +关注

    关注

    44

    文章

    729

    浏览量

    97672
  • PID
    PID
    +关注

    关注

    35

    文章

    1446

    浏览量

    83819
收藏 人收藏

    评论

    相关推荐

    uboot代码详细分析

    [url=]uboot代码详细分析[/url]
    发表于 01-29 13:51

    labview pid 输出的值,到底是个什么意思

    如题: labview pid 输出的值,到底是个什么意思,求答
    发表于 11-23 09:09

    Labview PID工具包输出的值到底是什么值

    PID输出的值到底是什么含义啊
    发表于 05-02 20:25

    详细分析一下USB协议

    本文跟大家一起详细分析一下USB协议。
    发表于 05-24 06:16

    详细分析stm32f10x.h

    每日开讲---学习STM32不得不看的剖析(详细分析stm32f10x.h)摘要: 学习STM32不得不看的剖析(详细分析stm32f10x.h)。/**这里是STM32比较重要的头文件*******************************************
    发表于 08-05 07:44

    PID控制器的作用到底是什么

    问题,控制器的作用到底是什么?相信不少同学在学习自动控制原理的时候,接触最多的是:直接对传递函数进行分析,比如研
    发表于 09-07 07:39

    PID控制算法到底是什么?

    PID控制算法到底是什么?
    发表于 10-11 07:14

    详细分析了VTIM和VMIN的功能

    上一篇文章中,我们详细分析了VTIM和VMIN的功能,《嵌入式Linux 串口编程系列2--termios的VMIN和VTIME深入理解》 也明白了这两个参数设计的初衷和使用方法,接下来我们 就详细
    发表于 11-05 07:09

    PID到底是什么

    了解PID1、所谓PID指的是Proportion-Integral-Differential。翻译成中文是比例P-积分I-微分D。记住两句话:1、PID是经典控制(使用年代久远)2、PID
    发表于 01-14 07:47

    Buck变换器原理详细分析

    Buck变换器原理详细分析
    发表于 09-15 17:26 30次下载
    Buck变换器原理<b class='flag-5'>详细分析</b>

    详细分析PID控制算法原理和调试口诀

    PID是一个闭环控制算法。因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。
    的头像 发表于 08-13 14:18 2.1w次阅读
    <b class='flag-5'>详细分析</b><b class='flag-5'>PID</b>控制算法原理和调试口诀

    PID调节到底是什么?PID调节和PID控制原理的详细资料说明

    经常看到有关PID调节问题书籍,看来看去看不懂他们再说什么。还有一些技术员一提起PID调节,就摇头,搞不懂呀!那么PID调节的实质是什么?通俗的概念是什么?我们通过图1进行分析
    发表于 08-07 08:00 13次下载
    <b class='flag-5'>PID</b>调节<b class='flag-5'>到底是</b>什么?<b class='flag-5'>PID</b>调节和<b class='flag-5'>PID</b>控制原理的<b class='flag-5'>详细</b>资料说明

    彻底搞懂PID到底是

    先来彻底搞懂PID到底是啥? PID,就是比例(proportional)、积分(integral)、微分(differential),是一种很常见的控制算法。在工程实际中,应用最为广泛的调节器控制
    的头像 发表于 11-13 18:21 2.2w次阅读

    正激有源钳位的详细分析

    正激有源钳位的详细分析介绍。
    发表于 06-16 16:57 56次下载

    电机PID实验--一文让你看透PID

    在对无人机,平衡车,智能车,倒立摆的学习过程中,我们可以常常听到一个比较常见的词-PID,那么PID到底是什么呢,到底它有什么作用呢?在这篇文章中我制作了一个基本的电机控制器,来探究
    发表于 01-14 11:31 18次下载
    电机<b class='flag-5'>PID</b>实验--一文让你看透<b class='flag-5'>PID</b>​