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

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

3天内不再提示

LabVIEW中PID控制的的高级功能

jf_90592364 来源:jf_90592364 作者:jf_90592364 2023-10-24 14:30 次阅读

LabVIEWPID控制的的高级功能

比例-积分-微分(PID)控制占当今控制和自动化应用的90%以上,主要是因为它是一种有效且简单的解决方案。虽然PID算法最初用于线性、时不变系统,但现在已经发展到控制具有复杂动力学的系统。在现实世界中,所有系统都具有非线性组件,因此在使用PID等经典反馈控制时存在一些挑战。借助增益调度和级联PID等方法,能够使用相同的PID算法控制非线性系统。

1. 经典控制

最早反馈控制用于机械系统的控制。系统使用机械手段(例如浮球阀)来控制温度,速度和液位。现代基于计算机的控制系统通过进行传感器测量,将其与所需的设定值进行比较,然后根据该差异调整控制输出来利用反馈。例如,可以通过测量当前温度,将其与所需温度值进行比较,然后使用加热器或风扇将温度移近所需的设定值来完成控制温度。然后,困难在于弄清楚调整多少控制输出以实现最佳响应。加热器应该完全打开还是只打开一部分?基本的PID控制器将单个输入与设定值进行比较,并计算单个输出值以控制系统,并且算法假设响应将是线性的,不会随时间变化。

2. 增益调度

在非线性系统中使用PID的一种方法是通过增益调度技术。人们在PID控制中遇到性能问题的最常见原因是P、I和D的增益参数不正确。对于非线性系统,最佳参数可能会发生变化,具体取决于系统所处的“状态”。例如,许多系统在预热阶段表现出不同的特性,与运行一段时间后特性不同。另一个例子是,一旦达到某个设定点,就使用不同的增益参数,因为一旦处于稳态,系统就会做出不同的响应。增益调度是根据系统状态修改P、I和D增益参数的过程。这些状态可以通过某个持续时间来定义,甚至可以通过使用系统输入来定义。这种方法最适合具有可预测动态变化的系统,以便可以计算和应用预定增益。增益调度能够通过将过程划分为多个近似线性特征的部分来控制。然后,将每个部分调整为一组不同的参数,以最佳方式控制系统。使用LabVIEW中的PID工具包,这非常容易实现。

wKgZomU3ZHaAMwsxAACjkHnhSyI985.png

图1:LabVIEW中的PID增益调度

图1显示了如何使用PID增益Schedule.vi,根据设定值和测量值之间的电流差设置PID增益参数。在本例中,正在测量温度传感器,将温度传感器与用户定义的设定值进行比较。计算两个值之间的差值(也称为误差项),发送到增益调度程序。调度程序本身只是一组PID增益,这些增益根据输入进行索引。当温度接近设定值时,可以使用一组不同的增益参数来实现更好的控制响应。有许多不同的方法可以实现增益调度,一旦输入稳定在接近设定值附近,这种方法有利于通过增加积分增益或I项来减少稳态误差。

3. 避免整体清盘

PID控制器的积分参数连续对系统的误差项求和,这对于减少稳态误差非常有效。不断积分改误差的一个副作用是“清盘”的可能性。这是当累积误差导致测量信号超过基于控制器I项的所需设定值时。这也带来了长时间的延误和其他不稳定的影响。根据应用的不同,由于材料损失或周围硬件损坏,代价可能很昂贵,甚至很危险。尽管如此,当试图达到特定的设定点时,积分项使超调几乎不可避免。减少积分上链影响的一种技术是在系统开始稳定在设定点附近后重置累积误差。通过重置PID功能,仍然可以获得使用积分项减少稳态误差的好处,但不会导致大量过冲。这里是一个如何在LabVIEW中实现的示例。

wKgaomU3ZHeAE0IsAACkLFml9hU086.png

图2:通过复位PID.避免整体清盘

与增益调度示例类似,图2显示了一个温度传感器被读取,然后与用户定义的设定值进行比较。计算误差项,一旦在某个值(在本例中为0.25)内,PID功能就会复位,然后从该点开始仅积分稳态误差。

4. 非SISO系统

虽然PID算法适用于单输入单输出(SISO)系统,但通过软件定制,在多输入多输出(MIMO)系统中使用此控制器的方法有很多。

o不同输出的条件结构

o并联回路PID

o多个PID

wKgZomU3ZHiAPY6EAAC0bFh_mYs345.png

图3:单输入多输出(SIMO)示例

在图3中,有一个来自温度传感器的输入,然后是两个控制器输出或执行器,用于改变温度。PID可以输出正值和负值,因此,示例使用条件结构来决定何时使用每个执行器。假设输出通道1连接到加热器,输出通道2连接到风扇以冷却系统。如果PID输出值为正,那么希望通过将输出值写入加热器,并通过将零写入通道2来关闭风扇,来提高温度。但是,如果PID输出值为负,则假情况结构将输出值写入风扇,将零写入输出通道1。这是实现具有多个输出的PID的一种非常常见的方法。

5. 级联PID

wKgaomU3ZHiAIimiAADRXp6_nWU734.png

图4:级联PID示例

在本例中,我们将第一个PID函数的输出发送到第二个PID函数的输入中,从而减慢响应时间并使输出平滑到执行器。实现级联PID的更常用方法是使用来自系统的两个输入,例如提供有关位置和速度的信息。这种多输入、单输出(MISO)系统在运动或位置控制应用中非常常见。

wKgZomU3ZHiATs9zAADm4DrFuAo115.png

图5:位置速度级联PID示例

将位置编码器与所需的设定值进行比较,然后计算出的输出成为速度控制的设定值。当系统具有与速度成比例的固有延迟时,这一点尤其适用。例如,摩擦会导致系统滞后,具体取决于位置变化的速率。

6. 带前馈控制的PID

干扰解耦是基本PID控制的一种变体,有助于对干扰响应缓慢的系统。如果可以测量干扰,则可以立即调整补偿器输出以做出响应。例如,如果风扇将冷空气引入温度室,则可以立即增加加热器输出,而不是首先等待温度传感器附近的温度下降。

wKgaomU3ZHmAdOaJAADDNdVB9x8585.png

图6:带前馈控制的PID

在上图中,测量干扰传感器,乘以一些用户定义的增益值,然后添加到PID输出值中。如果干扰增加,补偿器输出通道将立即增加,以保持对系统的控制。这种方法并不总是必要的,因为增加传统PID补偿器的比例增益也会改善干扰抑制,并且不需要测量干扰。

这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。

审核编辑 黄宇

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

    关注

    2526

    文章

    48093

    浏览量

    740069
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    316993
  • PID
    PID
    +关注

    关注

    35

    文章

    1446

    浏览量

    83804
收藏 人收藏

    评论

    相关推荐

    什么是pid控制原理 pid各个参数对系统的影响

    PID(Proportional-Integral-Derivative)控制是一种常见的控制算法,广泛应用于工业过程控制、机器人控制、自动
    的头像 发表于 01-22 15:35 1315次阅读

    ADN8834在模拟控制方式PID控制完全在于Chopper2 amplifer对吗?

    在模拟控制方式PID控制完全在于Chopper2 amplifer对吗? 在数字控制方式
    发表于 01-03 10:52

    详解PID回路控制方案

    在实际工程中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。
    的头像 发表于 12-31 14:39 524次阅读
    详解<b class='flag-5'>PID</b>回路<b class='flag-5'>控制</b>方案

    单片机如何实现pid控制 基于pid控制的STM32代码实现

    PID控制算法是目前应用较为广泛的一种控制算法,PID控制具有参数可调、应用范围广、控制精度高等
    的头像 发表于 11-10 16:56 1912次阅读

    PID控制的过程怎么控制超调大小?

    PID控制的过程怎么控制超调大小
    发表于 10-10 07:56

    labview是什么软件?labview是什么语言?labview能实现什么功能

    labview是什么软件?labview是什么语言?labview能实现什么功能LabVIEW是一种图形化的编程语言,通常被用于数据采集
    的头像 发表于 08-31 17:23 3170次阅读

    如何使用DSP库PID控制功能

    优势 。 BSP 版本:M480系列BSP CMSIS V3.03.000 硬件: NuMaker-ETM-M487 v1.1 此样本演示了如何使用 DSP 库PID 控制功能
    发表于 08-31 07:58

    CPU调用PID软件功能和DSP PID库之间的性能差异

    : Nutiny-EVB-M451-LQFP100 V1.3 几十年来,成比例整体-整体-诊断(PID)控制器一直是运动和流程控制的主干,文件显示了CPU调用 PID 软件
    发表于 08-30 08:18

    CPU调用PID软件功能和DSP PID库之间的性能差异

    : Nutiny-EVB-M451-LQFP100 V1.3 几十年来,成比例整体-整体-诊断(PID)控制器一直是运动和流程控制的主干,文件显示了CPU调用 PID 软件
    发表于 08-22 07:20

    如何使变频器的PID控制功能有效

    PID调节属于闭环控制,是过程控制中应用得相当普遍的一种控制方式。PID控制是使
    的头像 发表于 06-26 14:17 3232次阅读
    如何使变频器的<b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>功能</b>有效

    LabVIEW宝典(入门篇/高级篇/应用篇)

    第一章:打开LabVIEW编程之门 第二章:LabVIEW基本函数 第三章:LabVIEW的程序运行结构 第四章:LabVIEW的数据结构及内存优化 第五章:字符串与文件存储
    发表于 06-06 15:53 0次下载

    PID控制原理!

    PID控制
    YS YYDS
    发布于 :2023年05月22日 15:45:12

    一文了解透彻PID控制

    ** PID是比例(Proportional)、积分(Integral)、微分(Derivative)的缩写,将偏差的比例、积分、微分通过线性组合构成控制量,用这一控制量对被控对象进行控制
    的头像 发表于 05-19 16:44 2114次阅读
    一文了解透彻<b class='flag-5'>PID</b><b class='flag-5'>控制</b>

    电机PID控制和闭环控制

    电机PID控制和闭环控制 1 PID控制 1.1 位置式PID 理论公式:
    发表于 05-06 11:48 2次下载
    电机<b class='flag-5'>PID</b><b class='flag-5'>控制</b>和闭环<b class='flag-5'>控制</b>

    电机控制中的PID

    FOC算法中的电流环,速度环都涉及到PID控制 PID又分位置式PID控制算法和增量式PID
    发表于 05-05 11:51 10次下载
    电机<b class='flag-5'>控制</b>中的<b class='flag-5'>PID</b>