pd调节规律_pid算法原理及调整规律解析

在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、…)。

控制点包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分先行。 这三种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。

PID算法简介

在智能车竞赛中,要想让智能车根据赛道的不断变化灵活的行进,PID算法的采用很有意义。

首先必须明确PID算法是基于反馈的。一般情况下,这个反馈就是速度传感器返回给单片机当前电机的转速。简单的说,就是用这个反馈跟预设值进行比较,如果转速偏大,就减小电机两端的电压;相反,则增加电机两端的电压。

顾名思义,P指是比例(Proportion),I指是积分(Integral),D指微分(Differential)。在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。要想搞懂PID算法的原理,首先必须先明白P,I,D各自的含义及控制规律:

² 比例P:比例项部分其实就是对预设值和反馈值差值的发大倍数。举个例子,假如原来电机两端的电压为U0,比例P为0.2,输入值是800,而反馈值是1000,那么输出到电机两端的电压应变为U0+0.2*(800-1000)。从而达到了调节速度的目的。显然比例P越大时,电机转速回归到输入值的速度将更快,及调节灵敏度就越高。从而,加大P值,可以减少从非稳态到稳态的时间。但是同时也可能造成电机转速在预设值附近振荡的情形,所以又引入积分I解决此问题。

比例控制理解

首先是比例控制。比例控制就好比是通过水桶往水缸加水或者从水缸舀水。假设我们需要把水平面稳定在A平面,而实际水平面在B平面,那么水平面差值Err=A-B,那这个时候我们需要往里面加水的量就是Kp*Err,Kp就是我们的比例控制系数。

如果A》B,Err为正,就往水缸里面加水;如果A《B,Err为负,就从水缸里面舀水出来。那么只要预期水平面和实际水平面有差值,我们都会通过水桶去加减水来调整系统。同时Kp的大小也有对系统的性能有影响。如果Kp的值比较大,优点是从B平面达到A平面的速度快,缺点是在B平面已经接近A平面的时候系统会产生比较大的震荡。如果Kp的值比较小,优点是B平面在接近A平面的时候系统震荡小,缺点是从B平面达到A平面的速度慢。

这里也许有人会有疑问,如果这里把比例控制系数Kp直接设置成1,然后加水的量直接为Err=A-B不就可以了。然而实际上很多系统是做不到这点的。比如温度控制系统,实际温度为10度,我要通过加热把温度提升到40度,这里难道我们能一次性准确的给系统加30度?显然这是做不到的。那么比例控制的最终结果是Err的值趋向于0。比例控制部分公式如下图:

² 积分I:顾名思义,积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累加。当差值不是很大时,为了不引起振荡。可以先让电机按原转速继续运行。当时要将这个差值用积分项累加。当这个和累加到一定值时,再一次性进行处理。从而避免了振荡现象的发生。可见,积分项的调节存在明显的滞后。而且I值越大,滞后效果越明显。

积分控制理解

积分控制部分的作用主要是用来消除静差。那么积分是怎样来消除静差的呢?

比例控制只能尽量将Err调节到0,而微分的作用是将曲线的斜率控制到0则停止对其作用,但斜率为0的时候Err并不一定为0。

这个时候我们就需要积分来起作用了。我们知道曲线的积分相当于曲线与x轴围出来的面积。如下图,积分作用的目的是使红色部分的面积和蓝色部分的面积的和为0,那么即使系统在比例控制和微分控制部分已经趋于稳定,只要Err不为0就会存在静差,只要存在静差那么积分就会对系统产生影响,直到系统的Err值为0。那么这样我们的PID控制在理论上就可以达到一个非常精确的控制效果。

来看看我们的积分公式部分:

² 微分D:微分项部分其实就是求电机转速的变化率。也就是前后两次差值的差而已。也就是说,微分项是根据差值变化的速率,提前给出一个相应的调节动作。可见微分项的调节是超前的。并且D值越大,超前作用越明显。可以在一定程度上缓冲振荡。比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。

微分控制理解

然后我们先看看微分控制。在我们的比例控制的作用下,Err是开始减小的(假设一开始预期水平面A大于实际水平面B,也就是说Err是一个正值),那么也就是说Err随时间是一条斜率小于0的曲线,那么在周期时间内,Err越大,微分的绝对值越大,那么也就对Err的减小速度是起到抑制的作用的,直到最后斜率为0微分才会停止作用。微分公式如下:

那么随着微分的影响,Err曲线的斜率最终是趋向于0的,如下图:

二、参数调整一般规则

由各个参数的控制规律可知,比例P使反应变快,微分D使反应提前,积分I使反应滞后。在一定范围内,P,D值越大,调节的效果越好。各个参数的调节原则如下:

PID调试一般原则

a. 在输出不振荡时,增大比例增益P。

b. 在输出不振荡时,减小积分时间常数Ti。

c. 输出不振荡时,增大微分时间常数Td。

三、参数调整一般步骤

a.确定比例增益P

确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。

b.确定积分时间常数Ti

比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。

c.确定积分时间常数Td

积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。

d.系统空载、带载联调,再对PID参数进行微调,直至满足要求

找三个以上PID算法应用实例,结合实例明确参数调试的方法以及参数的意义,同时给小组成员做介绍

一、PID算法:

比例、积分、微分控制,简称PID控制,又称PID调节;

二、应用环境:

当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定;(由于赛道的参数事先未知,所以只能根据实时采集到的赛道数据控制小车沿着赛道行进)

三、PID算法应用实例

四、参数调整

PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下:

(1)确定比例系数Kp

确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。

(2)确定积分时间常数Ti

比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。

(3) 确定微分时间常数Td

微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。

(4) 系统空载、带载联调

对PID参数进行微调,直到满足性能要求。

PID代码

//定义变量

float Kp; //PI调节的比例常数

float Ti; //PI调节的积分常数

float T; //采样周期

float Ki;

float ek; //偏差e[k]

float ek1; //偏差e[k-1]

float ek2; //偏差e[k-2]

float uk; //u[k]

signed int uk1; //对u[k]四舍五入取整

signed int adjust; //调节器输出调整量

//变量初始化

Kp=4;

Ti=0.005;

T=0.001;

// Ki=KpT/Ti=0.8,微分系数Kd=KpTd/T=0.8,Td=0.0002,根据实验调得的结果确定这些参数

ek=0;

ek1=0;

ek2=0;

uk=0;

uk1=0;

adjust=0;

int piadjust(float ek) //PI调节算法

{

if( gabs(ek)《0.1 )

{

adjust=0;

}

else

{

uk=Kp*(ek-ek1)+Ki*ek; //计算控制增量

ek1=ek;

uk1=(signed int)uk;

if(uk》0)

{

if(uk-uk1》=0.5)

{

uk1=uk1+1;

}

}

if(uk《0)

{

if(uk1-uk》=0.5)

{

uk1=uk1-1;

}

}

adjust=uk1;

}

return adjust;

}

下面是在AD中断程序中调用的代码。

。。。。。。。。。。。

else //退出软启动后,PID调节,20ms调节一次

{

EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);//误差较小PID调节稳住

if(EvaRegs.CMPR3》=890)

{

EvaRegs.CMPR3=890; //限制PWM占空比

}

}

下面是在AD中断程序中调用的代码。

。。。。。。。。。。。

else //退出软启动后,PID调节,20ms调节一次

{

EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);//误差较小PID调节稳住

if(EvaRegs.CMPR3》=890)

{

EvaRegs.CMPR3=890; //限制PWM占空比

}

}

打开APP精彩内容

点击阅读全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uefi启动如何进入

前提是你的主板是12年后出的,支持Uefi功能,我们进入Bios,选择secure boot,选择为enabled 再选择Exit,选到最下面os optimized defaults 选择other os 再点boot,看到UEFI boot 选择enabled启用 开机的时候,按快捷热键…

warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRLF the next time Git

warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRLF the next time Git 换行符的问题,Windows下换行符和Unix下的换行符不一样,git会自动转换,但是这样有问题,所以解决方法如下: …

liunx宝塔配置https_宝塔面板安装教程

宝塔面板安装教程原创 计科青年 今天首先登陆阿里云官网登陆你买的阿里云服务器打开服务器控制台,点击购买的服务器,点击实例,就可以看见自己的公网IP。1.下载Xshell6远程连接软件,打开软件点击文件新建这里推荐大家使用Xshell6进…

支援 Chrome 插件:微软 Chromium 内核 Edge 浏览器可以下载啦!

微软筹备已久的 Chromium 版 Edge 浏览器,终于面向 Windows 10 用户开放了首批测试版本,目前属 Canary 的预览版会进行每天更新,所以 bug 而言也会比较多。对于开发者版本则会进行每週更新,预计更为稳定的 beta 公测版会也快将推出…

java用户角色权限管理 只显示姓_快递物流管理系统SSM,JQUERYEASYUI,MYSQL

快递物流管理系统(SSM,JQUERY-EASYUI,MYSQL)(毕业论文27564字,共78页,程序代码,MySQL数据库) 全套项目下载地址: http://woc.xin/WQBgtE【运行环境】 Eclipse, IDEA JDK1.7(JDK1.8) Tomcat7(Tomcat8)【技术栈】 JAVA, JSP, SSM, JQUERY, JQUERY EASYUI, MYSQL, HTML, CSS, JAVA…

微软推行 Windows 10 更新政策 往后不会太强硬要求升级!

Microsoft 以往每月一次为 Windows 系统推出的「月经」性安全更新,以及每半年一次的大规模功能更新都使用户们对 Windows 10 望而却步。原因在于,每次更新都带来大量问题,轻则系统无回应,重则不能开机甚至个人档案被错误删除。而现…

判刑后再上诉会改判吗_近视眼手术后还会再近视反弹吗?有哪些后遗症,温州眼科专家告诉你...

经过几代的更新发展,近视眼手术的技术已相当成熟。激光近视手术受到越来越多近视患者的青睐,飞秒激光近视手术俨然成为目前矫正近视的新潮流。很多人以为,有了近视手术后便不需要注意近视的防控。轻松摘镜的背后,是彻夜狂欢&#…

dev c++调试怎么看变量的值_利用GDB调试 MSQL

原创 张政俊 老叶茶馆来自专辑MySQL修行作者:张政俊就职于中欧基金,知数堂粉丝,数据库爱好者,熟悉RDBMS、nosql、new sql等各类数据库。啃完Oreilly的《高性能mysql》、姜老师的《MySQL技术内幕》,再加上个2,3年的实战…

怎样进入pe重建硬盘

怎样进入pe重建硬盘,一起来了解一下如何进入pe重建硬盘吧。 同时按住winR键打开运行窗口,在运行窗口中输入control,点击确定。 打开控制面板后点击索引选项。 在索引选项界面,点击高级。 点击重建,确定即可。 win7…

案例 自动办公_办公自动化案例教程(双色)(含微课)

办公自动化案例教程(双色)(含微课)ISBN:978-7-5165-1852-6作者:贺鑫 彭卫华 李胜华定价:48.00元出版社:航空工业出版社适用层次:通用出版日期:2020-05-01项目一 使用Word制作常用公文项目描述学习要点任务一 制作行政…

移动硬盘在电脑中怎么打开很慢

在打开移动硬盘时,会卡住很久才打开,这是怎么回事呢?下面分享电脑打开移动硬盘很慢的解决方法。 打开开始,运行中输入:regsvr32 /ushmedia.dll回车即可解决。 regsvr32 /u shmedia.dll是用来解除shmedia.dll文件的注册&#xf…

qtabwidget放大_Qt自定义弹窗屏蔽父窗口(QWidget设置setWindowModality(Qt::ApplicationModal);以后再show)...

写Qt程序时遇到一个问题: Qt自带的弹窗功能单一,所以须要自己用ui设计弹窗的内容,这样弹窗就和普通窗口一样了,但问题是这个弹窗显示后父窗口还是活动的.网上找了很久找到了解决办法: Qt::WindowFlags flags Qt::Dialog; mycom->setWindowFlags(flags); mycom->setWindo…

电脑上我的文档图标不见了怎么办

1、点击开始菜单,选择控制面板,外观和个性化,点击个性化,点击更改桌面图标。 2、在打开的桌面图标设置窗口界面中,勾选用户的文件,点击确定即可。 使用教程yunqishi.net/dnjc/

nar神经网络_NAR 神经网络多步和单步预测

% Solve an Autoregression Problem with External Input with a NARX NeuralNetwork解决一个NARX神经网络的外部输入自回归问题% Script generated by Neural Time Series app脚本由神经时间序列程序生成% Created 28-Mar-2017 10:42:15%% This script assumes these variable…

电脑中找不到ie浏览器怎么办

在开始菜单中找到控制面板,然后打开控制面板中的程序和功能查看一下浏览器是否还存在。如果还在的话,按一下目录找到C:Program FilesInternet Explorer,然后将Iexplorer.exe快捷方式发送到桌面即可。 若没有的话,控制…

柱形图无数据可选中_Excel – 如何制作出上下层排列的柱形图?

如何将同一个数据表中的不同数据列排列成上下两层柱形图?案例:将下图 1 的数据表制作成柱形图,要求将销量和利润的柱形分成两个图表上下排列。效果如下图 2 所示。解决方案:1. 选中整个数据表区域 --> 选择菜单栏的“插入”--&…

电脑重装系统后没声音怎么办

1、如果要设置声响的话,首先就要打开控制面板,找到声响选项之后选种打开。在出现的播放选项卡下方就会出现面扬声器的图像,直接双击打开,在出现的级别选项卡里面将喇叭状的按钮设置成正常的状态。 2、如果是麦克风没有声音的话&a…

设备管理器打开后显示空白的解决方法

1.使用组合快捷键win键r键,打开运行窗口,输入services.msc回车确认,打开服务窗口。 2.在服务窗口中,找到Plug and Play右键选择打开属性选项进入下一步操作。 3.在打开的本地计算机属性窗口中,切换到常规项&#xff…

html画布360图案填充_在Photoshop中创建带有图案的抽象设计

效果图知识点:应用选区工具结合图层混合模式和混合选项,创造出唯美的抽象类画册 效果设计本身由一系列同心圆组成,每组的大小各不相同。每个圆都有6个核心色板的底色,然后渐变和图案填充会增加细节和深度。我们需要创建图案填充。…

emd实现信息隐藏_EMD算法原理与实现

欢迎关注我们,选择加"星标"或“置顶”更多技术,第一时间送达SSVEP信号中含有自发脑电和大量外界干扰信号,属于典型的非线性非平稳信号。传统的滤波方法通常不满足对非线性非平稳分析的条件,1998年黄鄂提出希尔伯特黄变换…