模拟PID控制系统原理框图PID调节器各校正环节的作用:比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差;积分环节:主要用于消除静差,提高系统的无差度。积分时间常数TI越大,积分作用越弱,反之则越强;微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。 PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。
程序片段如下:#include #include typedef struct PID { double SetPoint; // 设定目标Desired value double Proportion; // 比例常数Proportional Const double Integral; // 积分常数Integral Const double Derivative; // 微分常数Derivative Const double LastError; // Error[-1] double PrevError; // Error[-2] double SumError; // Sums of Errors } PID; 主程序:double sensor (void) { return 100.0; } void actuator(double rDelta) {} void main(void) { PID sPID; double rOut; double rIn; PIDInit ( &sPID ); sPID.Proportion = 0.5;sPID.Derivative = 0.0; sPID.SetPoint = 100.0; for (;;) { rIn = sensor (); rOut = PIDCalc ( &sPID,rIn ); actuator ( rOut ); }}
|