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.

[参考译文] TMDSHVMTRINSPIN:标量控制

Guru**** 2382630 points
Other Parts Discussed in Thread: CONTROLSUITE, TMDSCNCD28069ISO, MOTORWARE, C2000WARE, MATHLIB
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/788980/tmdshvmtrinspin-scalar-control

器件型号:TMDSHVMTRINSPIN
主题中讨论的其他器件:controlSUITETMDSCNCD28069ISOMOTORWAREC2000WAREMATHLIB

我尝试转换 controlSUITE 中的标量控制示例、以便与 TMDSCNCD28069ISO 配合使用。 一般而言、该过程正在进行中。 我决定从宏转到函数以更好地进行调试。

但我在 VHZ_PROF_MACRO (v)上遇到错误:

/* V/f 曲线的计算斜率*/\
V.VfSlope =_IQdiv (((v.VoltMax - v.VoltMin)、(v.HighFreq - v.LowFreq));\

_IQdiv 始终返回34.63...

_IQmpy 工作正常、_IQsin 也正常。

通过计算中间结果(使用简单的浮点除法)并将值转换为_IQ 来解决此问题。 已尝试使用 controlSUITE、Motorware 和 C2000Ware 中的 mathLib.lib。

为什么会发生这种情况?

以 PIC 为例。

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

    _IQdiv (0已针对功能完整性进行了广泛测试、并已使用很长时间。 在此处显示的示例中,_IQdiv()与分子和分母值相关联,这些值对于给定的测试设置应该是恒定的,因此结果值 应该是相同的。 不是吗? 您是否尝试将其与不同的值集一起使用?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以看到、结果4必须是_IQ (2.0)除以_IQ (1.5)、是的、我也尝试了其他值、因为这种行为对我来说似乎很奇怪、我决定测试一个值的通道。 但仍然无法确定它为什么如此工作... 明天、我将继续执行一个清理项目。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我找到了答案。 我使用了28069_RAM.cmd、但28069中的 IQTABLES 地址与28069M 不同。 现在它按预期工作。 看起来_IQsin 结果也不正确、但它不大于-1;1、因此我不注意。 顺便说一下、在196页参考手册中、没有用于计算 IQTABLES3长度的信息。 BEC。 IQ Math 函数没有起始地址。