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

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

3天内不再提示

PID的模拟控制和数字控制实现 数字PID算法的两种类型

CHANBAEK 来源:嵌入式之入坑笔记 作者:嵌入式之入坑笔记 2023-08-22 11:02 次阅读

前面的文章已经介绍过什么是pid了,现在再回顾一下:

PID:是过程控制中常用的一种针对某个对象或者参数进行自动控制的一种算法

这一篇分享不打算再深究pid的理论知识,如果有不懂或者对pid感兴趣的朋友,可以自行查阅资料,或者看我前面的文章。

这次分享一下pid算法的常见实现和流程。主要简单分享一下pid的interwetten与威廉的赔率体系 控制实现和数字控制实现。

1、PID的模拟控制

在以前,计算机系统没这么发达的时候,那个时候很多的系统是通过硬件电子的方式去实现的。如果有观察过一些老物件的话,会发现以前那个时代的很多电子式的控制系统,都是很巨大很笨重的,里面满满的都是电子元器件

到了后面计算机威廉希尔官方网站 发展迅猛,很多的系统可以依靠软件算法实现了,也极大地减少了系统的元器件电子的使用,使得很多系统功能强大的同时还体积小巧轻便。

比如下图这个模拟反馈控制系统的示意图:

图片

上图是一个简单的模拟闭环反馈控制系统,它可以实现将被控量通过反馈回路反馈到输入端,从而对被控量和期望输出值进行比较,形成一个闭环的自动控制系统。

图中的模拟调节器的意思就是控制规律的方案是通过模拟硬件的方式来实现的,如果想要调整系统的控制规律就需要修改调节器的硬件。这就是模拟控制系统的意思。

而模拟PID的实现也是通过模拟电子器件搭建的电路实现的,通过电子元器件的方式实现比例、积分、微分单元,然后整合在一块组成一个控制系统,这就是模拟PID了。如下的示意图:

图片

模拟PID的微分方程如下:

图片

而PID调节器的传递函数如下:

图片

2、PID的数字控制

数字控制系统是以微型计算机作为控制器,通过软件的方式来实现控制规律的一种控制系统。当我们想要改变控制器的控制规律,一般只要通过改变相应的程序或者软件参数即可以实现改变控制规律。

数字控制系统的示意图如下:

图片

通过数字控制实现的PID的差分方程如下:

图片

3、数字PID算法的两种类型 — 位置式、增量式

数字PID:指的是PID控制算法的实现是通过计算机软件程序实现的,计算机需要对输入的连续信号进行采集,然后通过量化作为控制器的输入参数,从而经过算法的调节实现目标对象的控制。

PID控制算法在计算机系统中,一般都是采用的数值逼近的方法进行的。因为在很多的系统中,它一般都是连续的,而计算机要进行运算就要依靠计算机的运算,计算机的运算是离散的。所以想要让计算机能够实现PID算法程序,就必须要将PID算法的连续函数进行离散化,从而能够在计算中通过软件算法的方式实现。

一般而言,计算机实现PID算法的时候,在采样周期很小的时候,积分部分可以用对误差求和的方式代替,微分部分可以用差商的方式代替,从而实现将连续的PID算法的差分方程进行离散化,能够通过计算机实现。

数字PID主要有两种:位置式PID和增量式PID

3.1、位置式PID

位置式PID:指的是PID控制器经过运算输出的Uk是被控对象的实际控制量大小。

这个概念是不是咋一看有点拗口?不理解?别急,举个例子看看就知道了。

打个比方:我要进行一个阀门的控制,从而控制流体的流量大小。假设阀门的开度位置为0~100,当前阀门的开度在位置20的地方。现在我希望加大流体的流量,通过修改设定值,PID通过调节,最终输出控制量Uk=80,即这个时候阀门的开度要到80的位置。这就是位置式PID输出的是对被控对象的实际控制量大小的理解。

图片

再来位置式PID的离散公式。如下:

图片

式中:

图片

通过进一步整理,可以表示为:

图片

其中:

Kp - 比例系数
Ki - 积分系数;Ki = Kp*T/Ti;
Kd - 微分系数;Kd = Kp*Td/TT:采样时间
Ti:积分时间
Td:微分时间

从上面的公式可以看出,位置式PID只需要计算第K次和K-1次的误差即可,并且控制器会对偏差进行累加,也就是控制器的每次输出Uk都和过去的状态有关。

这也会带来一些问题,因为位置pid的输出Uk和以前的状态有关,如果控制器出现异常,那么可能会导致Uk的输出大幅变化,导致执行机构的状态大幅变化,严重的话可能会导致严重的生产事故。

另外,因为位置PID要对偏差进行累积,所以会导致系统的运算量变大,这对于运算性能不够好的计算机也是一种负担。

3.2、增量式PID

增量式PID:指的是控制器的输出是对被控对象的增量∆Uk,而不是实际的控制量大小。

怎么去理解增量式PID呢?

打个比方:比如我要控制一个步进电机转动的角度,步进电机转动之后所在的位置没有达到我们期望的位置,但是又快要接近了,这个时候PID控制器输出的是变化的增量,而不是实际的控制量。

这么说吧,假如我希望步进电机转动到角度120°,现在是115°了,所以只要再增加+5°的输出角度即可。如果因为控制超了,到了123°的位置,这个时候只要减少-3°即可。所以这种情况下控制的输出是增量变化,而不是实际的控制量大小。

图片

增量式PID的离散公式如下:

图片

整理如下:

图片

式中:

图片

从增量式PID的离散公式可以看到:增量式PID跟n时刻、n-1时刻、n-2时刻的偏差都有关系,但是不会对偏差进行累积,所以相比位置式PID的计算量要小,也不会跟过去的偏差有关联,所以控制的稳定性会更好。

4、数字PID算法的程序流程

上面分享了数字PID的离散化公式,代码也是有实现的,但是因为暂时还没整理好,就留着下次分享的时候再放上来吧。这里先放PID算法的程序流程图,其实说到这里,PID的算法也已经可以自己去实现了。

(1)位置式PID的算法实现的流程图

图片

(2)增量式PID的算法实现流程图

图片

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

    关注

    19

    文章

    7488

    浏览量

    87858
  • PID算法
    +关注

    关注

    2

    文章

    172

    浏览量

    24303
  • PID
    PID
    +关注

    关注

    35

    文章

    1472

    浏览量

    85484
  • 数字控制
    +关注

    关注

    2

    文章

    181

    浏览量

    25808
  • 模拟控制
    +关注

    关注

    1

    文章

    32

    浏览量

    15061
收藏 人收藏

    评论

    相关推荐

    数字PID控制算法的研究

    数字PID控制算法的研究
    发表于 06-13 11:42

    基于C语言的数字PID控制算法实现

    基于C语言的数字PID控制算法实现
    发表于 06-13 11:45

    PID算法与直流电机的PWM威廉希尔官方网站 控制相关资料分享

    威廉希尔官方网站 控制。本文围绕下面几个问题展开:什么是PID控制算法?  PID控制
    发表于 06-29 08:44

    什么是PID控制算法呢?PID控制算法有何作用

    什么是PID控制算法呢?PID控制算法有何作用?PID
    发表于 02-25 07:36

    数字PID控制实现威廉希尔官方网站

      目的:掌握数字PID控制算法在工程应用中的实现威廉希尔官方网站 ,包括采样周期、字长的选取,无扰切换与抗积分饱和
    发表于 10-20 16:09 39次下载

    数字PID控制实验

    数字PID控制实验 Ⅰ 标准PID 控制算法一.实验要求1. 了解和掌握连续
    发表于 05-15 00:18 8075次阅读
    <b class='flag-5'>数字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>实验

    位置式PID控制算法研究

    由51单片机组成的数字控制系统控制中,PID控制器是通过PID控制算法
    发表于 03-16 15:26 153次下载

    数字PID控制算法讲解

    数字PID控制算法是将模拟PID离散化得到,各参数有着明显的物理意义,调整方便,所以
    发表于 01-16 16:27 903次下载
    <b class='flag-5'>数字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>讲解

    如何利用高速dsp和准pid控制数字控制电源

    如何利用高速dsp和准pid控制数字控制电源?
    发表于 04-09 11:15 33次下载
    如何利用高速dsp和准<b class='flag-5'>pid</b><b class='flag-5'>控制</b>的<b class='flag-5'>数字控制</b>电源

    数字PID控制算法教程之如何对标准PID算法进行改进

    本文档的主要内容详细介绍的是数字PID控制算法教程之如何对标准PID算法进行改进主要内容包括了:
    发表于 12-04 08:00 15次下载
    <b class='flag-5'>数字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>教程之如何对标准<b class='flag-5'>PID</b><b class='flag-5'>算法</b>进行改进

    如何使用DSP进行数字PID控制器的设计

    基于数字信号处理器(DSP)TMS320I F 2407和外接D/A转换芯片,实现数字PID控制器,采用的
    发表于 01-02 16:30 34次下载
    如何使用DSP进行<b class='flag-5'>数字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>器的设计

    直流电机PID闭环数字控制器设计

    直流电机PID闭环数字控制器设计(核达中远通电源威廉希尔官方网站 有限公司电话号码)-直流电机PID闭环数字控制器设计,有需要的可以参考!
    发表于 09-15 15:39 40次下载
    直流电机<b class='flag-5'>PID</b>闭环<b class='flag-5'>数字控制</b>器设计

    数字PID控制的原理

    数字PID控制的原理 自从计算机和各类微控制器芯片进入控制领域以来,用计算机或微控制器芯片取代
    发表于 03-09 14:23 2008次阅读
    <b class='flag-5'>数字</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>的原理

    两种实现PID控制算法的技巧

    PID控制算法公式*
    的头像 发表于 05-19 16:45 775次阅读
    <b class='flag-5'>两种</b><b class='flag-5'>实现</b><b class='flag-5'>PID</b><b class='flag-5'>控制</b>的<b class='flag-5'>算法</b>的技巧

    PFC模拟和数字控制的比较 PFC对电网稳定性的贡献

    PFC模拟和数字控制的比较 功率因数校正(PFC)威廉希尔官方网站 是提高用电设备功率因数的关键手段,而模拟控制和数字控制则是
    的头像 发表于 12-16 15:55 151次阅读