请教单片机PWM控制加热器用增量式PID,三个参数的选择

如题所述

第1个回答  2015-04-26
/************************************************
PID温度控制做动函数
*************************************************/
void compare_temper()
{
if(f_start==1) //按下启动键,则还要判断
{

if(set_temp>r_temperature)
{
if(set_temp-r_temperature>5) //如果控制目标温度温与实时温度差大于5度
{
PWM0_set(255); //PWM 输出低电平占空比最大。即全速加温
}
else
{
rin=r_temperature; //PID输入实时温度采样值
rout = PIDCalc ( &spid,rin ); // PID增量输出
if(rout>=240)rout=240; //保障PWM输入值10-240 防止pwm出现失调。stc单片机特性。
if(rout<=20)rout=20;
PWM0_set(255-rout);
}
}
else if(set_temp<=r_temperature) PWM0_set(0); //目标温度<=实时温度,pwm输出高电平占空比最小,关闭加热

}
else if(f_start==0) PWM0_set(0); //没按下启动键,则关闭加热

}本回答被提问者和网友采纳
相似回答