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.

DRV8711EVM "Channel B Pre-Driver Fault"

Other Parts Discussed in Thread: DRV8711EVM, DRV8711

Hi,

My customer is evaluating the DRV8711EVM.

Once in a while, the DRV8711 will go into a fault condition and the status register will show: "Channel B Pre-Driver Fault"

This seems to happen more frequent in 1/8 step vs 1/4 step mode. Also seems to be more frequent at higher motor current settings, but its not very consistent.

Any idea what it might be? Any gate resistors needed?

 

Thanks,

EJ

 

  • Hi EJ

    This could be seen when at higher VM and current setting. The reason is because of the external noise coupling to the low side gate and detected by the xPDF monitor function. Please try the following workarounds. It is tested and verified by many customer conditions. Should be working.

    1. Set the pre-driver source/sink current to its minimum level.
    2. Add four serial gate resistors to all the low side gate of the MOSFETs.
    (The resistor value could be 47 ohm to 120 ohm)
    3. Set dead time to 850ns.

    All the above three are must be.

    Best regards,
  • Hi Wilson,

    From the customer:

    "
    That aligns with our situation. I am running at 48V motor supply. Motor current 3-5A.
    I will try a 47Ohm gate resistor. I am using these FETs: PSMN7R0-60YS www.nxp.com/.../PSMN7R0-60YS.pdf
    Is the location in the layout critical? Right now I have the gate resistors in close proximity to the FETs, approx. 1in away from the DRV8711 Pins.

    My dead time is already at 850ns
    "


    Thank you for your support,
    EJ
  • Hi EJ

    Many factors related to the PDF reports, such as Layout, FETs, Motor parameters. I can see smaller Qg FETs are more easy to get the issue.
    Do you mean you still have issue when add 47 ohm to the low side gates?

    Could you check the predriver output parameters? should be sink 100mA source 50mA and put 1us or smaller for the output time. The rule is to weaken and slower the slew rate of the predriver outputs. (But note too weaken or slower may cause OCP or shoot through issue because the FETs are not fully on/off)

    Also please increase the resistor value of the low side gates from 47ohm to about 90 to 120 ohm(850ns dead time is must be at this condition).

    Best regards,
  • Hi Wilson,

    From the customer:

     

    "

    I added 100Ohm Resistors to the low side gate drive and have not seen the fault since.

     

    The next thing I am trying to do is reducing the noise. Depending on what position I hold with the steppers, I get different noise levels (switching noise?)

    Any recommendations?

     

    Register settings below

     

    // CTRL Register

                    G_CTRL_REG.Address   = 0x00;

                    G_CTRL_REG.DTIME       = 0x03; //850ns

                    G_CTRL_REG.ISGAIN     = 0x02; //   0x01=10; 0x02=20

                    G_CTRL_REG.EXSTALL   = 0x00;

                    G_CTRL_REG.MODE       = 0x03; //2:1/4 Step 3:1/8 Step

                    G_CTRL_REG.RSTEP        = 0x01; //STEP  

                    G_CTRL_REG.RDIR          = 0x01; //Enable DIR Pin

                    G_CTRL_REG.ENBL          = 0x01; //Enable Motor

    // OFF Register

                    G_OFF_REG.Address = 0x02;

                    G_OFF_REG.PWMMODE = 0x00; //use indexer

                    G_OFF_REG.TOFF             = 0x32; // 3C=30us; 0x32=25us; 0x28=20us; 0x14=10us; 0x0A = 5us

    // BLANK Register

                    G_BLANK_REG.Address = 0x03;

                    G_BLANK_REG.ABT     = 0x00; //disable Adaptive blanking

                    G_BLANK_REG.TBLANK  = 0x4B; // 0x32=1us; 0x4B=1.5us

    // DECAY Register.

                    G_DECAY_REG.Address = 0x04;

                    G_DECAY_REG.DECMOD  = 0x03; //mixed decay all times

                    G_DECAY_REG.TDECAY  = 0x1E; // 0x1E=15us

    // STALL Register

                    G_STALL_REG.Address = 0x05;

                    G_STALL_REG.VDIV    = 0x00; //Div by 32

                    G_STALL_REG.SDCNT   = 0x03; //Stall asserted after 8 Steps

                    G_STALL_REG.SDTHR   = 0x40; //default

    // DRIVE Register

                    G_DRIVE_REG.Address = 0x06;

                    G_DRIVE_REG.IDRIVEP = 0x00; //50mA

                    G_DRIVE_REG.IDRIVEN = 0x00; //100mA

                    G_DRIVE_REG.TDRIVEP = 0x01; //0.5us

                    G_DRIVE_REG.TDRIVEN = 0x01; //0.5us

                    G_DRIVE_REG.OCPDEG  = 0x11; //deglitch by 8us

                    G_DRIVE_REG.OCPTH   = 0x03; //1000mV

    "

    Thanks,

    EJ

  • Hi EJ

    There will be switching noise here since the current level and its regulation ripple is big. The way to lower (not eliminate) it is to make the PWM frequency higher. Since you have Mixed decay for all time, it could be better to lower the DECAY time(fast decay) and TOFF time together. Please refer the application reports for the decay tuning details.

    www.ti.com/.../technicaldocuments

    Best regards,