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.

[参考译文] TMS320F280049C:在 dutyLimit 转换之上不稳定性和失去适当的速度控制

Guru**** 2562120 points
Other Parts Discussed in Thread: DRV8353, TMS320F280049C

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1106831/tms320f280049c-instability-and-loss-of-proper-speed-control-at-and-above-dutylimit-transition

器件型号:TMS320F280049C
主题中讨论的其他器件:DRV8353

我相信我在某些更高速度和更低总线电压的组合下看到了这篇文章中提到的相同行为。

TMS320F280049C:高速时 InstaSPIN 不稳定- 280049C 和 DRV8353 - C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛

观察到以下问题。

1:输入直流电源的电流消耗不稳定

2.失去正确的速度控制(即 Code Composer 中的命令速度和测量速度与我们设置中的扭矩/速度传感器上的测量轴速度不匹配...可能相差10s rpms)

3.在电机上运行高输出负载(高速/高扭矩)时偶尔出现峰值电流故障,即使峰值电流限制设置为测量电流限制的1.5倍。

USER_ISR_FREQ_Hz  移位(我们通过对固件中的 ISR 进行计时并捕获最小值/最大值/平均值来测量此值、在较低的速度下、频率是恒定的、在较高的速度下、频率会跳转)

影响  项目1-4发生时间和严重程度的主要输入

a.总线电压(总线电压越低、开始出现这些问题的速度就越低、反之亦然)

B. PWM 频率(较低的 PWM 频率会导致这些问题开始时的速度更高、反之亦然)

根据问题 A 和 B、观察到处理器上 PWM 输出之一上的占空比行为以及参数 motorVars.vs_V 的值、我们确定这一行代码直接影响问题1-4开始的时间点。 由于占空比由总线电压决定、因此总线电压和 PWM 频率会影响我们看到这些问题的转换速度、这是有道理的。

float32_t dutyLimit = 0.5 -(2.0 * minWidth_usec * USER_PWM_FREQ_kHz * 0.001);

通过 将这一行代码更改为以下内容(即将 dutyLimit 值设置为允许的最大值- minWidth_usec、0.5 - 0.02)、它消除了问题1-4、并实现了稳定运行、最高可达到调制指数值0.5774的最大允许速度:

float32_t dutyLimit = 0.5 -(2.0 * minWidth_usec * 5 * 0.001);

问题1:

PWM 频率为何会导致 dutyLimit 值在过调制方面减小?

问题2:

如果我按照建议更改 dutyLimit 方程、那么控制算法的其他方面会产生什么后果?

问题3:

磁通 HF 代码文件是否旨在改善我们观察到的问题、无论我们是否有低电感电机? 我们观察到的两个电机具有 以下特性、我们在两个电机上都看到了相同的问题1-4。

电机1:0.0045H、0.433VpHz

电机2:0.00036 H、1.188 VpHz

问题4:

作为错误修复引入了哪个 SDK 版本的 FluxHF 文件?

感谢对此的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="441596" URL"~/support/microcontrol/C2000-microcontrol-group/c2000/f/c2000-microcontrol-forume/1106831/tms320f280049c-intrations-不稳定性和适当速度控制的丢失-it-at 及之上 dutylimit-transition "]为什么 PWM 频率会导致引用中的超调制值降低[?]

    您使用的是什么 PWM 频率? 您应该通过检测 PWM 输出信号来测量 PWM 频率。

    [引用 userid="441596" URL"~/support/microcontrol/C2000-microcontrol-group/c2000/f/c2000-microcontrol-forume/1106831/tms320f280049c-intraturity-and-of-of-proby-speed-control-at-and-above dutylimit-transition "]如果我更改 dutyit 算法的其他方面、则会产生什么后果/引用公式?]

    这仅限于逆变器板和电流检测电路。 如果 使用过调制和电流重建功能、建议将 USER_MAX_VS_MAG_PU 限制为小于(0.57)。

    [引用 userid="441596" URL"~/support/microcontrol/C2000-microcontrol-group/c2000/f/c2000-microcontrol-forume/1106831/tms320f280049c-intrationsensiturity-and-loss of proc-speed-control-at-and-about-dutylimite-transition "]引用的 FluxHF 文件是什么 SDK 版本?[引用]

    这用于将低电感、低磁通电机高速运转。 3.03之后的最新版本应该包含这个  FluxHF 文件。

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

    我在问题1中遗漏了一个重要的词。 让我重新措辞。

    问题1:

    为什么增大 PWM 频率  USER_PWM_FREQ_kHz 会导致与过调制相关的 dutyLimit 值减小? 这种关系直接来自 SDK 版本3.00.01.00中的公式、如此处的蓝色文本所示。 随着 PWM 频率的增加、dutyLimit 值会减小。 此代码开头的注释表明此部分与过调制有关。  

    //为过调制函数设置 svgenclu

    float32_t minWidth_usec = 2.0;//将最小 PWM 宽度设置为2.0us
    uint16_t minWidth_Counts =(uint16_t)(minWidth_usec * USER_SYSTEM_FREQ_MHz);

    //最大输出电压占空比:0.5
    //通过除以 Tpwm 将最小 PWM 宽度转换为占空比
    // Tpwm = 1/(USER_PWM_FREQ_kHz * 1000)=*(USER_PWM_FREQ_kHz * 0.001)
    // svpwm 的两个零矢量中的最小 PWM 宽度相同
    float32_t dutyLimit = 0.5 -(2.0 * minWidth_usec * USER_PWM_FREQ_kHz * 0.001);  

    SVGENCURRENT_setMinWidth (svgencurentHandle、minWidth_Counts);
    SVGENCURRENT_setIgnoreShunt (svgencurentHandle、SVGENCURRENT_USE_ALL);
    SVGENCURRENT_setMode (svgencurentHandle、SVGENCURRENT_All_PHASE_CAUST);
    SVGENCURRENT_setVlimit (svgencurentHandle、dutyLimit);

    现在我已经更好地解释了这一点、您能否为问题2提供更合适的答案。 当我将上面蓝色的公式更改为下面红色的公式时、我原始帖子中的问题1-4已修复。 在这两种情况下(使用红色或蓝色代码)、我都将  USER_MAX_VS_MAG_PU 设置为0.5774。

    问题2:

    如果我将 dutyLimit 方程更改为该 float32_t dutyLimit = 0.5 -(2.0 * minWidth_usec *  5 * 0.001)则控制算法的其他方面会产生什么后果?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="441596" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1106831/tms320f280049c-involatitivity-and-loss of proc-speed-control-at-and-about-dutylimite/4101292#4101292"* *#float_detc = 0.5kHz */out_mwm_rat_duth_t =**/out_mwm_rultrabout_g_g_g_g_g_msps *[_mspwm_rand_d

    最大占空比将随 PWM 频率减小、以确保"minWidth_Counts"中所示的最小采样时间

    [引用 userid="441596" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1106831/tms320f280049c-involatitivity-and-of-of-proby-speed-control-at-and-above and-tutylimite-transition /4101292#4101292"]*  如果将"mutrand_dutythetrand_duty2.0*参数更改为"* 0.5"*、则会产生哪些后果?*如果将其限制在"* 0.5_dutyouthetrand_dutyout-out_out_outrand_dutyouthetr

    不对。  dutyLimit 不是绝对时间值、即调制比。

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

    我做了一些测试、更详细地研究了代码并确定了问题。 假设使用8320开发套件或任何使用低侧电流传感器的逆变器级硬件、您对所编写代码的响应都是准确的。

    我 使用的是 F280049C Launchpad、基于 SDK 3.00.01.00的代码以及具有相电流传感器(不是低侧传感器)的定制硬件。 我应该在上一个帖子中提到这一点。 dutyLimit 和 minWidth_usec 变量在  实验代码中用于 SVGENCURRENT_RunIgnoreShunt 和 SVGENCURRENT_COMPPWMData、以确定低侧电流传感器测量何时有效。 因为我有内联相电流传感器、所以我不想执行此代码。 我假定、设置这些线路 和其他设置所有电流传感器的使用的方法、我只需选择合适的电流测量方法即可。

    SVGENCURRENT_setIgnoreShunt (svgencurentHandle、SVGENCURRENT_USE_ALL);
    SVGENCURRENT_setMode (svgencurentHandle、SVGENCURRENT_All_PHASE_CAUST);

    在对调用这些函数的实验代码中的以下行进行注释后、问题1-4已解决。

    SVGENCURRENT_COMPPWMData (svgencurentHandle、&(pwmData.Vabc_pu)、&pwmDataPrev);

    可测量重压周期= SVGENCURRENT_getMode (svgencurentHandle);
    SVGENCURRENT_RunRegenCurrent (svgencurentHandle、&adcData.I_A、&adcDataPrev);

    我从中得到的几个方面是:

    1.在实验代码中设置这些值不能确保 svgen_curration.h 内的正确代码函数 这是意料之中的。  

    SVGENCURRENT_MeasureShunt_e measurableShuntThisCycle = SVGENCURRENT_All_PHASE_measurable;
    SVGENCURRENT_IgnoreShunt_e ignoreShuntNextCycle = SVGENCURRENT_USE_ALL;

    SVGENCURRENT_setIgnoreShunt (svgencurentHandle、SVGENCURRENT_USE_ALL);
    SVGENCURRENT_setMode (svgencurentHandle、SVGENCURRENT_All_PHASE_CAUST);  

    2.  svgen_current.h 中的当前决策算法可能会导致 一些问题、比如我在 某些 配置中观察到的问题、我希望 PWM 频率越高、这些问题就越有可能发生、因为中的 dutyLimitit 值越快、做出这些决策的时间就越短 占空比、这意味着越来越多的占空比具有电流波形、在使用低侧电流感应时、必须估算该波形、而不是测量该波形( 在实验8中介绍)。