位置式pid,位置式和增量式PID算法是否有本质区别它们的区别在哪里
来源:整理 编辑:智能门户 2025-01-17 08:11:49
本文目录一览
1,位置式和增量式PID算法是否有本质区别它们的区别在哪里
没有本质区别,就是数字pid的两种不同 表示形式而已,在计算一些题目时,根据题的具体内容选择适合的方法,一个直接输出控制量,一个输出控制量的增量可通过累加得到控制量,应用场合不同,有些比如步进电机进给控制位移,适合用增量式,被控对象本身有积分功能,电机速度控制可以选择位置式,直接输出控制电压。但也不绝对,看应用需要
2,为什么位置式是PID输出就是最终的控制量不清楚过程
(1)位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大;(2)增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。(3)由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。
3,求离散化的位置型PID输出的值
1、一般用增量式算法2、取值范围要根据具体要求来确定,一般比例环节会取得大一些,可以在两位数、三位数,可以跨数量级进行比较,而且比例环节的调整一般是在第一步进行,先于积分和微分;积分环节主要是为了消除稳态误差,一般教学式机构速度调节选在10以内,其他情况可以去实践;微分主要是用于控制超调,取值范围和积分环节差不多。一般在选定时先假设kp,然后保持kp恒定,组合调节ki和kd,以消除稳态误差和减小超调,可以根据你的电机功率来定。3、光电编码器就是作为传感器提供反馈信号的,可以那么用4、模糊控制我只做过根据控制规则得出查询表,没弄过PID,帮不了了
4,我不懂位置式PID和增量式PID的区别我要控制电机实现智能车跑
位置式PID输出是绝对量,如4-20mA中的12mA,增量式PID输出是相对变化量,如0mA.首先增量式PID是位置式PID的演化。它们的主要区别在于:1:增量式PID的计算量相对较小,因为是计算的是增量,所以对执行部件的扰动较小,一般采用带死区的控制。对于智能车的舵机控制增量式PD是不错的选择,为什么不用积分I呢?不仅仅是因为积分滞后特性,更重要的是因为根据对转向机构进行建模,得出的模型中就已经含有积分环节,所以转向舵机建议采用PD。2:位置式PID计算量比增量式PID稍微多一点。一般用于直流电机的控制,对于智能车的驱动电机控制是一个不错的经典控制算法。希望对你有所帮助。你好!位置式PID输出是绝对量,如4-20mA中的12mA,增量式PID输出是相对变化量,如0mA.打字不易,采纳哦!
5,位置式PID
不会!!!!!你对位置式PID中的位置一词有误解。位置式PID中的位置并非你所理解的是电机的位置,这里的位置是指PID计算结果与信号的对应关系。位置式PID的计算结果就表示多少信号,例如:工业设备通常采用4mA~20mA控制信号,PID计算结果用0~1来表示,那就是说明用0来表示应该向设备输如4mA的控制信号,0.5则表示向设备输如12mA的控制信号,1则表示向设备输如20mA的控制信号。有些设备使用的是增量式PID,增量式PID的计算结果则表示控制信号量增多或减小多少,例如:还是使用4mA~20mA控制信号,若当前控制信号大小为6mA,而增量式PID的计算结果为0.2,则表示控制信号应该从6mA增大到6mA+(20mA-4mA)*20%=9.2mA;若当前控制信号大小为16mA,而增量式PID的计算结果为-0.2,则表示控制信号应该从16mA减小到16mA-(20mA-4mA)*20%=12.8mA。通常位置式PID计算结果用0~1来表示控制信号的绝对大小,而增量式PID计算结果用-1~1来表示控制信号的相对大小。若出现这些范围之外的值时,应该在计算上做一些限制处理。
6,求一下增量式和位置式PID的C语言程序
增量式PID:typedef struct float scope; //输出限幅量 float aim; //目标输出量 float real_out; //实际输出量 float Kp; float Ki; float Kd; float e0; //当前误差 float e1; //上一次误差 float e2; //上上次误差 }PID_Type; #define min(a, b) (a<b? a:b) #define max(a, b) (a>b? a:b) #define limiter(x, a, b) (min(max(x, a), b)) #define exchange(a, b, tmp) (tmp=a, a=b, b=tmp) #define myabs(x) ((x<0)? -x:x) float pid_acc(PID_Type *pid) float out; float ep, ei, ed; pid->e0 = pid->aim - pid->real_out; ep = pid->e0 - pid->e1; ei = pid->e0; ed = pid->e0 - 2*pid->e1 + pid->e2; out = pid->Kp*ep + pid->Ki*ei + pid->Kd*ed; out = limiter(out, -pid->scope, pid->scope); pid->e2 = pid->e1; pid->e1 = pid->e0; return out; }位置式PID:typedef struct float scope; //输出限幅量 float aim; //目标输出量 float real_out; //反馈输出量 float Kp; float Ki; float Kd; float Sum; float e0; //当前误差 float e1; //上一次误差 }PID_Type; #define max(a, b) (a>b? a:b) #define min(a, b) (a<b? a:b) #define limiter(x, a, b) (min(max(x, a), b)) float pid_pos(PID_Type *p) float pe, ie, de; float out = 0; p->e0 = p->aim - p->real_out; //计算当前误差 p->Sum += p->e0; //误差积分 de = p->e0 - p->e1; //误差微分 pe = p->e0; ie = p->Sum; p->e1 = p->e0; out = pe*(p->Kp) + ie*(p->Ki) + de*(p->Kd); out = limiter(out, -p->scope, p->scope); //输出限幅 return out; }亲手移植到我的stm32小车上 调试3个参数后正常使用。
文章TAG:
位置 式和 增量 算法 位置式pid
大家都在看
-
丰铭自动化设备怎么样,非标自动化设备行业前景怎么样?
2023-12-31
-
智联招聘 没有数据,为什么我的智联招聘搜不到任何岗位?
2024-01-07
-
驰越自动化科技有限公司,上海海越自动化科技有限公司
2024-01-08
-
英文描述自动化设备,自动化设备有限公司 英文
2024-01-14
-
自动化设备万向脚轮供应商,脚轮自动化组装设备
2024-02-09
-
若琪机器人 创始人,机器人的创始人
2024-02-14
-
上海蜀海自动化设备有限公司,竖亥供应链上海分公司
2024-02-25
-
酷派手机 系统自动下载安装游戏
2024-03-02
-
一流的智能机器人,什么叫智能机器人?
2024-05-14
-
蒙城自动化设备,茶叶自动筛选机械设备有何用处?
2024-06-14
-
橘子机器人写作,橘子采摘机器人
2024-07-01
-
直播语音机器人,vivo有没有智能语音机器人
2024-07-01
-
铝箔设备自动化电气控制,自动铝箔餐盒设备传送
2024-07-03
-
自动化控制专业 高校,哈尔滨工业大学自动化专业排名出炉
2024-07-13
-
电子手表自动化设备,gsfit智能手表怎么设置?
2024-11-29