最简单的单片机PID控制算法程序

-回复 -浏览
楼主 2022-06-21 11:01:34
举报 只看此人 收藏本贴 楼主

/*************定义全局变量*****************/


uchar Kp,TI,Td


int Set_speed;


/*************PID初始化函数***************/


void PID_init(void){


Serror=0;


FError=0;


Kp=30;


TI=500;


Td=10;


}


int PID_control(int Now_speed)


{


int Error,Serror,result;


Error=Now_speed-Set_speed;


Serror=Serror+Error;


result=(Kp*Error+Kp*0.05/TI*Serror+Kp*Td/0.05*(Error-FError));


FError=Error;


//对占空比进行限幅处理


if(result《10)


{result=0;} else


if(result》1000)


{result=1000;}


return result;


}


我要推荐
转发到

友情链接