PID 基础知识汇总_pid中p,i,d的作用和用处

2023-03-30 01:27:35

 

1.pid中的i的作用

很多都是拷前辈的,在这里先说声谢谢,就是为了纯洁的学习和应用:作者:自动化与仪器仪表链接:https://zhuanlan.zhihu.com/p/84418937

2.pid中pid分别的作用

No.1PID算法简介P指的是比例(Proportion),I指的是积分(Integral),D指的是微分(Differential)在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。

3.pid的d起什么作用

要想搞懂PID算法的原理,首先必须先明白P,I,D各自的含义及控制规律:01比例P:比例项部分其实就是对预设值和反馈值差值的放大倍数举个例子,假如原来电机两端的电压为U0,比例P为0.2,输入值是800,而反馈值是1000,那么输出到电机两端的电压应变为U0+0.2*(800-1000)。

4.pid的基本概念

从而达到了调节速度的目的显然比例P越大时,电机转速回归到输入值的速度将更快,及调节灵敏度就越高从而,加大P值,可以减少从非稳态到稳态的时间但是同时也可能造成电机转速在预设值附近振荡的情形,所以又引入积分I解决此问题。

5.pid的简单理解

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

6.pid的作用和每个的意义

可见,积分项的调节存在明显的滞后而且I值越大,滞后效果越明显03微分D:微分项部分其实就是求电机转速的变化率也就是前后两次差值的差而已也就是说,微分项是根据差值变化的速率,提前给出一个相应的调节动作可见微分项的调节是超前的。

7.pid各个作用

并且D值越大,超前作用越明显可以在一定程度上缓冲振荡比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。

8.pid的p和i和d意思

对偏差信号进行比例、积分和微分运算变换后形成一种控制规律“利用偏差,纠正偏差”No.2参数调整一般规则由各个参数的控制规律可知,比例P使反应变快,微分D使反应提前,积分I使反应滞后在一定范围内,P,D值越大,调节的效果越好。

9.pid各自的作用

各个参数的调节原则如下:

10.pid的作用

PID调试一般原则a.在输出不振荡时,增大比例增益Pb.在输出不振荡时,减小积分时间常数Tic.输出不振荡时,增大微分时间常数TdNo.3参数调整一般步骤由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。

这就给使用者带来相当的麻烦,特别是对初学者下面简单介绍一下调试PID参数的一般步骤:01确定比例增益P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,PID为纯比例调节输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。

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

积分时间常数Ti调试完成03确定微分时间常数Td微分时间常数Td一般不用设定,为0即可若要设定,与确定P和Ti的方法相同,取不振荡时的30%04 联调系统空载、带载联调,再对PID参数进行微调,直至满足要求。

No.4总结参数整定寻最佳,从大到小顺次查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大弯,比例度盘往小扳曲线偏离回复慢,积分时间往下降曲线波动周期长,积分时间再加长理想曲线两个波,调节过程高质量。

增量式PID和位置式PID的参数对比(我最讨厌那些简单看一下,就给我各种指手画脚的说,很简单,你应该如何做的“嘴上专家”)://增量式PIDfloat IncPIDCalc(PID_Typedef* PIDx,float SetValue,float MeaValue)

//err»ý·Ö·ÖÀë³£Êý{ PIDx->Error = SetValue - MeaValue; PIDx->PWM_Inc = (PIDx->P * (PIDx->Error - PIDx->PreError)) \

+ (PIDx->I * PIDx->Error) \ + (PIDx->D * ((PIDx->Error - PIDx->PreError) - (PIDx->PreError - PIDx->PrePreError)));

PIDx->PrePreError = PIDx->PreError; PIDx->PreError = PIDx->Error; return PIDx->PWM_Inc ;}//位置式PIDfloat LocPIDCalc(PID_Typedef* PIDx,float SetValue,float MeaValue)

{ u8 Index=1; PIDx->Error = SetValue - MeaValue; Intergral_Error+=PIDx->Error; if(abs(PIDx->Error)>250)

//积分分离 { Index=0; } else{ Index=1; } PIDx->PWM_Inc = (PIDx->P * PIDx->Error) \

+ (Index * PIDx->I * Intergral_Error) \ + (PIDx->D * (PIDx->Error - PIDx->PreError));

PIDx->PrePreError = PIDx->PreError; PIDx->PreError = PIDx->Error; return PIDx->PWM_Inc ;}首先先要明确,增量式pid和位置式pid本质是一样的,本次增量式pid的输出是由本次位置式pid的输出减去上次位置式的输出得到的。

对比一下位置式:u(k) =Kp*e(k)+Ki*∑e(k)+Kd[e(k)-e(k-1)]增量式:Δu(k) =Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]

可以看出增量式的KP和位置式的kd一样,增量式的ki和位置式的kp一样所以对于增量式的参数整定,应该先整定KI,它反映了响应的速度,再整定KP,它反映了对超调量的限制,也就是缓减增量式KI参数过大时候的抖动。

位置式PID:比例项只考虑现在有没有偏差,现在有偏差就开始控制,现在偏差越大,控制效果越明显积分项根据历史数据输出控制信号,如果历史总体超标就要减小输出信号,如果历史不达标那要大量输出控制信号微分项只关注偏差有没有变化趋势,偏差有了变化趋势才开始控制(而不是偏差存不存在),即偏差的变化率。

增量式PID:Δu(k) =Kp[e(k)-e(k-1)] + Ki*e(k) + Kd[e(k)-2e(k-1)+e(k-2)]Kp项是误差变化率Ki项是误差,Kd项是变化率的变化率 : e(k)-2e(k-1)+e(k-2)= [e(k)-e(k-1)] - [e(k-1)-e(k-2)]


以上就是关于《PID 基础知识汇总_pid中p,i,d的作用和用处》的全部内容,本文网址:https://www.7ca.cn/baike/9622.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜