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.

[参考译文] 编译器/TMS320F28069M:连接正弦余弦编码器的源代码

Guru**** 2535750 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/594975/compiler-tms320f28069m-source-code-for-interfacing-sine-cosine-encoder

器件型号:TMS320F28069M
Thread 中讨论的其他器件:controlSUITE

工具/软件:TI C/C++编译器

您好!

我必须将 PMSM 电机的正弦余弦编码器集成到 launchpad f28069m 中,我在 control Suit 中找到了头文件和库文件,提供的代码是针对 F28379D 的。 如何更改代码、以便在没有索引信号的情况下从2个 ADC 通道读取正弦余弦信号。

谢谢

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

    Shameer、

    它相当复杂。  我们还没有在 F28069上实施 SINCOS 解决方案、到目前为止、这还不是一个计划项目。  应该可以修改代码、但有一些硬件因素使其具有挑战性。  

    controlSUITE 示例中的代码被编写成在具有 IDDK 电路板的 F28377D controlCARD 上运行。  此器件架构具有多个 ADC、每个 ADC 具有单独的比较器连接。  这允许同时对正弦/余弦对进行采样、并将两个信号通过电容比较器子系统路由、并通过输出 XBar 路由到 QEP 模块。

    F28069具有一个具有两个 S&H 模块的单个 ADC、具有不同的架构。  我们仍然可以同时对正弦/余弦对进行采样、但是比较器分配使得只有 A 通道进入同相比较器输入端。  我们需要同时对正弦和余弦信号进行采样、并将其路由到不同比较器的同相输入端(因为偏移 DAC 在库中进行了调节)。  然后、必须将比较器输出引脚路由到 QEP 模块。  F28069上没有 XBar、因此您必须在电路板上进行连接。

    您必须进行模拟通道选择、将正弦(余弦)信号引入 A 侧通道、然后将余弦(正弦)信号连接到不同比较器的 A 侧通道、将 B 侧通道连接到 ADC 进行同步采样。  比较器输出将在 GPIO 引脚上输出、并在电路板上路由到其中一个 QEP 模块的 A 和 B 输入引脚。

    完成所有这些操作后、您将需要对代码执行一些操作。  在"sincos.c"中、您需要更改 GPIO、PWM、QEP 和 ADC 初始化以匹配不同的器件、以及对同一文件中的 sincos()函数进行类似更改。  库中没有任何与器件相关的内容、因此在进行这些更改后、它应该会运行。

    我建议您在开始之前仔细阅读 Sincos 库用户指南、以便您完全清楚它的工作原理。  

    此致、

    Richard

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

    我创建了自己的程序来计算来自编码器的正弦和余弦信号的角度。现在、我的计划是将来自正弦余弦编码器的角度变量放入寄存变换中。此外、我还需要计算速度。 我正在尝试编辑 lab3a、以放置正弦余弦编码器的角度反馈。我知道速度和角度的估算是由 ROM 中的估算器完成的。因此、程序中需要更改哪些变量?

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

    如果您想使用正弦/余弦编码器的角度来实现有传感器 FOC 而不使用估算器的角度、最好将 lab12b 用作参考、lab12b 使用 QEP 编码器实现有传感器 FOC 的角度。

    您可以编写自己的代码、以从正弦/余弦编码器获取角度来替换以下行代码。

     //计算电角
     ENC_calcElecAngle (encHandle、HAL_getQepPosnCounts (halHandle));

    然后将 ENC_getElecAngle (encHandle)替换为 SIN/COS 编码器的角度。

       //运行控制器
      CTRL_run (ctrlHandle、halHandle、&gAdcData、&gPwmData、ENC_getElecAngle (encHandle));

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢你 Yanming。
    我将尝试执行上述步骤。
    此致
    Shameer
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yanming、您好、我们用正弦余弦编码器角度替换了编码器电角。现在我们制作了速度计算模块、我们如何将特定的速度值馈送到控制器。这些是要编辑的行?
    谢谢你