pid.c
来自「平缝机的单片机伺服控制系统源代码。本程序为用单片机控制永磁同步电机的低成本方案」· C语言 代码 · 共 41 行
C
41 行
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 + =
减小字号Ctrl + -
显示快捷键?