这个程序应用在51单片机上的
/*************定义全局变量*****************/
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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)