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.

[参考译文] TMS320F28069:TIDUA05A 中的正弦/余弦编码器相移校正方法

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/981097/tms320f28069-sin-cos-encoder-phase-shift-correction-method-in-tidua05a

器件型号:TMS320F28069
主题中讨论的其他器件:TIDA-00176controlSUITEC2000WARE

您好!

我无法理解 TIDUA05A 中的正弦/余弦编码器相移校正方法。  当我用这种方法在 DSP 中进行编程时、当正弦信号 A 跨过零时、位置将下降、当 QEP (比较器后的信号 A)步进/改变时、位置将升高、如图3所示。  随着速度/频率的上升、相移将增加/改变、我们如何纠正它? 谢谢。

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

    您好!

    感谢您关注 TIDA-00176参考设计。  

    图6和公式(5)中所示的方法适用于根据 C2000 eQEP 模块的增量计数和插值插值相位来插值正弦/余弦信号。  

    表6中的方法假定在比较器滞后于模拟正弦和余弦信号后、数字化信号正弦(A)或余弦(B)、这些信号由双 ADC 转换。 因此、插值角也会识别象限。 相移不应大于90度。 由于我将增量计数左移、因此我可能没有正确的内插增量计数。 示例:  

    假设正弦的相位为2度=第一象限、我们处于第二个正弦周期、因此 eQEP 应为4、从0开始计数。  但是、由于比较器的相移、增量计数可能会延迟、因此仍然只有3、因此第一个周期的第4象限。 现在、当我根据公式(5)构建由左移引起的插值位置时、我的结果将具有一个周期的误差。 3 >> 2 =周期0 + 2度。 但是它应该是4>>2=周期1 + 2度。    

    通过比较器的相移随编码器速度的增加而增加。 这是正常现象、因为即使不带迟滞的比较器也具有传播延迟。 在正弦调制编码器信号的较高频率下、这会产生较高的相移。 请参阅 TIDA-00176设计指南中的1.4.2。  

    我不确定我是否理解您所附的图表。 在我看来、这只是增量计数、因为它在整数中计数。 如果该压降是增量计数、即使没有内插、也要检查硬件和 eQEP 代码。

    要调试您的问题、我将分步执行以下操作:

    验证编码器的正弦和余弦信号如图3所示。 例如、如果 B 信号不是-cosine、而是+ cosine、则相应地校正内插。  

    2.确保输入到 eQEP 模块的数字信号 A、B 和 R (如果您有索引或标记信号)符合预期。 否则、请验证编码器和硬件。  

    3.仅使用编码器独立测试 eQEP 模块(无内插),并确保按预期递增或递减计数。 有关软件支持、请参阅 controlSUITE 或 C2000Ware 中的 C2000软件示例。

    4.如果 eQEP 模块按预期工作、计算正弦/余弦编码器信号的相位并将该相位与增量计数进行比较。 低速时、插值相位应与增量计数的最后2位匹配、如表5所示。 当编码器速度以及正弦和余弦频率提高时、请检查您是否看到表6中描述的问题。 如果是、则应用该方法。

    此致、

    Martin Staebler
     

      

     

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

    尊敬的 Martin:

    感谢您的详细答复。 这对您有很大帮助。

    当速度较高时、比较器滞后可能导致相移。 这可以通过"象限检查"进行补偿。 但导致相移的另一个因素可能是模拟信号正弦/余弦误差。 例如、当速度非常低时、每个象限(1、2、3、4)应在理论上为90度。 但实际上、象限可以是88度或92度、因为正弦/余弦信号具有振幅误差和直流偏移。 也就是说、当 QEP cnt 发生变化时 、正弦相位可能为88度或92度。 该偏置会随着速度或温度或线路/连接器电阻等的变化而变化  然后计算出的位置(QEP< 'quadrant="" change'="" 'qep="" counter="" change',="" as="" my="" figure="" 3="" shows. ="" i="" am="" trying="" a="" method="" to="" fix="" it,="" but="" not="" ok="" yet="" . =""

    谢谢、

    Peter

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

    您好、Peter、

    感谢您提供更多信息。 是的、我同意必须考虑您提到的临界情况。 我仍然认为我使用的方法是可行的、但当然
    具体取决于您将什么视为基准、eQEP 或 ADC atan。  

    让我们来看看我之前解释过的临界情况、考虑 eQEP 和 ADC 内插数据之间的正负相移。

    a) eQEP 滞后2度:ADC = 1度、eQEP = 3 (仍在前一周期的4小时象限内)-> 0≤相位< 90
      incr = 3 ->%4 = 3。 现在、我应用校正方法 INCR+1进入正确的象限。 现在、我处于正确的第二个周期并内插为1
      度、其中公式(5)位于设计指南中。

    b) eQEP 超前2度:ADC = 359度、eQEP = 4 -> 270≤相位< 360
      incr = 4 -> 4%4 = 0。 现在、我从递增计数(=3)中减去一、得到第一个周期的正确第四象限。 现在我应用 eq。 (5)和
      359度内插。    

    此致、
    Martin

     

    eQEP =  

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

    您好 Martin、

    感谢您的回复。 我将尝试您的方法并提供反馈。

    Peter