zoukankan      html  css  js  c++  java
  • 温控的具体实现:三

    经过一段时间的调试,我对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℃,温升曲线为:

  • 相关阅读:
    MyISAM 和 InnoDB 索引的区别
    iOS crash日志
    。。。
    redis的缓存测试
    job测试
    笔记
    Android获取启动页面Activity方法
    UI自动化框架-一个小demo
    mitmproxy-java 的尝试
    monkey
  • 原文地址:https://www.cnblogs.com/qifengle/p/5158051.html
Copyright © 2011-2022 走看看