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.

DRV8308: fault on power up prevents the motor from working

Part Number: DRV8308

for some time this design has been in use, however sometimes after a hardware reset, the motor will not work.  usually a number of power cycles will eventually restore the functionality.  when reading register 2A the result is 65535 and the motor can not be driven.  it appears to be an initialization problem but not sure what sequence to implement to resolve this problem.

are there any power up sequences for EN, RESET and BRAKE?

can you suggest a sequence that is expected to work every time?

channel 1 is TP 39 (MDRV_RESET)

channel 2 is TP 82 (MDRV_BRAKE)

channel 4 is TP 40 (MDRV_EN)

  • Hello Earl,

    Thank you for posting to the MD forum. Please allow us to review your question and provide a response before the end of today. Thank you for your patience!

    Best,

    Isaac

  • to be clear, this is a power up / initialization issue.  When powered and initialized the DRV8308 either works every time or never works.

    when it works, we can start and stop the motor without fail. when it does not work, nothing can correct the issue except sometimes a reboot can correct the problem...other times numerous reboots fail to resolve the  issue.

  • Hello Earl,

    Thanks for the clarification. What setting do you have for ENPOL and BRKPOL, is the polarity set to active high or active low?

    Based on the image provided it seems like it is active low for the ENABLE pin and you are toggling a RESET while the DRV8308 is in sleep mode. This means that when the device is re-enabled the RESET will be taken into account. If you are using them in this method you also have the option to connect these pins together you can read about this in section 8.3.1 of the datasheet. When the signals are high the motor is disabled when the signals are returned low then registers are reloaded from OTP, faults will be cleared, the motor should then be able to start.

    Are you waiting the required time tSPI (10us) needed before reading the registers, and if you try to clear the faults without power cycling the device is register 0x2A = 65535 or are the faults cleared?

    Have you tried clearing the faults manually by writing a 0 to register 0x2A?

     

    Best,

    Isaac

  • Hi Earl, 

    Do you need any more assistance or can we close this thread?

    Thanks,
    Aaron