首页 > 编程知识 正文

除了pid控制还有什么控制(pid加热控制介绍)

时间:2023-05-03 07:28:10 阅读:77147 作者:2500

PID是目前工程中使用最广泛、最稳定的方法,老实说,想要制作实际的东西,PID是必不可少的。 掌握PID是进行控制的基本。

本文会系统梳理PID控制,从基础的P控制器开始,PI控制器解决P控制器不能用大增益的问题,PID控制器解决PD控制器稳态误差不为0的问题。

文章乱码比较多,感兴趣可以看下面这个链接:

浅谈PID控制器的优缺点、改进方法? - Mr.Bo先生的答复-我知道https://www.zhi Hu.com/answer/1925148521

最简单的反馈控制器是pcontrolandfirst-ordererrordynamics,即PID中的p。 PID是比例-积分-微分控制的缩写。 如果你知道自动控制的原理,这是众所周知的。 其控制规则如下。

为了生成与位置误差theta_e(t )=(theta_d ) t )theta ) t )成比例校正控制,被称为比例控制器或p控制器的K_p0,换言之恒定的控制增益K_p是虚拟的这是因为所产生的控制信号是误差theta_e(t )的线性组合,也是其导数和积分。

theta_d(t )为常数时,dot(theta_d ) t称为setpoint control。 此时,错误动力学如下所示。

代入p控制器如下所示。

这显然是时间常数tau=1/K_p的一阶误差动力学方程,其阻尼指数误差响应如下图所示,稳态误差为零,无过冲,2%的沉降时间为4/K_p,更大的K_p意味着更快的响应

theta_d(t )不是常数,dot ) theta_d(t )=c时,误差动力学被代入p控制器。

处理一下:

求解微分方程式后,如下所示

时间无限接近时,它收敛到非零值c/K_p,与setpoint control不同,稳态误差e_{ss}为零,关节位置总是滞后于运动基准点。 虽然可以通过选择控制增益K_p来减小稳态误差c/K_p,但是K_p的大小受到实际情况的限制

那么你想以大增益怎么办? 出现比例积分控制器或PI控制器picontrolandsecond-ordererrordynamics,添加与误差对时间积分成比例的项:

PI控制器的框图如下。

theta_d(t )不是常数,dot ) theta_d(t )=c时,误差动力学被代入PI控制器。

上式求导时间:

利用前帖对二阶误差动力学的知识,分析了系统的固有频率omega_n=sqrt{K_i}、阻尼比zeta=K_p/2sqrt{K_i}经典模拟弹簧阻尼系统,

那么,当K_p、K_i0时,PI控制的误差动力学方程是稳定的,特征方程根据如下:

将K_p设定为20,下图显示了K_i在复平面上从0开始增长的根轨迹。

虽然省略了关于根轨迹图的讨论,但是可以画出以下的误差响应图。 罗马数字1、2、3分别对应于过衰减、临界衰减、欠衰减的响应。

针对临界阻尼情况(K_i=K_p^2/4),我们可以经常选择K_p,K_i,增加K_p,K_i,尽量加快误差响应。 但是,在实际情况的限制下不能取得较大的增益,在满足实际情况的情况下,尽量增大K_p

现在,让我们比较一下p控制器和PI控制器。 下图显示了p控制器和PI控制器尝试跟踪匀速轨道的性能。 两种情况下的比率

增益  K_p 是相同的,而对于P控制器  K_i=0 ,从响应的形状来看,似乎PI控制器的  K_i 选择的大了一些,使系统欠阻尼,但依旧很明显,PI控制器的  e_{ss}=0 ,而P控制器的  e_{ss}not=0 ,这与上面的分析一致。

如果期望的速度 dottheta_d(t)not=c ,PI控制器就不能完全消除稳态误差,但是,如果期望速度变化缓慢,那么一个设计良好的PI控制器可以提供比P控制器更好的跟踪性能。

左图为跟踪轨迹图,右图为误差响应

进入PID前,先看这个:

如上图,考虑摩擦等阻力,动力学方程就为:

式中:

 \ tau_{fric}=bdot theta,b>0

简写一下,就为:

Feedback Control: PID Control(线性比例-积分-微分控制或PID控制),PID控制器就是PI控制器加上与误差对时间的导数成比例的一项,控制律如下:

上式中增益  K_p,K_i,K_d 都是正的,比例增益  K_p 类似于一个弹簧,试图减少位置误差  theta_e=theta_d-theta ,微分增益  K_d 类似于一个阻尼器,试图减少速度误差  dottheta_e=dottheta_d-dottheta ,积分增益可用于减少或消除稳态误差。PID控制器方块图如图:

(1)PD Control and Second-Order Error Dynamics

如果  K_i=0 ,就称为PD控制,假设机器人在水平面上运动(g = 0),将PD控制律代入动力学,就有:

如果  theta_d 是常数,那么  dottheta_d=ddottheta_d=0 ,那么  dottheta_e=-dottheta,ddottheta_e=-ddottheta ,这时候误差动力学为:

写成二阶形式:

那么固有频率和阻尼比就为:

系统要稳定,那么  b+K_d,K_p 就要为正,如果误差动力学方程是稳定的,则稳态误差为零,如果不出现超调和快速响应,增益  K_d 和  K_p 应选择满足临界阻尼情况,如果想要快速响应,应选择尽可能高的满足实际问题的  K_p ,过高的  K_p 可能导致抖振(扭矩快速变化的情况)的发生。

如果其它条件不变,连杆在垂直平面上运动(g > 0),根据上面的PD控制律,误差动力学可以写成:

观察上式,你会发现在  K_ptheta_e=mgrcostheta 时,关节将保持静止,即  theta_dnot=pmpi/2 时稳态误差 theta_enot=0 ,因为机器人在  theta_dnot=pmpi/2 必须提供一个非零的力矩来保持连杆静止,但PD控制律只有在  theta_enot=0 会在静止时产生非零力矩,这就陷入了矛盾,想让稳态误差变成0,但它就不是0,当然我们可以通过增大  K_p 来降低稳态误差,但是,我们上面讨论了,  K_p 会受到实际情况的限制,那这种情况该如何解决?PID就出场了。

(2)PID Control and Third-Order Error Dynamics

为了消除稳态误差,我们通过设置  K_i> 0 让控制器化身PID控制器,下图展示了积分项加入控制器的效果:

左图为跟踪效果,中间为比例积分微分项各自的贡献,右图为控制情况

写出误差动力学:

 tau_{dist} 为扰动力矩代替了重力项  mgrcostheta ,上式两边求导,就有三阶误差动力学:

如果  tau_{dist} 是常数,那么上式的特征方程为:

如果特征方程的所有根都有负实部,则误差动力学是稳定的,且收敛于零,为了稳定还必须满足以下控制增益条件:

增益  K_i 必须同时满足一个下限和一个上限。合理的设计策略是选择  K_p,K_d 以获得良好的瞬态响应,然后选择  K_i (从下面的根轨迹可以看出  K_i 太大,系统是不稳定的)使其能够减少或消除稳态误差,但又不至于对稳定性产生显著影响,在上面左边那张图可以明显看出效果。

特征方程的根轨迹,讨论就略去了

实际使用中,对于许多机器人控制器  K_i=0 ,因为稳定性是最重要的,可以用其他方法限制积分控制不利稳定的问题,比如integrator anti-windup,对允许的误差积分的大小设置一个限制。

PID控制算法的伪代码如下图:

虽然上述的分析集中于setpoint control,但是PID控制器很好地适用于轨迹跟踪,当然,它不是什么时候都有用,积分控制并不能消除沿任意轨迹的跟踪误差。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。

  •  标签:  
  • pid