您好!
我正在使用 FCL 控制 器、并根据电机是在象限2还是3中运行、看到相同 Iq 值的不同扭矩输出。
这使我深入了解了 FCL_PI 实现、因为它的实现中有一个速度元素。 然而、在我从 CLA 和 ISR 中删除了这些部分之后、它看起来与我之前使用过的任何 PI 都不一样。
根据我的理解、PI 控制器的作用如下:
在时间 n:
ERR_n = ir_ref - IQ_测量值
Kp = L * I * WCC / V -假设相对恒定
Ki = R * I * WCC * dt /V -假设相对恒定
KERR = KI / 2 + KP
KERR_OLD = KI / 2 - KP
care_over =(ERR_n * KERR_OLD)+ Bemf * dSpeed
carry _over = err_n* ki/2 - err_n* Kp + Bemf*dSpeed
在 n+1时:
ERR_n_1 = ir_ref - IQ_测量值
OUT = ERR_n_1* Kerr + carry + over
输出= ERR_n_1 * KI/2 + ERR_n_1*KP + ERR_n * K/2 - ERR_n* KP + Bemf*dSpeed
输出= KI*(ERR_n_1 + ERR_n)/2+ KP *(ERR_n_1 - ERR_n)+ Bemf*dSpeed
因此 、令人惊喜:
OUT = Ki * avg_err (超过2个周期)+ Kp *(误差变化)+ Bemf *(速度变化)
是否有任何有关 FCL_PI 工作原理的文档? 积分器在哪里? 为什么 KP 被应用于 IQ 误差的变化而不是误差本身? 为什么反电动势常数乘以电机加速度?
似乎该实现结合了大量逻辑并针对性能进行了优化。 这很好、但很难理解。 在我转到 Dave Wilsons 博客之前、我已经阅读过它、无法弄清楚这个实现
非常感谢、
-科林