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.

DRV8323R: Gate Drive is not like anything in the Data Sheet

Part Number: DRV8323R
Other Parts Discussed in Thread: TMS320F28386S, DRV8302

Hi,

I am using the DRV8323RS.

I don't understand Gate Drive truth table that the driver is implementing.

See the truth Table I scoped.

INL INH GL GH
0 0 0 1
0 1 0 1
1 0 1 0
1 1 0 1

This looks like nothing on the data sheet.

See attached Scope capture.

The 6 bottom channels are the inputs.

The order from bottom to top is: INHa, INLa, INHb, INLb, INHc, INLc

The 6 top channels  are the outputs in this order: OUTHa, OUTLa, OUTHb, OUTLb, OUTHc, OUTLc.

Also, I tried to update the PWM_MODE bits to 11b (independent mode)

I have written the correct value to the "Control Register" and also read back the value to make sure the value is actually set.

The Gate Drive acts exactly as described above. As if the device ignores the setting.

  • Hey Nir,

    Thank you for posting your question to the E2E.

    I will consult with the team and aim to provide feedback by Wednesday next week.

    Best Regards,

    Akshay

  • Hey Nir,

     

    Thank you for your patience.

     

    To better assist you, I would like to ask some preliminary questions.

     

    • Are you using your own control methods or using one of our EVMs? Judging from the waveform it is possible that there is some issue with the commutation method. If you are using your own setup I would like to see the schematic and the layout being used and where the data is being measured from.
    • Were you trying to implement 6xPWM mode to drive the motor and then going to independent mode?
    • Can you show us the waveform for the other cases 1) INHx = 0 and INLx = 1 2) INHx = 1 and INLx = 1. (It would be helpful if you could label the inputs and outputs)
    • Would you recheck to make sure that the connections on the phases are made properly? I would also suggest following the suggestion made in Figure 20 of the following datasheet regarding SHx pin and disabling the VDs.

    https://www.ti.com/lit/ds/symlink/drv8323.pdf

    • What dead time setting are you using?
    • Is the nFault being pulled low? If so please provide the what faults are being shown in the registers.

    Best Regards,

    Akshay

  • Hi Akshay,

    Are you using your own control methods or using one of our EVMs? Judging from the waveform it is possible that there is some issue with the commutation method. If you are using your own setup I would like to see the schematic and the layout being used and where the data is being measured from.

    I am using my one board.

    The controller is TMS320F28386s. and the motor drivers are DRV8323RS.

    I can not upload the complete layout on an open forum, but I can share the connectivity between the controller and the motor driver.

     

    I am using my one control method, witch is a basic trapezoidal commutation.

    However, on the scope capture I uploaded, the setup is as fallows:

    * The device is on halt (Breakpoint).

    * The PWM modules are configured to "Free Run" when the device is on halt.

    * And I manually, via the Registers on CCS update the "Action Qualifier Software Override".

    In the Scope Capture:

    D4 - D9 are PWM inputs of the motor deliver. (Pins 37 - 42)

    D10 - D15 are GH and HL outputs to transistors.

    ----- PWM 1 ---------------------------------------------------------------

    D4 is INHa -> Set to "Software Override" to 0

    D5 is INLa -> Set to "Software Override Disabled" => PWM out.

    D10 is GHA

    D11 is HLA

    ----- PWM 2 ---------------------------------------------------------------

    D6 is INHb -> Set to "Software Override" to 0

    D7 is INLb -> Set to "Software Override" to 0

    D12 is GHB

    D13 is HLB

    ----- PWM 3 ---------------------------------------------------------------

    D4 is INHc -> Set to "Software Override" to 0

    D5 is INLc -> Set to "Software Override Disabled" => PWM out.

    D14 is GHC

    D15 is HLC

    Were you trying to implement 6xPWM mode to drive the motor and then going to independent mode?

    This board is a second generation.

    On the previews board, I used "DRV8302".

    I am trying to use the algorithm from the first generation board.

    So "Independent mode" is what I wanted from the beginning.

    Can you show us the waveform for the other cases 1) INHx = 0 and INLx = 1 2) INHx = 1 and INLx = 1. (It would be helpful if you could label the inputs and outputs)

    The fallowing Scope capture is taken after I configured the device wo work in independent mode.

    I also read the value of the control register to make sure independent mode is selected.

    What dead time setting are you using?

    Currently no dead time is configured.

  • Hey Nir,

     

    Thank you for your patience.

     

    Please check if GHx being measured with respect to the ground because it should be measured with respect to the source.

     

    What is the motor voltage?

     

    There is possibility that you are having a dV/dt coupling. To resolve this, try to lower IDRIVE and or increase the Gate resistance.

     

    Hope this offers some clarification. Please let me know if you have any more questions.

     

    Best Regards,

    Akshay

  • Hey Akshay,

    Thanks for the fast replay!

    I was measuring GHx with respect to GND and not SHx.

    Measuring GHx relative to SHx reveilles that the setup works as expected.

    Thanks!

    One more question if you don't mind,

    I am using Trapezoidal commutation and the application is servo control, not continues spining of the motors.

    Would you recommend using one of the smart modes of the device? like 6x PWM, or 3x PWM?

    Instead of porting the algorithm I have from the  previous board, where Software has full control over PWM for both Hi and Lo side...

  • Hey Nir,

     

    If you want to use a trapezoidal commutation then you could use a 1x PWM mode. Which mode you use depends on your particular application since the lower the PWM inputs, the lesser the control that you have.

     

    Best Regards,

    Akshay

  • Hi Akshay,

    To use 1x Mode, I need to have the hall sensors be routed to the motor driver.

    but they are already routed to the MCU

  • Hey Nir,

     

    You could implement 1x mode using the method shown in Figure 18 of the following datasheet as well.

    Overall, the choice of 1x, 3x, or 6x PWM mode depends on your specific application.

    https://www.ti.com/lit/ds/symlink/drv8323.pdf

     

    Hope this offers some clarification.

     

    Best Regards,

    Akshay