切换到宽版
爱科技/爱创意/爱折腾;电子/数码爱好者的家!欢迎访问新版数码之家网站
  • 1459阅读
  • 2回复

[STM]请教几个关于PID控制的C语言问题,谢谢 [复制链接]

上一主题 下一主题
离线旧宅毛毛
 

发帖
661
M币
667
专家
3
粉丝
70
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2016-12-04
最近在 自学PID控制,看到“位置式PID”有两种写法:
写法1:
P = kp * 本次误差;
I  = ki  * 误差累加;
D =  kd * (本次误差 - 上次误差)
返回 = P + I + D;


写法2:
P = kp * 本次误差;
I  = ki  * 误差累加;
D =  kd * (本次误差 - 2*上次误差 + 上上次误差)
返回 = P + I + D;



写法区别在红色部分
写法1 很好理解,就是求导,也就是微分。
那么  写法 2  为什么要这样写?


我还没有搭建实验的硬件,只能先看资料,只在VC上模拟实验,没看出什么区别。
离线旧宅毛毛

发帖
661
M币
667
专家
3
粉丝
70
只看该作者 1楼 发表于: 2016-12-04
还有就是关于 “位置式”和“增量式”输出数的 用法问题?
比如一个控制电机转速的系统
PID控制器 输出 : out
此时单片机PWM输出为:PWM


那么调整后的输出是 = PWM + OUT  吗?


“位置式”和“增量式”都这么用吗?
离线旧宅毛毛

发帖
661
M币
667
专家
3
粉丝
70
只看该作者 2楼 发表于: 2016-12-04

“位置式”和“增量式”一般适用于什么系统的控制?




刚入门,有理解不对的地方请指正。。多谢了。
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个