切换到宽版
  • 2297阅读
  • 2回复

有懂PID算法的请进来下,谢谢 [复制链接]

上一主题 下一主题
离线tankli88
 
发帖
4
M币
-9
专家
0
粉丝
1
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2014-04-24
这几天在学PID控制,在网上扒了很多关于PID控制的文章,还有一些高手写的PID控制算法,读书时数学
不好,都还给老师了,发现了一个问题,被搞胡了,盼求高手解释
总结发现网上通用两个PID公式,一个是以书本介绍的公式,如下
Uk=KP*[e(n)-e(n-1)]+KI*e(n)+KD*[e(n)-2*e(n-1)+e(n-2)]
比例系数*(当前偏差-上次偏差)+积分系数*当前偏差+微分系数*(当前偏差-2*上次偏差+上上次偏差)

这个是很多书本上给出的增量式PID算法公式
然后增量式结果 UK+当前坐标 就是位置式公式


又发现很多高手写的PID算法却是用的下面这个公式

kp*e(n)+ki*[e(n)+e(n+1)+e(n+2)+......+e(n+n)]+kd*[e(n)-e(n+1)]
比例系数*当前偏差+积分系数*历次偏差的累加+微分系数*(当前偏差-上次偏差)

这个公式按许多扒来的程序流程分析应该是直接的位置式算法,通常位置式结果应该直接赋值给PWM寄存器的,
但仍然有部分程序作者把这个算法做增量在处理,还有,这两公式关于e(n)-e(n+1)这项,就是当前速度,所在的
位置,一个在比例项,一个在微分项,现在我已经完全搞不清了,求懂的大神赐教,谢谢
关键词: PID
离线xpicompany

发帖
2873
M币
4158
专家
3
粉丝
28
只看该作者 1楼 发表于: 2014-04-25
请登录后查看
本帖最近打赏记录:共1条打赏 ,专家+1
离线hua592534783
发帖
287
M币
365
专家
0
粉丝
7
只看该作者 2楼 发表于: 2014-05-04
请登录后查看
快速回复
限80 字节
温馨提示:所有技术区严禁灌水,“沙发”“顶”字样;禁止广告贴;以免被删除
 
上一个 下一个