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.

[参考译文] F28M36H53C2:SPLL 相位跳转检测

Guru**** 2585275 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/649163/f28m36h53c2-spll-phase-jump-detection

器件型号:F28M36H53C2

您好!

我正在处理 PFC 应用、我想了解是否有一种简单的方法来检查输入正弦波相位与 SPLL 输出之间的误差。
我在浮点工作、我注意到使用 cos 输出实现了相位检测。

我访问 了 https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/488937

但这对我没有帮助。 基本上、我想了解是否有任何方法来检测两个后续 ISR 事件之间的相位跳转。

我想检查输出 θ 的差异是否大于给定的阈值、但对我来说、这听起来太简单了、我担心我会丢失一些东西。

如果能在这方面提供任何帮助,我们将不胜感激。

提前感谢、

克劳迪奥

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

    是否要检测相位跳转条件? 我不能完全确定您想要检测的物理现象。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Manish、您好!
    是的、我希望能够了解相位的漂移大于电荷阈值。 我很可能应该监控输出 θ、但我不确定这是否足够。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Manish、您好!
    很抱歉再次打扰您。
    我想说您的问题答案是肯定的、我想能够检测相位跳转条件、是否可以使用 SPLL SPLL_1ph_F_FUNC 进行检测? 如果您能就此提供任何反馈、将会大有帮助。

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

    您可以查看环路误差输入项、它代表相位跳变、但它不是导致相位跳变的唯一原因。

    我使用这个术语是一些项目来检测相位/频率跳跃、即交流瞬态。

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

    Manish、

    您的输入。 我查看了您的 TIDM 代码、尤其是在\C2000Ware_DigitalPower_SDK_1_00_00_00\solutions\TIDM_hv_1ph_dcac\source\gridconnectedinvlclfltr\source\gridedinvlclfltr.c 中

    我可以看到、在某些条件下声明并使用了一个称为 Phase_jump 的变量、唯一的问题是我无法理解它的初始化位置。

    if (Phase_jump = 1)
    {
    rgen1.out+=(float)(0.25);
    if (rgen1.out>(float)(1.0))
    rgen1.out=rgen1.out-(float)(1.0);
    Phase_jump = 0;
    if (Phase_jump = 0)
    PHASE_JUTO_TRIG=1;
    否则
    PHASE_JUTO_TRIG=0;
    } 

    顺便说一下、如果我的理解是正确的、并且阅读了 solarLib 中的文档、您会告诉我处理陷波滤波器输出、因为它们代表了两个 θ 之间的差异。 非常感谢、这是一个很好的帮助。

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

    您所引用的代码用于测试 PLL,方法是通过分段人工 相位跳转、

    它用于构建级别1、不是相位跳转 检测。

     我们使用环路滤波器输入变量检测相位跳跃的位置如下所示、但正如我提到过的、它将检测任何类型的瞬态、而不仅仅是相位跳转

    #if SPLL_METHOD_SELECT=SPLL_1PH_Sogi_SEL
    SPLL_1PH_Sogi_run (&spll1、ac_vol_sensed);
    spll_sine=spll1.sine;
    spll_cosine=spll1.cosine;
    if (fabs (spll1.ylf[0])>2.0)

    if (ac_vol_sensing>0.0)

    ac_sign_filtered = 1;

    其他

    ac_sign_filtered = 0;


    其他

    if (spll1.sina>0.0)

    ac_sign_filtered = 1;

    其他

    ac_sign_filtered = 0;

    acSinePrev = acSine;
    acSine = spll_sine;
    #endif

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