基于STM32F407的PID电机控制

PID算法由P、I和D组成,分别负责减小误差、消除稳态误差和抑制过冲。文章介绍了各自的作用,并通过代码展示了PID计算过程。在车辆控制中,速度环采用PI算法,转向环采用PD算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PID算法由P、I和D三种算法组成,可以进行不同的组合来达到不同的控制效果。

P算法:Kp*e_{k}

I算法:Ki*\sum_{j=0}^{k}e_{j}

D算法:Kd(e_{k}-e_{k-1})

P算法的作用是减小测量值和理论值之间的误差,让测量值不断接近理论值。

I算法的作用是消除稳态误差。当系统误差接近0时,P的输出会很小,起不到继续减小误差的作用,导致误差始终没办法减小到0.这个时候就需要用到i算法,让误差值不断累加,并将累加后的值1输出。

D算法的作用是“阻尼”。如果系统误差很大或P参数较大,那么P的输出就会很大,导致系统剧烈响应,出现过冲现象,此时就需要用到d算法来抑制,让系统可以刚好停在理论值而不不过冲。

从数学表达式到代码:

int PID_value(float measure,float calcu)

{

        err = measure - calcu;  //误差

        err_sum += err;  //误差的累加

        I_xianfu(2000);

        err_difference = err - last_err;  //误差的差值

        last_err = err;  //此次误差记录为“上次误差”

        return Kp*err + Kierr_sum + Kd*err_difference;  //结果

}

在小车上通常使用速度环PI算法和转向环PD算法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值