什么是PID? PID是一种 闭环自动控制系统 ---即通过反馈决定和校正控制行为的系统。与此相对的是 开环系统 。通常来讲开环系统的控制是瞬间完成的,之后便无法进行更正,比如开灯这个动作。调节水龙头这个活动中你需要通过观察水流大小来调节开关。 PID如其名分为三个部分 Proportion-比例控制 Integral-积分控制 Derivative-微分控制 下面我们来举个例子理解这些部分的作用和用法。 假使 注意积分时间,微分时间就是积分常数和微分常数,并非采样时间一样的概念 比例控制 位置PID和增量PID的区别 根据位置式离散PID公式 pwm=Kp*e(k)+Ki*∑e(k)+Kd[e(k)-e(k-1)] e(k)代表本次偏差 e(k-1)代表上一次的偏差 ∑e(k)代表e(k)以及之前的偏差的累积和;其中k为1,2,,k; pwm代表输出 **************************************************************************/ int Position_PID (int Encoder,int Target) { static float Bias,Pwm,Integral_bias,Last_Bias; Bias=Encoder-Target; //计算偏差 Integral_bias+=Bias; //求出偏差的积分 Pwm=Position_KP*Bias+Position_KI*Integral_bias+Position_KD*(Bias-Last_Bias); //位置式PID控制器 Last_Bias=Bias; //保存上一次偏差 return Pwm; //增量输出 } PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e(t)与输出u(t)的关系为: u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt]式中积分的上下限分别是0和t 因此它的传递函数为:G(s)=U(s)/E(s)=kp[1+1/(TI*s)+TD*s] 其中kp为比例系数;TI为积分时间常数;TD为微分时间常数。 用途 它由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数(Kp,Ti和Td)即可。在很多情况下,并不一定需要全部...