首页 > 其他 > 详细

数字pid笔记(1)

时间:2019-04-05 21:48:17      阅读:161      评论:0      收藏:0      [点我收藏+]

技术分享图片

技术分享图片

技术分享图片

针对stm32中可以如下实现:

1 p->IncrementVal = (p->Kp * (p->err - p->err_next))  
2                       + (p->Ki * p->err)          
3                       + (p->Kd * (p->err - 2 * p->err_next + p->err_last));                         
4     
5     p->err_last = p->err_next;    //更新err_2
6     p->err_next = p->err;        //更新err_1

这样就得到了误差相对于的增量,其中,kd=0;

1、kp相当于位置式pid的Kd微分量

2、ki当于位置式pid的Kp比例量

 

然后可以:

1 pwm_info.duty_cycle += p->IncrementVal;

更新pwm的占空比,用于更新加热丝的功率。

之后用stm的pwm占空比函数更新即可达到pid的控制。

数字pid笔记(1)

原文:https://www.cnblogs.com/CodeWorkerLiMing/p/10659948.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!