Other Parts Discussed in Thread: BOOSTXL-DRV8320RS, MOTORWARE
主题中讨论的其他器件:BOOSTXL-DRV8320RS、 MOTORWARE
在 SDK (FOC)实验5电机 ID 中、对快速状态及其实施方式似乎存在一些困惑。 根据所有可用信息判断 、快速控制状态引擎的 SPRUHJ1H 与实验5电机 ID 的开发方式不完全一致。
未以与 user.c 等待时间匹配的方式检测电机 ID 状态、并且在各种状态变化时似乎会发生过运转。 SPRUHJ1H–2013年1月–2019年6月修订版中概述的某些状态变化会立即发生灾难性的、导致被强制进入不当模式、如果任何等待时间已延长或缩短、则会迅速崩溃。 奇怪的是、在为 Nidec 电机等待状态时间而停顿后、我能够识别更大的 SPM 电机 LC 磁通、仅有一次处于停滞状态、在线运行速度大于550Hz。 这是一个相当好的证据、表明 SDK (FOC)电机 ID 流程存在状态变化方面的主要问题。
该 SDK 与 BoostXL-DRV8320rs 勉强兼容、通常无法确定正确或任何 LC 感应、在关键状态变化时停止电机并将电流驱动至不安全水平。 实验5中的状态引擎使用奇数未记录的方法来确定状态何时发生更改。
此代码如何符合更改电机 ID 状态所需的已记录控制对象? 如果指南未更新对 FAST 估算器所做的更改与记录的图示或控制对象不同、任何人如何能够对问题进行故障排除?
其他 //无估算器错误
{
motorVars.ID_TARGET_A = EST_getIntValue_ID_A (estHandle);
flagEstStateChanged = EST_updateState (estHandle、
motorVars.ID_TARGET_A);
/*估算器当前状态已更改*/
if (flagEstStateChanged == true)
{
//SCIprintf (">State_changed \n");
//
//配置轨迹发生器
//
EST_configureTraj (estHandle);
1.为什么这些控制对象不监测电机 ID 控制状态?
CTRL_updateState () bool CTRL_updateState (CTRL_Handle handle)反馈控制器状态是否已更改
CTRL_State_e state;//!<控制器的当前状态 CTRL_State_e fortState;//!<控制器的先前状态
2.启用控制器对象与启用 FAST 估算器对象中显示的电机 ID 如何相同?
3.当电流斜升周期开始时,为什么强制角标志不被禁用? 图中仅显示了电机启动时强制的角度、而不是在任何其他状态下保持启用状态。 这似乎是因为未使用控制状态对象、因此无法知道何时禁用或启用标志。 在 R/L 期间启用奇怪的标志、但频率大于1Hz (USER_FORCE_ANGAL_FREQ_Hz)、并且保持启用状态、因此它不能自动禁用指令标志。




