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.

[参考译文] TMS320F280049:有关正弦/余弦库的问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1107050/tms320f280049-question-about-sin-cos-lib

器件型号:TMS320F280049
主题中讨论的其他器件:DESIGNDRIVE

大家好、

我的客户希望在正弦/余弦传感器器件中使用280049、我想知道在这种情况下、我们是否有任何资源或库可以使用。

我的客户仅使用传感器 TAS2440、输出信号为 Sin 和 Cos、并且希望计算用于电机控制的角度

问题:

  1. 第一个问题是,我们是否有这样的参考代码可用于此?
  2. 第二个问题:如果我们没有这样的参考代码,我检查 PM_SINCOS_LIB,它将使用 QEP 和 SIN/COS。如果我们可以修改代码以在其中使用? 如果可以、我们需要修改什么?

谢谢!

简森

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

    简森

    有关正弦/余弦库的本应用手册可能会有所帮助。  我查看了应用手册、其中确实包含角度计算信息。  

    遗憾的是、作者不再在 TI 工作、因此我们当前回答问题的能力有限。  请查看它是否对您的客户有所帮助。  

    http://www.ti.com/lit/SPRUI54

    www.ti.com

    此致

    Lori

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

    您好、Lori、

    我对这个库有一些疑问、

    由于我不使用 eQEP、我可以使用精细角度吗?

    我发现数据的输入是 uint16 (ADC 转换的结果)、我想知道它的输入是怎样的? 0~3.3V 正弦/余弦?

    谢谢

    简森

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

    尊敬的简森:

    Lori 目前不在办公室。 她将在本周晚些时候(16岁左右)回复您。

    最棒的

    Kevin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="455975" URL"~μ C/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1107050/tms320f280049-question-about-son-cos-lib/4109306#4109306]1.由于我不使用 eQEP、我是否可以使用精确角度?]

    简森

    在第1.3.2.2节-表1中显示了库的不同模式。  在模式0和1中、精细角度和粗角在软件中计算、不使用 eQEP。   

    [引用 userid="455975" URL"~μ C/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1107050/tms320f280049-question-about-sin-cos-lib/4109306#4109306]2.I 发现数据的输入是 uint16 (我想知道 ADC 转换结果)? 0~3.3V 正弦/余弦?[/引述]

    正弦/余弦编码器通常将信号输出为差分输出。  必须将其连接到差分放大器、才能向 MCU 的 ADC 产生单个信号。  

    我知道具有以下 连接的3个硬件参考:

    1. 适用于工业电机控制的 C2000 DesignDRIVE 开发套件(https://www.ti.com/tool/TMDXIDDK379D
    2. C2000位置管理器 Booster Pack (https://www.ti.com/tool/BOOSTXL-POSMGR)
    3. TI 参考设计"具有高分辨率位置内插的正弦/余弦编码器接口" https://www.ti.com/tool/TIDA-00176 

    注意:3的设计指南包含有关正弦/余弦编码器的详细信息。

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

    您好、Lori、

    感谢您的回复。

    实际上、我仔细查看了该代码、但仍然有一些问题。

    代码中的偏移量需要校正什么?
    例如、我的信号输入是0~2048的正弦/余弦。 运行代码后、我可以得到1024的偏移量、这是正确的。 但是、在计算角度时、无法计算正确的角度。 我的理解是1024将用作中心点、即0、2048对应于最大值1、0对应于最小值-1。 然后、在反正切操作中、可以计算正确的0~1 (表示角度的 pu)。值、0~360度)。 但我发现、当我输入0时、相应的 sincorr=-1.5。 当我输入2048时、使用 sincorr=-0.5。 因此、我认为只有在输入为(1024~5120)时才能计算正确的角度值、是这样吗?

    PS 我正在使用以下公式进行计算
    // fineAngle =_IQ15frac (_IQ15mpy (_IQ15 (4.0)、_IQ15atan2PU (p->coscorr、p->sincorr)));//精细角度为4x、以匹配 QEP 边沿计数器
    fineAngle =_IQ15atan2pu (p->coscorr、p->sincorr);//无需 eQEP

    如果我想使用此库计算1024~3072的正弦/余弦输入、我该怎么办? (1024对应于-1、3072对应于1以计算角度)

    非常感谢  

    简森

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

    简森

    遗憾的是、本代码和应用手册的作者不再在 TI 工作。  我们目前回答问题的能力有限。  如果我能更好地理解、我将在下周初做进一步的研究和回应。  

    此致

    Lori

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

    您好、Lori、

    非常感谢您的帮助、我认真研究了此代码。


    我认为问题是这样的


    代码转换 ADC 输入。


    如果 ADC 输入为0~4096、则下巴对应于输出-1~1、这很好。 但是、由于我们的输入信号目前不一定是0~4096 μ A。
    例如、正弦和余弦的输入为1024~3072、而下巴的输出为-0.5~+0.5。 这不符合预期。 我正在考虑如何将1024~3072缩放到0~4096。 将输入最大值和最小值设为-1~1。 那么、这应该可以解决问题。您对此有什么意见

    //如下所示的代码。输入0~4096输出-1~1

    ch0in =(_iq15)((long) p->sindata << 4)-_IQ15 (1.0);//在12位模式下对齐 MSB
    ch1in =(_iq15)((long) p->cosdata << 4)-_IQ15 (1.0);

    感谢你的帮助

    简森

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

    简森

    编码器如何连接到 C2000?  接口是否会放大和电平转换差分信号以创建 C28x ADC 的单端输入?   

    Lori