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的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。

审核编辑 黄宇

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

    关注

    2573

    文章

    54359

    浏览量

    785772
  • LabVIEW
    +关注

    关注

    2013

    文章

    3681

    浏览量

    344159
  • PID
    PID
    +关注

    关注

    37

    文章

    1489

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Aerodiode高带宽激光锁定PID控制

    PID-C型激光锁定PID控制器专为实现宽达30MHz控制带宽内的最低噪声水平而设计。该设备采用触屏控制(无需电脑)的模块化设计,集成了
    的头像 发表于 10-22 07:48 163次阅读
    Aerodiode高带宽激光锁定<b class='flag-5'>PID</b><b class='flag-5'>控制</b>器

    CW32电机控制基础——PID控制原理

    的CW32L011无刷电机驱动器有感控制代码就用到了相关方法。也是电机控制必备知识。 1模拟PID控制原理 在模拟控制系统
    的头像 发表于 09-30 11:44 2042次阅读
    CW32电机<b class='flag-5'>控制</b>基础——<b class='flag-5'>PID</b><b class='flag-5'>控制</b>原理

    PID控制算法学习笔记资料

    用于新手学习PID控制算法。
    发表于 08-12 16:22 7次下载

    PID串级控制在同步发电机励磁控制的应用

    对自并励励磁系统进行了仿真分析,通过仿真结果的对比分析,说明神经网络预测-PID串级控制在励磁控制的应用提高了勋磁系统的动态性、稳定性和抗干扰能力. 纯分享帖,需要者可点击附件免费获
    发表于 06-16 21:56

    改进的BP网络PID控制器在无刷直流电机的应用

    通过分析学习速率对BP算法的影响,提出一种分层调整学习速率的改进BP 网络算法,并把该方法设计成 PID控制器应用在无刷直流电机控制系统,仿真结果验证了基于改进的 BP 网络的
    发表于 05-28 15:42

    LabVIEW运动控制(五):EtherCAT运动控制器的心跳检测功能

    LabVIEW心跳检测功能
    的头像 发表于 05-13 13:49 537次阅读
    <b class='flag-5'>LabVIEW</b>运动<b class='flag-5'>控制</b>(五):EtherCAT运动<b class='flag-5'>控制</b>器的心跳检测<b class='flag-5'>功能</b>

    用硬件电路去实现PID控制

    PID是一种非常经典的控制方法,该方法被广泛的应用在工业领域,通常PID算法是通过对希望控制的模拟量进行数字化采样后得到的数据与预先希望的数据进行做差,对得到的差值进行积分、微分与比例
    的头像 发表于 03-03 19:33 1941次阅读
    用硬件电路去实现<b class='flag-5'>PID</b>的<b class='flag-5'>控制</b>

    PID控制详解(可下载)

    ,尤其适用于可建立精确数学模型的确定性控制系 统。 在工程实际,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID
    发表于 02-27 15:42 6次下载

    资料免费下!PID电机控制系统(控制原理+控制算法+程序范例)

    资料免费下啦!本资料包括PID调节控制做电机速度控制、ourdevBasic PID的经典文章、PID测速、由入门到精通-吃透
    发表于 02-27 14:17

    PID发展趋势分析

    摘要:文档简要回顾了 PID 控制器的发展历程,综述了 PID 控制的基础理论。对 PID
    发表于 02-26 15:27

    PID控制算法的C语言实现:PID算法原理

    的是,在我所接触的控制算法当中,PID 控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典的经典。经典的未必是复杂的,经典的东西常常
    发表于 02-26 15:24

    西门子PID控制算法-FB块封装

    西门子的PID控制算法-FB(功能块)封装主要应用于工业自动化和过程控制系统,用于实现闭环控制
    的头像 发表于 12-30 11:01 2020次阅读
    西门子<b class='flag-5'>PID</b><b class='flag-5'>控制</b>算法-FB块封装

    ChatGPT新增实时搜索与高级语音功能

    。OpenAI对搜索算法进行了深度优化,使得ChatGPT能够在用户提出问题后,迅速获取到分钟级别的最新信息,包括股票、新闻等。这一功能的加入,极大地满足了用户对即时数据的需求,使得ChatGPT在各类应用场景更加得心应手。 同时,ChatGPT还推出了
    的头像 发表于 12-17 14:08 917次阅读

    LabVIEW程序代做,关于噪声测量方面,需要matlab与labview混合编程,涉及优化算法、PID控制等,可带价联系

    LabVIEW程序代做,关于噪声测量方面,需要matlab与labview混合编程,涉及优化算法、PID控制等,可带价联系QQ2789223947
    发表于 12-11 17:27