主题中讨论的其他器件:TMS320F28069、 C2000WARE、 controlSUITE
您好!
我们将 TMS320F28069处理器与 Instaspin 配合使用以用于逆变器应用。 我对代码进行了一些研究、试图了解代码的某些部分以重写代码并为我们的应用添加一些功能、我对此有一些疑问:
1. CTRL_setup:据我所知、运行轨迹的函数就是运行轨迹、这是正确的吗? 如果是、哪个轨道? 我认为它是速度、Id、可能是 speed_max?
我向该函数中添加了 IQ 的另一个轨迹、以便将转矩斜升而不是升:
"// IQ 轨迹句柄
_iq intValue_IQ = TRAJ_getIntValue (obj->trajHandle_IQ);
_iq targetValue_IQ = TRAJ_getTargetValue (obj->trajHandle_IQ);
_iq maxDelta_IQ = TRAJ_getMaxDelta (obj->trajHandle_IQ);
_iq error_IQ = targetValue_IQ - intValue_IQ;
//剪切并更新值
intValue_IQ +=_IQsat (ERROR_IQ、maxDelta_IQ、-maxDelta_IQ);
//存储值
TRAJ_setIntValue (obj->trajHandle_IQ、intValue_IQ);
CTRL_setIq_ref_pu (handle、intValue_iq);"
是否可以将该代码重新用于其他轨道而不是使用 CTRL_runTraj? 我认为该函数是 Instaspin ROM 库的一部分、因此我无法访问该函数。
2. spdmax 轨迹是什么? 这是速度控制器可以输出的最大速度的轨迹吗? 这是否与更改速度轨迹的 maxValue 不同? 您为什么需要另一个轨迹?
什么是 gMxCurrentSlope? 现在、在我的代码中、它是:
"if (EST_isMotorIdentified (obj->estHandle))
{
物品;
EST_setMaxCurrentSlope _pu (obj->estHandle、gMaxCurrentSlope);
物品;
}
其他
{
gMaxCurrentSlope = EST_getMaxCurrentSlope _pu (obj->estHandle);
}"
这是否仅在识别过程中使用? 如果是、什么标识? 我需要在应用中使用的唯一标识是偏移校准和 Rs 重校准。
4.是否可以知道估算器运行所需的参数? 我发现与估算器设置有关的唯一位置是 CTRL_setparam:
"Ctrl_setEstParams (obj->estHandle、pUserParams);"
我假设估算器从 pUserParams 获取它所需的所有参数? 我计划修改此结构、以便添加/删除一些内容。 这是否可以在不中断估算器的情况下实现?
5.我想添加另一个中断来处理 CAN 通信。 这是否会以某种方式干扰主 ISR? 有没有这方面的示例?
6. gMotorVars 结构 定义为易失性。 这是必要的吗? 可以更改吗?
提前感谢!
Javier