-- The Start --
前言:
可见,无论新手还是老手,在使用PID设计无刷电机控制算法的时候,时不时都会跑偏,入坑,且不能自拔。因此,本文就针对不同PID(位置式和增量式)在双闭环的使用的细节再做梳理。
1. 位置式PID的双闭环位置式PID的相关知识,在文章:中已有梳理,本文不做赘述。在该文中有提:位置式PID的输出控制量Uout是被控制量CMP的执行量。因此,只需要将Uout赋值给CMP即可,即:CMP=Uout=Kp*E(k)+Ki*∑E(kT)。
也就是说,位置式PID的输出值是可以直接当做被控制量的执行量使用的。因此,如果双闭环使用的是位置式PID,那么,双闭环的系统框图,如下图1。

如上图1。针对各位置式PID的输出值,说明如下:
(1)Speed 位置式PID的输出值可直接当做被控制量Iq_ref的执行量使用。
(2)Iq 位置式PID的输出值可直接当做被控制量Uq的执行量使用。(3)Id 位置式PID的输出值可直接当做被控制量Ud的执行量使用。
有同学肯定会说,搜遍全网,PMSM双闭环的系统框图不都如下图1么?问得很好!确实没错,全网双闭环系统框图都如图1。但问题也会因此而发生。这会让所有刚接触PMSM驱动的同学固定思维认为双闭环的系统框图就只能这样。如果如此认为,那么就彻底跑偏了!
图1成立的前提只能是:位置式PID。如果改用增量式PID,图1还能成立?当然不能。请见下文分解。
2. 增量式PID的双闭环增量式PID的相关知识,在文章:中已有梳理,本文不做赘述。在该文中有提:增量式PID的输出控制量∆Uout(k)是被控制量的增量。因此,只需要将∆Uout(k)叠加给CMP即可,即:CMP+=∆Uout(k)=Kp*(E(k)-E(k-1))+Ki*E(k)。
也就是说,增量式PID的输出值只是被控制量的一个增量。图1所示各PID的输出值被直接作为被控制量的执行量使用。如果双闭环使用的是增量式PID,那么,图1所示双闭环的系统框图就肯定错了。那么,使用增量式PID的双闭环系统框图应该长什么样子?请见下图2。
如上图2,各增量式PID的输出值后都增加了积分(1/S)运算。积分当然就是累加增量式PID的输出值。积分后的输出值再作为被控制对象的执行量。同样,针对各增量式PID的输出值,说明如下:(1)Speed 增量式PID的输出值积分后做为被控制量Iq_ref的执行量使用。
(2)Iq 增量式PID的输出值积分后做为被控制量Uq的执行量使用。(3)Id 增量式PID的输出值积分后做为被控制量Ud的执行量使用。
同样,图2成立的前提只能是:增量式PID。
综上,不同PID类型直接决定了不同的双闭环系统框图。如果将不同PID和上图1和图2混淆使用,那么双闭环控制一定失败。
小结:(1)不同PID对应不同双闭环系统框图。
(2)不同PID的使用方法,往往是很多新手容易犯错的地方。(3)正确理解并掌握不同PID的理论和使用方法,是成功调试双闭环的关键环节之一。(4)搜遍全网,眼睛看到的不一定对。各种知识必须不断归纳总结,去其糟泊,取其精华,方可能融会贯通。加油!-- The End --往期文章:
欢迎点分享、收藏、点赞、在看!谢谢!