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:在 SVGEN_DQ 模块中修改的逆向 Clarke 变换和扇区确定

Guru**** 2478765 points
Other Parts Discussed in Thread: TMS320F28069M, DRV8312, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1466373/tms320f28069m-modified-inverse-clarke-transform-and-sector-determination-in-the-svgen_dq-module

主题中讨论的其他器件:TMS320F28069MDRV8312controlSUITE

工具与软件:

您好!
我正在与 PM_Sensorless 项目一起工作、开发 DRV8312和 TMS320F28069M 控制卡。 我遇到了 SVGEN_DQ 模块、我无法把握住应用于标准逆向 Clarke 变换的90度相移的需求、以及扇区确定算法。

我们有修改后的反向克拉克变换、

/* Inverse clarke transformation */                                             \
    Va = v.Ubeta;                                                               \
    Vb = -temp_sv1 + temp_sv2;                                                  \
    Vc = -temp_sv1 - temp_sv2;                                                  \

根据扇区确定代码:

/* 60 degree Sector determination */                                           \
    if (Va>_IQ(0)) Sector = 1;                                                 \
    if (Vb>_IQ(0)) Sector = Sector+2;                                          \
    if (Vc>_IQ(0)) Sector = Sector+4;

我创建了此表(扇区初始化为0):

VA 为正的区域用与 A 相向量对齐的半圆表示。 我尝试将区域可视化为这样的区域:

当 Va>0时、根据表格、扇区应该为1、但实际上它在第二扇区中、
当 va>0和 vb>0时、它应该是扇区3、就是这样。

是的、我感到困惑。

感谢您的支持!
此致

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

    您可以参考以下示例代码、因为这些模块是 FOC 的标准函数。

    MotorControl SDK:包括  适用于 F28004xC 的基于 PMSM 或 BLDC 的三相无传感器 InstaSPIN-FOC 解决方案、以及适用于 F2838x、F2837x 和 F28004x 且具有快速电流环路的基于 PMSM 的三相有传感器 FOC 解决方案。

    MotorWare 软件:      F2802x、F2805x 和 F2806x 系列提供基于 InstaSPIN-FOC 和 InstaSPIN-Motion 的三相电机控制应用、支持使用 FOC 的 ACIM、PMSM 和 BLDC。

    controlSUITE: 包括基于霍尔传感器或无传感器梯形控制的三相 BLDC、基于 ACIM/PMSM 且具有 QEP 编码器或无传感器 FOC 的三相配有传感器的 FOC。

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

    您好!
    我正在使用 ControlSUITE SDK 中提供的 PM_Sensorless 项目。 这就是我遇到该模块的地方。

    如前所述、我无法搞清楚扇区确定逻辑。 通常、在 α 和 β 电压矢量上使用 atan2函数来确定 SVPWM 中的扇区。 但我假设应用该逻辑来消除三角计算负载。

    但是这个逻辑是如何推导出来的,我无法解释。 我已经完成了 DMC 文档和给定的内容,事实证明,不足以让我绕着这个问题。 因此,我尝试可视化和查询。

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

    当您发布文本时、有一个计算扇区的 SVPWM 模块、您可以直接计算扇区。    由于 SVPWM 基于 alpha/beta 轴、因此无需任何三角计算。

    您可以查看下面有关 SVPWM 算法的链接。

    https://www.switchcraft.org/learning/2017/3/15/space-vector-pwm-intro

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

    感谢您的响应。

    在文献中、我最常见过三角部门的确定。 以下是 Muhammad H. Rashid《电力电子技术-器件、电路和应用》第四版的节选。 幅度差 2. 提到了的计算 θ 再计算扇区角 θk μ A 性能

     

    你分享的文章没有深入到扇区决定。 它讨论了 SVPWM 技术的其他方面、坦率地说、我在过去多次遇到这篇文章。 这总是一个深刻的阅读哈哈.

    我仍然相当不清楚这一看似简单的代码是如何准确确定各个扇区的、

    /* 60 degree Sector determination */                                           \
        if (Va>_IQ(0)) Sector = 1;                                                 \
        if (Vb>_IQ(0)) Sector = Sector+2;                                          \
        if (Vc>_IQ(0)) Sector = Sector+4;

    我必须错过一些非常琐碎的东西,这肯定是一个"尤里卡"的时刻。 我希望很快就会发生。

    此致
    Aarav