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.

[参考译文] SFRA 相位测量

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1302564/sfra-phase-measurement

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

您好!

SFRA 相位测量是否存在任何问题。 我附上了 我使用 Vienna 整流器 TIDM 1000代码为 PSFB 获得的 SFRA 电厂响应。 我编辑了绘制 SFRA 的 PSFB 要求代码。 我仅感应每个 ISR 的输出电压单次采样、而不是求平均值。  

注入幅值为0.01

40dB 的直流增益符合理论计算结果。

但是、为什么 PHASE 在1kHz 之后持续下降( 我知道-180之后、它会进一步减小、因此跳至179、因为 tan 值相同)。  可以看出、相位以更快的速率下降、即使200kHz 之后的幅度是恒定的。 双极点会将相位降低到-180度、并在此后保持相同的相位。 但此处的幅度保持不变、没有降低指示传递函数为零、但相位开始以更快的速率减小。 SFRA 中的相位测量结果是否正确。

我在电压测量中添加了一个截止频率为10kHz 的数字低通滤波器、 我将得到以下图表。

在10kHz 增加已知极点会减慢相位减少。

因此、我对相位测量存有疑问。

ISR 频率为50kHz。

  为0.8的稳态占空比周围的扰动绘制了受控体响应。

将平均计算 ISR 中电压 ADC 值的4个样本会改善结果。  

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

    您好!

    请分享"SFRA_F32_CONFIG()"函数的配置,以及如何使用"SFRA_F32_Insert()"和"SFRA_F32_collect()"函数? 不正确的输入这些函数会导致错误的结果。 如果可能、您能否添加一张控制环路图片、指明从何处收集数据? 这可能是由于注入振幅过高而发生的。 您可以尝试通过将注入振幅降至0.001

    此致、

    沙米克

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

    感谢您的答复。

    我正在使用 Vienna 整流器代码 TID1000。 PSFB 的配置相同。 开关频率为50kHz。

    使用0.001时、我得到了以下结果。  我正在使用实际总线电压值 进行 SFRA 测量。  

    使用0.1时、我得到以下结果。

    ================================

    代码如下所示:

    ================================

    Vienna_readCurrVolADCSignals();
    VIENNA_dutyPU_DC = 0.8f;

    Vienna _duty4PU = Vienna SFRA_Inject (Vienna _dutyPU_DC);

    Vienna _duty5pu = 1.0f -(Vienna _duty4pu);

    VIENNA_HAL_updatePSFB_PWM (VIENNA_HIGH_FREQ_PWM4_BASE、
    VIENNA_HIGH_FREQ_PWM5_BASE、
    VIENNA_HIGH_FREQ_PWM6_BASE、VIENNA_HIGH_FREQ_PWM7_BASE、
    Vienna_duty4pu、
    Vienna_duty5pu、
    Vienna_duty6pu、Vienna_duty7pu);


    VIENNA_guiVbusPM_Volts = VIENNA_vBusPMMeas_pu * VIENNA_V_MAX_SENSE_VOLTAGE;
    IL1_Amps = VIENNA_IL1Meas_pu * VIENNA_I_MAX_SENSE_AMPs;

    VIENNA_SFRA_COLLECT ((float32_t *)&VIENNA_duty4PU、
    (float32_t *)和 VIENNA_guiVbusPM_Volts);

    此致、

    内拉哈

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

    您好!

    感谢您尝试上述操作。

    您能帮助我了解更多信息吗? 您是否使用 PSFB 硬件并尝试运行 TIDM 1000设计的 SFRA 代码部分作为参考? 如果这样做、最好参考"pmp23126"解决方案。 这是 PSFB 参考设计、也使用 SFRA 功能。

    此致、

    沙米克

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

    谢谢。 我将参考  pmp23126。

    对于 SFRA 测量是、占空比和输出电压均需要单位值。

    我使用实际的输出电压。 任何差异。

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

    此外、我使用 PSFB 硬件并为 SFRA 运行 Vienna 代码。 我已经为 PSFB 配置了 PWM、并且它在稳态下提供正确的输出。 此外、在 SFRA 中、对于低频、40dB 输出也与 SFRA 测量值正确匹配。  

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

    嗨、Neeraja:

    函数  VIENNA_SFRA_COLLECT ()的两个输入都必须小于1 i.e ,必须转换为 pu 值。 否则、它将无法按预期工作。  

    此致、

    沙米克  

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

    当我按如下方式强制输出值时、

    VIENNA_dutyPU_DC = 0.8f;

    Vienna _duty4PU = Vienna SFRA_Inject (Vienna _dutyPU_DC);


    VAR1.Ref =1;

    VIENNA_SFRA_COLLECT ((float32_t *)&VIENNA_duty4PU、
    (float32_t *)&var1.Ref);

    我将得到以下响应。  

    ================================================

    当我强制如下,输出作为一个占空比我得到下面的响应,这是正确的。

    VAR1.Ref = VIENNA_duty4PU;

    VIENNA_SFRA_COLLECT ((float32_t *)&VIENNA_duty4PU、
    (float32_t *)&var1.Ref);

    第一种方法可能是什么问题?