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.

DRV3245Q-Q1: 1PWM method

Part Number: DRV3245Q-Q1

Hi,

we are exploring the 1pwm method for DRV3245Q-Q1 Motor Driver.nfault pin is outputting high and when commutation is applied nfault is being pulled low.

We read SPI registers(ICStatus0,ov/vds,VGS,ICStatus1,ICStaus2) and there are no fault bits set in these registers and ICStatus0 indicates predriver is enabled(DRV_STAT) and gatedrive(address 0x07) is 

also indicating correct status(ENABLE_DRV is 1 and PWM_COM is 0 and PWM_MODE IS 10).we are initializing Gate drive(0x07) and VDS registers only through SPI.If commutation is disabled ,we see nFAULT pin remains high.

In commutation we are doing following:

if(firsttimedone == FALSE)
{
        //Apply INHC = Low to run motor in CCW
       Dio_Write(highside3, 0);

       //Apply INLC = high to motor Running
       Dio_Writel(loside3, 1);
       firsttimedone = TRUE;
}

//Control INLA = HALL-A,INHB = HALL-B,INLB = HALL-C as per Hall States for 1-PWM Mode
Dio_Write(LoSide1, HS1);
Dio_Write(HiSide2, HS2);
Dio_Write(LoSide2, HS3);

/Apply PWM on INHA for 1-PWM Mode
Pwm_SetDutyCycle(Highside1, DutyCycle);

For other direction:

if(onetimedone == FALSE)
{
       //Apply INHC = Low to run motor in CCW
       Dio_Write(HiSide3, 1);
      //Apply INLC = high to motor Running
       Dio_Write(LoSide3, 1);
      onetimedone = TRUE;
}
//Control INLA = HALL-A,INHB = HALL-B,INLB = HALL-C as per Hall States for 1-PWM Mode
Dio_Write(LoSide1, HS1);
Dio_Write(HiSide2, HS2);
Dio_Write(LoSide2, HS3);

//Apply PWM on INHA for 1-PWM Mode
Pwm_SetDutyCycle(HI_1, DutyCycle);

Could you please guide it in right direction since there are some faults that can happen and are not reported only through nFault but not through SPI.

Thanks,

P Tulasi Krishna.