PI校正环节在经典控制论中非常有用,特别是对负反馈控制系统,基本上都有PI校正环节。
PI校正环节的作用:比例部分提高了系统的响应速度;积分环节提高了系统型别,消除稳态误差。
1.PI环节的表达式
传递函数
微分方程
对应的离散方程为
写成序列形式
写出相应的 z 变换系统方程
根据序列形式,可以写出程序代码:
#define Ts 0.00001 // 采样时间 typedef struct PI_Ele{ float kp; // 比例环节系数 float ki; // 积分环节系数 float x1; float x2; float yout; float y1; } PI_Vector; #define PI_Macro(PI_Vector v) \ // 算法的宏定义 v.yout = (v.kp+v.ki*Ts)*v.x2-v.kp*x1+v.y1; \ v.x1 = v.x2; \ v.y1 = v.yout;