首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

菜鸟PID进阶

2013-02-19 
初学者PID进阶?上图反应了这个问题。既然 errorSetpoint-Input, 任何 Setpoint 的变化将导致error瞬时发生

初学者PID进阶

?

上图反应了这个问题。既然 error=Setpoint-Input, 任何 Setpoint 的变化将导致error瞬时发生变化。 这种变化的导数是无穷大(实际上,既然dt不是0,只是计算为一个非常大的数字)。这个数字被送入pid方程,输出一个非期望的峰值。幸运的是有一个简单的方法来摆脱这个。

解决方案
菜鸟PID进阶
?
导数误差等于负导数的输入,除非当Setpoint?改变。这不是一个完美的解决方案,相对于添加(Kd *误差导数),我们减去(Kd *输入的导数)。这被称为使用“导数测量”。?

The Code

?

这里就是修改后的结果,注意,输入看起来仍然相同。所以我们得到同样的性能,但每次Setpoint?的变化不会输出巨大的峰值。

这或许是也或许不是一个大问题。这取决于你的程序对于输出峰值的敏感度。

?

热点排行