×

增量式PID资料详解

消耗积分:1 | 格式:doc | 大小:19KB | 2018-02-14

火星探索B

分享资料个

增量式PID算法
    程序是自己编的,根据多方资料改写了一部分,为增量式PID算法。程序采用浮点形式,如果MCU速度不够快,可根据需求转换定点运算。
    关键变量:ref——设置的参数;feb——采样反馈;根据实际情况修改这两个变量即可。
    相关参数:Kp、Ti、Td、T:根据各项目的控制对象不同而修改其定义值。
 
//定义变量
double ref = 0;//设置参数
double feb = 0;//采样反馈
 
 
int pwm_var = 0;    //PID调整量
Uint16 PWM_out = 0; //PWM输出量
 
 
double Uo = 0;
double Ek = 0;
double Ei = 0;
double Ed = 0;
 
#define Kp   8        //PID调节的比例常数
#define Ti   0.05     //PID调节的积分常数
#define Td   0.02     //PID调节的微分时间常数
#define T    0.02     //采样周期
 
#define Kpp   Kp * ( 1 + (T / Ti) + (Td / T) )
#define Ki   (-Kp) * ( 1 + (2 * Td / T ) )
#define Kd    Kp * Td / T
 
//#define Kpp 4
//#define Ki  0.8
//#define Kd  20
 
//误差的阀值,小于这个数值的时候,不做PID调整,避免误差较小时频繁调节引起震荡
#define Emin 3
 
//调整值限幅,防止积分饱和
#define Umax 100
#define Umin -100
 
//输出值限幅
#define Pmax 15500
#define Pmin 200

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !