首页 > 其他 > 详细

温控的具体实现:三

时间:2016-01-25 19:27:45      阅读:303      评论:0      收藏:0      [点我收藏+]

经过一段时间的调试,我对PID控制有了进一步的理解,现将其中的一些理解写在下面。

以PID控制温度为例,PID算法输入的是温度值的误差,而算法输出的是误差经过比例,微分和积分运算后得到的结果。但是我们要用这个结果来控制PWM信号的占空比,那么就需要将PID算法的输出归一化。具体怎么归一化我还没有研究很透彻,但是经过测试,我发现对于我的系统而言,乘以系数0.0004可以符合要求。

即: result = IncPIDCalc()*0.0004*50000;          //计算出输出的PWM信号占空比对应的寄存器值

if (result <= 0)
TA1CCR2 = 0; // CCR2 original PWM 0
else if(result <=50000)
TA1CCR2 = result;
else
TA1CCR2 = 50000;

下面是调试的结果:

一:设置Kp=10,Ki=10,Kd=0.3;

1:温度T设置为150℃,温升曲线为:

技术分享

2:设置温度T=100℃,温升曲线为:

技术分享

温控的具体实现:三

原文:http://www.cnblogs.com/qifengle/p/5158051.html

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