首页 > 其他分享 >PID自动(反馈)控制

PID自动(反馈)控制

时间:2023-07-19 10:46:50浏览次数:33  
标签:误差 系数 控制 积分 PID 反馈 自动 稳态

自动(反馈)控制

1.1 概述

自动控制(automatic control)是指在没有人直接参与的情况下,利用外加的设备或装置,使机器、设备或生产过程的某个工作状态或参数自动地按照预定的规律运行。

1.2 来源与原始形态

自动化控制技术的广泛应用则开始于欧洲的工业革命时期。瓦特在发明蒸汽机的同时,应用反馈原理,于1788年发明了离心式调速器。当负载或蒸汽量供给发生变化时,离心式调速器能够自动调节进气阀的开度,从而控制蒸汽机的转速。

1.3 例子

空调温控,车速控制。

2  PID控制

2.1  闭环自动控制技术的基础

当今的闭环自动控制技术都是基于反馈的概念以减少不确定性。

2.2  反馈理论的要素:测量、比较和执行

测量关键的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。

2.3  PID控制

在工程实际中,应用最为广泛的调节器控制规律为比例(proportion)、积分(integral)、微分(derivative)控制,简称PID控制,又称PID调节。

在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID算法已经有100多年历史,在四轴飞行器,平衡小车、汽车定速巡航、温度控制器等场景均有应用。

2.3.1       PID控制原理

 

r(t):所需的设定值、目标值;

y(t):测量的过程输出值、实际值;eg.每0.1s得到的车轮速度。

e(t):偏差是设定值(目标值)与过程值(实际值)的差(r(t)-y(t));通过反馈慢慢使之为0。

u(t):经过计算得到的控制变量,输入到控制器中。

$u(t)=K_p·e(t)+K_d×\frac{e(t)-e(t-1)}{\delta t}$

P : proportion(非负比例系数),就是偏差乘以一个常数。

I : integral(非负积分系数),就是对偏差进行积分运算。

D : derivative(非负微分系数),对偏差进行微分运算。

 eg.控制小车:将小车速度设定值r(t)为3m/s,由光电码盘测得速度为3.2m/s,即过程输出值y(t);偏差e(t)为-0.2m/s。

P:将-0.2m/s乘以一个系数(正)输入到控制器中,以减小输出的占空比,则车轮转速将降低,向设定值靠近。KP越大则调节的灵敏度越大,但过大可能会使实际速度低于3m/s(超调)。

I:只经过比例调节的小车,可能稳定后的速度为3.1m/s,存在稳态误差-0.1m/s;虽然误差很小,但是因为积分项也会随着时间的增加而加大,它推动控制器的输出增大,从而使稳态误差进一步减小,直到等于0。

D:小车中有些组件存在较大惯性或者滞后性,其变化总是落后于误差的变化。假设经比例调节后实际速度为3.1m/s,则设定速度与实际速度的差值由-0.2m/s变为-0.1m/s,e(t)的差分为0.1m/s2,将此差分乘以系数(正)加到控制变量中,相比只有比例环节减缓了速度降低的趋势(减小超调量)

调整方式

上升时间

超调量

安定时间

稳态误差

稳定性

↑ Kp

减少 ↓

增加 ↑

小幅增加 ↗

减少 ↓

变差 ↓

↑ Ki

小幅减少 ↘

增加↑

增加 ↑

大幅减少↓↓

变差↓

↑ Kd

小幅减少 ↘

减少↓

减少↓

变动不大→

变好 ↑

 

上表是独立增加参数的影响

2.3.2  PID数学表达

$u(t)=K_pe(t)+K_d\frac{de(t)}{dt}+K_i\int_t^0e(t')dt'$

$K_p,K_i,K_d$都是非负的,先$K_p$(比例项,调整效果最大),再$K_d$(微分项),最后$K_i$(积分项,消除误差)

2.3.1      PID参数整定

1.PID参数调整特点

难点不是编程,而是控制器的参数整定。

输入r(t)为阶跃响应。下图为不同参数下的输出y(t)响应。

理想:稳定、振高少、收敛快

① $K_p$增加,$K_i$ 、$K_d$不变

 

②$K_p$不变,$K_i$ 增加(少量增加),$K_d$不变

 

③$K_p$、$K_i$不变,$K_d$增加

PID系统输出影响:

(1)增大比例系数 使系统反应灵敏,调节速度加快,并且可以减小稳态误差

但比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定

(2)增大微分系数 可以减小超调量和稳定时间

(3)增大积分系数 会减小稳态误差,但会增大超调量和稳定时间

2.3.4  离散型PID

在计算机上进行PID调节时只能用离散型PID。

假设采样间隔为T,则在第kT时刻: 

偏差$e(k) = r(k) - y(k)$

积分环节用加和的形式表示,即$e(k) + e(k-1) + …$

差分环节用斜率的形式表示,即$e(k) - e(k-1)$

从而有位置式PID :

 $u(k)=K_pe(k)+K_d\frac{e(k)-e(k-1)}{\delta t}+K_i·\sum_{j=1}^k e(j)$

由两次的u(k)相减可以得到增量式PID:

 $\delta u(k) = u(k) - u(k-1)=K_p[]+K_Ie(k)+K_D[e(k)-2e(k-1)+e(k-2)]$

(1)增大比例系数 使系统反应灵敏,调节速度加快,并且可以减小稳态误差

但是比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定

(2)增大微分系数 可以减小超调量和稳定时间

(3)增大积分系数 会减小稳态误差,但会增大超调量和稳定时间

PID中三个参数,大体对应于控制系统的三个最重要的方面:

P对应“稳”,即稳定性,放大控制作用;I对应“准”,消除稳态误差;D对应“快”,对误差进行预判、做出快速反应。

用控制器使一锅水的温度保持在50℃

1. Kp比例增益

Kp比例控制考虑当前误差,误差值和一个正值的常数Kp(表示比例)相乘。需要控制的量,比如水温,有它现在的当前值,也有我们期望的目标值。

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

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

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

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

2. Kd微分增益

Kd微分控制考虑将来误差,计算误差的一阶导,并和一个正值的常数Kd相乘。

当比较接近目标时,P的控制作用就比较小了,越接近目标,P的作用越小。当有很多内在的或者外部的因素,使控制量发生小范围的摆动。由于P在接近目标时的作用小,整个系统不是特别稳定,总是在“抖动”,因此需要一个控制作用,让被控制的物理量的“变化速度”趋于0,即类似于“阻尼”的作用。

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

3. Ki积分增益

Ki积分控制考虑过去误差,将误差值过去一段时间和(误差和)乘以一个正值的常数Ki。设置一个积分量,只要偏差存在,就不断地对偏差进行积分(累加),并反应在调节力度上。

即使与目标值相差不是太大,但是随着时间的推移,只要没达到目标,这个积分量就不断增加。到了目标温度后,假设没有波动,积分值就不会再变动。

Ki的值越大,积分时乘的系数就越大,积分效果越明显,所以,I的作用就是,减小静态情况下的误差,让受控物理量尽可能接近目标值。

 【走直线的问题】

小车差分驱动(左、右轮分别用电机驱动,通过改变两个电机的转速实现小车前进和转向)仍是主流。两个电机驱动有差异且不可能完全相同,导致两个轮子转速不同,就使得小车本该直线行驶的轨迹发生偏移。运转过程中的扰动,如轮子瞬间打滑、有微小的障碍物等因素,都会导致左右轮不同速,从而“走偏”。

 

 


 

标签:误差,系数,控制,积分,PID,反馈,自动,稳态
From: https://www.cnblogs.com/asandstar/p/17564924.html

相关文章

  • GitLab + Jenkins + Docker 本地自动化部署
    GitLab+Jenkins+Docker本地自动化部署原创 贺大官人 猿起猿进 2023-07-1215:51 发表于浙江 GitLab+ Jenkins+ Docker+ Nginx 前端自动化部署 注GitLab 本地化部署——前端代码版本管理Docker+ Nginx 本地容器化部署前端项目——需手动上传......
  • (笔记)位置式PID与增量式PID区别浅析
    一、PID控制算法 什么是PID PID控制器以各种形式使用超过了1世纪,广泛应用在机械设备、气动设备和电子设备.在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法PID实指“比例proportional”、“积分integral”、“微分derivative”,这三项构......
  • 项目立项说明书:GPU自动化
    项目名称:GPU自动化项目概述:本项目旨在开发一个GPU自动化系统,通过编写脚本和使用自动化工具,实现对GPU的管理、监控和任务调度。该系统将提供一种方便和高效的方式来管理大规模GPU集群,优化资源利用和任务执行,并提供实时的性能监控和报告。项目目标:实现GPU资源的......
  • mysql 事务自动回滚
    MySQL事务自动回滚在MySQL数据库中,事务是一组原子性操作的集合,它们要么全部成功执行,要么全部失败回滚。事务可以保证在并发环境下数据的一致性和完整性。当一个事务执行出现错误或异常时,数据库会自动回滚到事务开始之前的状态,保证数据的完整性。事务的基本概念在MySQL中,事务由以......
  • 如何使用自动化构造随机路由模型
    为什么要仿真随机路由?路由器测试中,为了最大程度还原现网路由情况,评估路由器在现网环境下稳定工作各项指标,需要对导入路由进行离散仿真,目前路由仿真可分为导入路由与生成路由两种方式,导入路由需要现网路由表导入,本文讨论重点为生成路由方式。自动化生成路由能解决什么问题?使用用......
  • java-自动建表-按月份
    采用的是xxl-job任务调度importorg.apache.commons.io.FileUtils;importcom.xxl.job.core.biz.model.ReturnT;importcom.xxl.job.core.handler.IJobHandler;importcom.xxl.job.core.handler.annotation.XxlJob;importorg.slf4j.Logger;importorg.slf4j.LoggerFactor......
  • 审批自动化发布
    发布申请流程发布申请LarkPC或APP端通过「工作台」-「审批」查找创建飞书审批飞书&LarkPC或APP端:「工作台」-「审批中心」-「管理后台」创建审批审批设计保存approval_codeid订阅审批事件时需要创建应用开发者后台-创建应用https://open.larksuite.com/app添加订阅事件提......
  • 订单超时自动取消的技术方案解析及代码实现
    前言订单超时自动取消是电商平台中常见的功能之一,例如在淘宝、京东、拼多多等商城下单后,如果在一定的时间内没有付款,那么订单会自动被取消,是怎么做到的呢?作为技术人员我们应该了解自动取消的原理和实现逻辑,本文将介绍几种常用的技术方案,帮助开发者实现订单超时自动取消的功能。......
  • 电脑 主机名/设备名称(hostname) 被 自动 复原/复位 为 Administrator
    更改:文件:[Service.bat](C:\ProgramFiles(x86)\CommonFiles\AutodeskShared\NetworkLicenseManager\Service.bat)。注释掉包含'Administrator'(区分大小写)的行(×3)。::NLM::RegAdd"HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion"/vRegi......
  • 题解 Friendly Spiders
    FriendlySpiders带有技巧的最短路。如果\(u\)能到\(v\),说明\(\gcd(u,v)>1\),也就是有相同因子。所以我们考虑对于每个数\(u\),向他的所有质因子连一条长度为\(1\)的边,这样我们从\(u\)到\(v\)需要走两步,最终答案除以\(2\)即可。每次遇到一个新的因子,都要新建节点。......