尊敬的所有人:
我们正在使用 IPMSM 电机进行场强减弱。 我们使用 instaspin 实验室 SDK 并遵循 is13 FWC 和 MTPA 示例代码。 除了启用场强减弱(motorVars.flagEnableFWC = true)并且当 ID 开始变为非零时、电机端子上测得的频率 与 估算器给出的机械频率不同外、所有情况都正常。 请建议解决方案 、如果 需要其他详细信息、请告知我。
Anup
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的所有人:
我们正在使用 IPMSM 电机进行场强减弱。 我们使用 instaspin 实验室 SDK 并遵循 is13 FWC 和 MTPA 示例代码。 除了启用场强减弱(motorVars.flagEnableFWC = true)并且当 ID 开始变为非零时、电机端子上测得的频率 与 估算器给出的机械频率不同外、所有情况都正常。 请建议解决方案 、如果 需要其他详细信息、请告知我。
Anup
测得速度和估算速度之间的任何差异-是。 测得的速度为3180RPM、估算速度为2880至2910
如何测量电机转速-通过转速计测量电机转速、通过电动机终端上的频率计测量电机转速。 电机频率和电机速度与3180 RPM 的4极电机频率106Hz 相匹配。
实现了多少 Id -它不是固定的、但限制为额定电流的30%。 参考实验13 (is13)。
电机的最大和额定电流是多少-最大电流是15A、额定电流是10A。
转速计测量的转速与电机端子 和电机相电流频率测量的频率相同。 电机速度/电机端子频率 与 motorVars.speed_Hz = EST_getFm_LP_Hz (estHandle)给出的频率不匹配;它持续变化。但当我们 通过 制作 motorVars.flagEnableFWC = false 来禁用场强减弱或 ID 为0 (fwc pid 输出为0时、不需要 FWC)时、所有的内容都匹配。 EST_getFm_LP_Hz (estHandle)给出的电机转速、频率和输出相同且稳定。
您可以在 user.h 中设置磁场减弱控制的初始控制参数、如下所示。
//! 简要定义用于磁场减弱控制的 KP 增益
#define USER_FWC_KP 0.05
//! 简要定义用于磁场减弱控制的 Ki 增益
#define USER_FWC_KI 0.0002
//! 简要定义磁场减弱控制的最大电流矢量角度
#define USER_FWC_MAX_ANGLE (float32_t)(-75.0) //度
#define USER_FWC_MAX_ANGE_RAD USER_FWC_MAX_ANGE* MATH_PI/((float32_t)(180.0)) // rad
//! 简要定义磁场减弱控制的最小电流矢量角度
#define USER_FWC_MIN_ANGLE (float32_t)(0.0) //度
#define USER_FWC_MIN_ANGE_RAD USER_FWC_MIN_ANGE* MATH_PI/((float32_t)(180.0)) // rad
或者通过在线更改观察窗口中下面的变量来调整控制参数。
FWC.PI.KP
FWC.PI.KI
Fwc.pi.outMin
FWC.PI.outMax
在这种情况下、您可以通过如下增加值来限制 ID、以限制 ID。
#define USER_FWC_MAX_ANGLE (float32_t)(-80.0)