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.

[参考译文] TMS320F28027F:Lab10 A 和 Lab10c 之间的过调制差异

Guru**** 2522770 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/904597/tms320f28027f-overmodulation-difference-between-lab10-a-and-lab10c

器件型号:TMS320F28027F

您好!

在我的电机上、使用 lab10a 时、电流波形在 Vs=0.5附近不稳定、当 COMPMode 在 all_phone_可 测量值之间转换为 2_phone_可 测量值时 、minWidth_microseconds 为2。

 当 minWidth_microseconds 设置为更低的1.5时、不稳定情况会有所改善、 但 在加速期间、电流波形中的毛刺在几个周期内出现在峰值附近(我认为也是在 COMPMode 转换期间)。

在 mainISR()中更改此行以匹配 lab10c 后:

lab10a:

SVGENCURRENT_MeasureShunt_e measurableShuntThisCycle = SVGENCURRENT_getMode (svgencurentHandle);

(笑声)

if (measurableShuntThisCycle > two_PHASE_measurable)

gAdcData.I.value[0]= gIavg.value[0];
gAdcData.I.value[1]= gIavg.value[1];
gAdcData.I.value[2]= gIavg.value[2];

至 lab10c:

SVGENCURRENT_IgnoreShunt_e ignoreShuntThisCycle = SVGENCURRENT_getIgnoreShunt (svgencurentHandle);

(笑声)

if (忽略 ShuntThisCycle > USE_ALL)

gAdcData.I.value[0]= gIavg.value[0];
gAdcData.I.value[1]= gIavg.value[1];
gAdcData.I.value[2]= gIavg.value[2];

条件在 minWidth_microseconds 处显著改善为2、而加速期间电流波形中的毛刺有时仍然出现。

请帮助我了解代码之间的差异、以及它们如何影响 minWidth 设定的实际可测量占空比。

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

    您好!

    我也看不到 SVGENCURRENT_RunIgnoreShunt()在任何地方被调用,何时使用该函数?

    谢谢。

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

     SVGENCURRENT_RunIgnoreShunt ()的类似函数在 SVGENCURRENT_COMPPwmData ()中实现。 您可以按如下方式更改代码。

    if (measurableShuntThisCycle >= two_phase_measurable)

    gAdcData.I.value[0]= gIavg.value[0];
    gAdcData.I.value[1]= gIavg.value[1];
    gAdcData.I.value[2]= gIavg.value[2];

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

    在 mainISR()中将 Chanigng 更改为:

    if (measurableShuntThisCycle >= two_phase_measurable)

    未观察到任何改进。

    将 KP 减半可阻止恒流不稳定、但波形不再呈正弦波形。

    是否有可能将三相电流采样和重建属性转换为电流环路不稳定特性?

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

    否 主要原因应该是、如果为过调制重建反馈电流、则反馈电流不是很好。 您使用的是自己的电路板还是 TI EVM 套件? 如果您使用的是 TI EVM 套件、则可以使用 PWMDAC 来检查反馈电流是否更适合控制。

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

    Amy 更新了吗? 您是否有机会使用 PWMDAC 来检查反馈电流? 或者将 USER_MAX_VS_MAG_PU 限制为小于 (0.575)?

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

    您好、Yanming、

    我没有机会检查 PWMDAC、因为它在定制板上。 我使用0.55作为 USER_MAX_VS_MAG_PU 限制。

    我发现当我将 ADC 时钟预分频器 ADCCTL2.CLKDIV2EN 更改为0时、使 ADC 时钟与60MHz 相同、不稳定性问题就不复存在了。

    我想检查一些事项以确认 ACQPS 设置正确:

    1) 1)允许的最大 ADC 时钟是多少? 从28027 sprs523数据表中可以看出它是60MHz 吗?

    2)在许多评估套件中、包括 DRV8312kit 中、hal.c、HAL_OscTempComp ()函数中、CLKDIV2EN 设置为2:

    ADC_setDivideSelect (obj->adcHandle、ADC_DivideSelect_CLKIN_BY_2);

    在 HAL_setupAdcs()函数中,每个 SoC ACQPS 都设置为 ADC_SockSampleDelay_7_cycles。

    上述设置似乎违反了 sprs523数据表中7个 ADC 时钟周期的最小采样窗口大小。

    SYSCLK 为60MHz、CLKDIV2EN 设置为2、因此 ADCCLK 为30MHz、7个 ADC 时钟为233333ns。

    ACQPS 设置为6 (ADC_SockSampleDelay_7_cycles)、因此采样窗口为116.67ns、小于7个 ADC 时钟。

    3) 3)如何确定可设置的最大 ACQPS?

    谢谢、

    陈慧敏

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

    您好、Yanming、

    现在、使用 ADC 时钟60MHz、将 minWidth_microseconds 从(2.0)更改为较低的值以避免电流重构(compMode 始终为"all_PHASE_可 测量")、电流波形几乎为正弦波。

    4) 4)我可以将 minWidth 设置为多低? 我使用的是 DRV8323S。

    5) 5) OVM 是否必须始终与当前重建配对? 在电流设置下、电机以 Vs=0.52运行、compMode 始终为"all_phy_可 测量"。

    谢谢、

    陈慧敏

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

    它是60MHz,但请参阅 TMS320F2802x、TMS320F2802xx PiccoloTmMCU 芯片勘误表(修订版 Q) ,根据芯片修订版设置正确的 ADC 时钟。

    2、这适用于所有器件版本。

    这取决于电路板的 ADC 输入端的信号噪声和滤波电容。 您可以查看以下链接。  

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/849223

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/895338/3310429

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/821199/3051760

    这取决于 ADC 采样率、在大多数情况下2us 应该是可以的。

    5.是,如果 Vs 大于0.5,则必须使用电流重构。

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

    您好、Yanming、

    2)评估板示例的源代码设置了 SYSCLK=60MHz、ADCCLK=30MHz (ADCCTL2.CLKDIV2EN=1)、因此 7*ADC 周期为2333ns。

    ACQPS 设置为6、因此采样窗口为116.67ns。

    数据表指定的最小采样窗口为7*ADC 周期、2333ns、但采样窗口集仅为116.67ns。

    我的解释是否正确?

    5) 5)在 Vs 超过0.5后、存在一个工作区域、由于 minWidth 设置、所有相位仍可测量、在此期间、不使用电流结构。 我的解释是否正确?

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

    2)。 该单元是(1/30MHz)的 ADC 时钟、因此采样窗口为7*(1/30)等于233.33ns。

    5)。 将测量所有三相、但在一段时间内仅使用两个感应值。

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

    在查看数据表时、采集窗口 F28337和 F2807x 器件基于 SYSCLK、而不是 ADCCLK。 我可能错误地认为这适用于 F2802x 器件。 您能确认我的错误吗?

    在我的案例中、使用更高的 ADCCLK 减少采样窗口似乎使控制更加稳定、您对此有什么了解吗?

    谢谢你。

    Sy

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

    您可以参阅 F28027的数据表和勘误表、其 ADCCLK 可以与系统时钟相同或减半。

    https://www.ti.com/product/TMS320F28027F

    是的、如果检测信号良好、较低的采样窗口可以更好地进行过调制。