本文内容: MTPA, MTPV, 弱磁简介; 实现方法, MTPA和弱磁在VESC中的核心对应代码
名词解释
- MTPA 最大转矩电流比, 讲究一个性价比, 一般情况下的控制, 给的是id = 0, iq根据PI控制器来给, 但是实际上这并不能最大程度利用电流(或者功率). MTPA的控制方法利用公式计算出输出特定转矩下的最优电流方案. 公式的计算原理是对电机转矩公式求极值. (恒转矩区)
- 弱磁控制, field weakening, 这个控制方法利用id≠0削弱了线圈励磁磁场, 进而降低反电动势, 变相地提高母线电压, 能够提高电机转速上限. (弱磁一区)
- MTPV 最大转矩电压比, 这个家伙比弱磁更变态, 属于更进一步的弱磁控制, 能将电机功率发挥到极限(转矩不变, 转速再提升), 但是实现起来并不简单. (弱磁二区, 最大功率区)
在图上找出MPTA, 弱磁, MPTV的工作区间
先把图搞懂
- 下图包含了这样几个要素:

- 横坐标是id, 纵坐标是iq.
- 有一个单位圆, 是电压极限圆, 我们都知道母线电压一定时, 能输出的电压矢量是有限的, 电流矢量也是有限的, id和iq此消彼长, 这个圆限制了电流矢量/电压矢量的最大模长.
- 有一组椭圆, 这组椭圆代表某电机在给速度下的电流矢量, 例如v1, v2, v3分别对应从大到小三个椭圆, 从原点指向某一椭圆上的所有电流矢量能够使电机速度恒定(等速度), 但是提供的转矩不同. 这是理想状态下的曲线, 与母线电压限制无关.
- 有一组反比例函数状的曲线, 代表恒定转矩下的电流矢量. 类似地, 从原点指向某一椭圆上的所有电流矢量能够使电机转矩恒定(等转矩), 但是提供的速度不同.

- 还有两条抛物线形状的曲线, 是MTPA和MTPV曲线, 在线上的矢量就是满足MTPA或MTPV的
工作区间
- 显然MTPV和MTPA工作在各自的曲线上, 弱磁或者说弱磁一区夹在两条曲线中间, 其模式可以分为两种: 1. 保持功率提升转速的恒功率弱磁(当然不可避免要减小转矩). 2. 保持转矩提升转速的恒转矩弱磁(功率增加).

- 注意观察电流极限圆与某一恒转矩曲线的交点, 例如点3), 从这个点沿着极限圆移动到点5), 功率不变, 转速变大, 转速变小, 反之也可以.
- MTPA与某一恒转矩曲线的交点, 例如点2), 从这个点开始沿着恒转矩曲线移动, 直到MTPV, 功率变大, 转矩不变, 转速变大.
相关公式和实现方法
MTPA: 直接公式, 公式拟合, 查表
- MTPA公式的由来是对转矩公式用拉格朗日乘数法求极限(不懂T_T), 得到一个复杂的公式, 有以下几种形式:

- 直接公式法: VESC使用的是第二个公式, 以下代码中的iq_ref和iq_set_tmp都是is, 沟槽的本杰明写的什么史我半天才搞懂. 这种直接使用公式来算的就是直接公式法

- 公式拟合法: 在实际跑的过程中重新拟合id和iq的公式, 减少重复计算的量, 但是还是要先依靠直接公式来收集数据.
- 查表法: 公式拟合的离散形式, 输入不同需求, 直接查表给出答案, 例如输入某转矩和转速需求, 得到满足这个需求的id和iq
MTPV: 公式很复杂, 一般使用查表法
- 公式如下:

弱磁: 电压调节法, 单电流调节法
- vesc使用的大概是电压调节法, 流程是根据当前占空比(电压)用线性插值法计算弱磁补偿电流, 占空比(电压) 越大, 弱磁电流越大. 弱磁电流直接补偿到id_set上, 同时补偿很小一部分到iq_set上(0.02), 这个过程在MTPA之后, 在电流控制器之前, 之后的流程就是传统FOC.


- 一般的电压调节法框图如下, VESC基本对得上, 其中弱磁电流是不补偿到iq上的:

- 单电流调节法是只控制iq的值, id给一个开环值, 可想而知不好用.