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.

[参考译文] CCS/SFRA:用于电压+电流环路的 SFRA

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/587582/ccs-sfra-sfra-for-voltage-current-loop

器件型号:SFRA
Thread 中讨论的其他器件: controlSUITE

工具/软件:Code Composer Studio

您好!  我们在项目中使用的是电压+电流2P2Z 稳压器。
我将 稳压器的2P2Z_OUT 与电流稳压器上的2P2Z_REF 相乘、并将结果放置

PWM_DRIVE。

在我们使用 SFRA 来查找电压和电流2P2Zs 的相应系数之前

如果我们将 这些系数保留在这个新的组合模型 Voltage+Current 中、或者我们需要这些系数、将是正确的

要查找电流2P2Z 的新系数。 如果是、我如何 为此使用 SFRA?、

我查看了 SFRA 代码、似乎发现了应该进行哪些更改、但我不理解需要采取哪些措施

为 SFRA_Collect 输入和输出。

也许您对我有一些建议。

谢谢你。

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

    当您将电流环路与电压环路相结合时、受控体模型会发现电压环路发生显著变化、

    SFRA 可用于这些应用、请参阅逆变器示例、其中我们有内部电流和外部电压环路、两者均使用 SFRA 进行调优

    www.ti.com/.../TIDM-HV-1PH-DCAC 文档

    请注意、SFRA 是一个非可重入代码、即您不能同时运行多个 SFRA 实例、即您可以在电压或电流上运行 SFRA、但不能同时运行这两者。

    以上代码可在中供您参考
    C:\ti\controlSUITE\development_kits\HV_1PH_DCAC\v1_04_00_00\f2837x\voltagesourcefinlcfltr
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Manish。

    电压、内部电流将受到此类链(DCDC)的影响:

    启动 "受控体"SFRA GUI - project -> 开环电流(构建1)

    2.查找补偿设计器 到2p2z 电流的系数

    下一步:

    3.启动 "受控体"SFRA GUI -但 使用  这些系数生成->闭环电流(构建2)

    也可能是如此

    3. 启动 "受控体"SFRA GUI -但 项目 ->使用 这些系数的闭环电压(构建2)

    4.使用  此新图从补偿设计器中查找系数、但在本例中、该系数将是电压系数2p2z

    如果错误、请更正此链。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.启动电流环路的构建1、测量电流环路的 SFRA 受控体。
    2.将数据导入补偿设计器并设计电流环路
    3.现在使用设计的补偿器在闭合电流环路控制中运行电路板以验证电流环路(构建级别2)
    4.对于电压环路、您可能无法在不修改某些代码的情况下运行以测量受控体、但可以完成此操作、否则您可以保持一组非常保守的系数并在电压环路闭合的情况下在构建级别3中进行验证。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的。 我知道必须更改一些代码。 即:

    #if (INCR_BUILIN=1)

    //读取 ADC 和计算机 FBK 值

    Vout1_read=_IQsat ((((((Int32) Vout1R<<12)-offset_Vout)、_iQ24 (1.0)、_iQ24 (0.0)));//(Int32) Vout1R<<12;

    //将 SFRA 注入到开环转换器的占空比中

    Duty_pu=SFRA_IQ_Inject (Duty_PU_DC);

    //===================  闭环电流的新部分

    cntl3p3z_vars1.Fdbk=_IQsat (((((Int32) Iout1R<<12)-offset_Iout)、_iq24 (1.0)、_iq24 (0.0));

    //将 SFRA 注入到控制器的基准中

    // 排除 cntl3p3z_vars1.Ref= SFRA_IQ_Inject (Vout1SetSlewed);

    //呼叫控制器

    CNTL_3P3Z_IQ_asm (&cntl3p3z_coeff1、&cntl3p3z_vars1);

    //更新 PWM 值

     pwmCurrentLoop =_IQ24mpy ((long)(buck_pwm_period)、cntl3p3z_vars1.out); // 从 当前闭环获取新的 PWM

    //更新 PWM 值

    EPwm1Regs.CMPA.half.CMPA=_IQ24mpy ((long)(PwmCurrentLoop)、Duty_PU);

    //=================== 修改后的零件的结尾=========================================================

    SFRA_IQ_Collect (&Duty_PU、&Vout1_Read);

    这是可以的吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SFRA_INject 需要位于电压环路控制器的输出端、

    2.您在几个地方有 SFRA_INject。 例程是非可重入的,即它在代码中不能有多个活动实例,这在上面的代码中被违反。

    总体而言、我建议您花更多的时间处理代码、因为它有几个问题、