全文预览

温度控制的pid算法 及c程序实现

上传者:徐小白 |  格式:doc  |  页数:9 |  大小:20KB

文档介绍
= -200;Р PID_Out = PID_kp * PID_e0 + PID_kd * ee1; //计算PID比例和微分输出Р if(abs(PID_e0) < 200) //如果温度相差小于1.5度则计入PID积分输出Р {Р if(abs(PID_e0) > 100){ //如果温度相差大于1度时积分累计限制 if(PID_e_SUM > 100) PID_e_SUM = 100;Р if(PID_e_SUM < -100) PID_e_SUM = -100;Р }Р d_out = PID_ki * PID_e_SUM; //积分输出Р if(PID_e0 < -5){ //当前温度高于设定温度0.5度时积分累计限制Р if(PID_e_SUM > 150) PID_e_SUM = 150;Р if(PID_e_SUM > 0) d_out >>= 1; //当前温度高于设定温度0.5度时削弱积分正输出Р }Р PID_Out += d_out;Р }Р elseР PID_e_SUM=0;Р PID_Out /= 100;Р if(PID_Out > 200) PID_Out=200;Р if(PID_Out<0) PID_Out=0;Р if(PID_e0 > 300) PID_Out=200;Р if(PID_e0 < -20) PID_Out=0;Р 热Р Hot_T_Run = PID_Out;Р // PID_e2 = PID_e1;Р PID_e1 = PID_e0;Р } //PID比例,积分和微分输出//恢复被PID_Out系数放大的倍数//当前温度比设定温度低3度则全速加热//当前温度高于设定温度0.2度则关闭加//加热时间控制输出//保存上次偏差//保存当前偏差

收藏

分享

举报
下载此文档