本文分享自己在电机控制仿真中的建模方法,敬请批评指正。
同名B站链接: Timer-sir
PID控制原理
将偏差的比例§、积分(I)、微分(D)通过线性组合构成控制量,对被控对象进行控制,成为PID控制器。
PID各环节的作用如下:
(1)比例环节:成比例的反应控制系统的偏差信号error(t),其输出与误差成比例关系,当误差较大时,比例控制器的输出也较大,以减小偏差,加快控制过程。
(2)积分环节:其输出与误差的积分累计成正比关系。主要用于消除稳态误差,提高系统的控制精度。积分作用的强弱取决于积分系数,积分系数越大,积分作用越强。
(3)微分环节:其输出与误差的变化率成正比关系,反应偏差信号的变化趋势(变化速率),可以对系统的响应速度进行调节,在偏差信号变得太大之前引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间,以避免系统的超调和震荡等问题。
数字PID控制
计算机控制是一种采用控制,它只能根据采样时刻的偏差计算控制量。因此,连续PID控制算法不能直接使用,需要采用离散化方法。在计算机PID控制中,使用的是数字PID控制器。
位置式PID
按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶差分近似代替微分,可得离散PID表达式:
式中:T为采样周期,k为采样序号。
在实际控制中,可根据实际情况对控制器的输出进行限幅。
增量式PID
当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得增量式PID控制算法:
由于控制算法中不需要累加,控制增量Δu(k)仅与最近k次的采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。
抗饱和PID
所谓积分饱和现象时指系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限未知Xmax,若控制器输出u(k)继续增大,限幅输出不可能再增大,此时称计算机输出控制量超出了正常运行范围而进入饱和区。一旦系统出现反向偏差,u(k)逐渐从饱和区退出。进入饱和区越深则退出饱和区所需时间越长。在这段时间内,执行机构仍停留在极限位置而不能随偏差反向立即做出相应改变,这时系统就像失去控制一样,造成控制性能恶化。这种现象称为积分饱和现象或积分失控现象。
防止积分饱和的方法之一就是抗积分饱和算法,该算法的思路就是在PID输出达到饱和时,对积分项进行约束,防止误差的过度累计,从而使得能够快速的退出饱和。
参考TI的PID文件,列举两种抗饱和PID控制算法
(1)TI-V2.0
(2)TI-V4.3
PID控制仿真
以直流电机作为被控对象,采用转速环控制方法,验证PID控制算法
仿真模型
仿真结果
后续继续完善补充
同名B站链接: Timer-sir
原创不易,感谢支持!