typedef struct
{
int setpoint;//设定目标
int sum_error;//误差累计
float proportion ;//比例常数
float integral ;//积分常数
float derivative;//微分常数
int last_error;//e[-1]
int prev_error;//e[-2]
}PIDtypedef;
复制代码
这里注意一下成员的数据类型,依据实际需要来定的。
在文件中定义几个关键变量:
float Kp = 0.32 ; //比例常数
float Ti = 0.09 ; //积分时间常数
float Td = 0.0028 ; //微分时间常数
#define T 0.02 //采样周期
#define Ki Kp*(T/Ti) // Kp Ki Kd 三个主要参数
#define Kd Kp*(Td/T)
复制代码