cancel
Showing results for 
Search instead for 
Did you mean: 

B-G473E-ZEST1S + STEVAL-LVLP01 + R57BLB50L2 Driver Fault (LED1) for few ms on Motor Start Event

riteshEDC
Associate II

I am using B-G473E-ZEST1S + STEVAL-LVLP01 + R57BLB50L2 in HSO configuration. 

Whenever I start the motor I can observe LED1 on STEVAL-LVLP01 is turning ON for few ms. Though motor is starting and running successfully. But I need to understand why I am getting Driver Fault from STDRIVE101 IC (TIM8_BRK2) at startup. 

Can I eliminate this with correct configuration? Attached MotorControl Workbench project and MotorPilot snapshot for reference.

 

riteshEDC_1-1767707204960.png

riteshEDC_2-1767707373238.png

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hello riteshEDC,

Thank you for your reply.
Yes, this is indeed an intended behaviour. You can find in the STDRIVE101 datasheet that the nFAULT is brought to low during power up and wake-up sequence. The firmware needs to disable the Driver Protection check during that time.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

Hope this will help,
Gaël A.

View solution in original post

3 REPLIES 3
Gael A
ST Employee

Hello,

Let's first try to see which error you are experiencing. If your motor is starting correctly, I don't think you are facing an overcurrent, otherwise the start-up would be stopped.

You might be experiencing a V_DS monitoring protection error. Could you please try to add a jumper to the J1 position on the LVLP board and restart your experiment please ?

Also, could you please tell me which version of the MCSDK you are using please ?

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

Hope this will help,
Gaël A.
riteshEDC
Associate II

@Gael A ,

Thanks for your reply.

I am using MC_SDK_6.4.1.

I tried closing Jumper J1 but still the same result.

nFault is getting low for 1 ms and then high and after 10ms it again goes low for 25us and then high.

riteshEDC_0-1767865443334.jpeg

CH2 (Blue) is nFault and CH1 (Yellow) is REG12.

not sure but may be this is desirable behavior as in TSK_MediumFrequencyTaskM1() API 

  /* check if BRK or BRK2 has been disabled after a PWM switch on to prevent false
     error detection during wakeup phase */
  if (READ_BIT(TIM8->BDTR, TIM_BDTR_BK2E) != (TIM_BDTR_BK2E))
  {
    /* check if nFault signal level is back to high */
    if (1UL == LL_GPIO_IsInputPinSet(M1_DP_GPIO_Port, M1_DP_Pin))
    {
      /* nFault signal level back to high, wakeup phase is over */
      LL_TIM_ClearFlag_BRK2(TIM8);
      LL_TIM_EnableBRK2(TIM8);
    }
  }
As LL_TIM_DisableBRK2() is called before PWMC_SwitchOnPWM() is called. And in next TSK_MediumFrequencyTaskM1() called LL_TIM_EnableBRK2(TIM8) is enabled again.
LL_TIM_DisableBRK2(TIM8); 
PWMC_SwitchOnPWM(pwmcHandle[M1]); is called 

 

Hello riteshEDC,

Thank you for your reply.
Yes, this is indeed an intended behaviour. You can find in the STDRIVE101 datasheet that the nFAULT is brought to low during power up and wake-up sequence. The firmware needs to disable the Driver Protection check during that time.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

Hope this will help,
Gaël A.