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.

[参考译文] TMS320F28027F:缺省 IQ 限制

Guru**** 2763585 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/742804/tms320f28027f-default-iq-limitation

器件型号:TMS320F28027F

尊敬的香榭丽舍

 InstaSpin FOC 示例项目中的默认 GLOBAL_Q 为24、我发现 USER_ADC_FULL_SCALE_CURRENT_A 存在限制、如果该值高于128、则会导致警告。  

因此、我想将 global_Q 更改为22、但我发现压缩机无法正常工作。 首先、我怀疑我的新电路板有问题、但当我更改为使用旧电路板 时、USER_ADC_FULL_SCALE_CURRENT_A 为55A、它仍然无法正常工作、您能帮助我了解原因吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否更改了以 IQ24格式传递给估算器的任何变量? FAST 估算器采用 IQ24硬编码、估算器使用的所有变量均采用此格式。 您可以更改它们、但必须将它们转换回 IQ24、然后再传递给估算器

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sean、

    我正在尝试更改估算器输入/输出值以满足 GLOBAL_Q 变化、但在我看来、错过了一些东西。 是否有任何指南/列表来说明如何执行此操作? 我认为这可以作为 TI 未来的标准文档、因为它可以帮助 instaspin 产品用于更广泛的应用。

    我还发现一些偏移函数、例如 offset_setBeta、offsetInitCond 等都是使用 lib 构建的、这些值的 Q 格式是什么?

    //! \brief 设置 β 偏移滤波器系数
    //! \param[in]处理偏移句柄
    //! \param[in] beta 偏移滤波器系数 β
    extern void offset_setBeta (offset_handle、const _IQ beta);


    //! \brief 设置积分器的初始条件或 y[n-1]的值
    //! \param[in]处理偏移句柄
    //! \param[in] initCond 滤波器近似的平均值
    extern void offsetInitCond (offset_handle、const _IQ initCond);


    //! \brief 设置偏移值
    //! \param[in]处理偏移句柄
    //! \param[in] offsetValue 偏移值
    extern void offsetOffset (offset_handle、_IQ offsetValue);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jack、
    如果 USER_ADC_FULL_SCALE_CURRENT_A =(实际满量程电流/2)(如果小于256)、则无需更改 GLOBAL_Q。
    并使基准电流也变为(/2)。 因此、现在基极电流为0.5、并使用0.5个多人口粮进行所有计算。
    也许可以这样做。

    Amosh Bhshutatt
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Ashutosh:

    您能否举例说明如何更改?

    如果有一个列表显示所有设置/代码更改、最好这样做。 谢谢。。。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您不需要更改 global_Q (实际上、我建议不要更改)、但可以在中间计算期间使用 IQ API 在不同的 Q 值之间转换。

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sean、

    您能否举例说明如何更改?

    例如、USER_ADC_FULL_SCALE_CURRENT_A = 400A
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sean、

    我可以在这里进一步评论一下吗? 谢谢。。。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以获取您的更新吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、在定义 USER_ADC_FULL_SCALE_CURRENT_A 时没有错误 该值被转换为 pu、并用于适当调节电流。 您很可能会看到以下类似的错误:

    gMotorVars.IQ_A =_IQmpy (CTRL_getIq_in_pu (ctrlHandle)、_IQ (USER_IQ_FULL_SCALE_CURRENT_A));

    此处、我们将更新全局变量、以显示 IQ 电流是 SI 单位。 这并不是真正必要的、只是用于调试。 您可以考虑删除将显示用于调试的 SI 单元的行-估算器仅使用 PU 值、因此内部没有问题。 您将需要使用 PU 单元而不是 SI 单元进行调试

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sean、

    感谢您的更新。 如果将其用于转换为 SI 单位、我认为这不是问题、因为有许多其他方法可以将 PU 转换为 SI。