通过PID三个参数实现函数内容完成速度控制PID小车。
转化成代码:
void PIDControl() //pid偏差计算
{
e=SpeedSet-num;
duk=(Kp*(e-e1)+Ki*e+Kd*(e-2*e1+e2)); //+Kd*(e-2e1+e2)//增量式pid
uk=uk1+duk;
out=(int)uk;
if(out>1000)
{
out=1000;
}
else if(out<=0)
{
out=0;
}
uk1=uk;
e2=e1;
e1=e;
PWMTime=out;
}
PWM输入占空比:
void PWMOUT()
{
uint