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: Troubles with commutation

Part Number: DRV8323R
Other Parts Discussed in Thread: DRV832X, DRV8323

Hi,

I'm using the BOOSTXL-DRV8323RS EVM module along side the LP-CC1352P7-1 EVM. 

I'm attempting to run a rather basic code I wrote with the assistance of TI drivers and taking example from the "DRV832X_MSP.....". 

I wrote an SPI command to the driver control register to allow for 1xPWM mode. Right now I have a 45kHz PWM signal attached t othe INHA. INLA, INHB and INHL have HALL effect sensors connected to them, while INHC is the direction and INLC is the break. Enable, Direction and Brake are GPIO outputs on the CC1352, only Enable is high. 

Given feedback from my logic analyzer the communication between the two seems to be working, I'm able to reset the registers to their default state at start of program and with a press of a button on the CP1352 I can send a command to the DRV to change to 1xPWM mode.

Reset Registers:
Reset Registers Command

Send Command:

Feedback from SPI:

When the command was sent the motor twitched once and then haven't moved aftewards. I'm new with using the DRV8323 gate drivers and I would appriciate help in getting the EVMs working together. 

Is there anything else I can send to help you with solving the issue? Let me know if you need extra waveforms.

  • Hi Patryk,

    I wrote an SPI command to the driver control register to allow for 1xPWM mode. Right now I have a 45kHz PWM signal attached t othe INHA. INLA, INHB and INHL have HALL effect sensors connected to them, while INHC is the direction and INLC is the break. Enable, Direction and Brake are GPIO outputs on the CC1352, only Enable is high. 

    Your SPI communication looks correct to set the device in 1x PWM mode. Ensure you are applying a high signal for nBRAKE. A low signal will brake the motor and not spin it. 

    When the command was sent the motor twitched once and then haven't moved aftewards. I'm new with using the DRV8323 gate drivers and I would appriciate help in getting the EVMs working together. 

    Please ensure your IDRIVE settings in registers 0x03 and 0x04 are not the maximum default IDRIVE settings of 1A/2A peak current. Using the maximum settings is an easy way for the device to damage because too much gate current can cause incredibly fast MOSFET switching slew rates which can produce negative effects or potentially damage the gate driver.

    If your IDRIVE settings are low, and the motor is still not spinning, please check if the nFAULT pin is low and if there are any fault bits set in SPI.

    Thanks,
    Aaron

  • Hi Aaron,

    Thank you very much for getting back to me, I'll do what you said on Monday and get back to you straight away with the results.

  • Sure thing, I'll await your results this week.

    Thanks,
    Aaron

  • Hello Aaron,

    I have done what you sugested. I made the BREAK signal a toggleable by a button and just incase I drove DIR pin high.

    I had been trooubleshooting for the past few hours and couldn't make a breakthough. When the nBRAKE (INLC) is droven high the motor isn't moving, when meassured with osoliscope the motor phases, A,B and C were high. When nBRAKE was low, the result was same. When looking over at the SPI, I have been given no error from the feedback loop. 

    I extended t he feedback loop to include R/W registers too to doublecheck my write commands.

    Default Registers from SPI Read:

    Changed Registers from SPI Read:

    (First two readings are the fault registers.)

    As well as that the fault LED was constantly off during this. 

    I'll attempt to do some more tweaking and update this when I'll get any progress but I'm a little bit clueles as to what might be happening. If you'd like me to supply you with any waveforms, please let me know if that would help you to troubleshoot it.

    Regards,

    Patryk.

  • Ì have found a possible cause of the issue, it's the hall effect sensors. When meassuring them directly with a logic analyzer I could notice a raise and drop in their voltage, although when connected these hall effect sensors to INLA, INHB and INLB from the bottom and connecting the logic analyzer on top, I haven't seen any switching when moving the shaft of the motor.

    The issue persisted when I attached the hall effect senors to J2 and connected the HALLA,HALLB and HALLC outputs to INLA, INHB and INLB. This time logic was high, when brake was turned high the DRV board responded by attempting to commutate. 

  • HI Patryk,

    Thanks for checking on my previous suggestions, I was going to hint at looking at the Hall sensors next. 

    Just to confirm, you have R36, R37, and R38 connected with 0-ohm resistors or shorted?

    Can you share the output voltages of the Hall sensor outputs HALLA, HALLB, and HALLC if possible on an oscilloscope? Ideally with the 3.3V pullups from resistors R29, R30, and R31, you should see the Hall states toggle as you spin the motor my hand and ideally should see all six possible states from the 1x PWM commutation table in the DRV832x datasheet. 

    Also, if the motor is attempting to spin, can you share:

    1) What is the motor voltage & maximum current? 
    2) What is the duty cycle of the PWM? I suggest trying to spin the motor by ramping from 0% duty cycle to a higher duty cycle, but don't try to instantaneously go to 100% duty cycle or a high speed because this is the largest current demand from the motor. 
    3) Does changing the PWM frequency help?
    4) If the motor does not spin, can you monitor the nFAULT pin to see if a fault condition is occurring? If so, please read the status registers in SPI to see which fault(s) are occurring. Because a fault condition (such as VDS overcurrent) could cause the gate driver to shut off and motor not spin. 

    Thanks,
    Aaron

  • Hi Aaron,

    I couldn't get a hold of 0-ohm resistors currently so I had connected HALLA/B/C to IN/LA/HB/LB with a wire terminal wires. When meassuring the waveform from the wires connectiong HALLA-INLA, etc, I have not seen any of them change state. I'll have to mess around with the hall effect sensor a bit more. As for the motor information.

    • 1.) The voltage I'm using for this test is 18.3V and the maximum current is 10A. I'm using a rather low curent draining motor since I ran this motor with other ESCs while testing the motor itself, now I'd like to start designing my own ESC hence the use of the DRV board to start developing. 
    • 2.) The PWM I'm using for this example is 20% of 20kHz, I lowered the frequency since last time. 
    • 3.) Haven't seen a change, it's locking up on the "ALLIGN" commutation table move.
    • 4.) I still haven't experienced any nFault issues.

    I belive the issue is now purely laying within the Hall Effect sensor feedback. I'll attempt a few more ideas of mine to see about getting a signal though to the DRV, but any ideas that you have, I would be also appriciated to hear out.

    Here are the waveforms of the gate signals I have recorded, the top scope is the lower gate and bottom scope is the high gate.

    GHA-GLA:

    GHB-GLB:

    GHC-GLC:

    As always If i'll haev any updates I will write them here.

    Thank you.

  • Hi Patryk,

    Thanks for sharing waveforms. I think there is a 10x attenuation happening in your waveforms, but I think we see that phase A has synchronous PWM outputs, phase B has the low side gate high, and phase C has the low side gate high, which indeed is the ALIGN state. 

    Could you try removing R29-R31, or replacing with weaker pullups like 10kohm or 100kohm? The 1kohm pullups are pretty strong pullups, and the current sourced from the Hall sensors may not be strong enough to pull the Hall state low to a "0" if that is the case.

    Thanks,
    Aaron

  • Hi Aaron, sorry for the late response, I moved to another device lately. Although! I got the motor to spin, turns out the hall effect sensors of the motor I was using weren't pulled up. When I hooked up another motor, we plan on using the hall effect sensors were properly pulled up.