pid控制算法


pid算法

int PIDCal(PID *pp, int ThisError)
{

 //增量式PID算法(需要控制的不是控制量的绝对值,而是控制量的增量)

    int pError,dError,iError;
    double data0=0;
    pError = ThisError-pp->LastError;
    iError = ThisError;
    dError = ThisError-2*(pp->LastError)+pp->PreError;
//增量计算
    data0=pp->Proportion*pError + pp->Integral*iError+pp->Derivative*dError;  //增量
    pp->YnBuffer[1]=pp->YnBuffer[0]+data0;
    pp->YnBuffer[0]=pp->YnBuffer[1];
//存储误差用于下次运算
    pp->PreError  = pp->LastError;
    pp->LastError = ThisError;

    return ((int)pp->YnBuffer[1]);
}


to be continued ...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值