数码之家

 找回密码
 立即注册
搜索
查看: 3258|回复: 9

白光t12 pid计算请教这个pid计算正确吗

[复制链接]
发表于 2019-3-15 11:26:39 | 显示全部楼层 |阅读模式
struct{
        float Kp;
        float T;
        float Ti;
        float Td;
        float ek; //本次偏差
        float ek_1;//上次偏差
        float ek_2;//上上次偏差
       

}pid;
void pidinit()
{
        pid.Kp=3.4;//6.50
        pid.T=12;
        pid.Ti=109;
        pid.Td=0;
}void pidcounter() //1ms中断中计数到200ms计算一次
{
       
        pid.ek=(shedingwendu-t12wendu)/10;
        EK=pid.ek-pid.ek_1;  
        p=pid.Kp*EK;
        I=(pid.T*pid.ek)/pid.Ti;
        EK2=pid.ek-2*pid.ek_1+pid.ek_2;  
        D=(pid.Td*EK2)/pid.T;
        PIDOUT=p+(I*pid.Kp)+(pid.Kp*D);
        jiareshu+=PIDOUT; //中断计数值小于加热数,t12开始加热大于就停止加热。
        if(jiareshu<=0)
        jiareshu=0;
       
        pid.ek_2=pid.ek_1;
        pid.ek_1=pid.ek;
}


发表于 2019-3-15 11:45:21 | 显示全部楼层
不懂PID的程序怎么写,一起来学习
回复 支持 反对

使用道具 举报

发表于 2019-3-15 14:13:33 | 显示全部楼层
上实际烙铁进行测试吧,边测边改吧
回复 支持 反对

使用道具 举报

发表于 2019-3-28 23:13:43 | 显示全部楼层
工程控制上不用那么除以T,实际单个周期的差就是微分。单个周期加,就是积分。没有这么大型的浮点计算。你的计算看起来很好,实际上也是离散的。除非用电路达建。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-23 22:43:46 来自手机浏览器 | 显示全部楼层
按照楼上说的,每个采样周期就是一个微分了
回复 支持 反对

使用道具 举报

发表于 2020-5-24 00:14:49 | 显示全部楼层
你看这个帖子这个彩屏开源焊台的核心控制代码,非常简单,PID学习的话没问题,控制T12的话,差不多就行:

https://www.yleee.com.cn/thread-84869-1-1.html
回复 支持 反对

使用道具 举报

发表于 2020-5-24 23:59:17 | 显示全部楼层
40560335 发表于 2020-5-24 00:14
你看这个帖子这个彩屏开源焊台的核心控制代码,非常简单,PID学习的话没问题,控制T12的话,差不多就行:

...

那边页面的核心代码貌似没有体现出PID整定的功能,仅仅是PWM脉宽调制的初始化等等
回复 支持 反对

使用道具 举报

发表于 2020-5-25 20:25:54 | 显示全部楼层
suhui 发表于 2020-5-24 23:59
那边页面的核心代码貌似没有体现出PID整定的功能,仅仅是PWM脉宽调制的初始化等等 ...

真正起作用的就这么几行而已
  1.     TAD=gpio_ad(3);
  2.     if (TAD<setupAD-100){
  3.         pwm=65535;    //100%
  4.     }
  5.     else {
  6.         if (TAD>setupAD){
  7.             pwm=100;    //基本相当于关闭
  8.         }
  9.         else{
  10.             //自动计算PWM
  11.             pwm=(setupAD-TAD)*65535/100;
  12.         }
  13.     }
复制代码


回复 支持 反对

使用道具 举报

发表于 2020-5-26 23:30:13 | 显示全部楼层
40560335 发表于 2020-5-25 20:25
真正起作用的就这么几行而已

是设置PWM的占空比:loveliness:
回复 支持 反对

使用道具 举报

发表于 2020-5-28 01:15:11 | 显示全部楼层
suhui 发表于 2020-5-26 23:30
是设置PWM的占空比

划重点:是通过什么条件来设置不同的占空比呢?这才是关键!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-25 14:43 , Processed in 0.187200 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表