📄 pid.c
字号:
float Vh,Vl,Kph,Kpl,Kih,Kil,Kdh,Kdl,Ve;
Kp=(Vpedal-Vl)*(Kph-Kpl)/(Vh-Vl)+Kpl;
Ki=(Vpedal-Vl)*(Kih-Kil)/(Vh-Vl)+Kil;
Kd=(Vpedal-Vl)*(Kdh-Kdl)/(Vh-Vl)+Kdl;
PI(Vfbk,Vpedal)
{
float Vh,Vl,Kph,Kpl,Kih,Kil,Kdh,Kdl,Ve;
float error,error_1,Perror,Ierror,Derror;
if (Vpedal < )
Kpl= ;
Kil= ;
Kdl= ;
else if (Vpedal < )
Kp = (Vpedal-Vl)*(Kph-Kpl)/(Vh-Vl)+Kpl;
Ki = (Vpedal-Vl)*(Kih-Kil)/(Vh-Vl)+Kil;
Kd = (Vpedal-Vl)*(Kdh-Kdl)/(Vh-Vl)+Kdl;
error = Vpedal-Vfbk;
Perror = error-error_1;
Ierror = error;
Derror = error-2*error_1+error_2;
Du = Kp*Perror+Ki*Ierror+Kd*Derror;
error_2 = error_1;
error_1 = error;
Ve = Vfbk+Du;
return(Ve);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -