首页 > 资讯 > 问答 > pid算法,什么是PID算法要详细一点的

pid算法,什么是PID算法要详细一点的

来源:整理 时间:2023-08-27 18:22:56 编辑:智能门户 手机版

本文目录一览

1,什么是PID算法要详细一点的

P proportion 比例 I integration 积分 D differentiation 微分 PID用于控制精度 比例是必须的,它直接影响精度,影响控制的结果 积分 它相当于力学的惯性 能使震荡趋于平缓 微分 控制提前量 它相当于力学的加速度 影响控制的反应速度.太大会导致大的超调量 使系统极不稳定.太小会使反应缓慢. 一般而言 PID调节是一个整体的说法 在实际中 PID的比例积分微分并非总是同时使用 PI调节和PD调节使用较多.

什么是PID算法要详细一点的

2,单片机中的PID算法是什么意思啊有什么用途呢谢谢

pid就是比例积分微分算法
PID算法是一种经典的控制算法.由比例/积分/微分组成.建议看看控制理论.PID就是比例积分微分控制,在工业里面应用非常广泛,据统计,现在有一半以上以上的工业系统直接应用PID控制.PID分模拟和数字,既然用到了单片机当然就得用数字了,另外PID还分理想,实际,微分先行,抗积分饱和等等,但都是在理想或者实际PID式子上面进行一些修改得来的.关于这方面的知识,建议你还是找一本控制理论书刊以下,很简单,但却是非常有用的,搞工业设计,不懂PID,说出来都没人信
就是一算法 用于控制

单片机中的PID算法是什么意思啊有什么用途呢谢谢

3,什么是PID 算法

PID是工业控制上的一种控制算法,其中P表示比例,I表示积分,D表示微分。以温度控制的PID程序为例:P(比例)表示在温度设定值上下多少度的范围内做比例动作,当温度越高,功率越小,温度越低,功率就越大,功率到底为多大,就看温度偏差值和比例区间的大小按反比关系计算。I(积分)也是一种比例,是温度偏差值的累积值与设定的一个值之间的反比关系,但要注意何时将温度偏差值的累积值清零。积分就好像当温度比设定值低很多而你有觉得温度升的慢的时候就使劲的加大功率一样。D(微分)是温度变化快慢跟功率的比值,即当你觉得温度上升的太快时,就降低功率,一阻止温度上升过快,反之当温度下降太快时,就加大功率以阻止温度下降太快一样。给我邮箱我可以给你发一份PID温度控制程序。

什么是PID 算法

4,pid积分比例 具体怎么算

调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节.PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。P:比例系数 I:积分时间 D:微分时间 比例(P)控制 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。 积分(I)控制 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。 微分(D)控制 在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会 出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

5,单片机中的PID算法

PID算法 下面对控制点所采用的PID控制算法进行说明。 控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分先行。 这三种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。1) PID增量式算法离散化公式: 注:各符号含义如下 u(t) 控制器的输出值。 e(t);;控制器输入与设定值之间的误差。 Kp;; 比例系数。 Ti;;积分时间常数。 Td;微分时间常数。 T;;调节周期。 对于增量式算法,可以选择的功能有: (1) 滤波的选择可以对输入加一个前置滤波器,使得进入控制算法的给定值不突变,而是有一定惯性延迟的缓变量。 (2) 系统的动态过程加速在增量式算法中,比例项与积分项的符号有以下关系:如果被控量继续偏离给定值,则这两项...PID算法 下面对控制点所采用的PID控制算法进行说明。 控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分先行。 这三种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。1) PID增量式算法离散化公式: 注:各符号含义如下 u(t) 控制器的输出值。 e(t);;控制器输入与设定值之间的误差。 Kp;; 比例系数。 Ti;;积分时间常数。 Td;微分时间常数。 T;;调节周期。 对于增量式算法,可以选择的功能有: (1) 滤波的选择可以对输入加一个前置滤波器,使得进入控制算法的给定值不突变,而是有一定惯性延迟的缓变量。 (2) 系统的动态过程加速在增量式算法中,比例项与积分项的符号有以下关系:如果被控量继续偏离给定值,则这两项符号相同,而当被控量向给定值方向变化时,则这两项的符号相反。 由于这一性质,当被控量接近给定值的时候,反号的比例作用阻碍了积分作用,因而避免了积分超调以及随之带来的振荡,这显然是有利于控制的。但如果被控量远未接近给定值,仅刚开始向给定值变化时,由于比例和积分反向,将会减慢控制过程。 为了加快开始的动态过程,我们可以设定一个偏差范围v,当偏差|e(t)|= β时,则不管比例作用为正或为负,都使它向有利于接近给定值的方向调整,即取其值为|e(t)-e(t-1)|,其符号与积分项一致。利用这样的算法,可以加快控制的动态过程。 (3) PID增量算法的饱和作用及其抑制 在PID增量算法中,由于执行元件本身是机械或物理的积分储存单元,如果给定值发生突变时,由算法的比例部分和微分部分计算出的控制增量可能比较大,如果该值超过了执行元件所允许的最大限度,那么实际上执行的控制增量将时受到限制时的值,多余的部分将丢失,将使系统的动态过程变长,因此,需要采取一定的措施改善这种情况。 纠正这种缺陷的方法是采用积累补偿法,当超出执行机构的执行能力时,将其多余部分积累起来,而一旦可能时,再补充执行。2) PID位置算法 离散公式: ;= 对于位置式算法,可以选择的功能有: a、滤波:同上为一阶惯性滤波 b、饱和作用抑制: (1) 遇限削弱积分法一旦控制变量进入饱和区,将只执行削弱积分项的运算而停止进行增大积分项的运算。具体地说,在计算Ui时,将判断上一个时刻的控制量Ui-1是否已经超出限制范围,如果已经超出,那么将根据偏差的符号,判断系统是否在超调区域,由此决定是否将相应偏差计入积分项。(2) 积分分离法在基本PID控制中,当有较大幅度的扰动或大幅度改变给定值时, 由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调量和长时间的波动。特别是对于温度、成份等变化缓慢的过程,这一现象将更严重。为此可以采用积分分离措施,即偏差较大的时,取消积分作用;当偏差较小时才将积分作用投入。 另外积分分离的阈值应视具体对象和要求而定。若阈值太大,达不到积分分离的目的,若太小又有可能因被控量无法跳出积分分离区,只进行PD控制,将会出现残差。 离散化公式:Δu(t) = q0e(t) + q1e(t-1) + q2e(t-2) 当|e(t)|≤β时 q0 = Kp(1+T/Ti+Td/T) q1 = -Kp(1+2Td/T) q2 = Kp Td /T 当|e(t)|>β时 q0 = Kp(1+Td/T) q1 = -Kp(1+2Td/T) q2 = Kp Td /T u(t) = u(t-1) + Δu(t) 注:各符号含义如下 u(t);;控制器的输出值。 e(t);控制器输入与设定值之间的误差。 Kp;;比例系数。 Ti;;;积分时间常数。 Td;;微分时间常数。 T;;;调节周期。 β;;; 积分分离阈值 (3) 有效偏差法当根据PID位置算法算出的控制量超出限制范围时,控制量实际上只能取边际值U=Umax,或U=Umin,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际的偏差计入积分累计。因为按实际偏差计算出的控制量并没有执行。 如果实际实现的控制量为U=U(上限值或下限值),则有效偏差可以逆推出,即:= 然后,由该值计算积分项 3) 微分先行PID算法 当控制系统的给定值发生阶跃时,微分作用将导致输出值大幅度变化,这样不利于生产的稳定操作。因此在微分项中不考虑给定值,只对被控量(控制器输入值)进行微分。微分先行PID算法又叫测量值微分PID算法。公式如下: 离散化公式: 参数说明同上对于纯滞后对象的补偿 控制点采用了Smith预测器,使控制对象与补偿环节一起构成一个简单的惯性环节。PID参数整定(1) 比例系数Kc对系统性能的影响: 比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。Kc偏大,振荡次数加多,调节时间加长。Kc太大时,系统会趋于不稳定。Kc太小,又会使系统的动作缓慢。Kc可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。如果Kc的符号选择不当对象状态(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kc的符号就一定要取反。 (2) 积分控制Ti对系统性能的影响: 积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。 (3) 微分控制Td对系统性能的影响: 微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。Td偏小时,超调量也较大,调节时间也较长。只有Td合适,才能使超调量较小,减短调节时间。

6,关于PID算法

所谓比例 ,就是调节量与调节系数成正比,加大比例系数的话肯定就加快调节了;但是为了不至于调节过量,引如了微分了积分调节,就是对应其中I D ,具体情况可以查查资料, 引入这些参数主要是为了保证控制系统的快速性以及稳定性 可以看看自动控制原理
http://www.ee.zsu.edu.cn/irp/uploadfile/netclass/CONTROL/lesson/ccs2/ccs2-2/ccs2-2-2/ccs2-2-2.htm
#include struct _pid { int pv; /*integer that contains the process value*/ int sp; /*integer that contains the set point*/ float integral; float pgain; float igain; float dgain; int deadband; int last_error; }; struct _pid warm,*pid; int process_point, set_point,dead_band; float p_gain, i_gain, d_gain, integral_val,new_integ;; void pid_init(struct _pid *warm, int process_point, int set_point) { struct _pid *pid; pid = warm; pid->pv = process_point; pid->sp = set_point; } void pid_tune(struct _pid *pid, float p_gain, float i_gain, float d_gain, int dead_band) { pid->pgain = p_gain; pid->igain = i_gain; pid->dgain = d_gain; pid->deadband = dead_band; pid->integral= integral_val; pid->last_error=0; } void pid_setinteg(struct _pid *pid,float new_integ) { pid->integral = new_integ; pid->last_error = 0; } void pid_bumpless(struct _pid *pid) { pid->last_error = (pid->sp)-(pid->pv); } float pid_calc(struct _pid *pid) { int err; float pterm, dterm, result, ferror; err = (pid->sp) - (pid->pv); if (abs(err) > pid->deadband) { ferror = (float) err; /*do integer to float conversion only once*/ pterm = pid->pgain * ferror; if (pterm > 100 || pterm < -100) { pid->integral = 0.0; } else { pid->integral += pid->igain * ferror; if (pid->integral > 100.0) { pid->integral = 100.0; } else if (pid->integral < 0.0) pid->integral = 0.0; } dterm = ((float)(err - pid->last_error)) * pid->dgain; result = pterm + pid->integral + dterm; } else result = pid->integral; pid->last_error = err; return (result); } void main(void) { float display_value; int count=0; pid = &warm; // printf("Enter the values of Process point, Set point, P gain, I gain, D gain \n"); // scanf("%d%d%f%f%f", &process_point, &set_point, &p_gain, &i_gain, &d_gain); process_point = 30; set_point = 40; p_gain = (float)(5.2); i_gain = (float)(0.77); d_gain = (float)(0.18); dead_band = 2; integral_val =(float)(0.01); printf("The values of Process point, Set point, P gain, I gain, D gain \n"); printf(" %6d %6d %4f %4f %4f\n", process_point, set_point, p_gain, i_gain, d_gain); printf("Enter the values of Process point\n"); while(count<=20) { scanf("%d",&process_point); pid_init(&warm, process_point, set_point); pid_tune(&warm, p_gain,i_gain,d_gain,dead_band); pid_setinteg(&warm,0.0); //pid_setinteg(&warm,30.0); //Get input value for process point pid_bumpless(&warm); // how to display output display_value = pid_calc(&warm); printf("%f\n", display_value); //printf("\n%f%f%f%f",warm.pv,warm.sp,warm.igain,warm.dgain); count++; } }
文章TAG:pid算法什么是PID算法要详细一点的

最近更新

  • tia,tia 是什么意思啊tia,tia 是什么意思啊

    tia是什么意思啊2,tia是什么计量单位缩写3,TIA中文是什么意思4,TIA是什么意思5,什么是TIA6,tia英文名7,有人知道日本女歌星Tia的详细资料吗8,tia是什么9,有人知道日本女歌星Tia的详细资料吗10,T.....

    问答 日期:2023-08-27

  • 峰均比,请问罗创科技PAPR是什么意思峰均比,请问罗创科技PAPR是什么意思

    请问罗创科技PAPR是什么意思2,电焊行业里有个词PAPR谁能给通俗的解释一下3,为什么一个余弦载波信号的峰均比papr为0DB按照峰均比的定义4,什么是峰均功率比5,峰均比非常感谢6,ofdm抑制峰均比.....

    问答 日期:2023-08-27

  • 紫光股份在大数据的布局紫光股份在大数据的布局

    就网上公布的紫光组的营收来看,紫光-2/占了比较重的比重。未来,我们无疑可以看到,它将是big数据的天下,它的功能将会越来越强大,随着大数据技术的应用,开发成本会越来越低,再加上人才数据,有哪.....

    问答 日期:2023-08-27

  • 阿里大数据排查,阿里数据中台阿里大数据排查,阿里数据中台

    数据分析是“大海捞针”阿里数据你挖到了吗?阿里巴巴达数据真的很牛逼吗?阿里巴巴应用大学数据包括什么?什么是大数据,大数据如何产生价值,大数据是否万能,应用边界在哪里?阿里巴巴把大数据作.....

    问答 日期:2023-08-27

  • 自动装砖机器人,装砖机器人视频自动装砖机器人,装砖机器人视频

    木纹砖扫机器人有用吗?木纹砖扫机器人作品。自动扫地机工作原理神奇智能扫机器人智能自动扫机器人在带给人们便捷舒适生活的同时,人们也会有很多疑问,科技感十足的智能扫-草坪砖机(草坪砖.....

    问答 日期:2023-08-27

  • 智能网联汽车技术,车联网核心技术是什么移动管家车联网模块TBOX和新能源车TBOX智能网联汽车技术,车联网核心技术是什么移动管家车联网模块TBOX和新能源车TBOX

    车联网核心技术是什么移动管家车联网模块TBOX和新能源车TBOX2,汽车网联技术有哪些3,汽车智能技术好学吗4,智能网联汽车技术好就业吗5,汽车智能技术专业学什么6,什么是汽车智联1,车联网核心技.....

    问答 日期:2023-08-27

  • RTK技术,RTK是干什么的RTK技术,RTK是干什么的

    RTK是干什么的2,工程测量中的RTKVRS技术的工作原理在工程建设中有哪些应用3,如何利用rtk做控制求高手指点很急4,RTK测量为什么需要基准站只用一台移动站不行吗原理是什么5,RTK技术测量的原.....

    问答 日期:2023-08-27

  • ipv6前缀,在ipv6协议中地址类型是由格式前缀区分的ipv6可聚合全球单播地ipv6前缀,在ipv6协议中地址类型是由格式前缀区分的ipv6可聚合全球单播地

    在ipv6协议中地址类型是由格式前缀区分的ipv6可聚合全球单播地2,IPv6前缀为peco的表示这段地址为什么地址3,IPv6地址格式详解ipv6地址格式怎么写4,IPV6地址格式分析谢谢5,RIPng的定义RIPng.....

    问答 日期:2023-08-27