基于c8t6的平衡小车(CubeMX+MDK)(3)PID电机控制
编码器
增量式编码器
C1和C2引脚产生A相B相方波,方波的相位差(当C1为上升沿时候,C2的电平状态)指示了旋转方向(车轮正反转),对脉冲计数得出车轮速度
- 使用TIM2和TIM3配置为encode Mode,连接电机编码器的C1C2方波输出引脚
- 使用TIM4的CH1CH2
PID算法
PID(proportion integration differentiation)指比例,积分,微分控制闭环控制算法
- target
- actual
- error
- out
error = target - actual
out =Kp * F(error)+ Ki * G(error) + Kd * H(error)
就是P比例,I积分,D微分
比例系数Kp
errorKp 为补偿值P, u+actual=New_actual,得出New_error,New_errorKp=New_P,依次补偿。
可以看到,Kp越大,系统相应越快,越快接近target,但是会导致超调,甚至在target附近震荡剧烈。
一些情况下,单纯的比例控制会导致稳态误差:系统的自发偏移值等于补偿值,导致系统始终保持当前误差不变
积分系数Ki
用于消除稳态误差,因为积分项的存在使得out逐渐增大,不会始终与偏移值相等
Ki越大,积分项权重越大,表示稳态误差消失的快,但是系统的滞后性也会增大
微分系数Kd
微分项用来阻止误差剧烈变化,本身不改变误差变化,但是可以预测未来误差大小,增加系统阻尼。
注意:Kd变大会使得系统一卡一卡的
!!!然后,上价值!!!

连续性PID公式离散化得到位置式PID和增量式PID
还有其他PID:积分分离式PID、变速积分PID、不完全微分PID、微分先行PID、死区控制PID等
位置式PID
根据新的error 给出新的out
设置采样时间为T
I积分项近似:T和总error的积
D微分项近似:error的差与T的商
位置式PID的优点是静态误差小,缺点是计算量很大,累计误差较大,如果系统故障,容易出现积分饱和的问题,使系统失控.
位置式PID适用于被控对象没有积分功能的情况

增量式PID
根据新的error,给出∆out
优点是当系统出现故障时,影响较小,因为输出量只和过去的三次误差有关,计算量也相对较小,但缺点是有静态误差,增量式PID适用被控对象有积分功能的情况。


浙公网安备 33010602011771号