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.

[参考译文] LAUNCHXL-F280049C:DRV8317HEVM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1252138/launchxl-f280049c-drv8317hevm

器件型号:LAUNCHXL-F280049C
主题中讨论的其他器件: DRV8317HEVM、DRV8317

当我使用 DRV8317HEVM 和 LAUNCHXL-F280049C 通过 is05_MOTOR_id_COFF 控制 PMSM 时、会发生意外的过流。 具体如下:

  1. 在20kHz PWM 情况下、 电流可升高至3.5A RMS、并可保持3至4分钟
  2. 在30kHz 或更高 PWM 的情况下、作为软件保护、电流不能推送到3.5A RMS 、PWM 频率越高、最大电流就越小。 我注意到参数"motorVars.faultNow.moduleOverCurrent "设置为1、这意味着软件中发生过流保护(OCP)、但 DRV8317的过流保护不会发生、因为指示 DRV8317故障的 LED2关闭。 这是否意味着可以为 DRV8317进一步提升电流? 是否有方法可以关闭软件中的保护功能。  motorVars.dacValH 已设置为4095、 motorVars.dacValL 已设置为1。

保护代码如下所示:

{
uint16_t cmpssCnt;

for (cmpssCnt = 0;cmpssCnt < HAL_NUM_CMPSS_CURRENT;cmpssCnt++)
{
HAL_setCMPSSDACValueHigh (halHandle、
cmpssCnt、motorVars.dacValH);

HAL_setCMPSSDACValueLow (halHandle、
cmpssCnt、motorVars.dacValL);

if (HAL_getPwmEnableStatus (halHandle)== true)
{
if (HAL_getTripFaults (halHandle)!= 0)
{
GPIO_writePin (59、1);//发生过流时关闭 LED
motorVars.faultNow.bit.moduleOverCurrent = 1;

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

    您好、Zorn:

    您所说的3.5A RMS 是电机相电流、对吗? 使用30kHz PWM 而不是20kHz PWM 时、您必须获得更高的相电流、因为实际过电流(CMPSS)阈值不会改变。

    如您所知、您不能将 CMPSS DAC 阈值设置为高于4095。 您可以尝试通过更改 DRV8317增益、在 CMPSS/ADC 的输入端解决这一问题。

    此致!

    凯文