今天为大家介绍一下经典操控算法之一的PID操控办法。 PID操控办法从提出至今已有百余年历史,其因为结构简单、易于完成、鲁棒性好、可靠性高等特色,在机电、冶金、机械、化工等职业中使用广泛。
在大学期间,参加的智能汽车比赛中就运用到了PID经典操控算法,对于智能小车的调试愈加的便利。
一、PID原理
PID操控办法将差错的份额(proportional)、积分(integral)、微分(derivative)经过线性组合构成操控量,对被控目标进行操控。
惯例的PID操控体系如图所示:
体系的输入r(t)为操控量的目标输出值,输出y(t)为操控量的实践输出值,e(t)为输出量目标值与实践值的差错量,PID算法的调控是依据e(t)进行的。
份额调理是依据实践值与目标值的差错量进行线性调理, 在体系中表现为Kpe(t),Kp为份额增益。
份额增益Kp越大调理作用越激进,输入输出的细小差错都会形成很大的调理动作;相反的Kp越小调理作用越保守,即使输入输出差异很大体系的调理作用都不太明显。
积分调理是使用历史差错量的累计对体系输出进行调理,在体系种表明为:
积分调理的含义是消除体系的稳态差错。积分增益Ki越大体系的稳态差错消除的越快,Ki越小体系的稳态差错越不易消除,体系的调理精度越差。可是Ki过大会在呼应过程发生较大超调,导致积分饱满现象的发生。
微分调理是依据差错量的改动速率(差错求导)对体系输出进行调理,在体系种表明为:
微分调理主要起到阻尼的作用,按捺超调。微分增益Kd越大,体系的稳定性越好,调理过程中曲线动摇越小。可是Kd若设置过大会使得体系的调理时间添加,抗搅扰性削弱。
差错值在经过三种调理作用后会发生一个操控量u(t),u(t)将经过履行单元操控输出。体系将使用采样单元将输出反馈给输入端进行差错量计算。
惯例PID操控体系中u(t)与e(t)之间的函数联系如下:
分别调理Kp、Ki、Kd参数对PID操控体系功能的影响如下表所示:
二、数字PID操控
跟着计算机技术发展,目前多以微操控器或计算机为运算核心,使用软件程序来完成PID操控和校正,也便是数字PID操控。常用的数字PID操控办法有:方位式PID、增量式PID以及步进式PID等。
01
方位式PID
因为计算机的运算是离散的,要想完成数字PID操控首先需求将连续函数进行离散化。
咱们用差错的累加替代积分运算,用差错的差分替代微分运算,可得:
其中k为采样序列号(k=0,1,2,3……),e(k)为第k次采样时的差错值,e(k-1)为第k-1次采样时的差错值u(k)为第k次采样时操控量的输出值。在方位式PID中输出u(k)直接操控待操控目标,u(k)的值和操控目标是一一对应的联系。
从式2可以看出,方位式PID需求计算第k次和k-1次的差错,操控器会对差错进行累加,这样会使得体系的运算量变大,占用内存过多,给计算机带来担负。
同时,操控器的每次输出u(k)都和曩昔的状态有关,u(k)的大幅改动会导致履行机构的状态大幅改动,体系抗搅扰能力差。
为了改善这些问题,有学者提出了数字PID的别的一种完成办法——增量式PID。
02
增量式PID
增量式PID的输出是对被控目标的增量∆u(k),而不是实践的操控量巨细。
其中a0=kp+ki+kd, a₁=-Kp-2kd,a₂=kd。
从上式可以看出增量式PID跟k时间、k-1时间、k-2时间的差错都有联系,可是不会对差错进行累积,所以相比方位式PID的计算量要小,也不会跟曩昔的差错有相关,所以操控体系的稳定性好。
03
步进式PID
当PID体系的设定值发生较大的骤变时,体系很简单发生超调,影响其稳定性。为了防止阶跃信号带来的晦气影响,有学者提出了步进式PID。
步进式PID不对阶跃信号进行直接呼应,而是依照设定的步进规则逐渐添加设定值,使得信号逐渐靠近目标值,这样被控目标运行平稳,防止了因骤变带来的超调。
这种办法并未改动PID算法结构本身,而是对设定值进行步进处理,使其不发生骤变。步进处理办法有很多种,最为常见的是树立一个线性改动函数,确定改动步长,当检测到目标值发生改动后依照步长逐渐调整设定值。
Ys=Yn+kT
其中Ys为设定目标值,Yn为当时目标值,T为步长,k为改动系数。当检测到目标值添加时k=1,当目标值不变时k=0,当目标值减小时k=-1。
步进式PID尽管可以削减阶跃信号带来的搅扰,可是也会让体系的呼应速度变慢,可以调理步长来平衡两者之间的联系。步长越小运行越稳定,体系呼应速度越慢,反之亦然。
三、PID算法优化
01
积分饱满优化处理
若体系持续存在一个方向的差错时,PID操控器的输出因为积分作用不断累加而增大,然后导致操控器输出发生超调进入饱满区。
当体系呈现反向差错时,因为输出饱满而不能对反向的差错进行快速呼应,这种现象称为积分饱满。
常用按捺PID积分饱满办法有: 积分分离法、遇限削弱积分法以及变速积分法等。
//积分分离法
当体系检测到差错e(k)较大时,取消积分环节,当被控量接近给定值时,差错减小,此时康复积分环节。这样既不影响操控器的动态功能,又能防止呈现严峻超调或持续振荡现象。
//变速积分法
依据体系的差错e(k)巨细对积分速度进行调整,当e(k)绝对值很大时减慢积分速度,当e(k)绝对值很小时加快积分速度。在积分饱满时减小积分时间可以达到按捺积分饱满的作用,增强体系的适应性。
//遇限削弱积分法:
当检测到操控量u(k)进入饱满区时不再进行积分项累加,而履行削弱积分的运算。这样不会发生过多的超调量,当需求反向调理时能较快地呼应,防止输出长期停留在饱满区。
02
微分项优化处理
PID算法中微分项与差错的改动速率有关。如果体系存在频率较高的搅扰或骤变等状况时,微分项的数值会不断跳变,使操控过程发生体系振荡,影响操控体系的稳定性。
常用的微分环节优化办法如下:
//微分先行 :
微分项对测量值发生的差错起作用,而不是对设定值起作用。这样可以防止设定值的改动而发生较大的调理动摇,按捺高频搅扰引起的体系振荡。
//不完全微分 :
不完全微分是在微分作用后引进一阶惯性环节,使得在差错作阶跃式改动时发生的微分调理量,以一种较为平缓的办法输出。这样在不减小微分调理作用的前提下,降低因为差错骤变发生的动摇。
//受控微分法 :
受控量微分PID算法是对操控器的输出值进行微分,而不是对体系呼应的实践输出值进行微分,可防止因为体系设定值频频改动或履行器的振荡发生的体系呼应超调量过大。
03
串级PID
所谓串级PID,便是选用多个PID操控器串联工作,外环操控器的输出作为内环操控器的设定值,由内环操控器的输出去操纵外环操控器,然后完成外环被控量的操控作用。串级PID可以有效改善操控质量,在过程操控中使用广泛。
操控体系以外环操控器为主导,保证外环主变量稳定为意图,两个操控器协调一致,互相配合。外环操控器按负荷和操作条件的改动不断纠正内环操控器的设定值,使内环操控器的设定值适应负荷和操作条件的改动。
在电机操控中串级PID非常常见,常用的方位环+速度环+电流环操控结构如图。
在PID操控办法中P、I、D是三种不同的调理作用,在实践使用时可依据需求对三种调理作用进行灵活组合,这也是PID操控办法的魅力所在,它的结构决定了它在实践使用中的多样性与灵活性。
本篇主要从PID原理、数字PID完成办法以及算法优化方面进行了简单介绍,希望可以对大家学习PID算法有所协助。