主题中讨论的其他器件:DRV8301-69M-KIT、 MOTORWARE
你好。
我们将自己的硬件与 DRV8301-69M-KIT (D)和 LAUNCHXL 板类似、并将 motorware 1.01.00.16和28062F 与28069M 配合使用。 用户软件基于使用控制器模块的 FOC 实验室示例代码。
要…的电机是一个设置速度范围为500 μ s 的 PMSM 3000转/分。
有问题的要求是、对于0…3000rpm 启动、最大启动时间为150ms。
这需要高 MaxAccel_krpmps 和积极的速度控制参数。 尽管我们在大多数情况下都满足了这一要求、但激进的启动条件在某些情况下会显示一个钽电机在没有任何循环运动的情况下汲取高电流。 因此、磁通角和机械电机转角是异步的。
每2秒启动的测试序列在 Aprox 10分钟后失败、因此150次启动。 为了防止电机过热、我们的实际应用会监控速度和电流、并在这种有问题的启动情况下关闭电机(0.5秒后等待将重新启用并重新启动电机)。
对于最终软件、我们需要在任何情况下防止这种情况。 实际上、我们尝试了以下操作、但没有成功:
1. RsOnline 禁用/重置没有帮助。
启动 前由 CTRL_setId_ref_pu 进行的字段 incase (用于强制估算器角度与电机极点对齐)没有帮助。
3. 动态更改启动参数没有帮助。
4..直接 驱动 GPIO 几毫秒以将转子定位到极点位置没有什么帮助,因为 EST_getAngle_pu 在静止 时读取的角度太不精确。 静止时角度不精确的原因似乎是需要在静止时切换速度控制器的集成部分。 关闭集成部件是一种克服电机在静止30分钟、设置速度为0 rpm 后缓慢运动自启动的措施。
此外、直接驱动手动移动序列的 GPIO 以提供初始扭矩不起作用、因为 EST_getAngle_pu 在静止状态下读取的角度太不精确。
5. 停止电机时,请始终在实验示例代码中执行“MotorVars.Flag_enableSys = true”之后完成的步骤没有任何帮助。
6. 所有处于静止状态的低侧 FET 的手动快捷方式没有帮助。
7. 以平滑的正弦平方方式在150ms 内将 MaxAccel_krpmps 从速度0斜升至3000没有任何帮助。
8. 以平滑的正弦平方方式在150ms 内将 SpeedRef_krpm 从速度0斜升至3000没有任何帮助。
9. 在静止状态下,在发出“MotorVars.SpeedRef_KRPM = 3.0”之前,设置速度切换几毫秒并不起作用。
在以3000 rpm 的转速起动之前、在光石方向上的时间为10.50毫秒、没有任何帮助。
11. 通过 EST_setMaxCurrentSlope _pu (obj->estHandle、_IQ (127.99))增大电流不起作用。
12. 使用从实际2Hz 到10Hz 的强制角(对于我们的4极电机为150rpm)没有任何帮助。
调用 HAL_updateAdcBias 的每个主控制周期都不起作用。
14. 按照与以下类似的顺序手动设置估算器角度:
OverwriteAngle = EST_getAngle_pu (((CTRL_Obj *) g_CtrlHandle)->estHandle);
EST_setAngle_pu (((CTRL_Obj *) g_CtrlHandle)->estHandle、OverwriteAngle);
CTRL_setSpd_ref_krpm (g_CtrlHandle, HoldSpeed );
在接近几次开始后、磁通连接完全松动的危险很高。
在 EST_State_Rs 中启用电机时、估算器会在线圈中强制提供1A 电流。 但无法在毫秒内使用速度命令取消该状态。 此外、如果重新校准完成后启动时间不到半秒、则 Aprox 90%的启动失败。
使用 CTRL_setMaxVsMag_pu 更改过调制在不重新启动的情况下无效,因此不能用于0-3000 rpm 启动问题。
要进一步解决此问题、请执行以下操作:
A)您需要更多信息来支持我们?
b)您能否给出 instaSPIN 值得尝试的其他功能的提示?
