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.

DRV8305: AVDD Problem

Part Number: DRV8305

Hello, I am facing some problems ralated to the AVDD.

Everything works just fine with no load, but when trying to run a motor, using PWM mode 1 (with a 10.2 khz pwm), a nFault was reported by the dedicated nFault pin, and then the SPI 0x3 register show "AVDD undervoltage fault". It happened so quickly as the motor rotor was stucked, i.e., plugged but not running for some reason. Maybe the overcurrent might have been reached high values. Everything but the chip DRV8305N is ok (I know that because it happened before 4 or 5 times before..so it's just replace the DRV8305N chip for a new one). Now the chip responds to the SPI, but it does not let me down the AVDD flag, as if the AVDD block was damaged through the current sense amp.

These are the only SPI data transfered to the chip before code starts running: 0b0101000000111111  and 0b0011101100010110

In case it is a lack of protection of pins SN and SP,
1- How to protect efficiently these pins? The 1nF capacitor in parallel to the shunt resistor is not so efficient.

2- Is it ok to add a resistor in SN pin to limit the current through the amp? If yes, which values you recommend?

3- On the datasheet, page 45 (http://www.ti.com/lit/ds/symlink/drv8305.pdf?ts=1588552055324), it is shown the SP connected to GND and the SN to the shunt resistor. Is that right? (I am assuming it is a mistake, based on the name of these pins: The "positive" S connected to the GND and the "negative" S to the higher potential, related to GND)
4- Is it effective and recommended to place a pair of zener diodes from each SN pin to the GND to prevent them to go bellow -2v and 5v? That would work to avoid these problems I am facing?

  • Emanuel,

    Could you share your schematic and layout? Privately is fine as well.

    Following the post you linked (https://e2e.ti.com/support/motor-drivers/f/38/t/591851) we should check a similar experiment.

    What is your selected FET model number and IDRIVE setting?

    Have you tried shorting the sense resistor as they did in the post and checking if the issue occurs?

    Regards,

    -Adam

  • Adam,

    Mosfet: IRF3205
    IDRIVE: Same as datasheet standard, I did not modify it.

    I did not tried to short the sense resistor (I am using 1mOhm shunt resistor). I'm  not sure if it will make big difference, because my shunt resistance is 1mOhm. 

    I ask you again just to try to understand more about the driver:

    1- Is it ok to add a resistor in SN pin to limit the current through the amp? If yes, which values you recommend?

    2- On the datasheet, page 45 (http://www.ti.com/lit/ds/symlink/drv8305.pdf?ts=1588552055324), it is shown the SP connected to GND and the SN to the shunt resistor. Is that right? (I am assuming it is a mistake, based on the name of these pins: The "positive" S connected to the GND and the "negative" S to the higher potential, related to GND). Is the order of SP and SN important? I've followed the datasheet..

    3- Is it effective and recommended to place a pair of zener diodes from each SN pin to the GND to prevent them to go bellow -2v and 5v? That would work to avoid these problems I am facing?

    Thanks for you attention

  • Emanuel,

    1. There should be no added resistance in the CSA input path, this will interfere with the readings.
    2. The CSA works in either orientation but you should follow the datasheet as you have.
    3. Yes this can be done, be sure that the zener voltage is higher than the voltage you wish to sense so that it does not interfere with the CSA operation and use a current limiting resistor.

    I notice that your series gate resistors are quite large (22ohm) for the FET Qgd (54nC) and the IDRIVE setting selected (50mA/60mA). Have you tried replacing the 22 ohm resistors with 0 ohm? Before you change this I would use a scope to check the Low Side Gate pin (right on the FET pin) and SL node during motor operation to check if there are spikes violating the ABS max.

    Regards,

    -Adam

  • Adam,

    Actually the motor does not start to spin. It crashes before it spins. I have no clue why.

    Do you recommend to disconnect the SP and SN pins from the board? Maybe this avoid this issues..?

    Regards,
    Emanuel

  • Adam,

    Which newer chip similar in functionalities to drv8305n do you recommend to work with? I gave up to try to make it work, bacause of this issues, which seems common, for this chip.

    Regards,

    Emanuel

  • Emanuel,

    Did you try my other recommendations?

    "I notice that your series gate resistors are quite large (22ohm) for the FET Qgd (54nC) and the IDRIVE setting selected (50mA/60mA). Have you tried replacing the 22 ohm resistors with 0 ohm? Before you change this I would use a scope to check the Low Side Gate pin (right on the FET pin) and SL node during motor operation to check if there are spikes violating the ABS max."

    Another IC could have the same issue if things like this are not checked.

    Regards,

    -Adam

  • Adam,

    I'm gonna do that.

    But isn't better to change gate current instead of replacing the 6 resistors?

    If yes, what configs for the registers you recommend?

    Regards,

    Emanuel

  • Adam,

    Before trying to substitute the 22 ohm resistors to the 0 ohm resistors, I've tested with a more powerfull osciloscope to observe what is going on, in detail.
    I've selected in the address  0x5 and 0x6 the same config (0b0010100010111011 and 0b0011000010111011) - max current to sourcing and sinking.
    Then, I noticed that during the powerup, even with no motor plugged, the voltage on the SN pins goes bellow -2v, as shown in this pic:


    So I added the lasting 1000pF capacitors in parallel to the shunt resistors, and it works just fine (despite it could see - hardly ever - some signs going bellow -2v, as well).

    Such modifications solved part of the problem. I have no problems with the AVDD anymore, but when plugging the motor, the system started to sign a fault. 

    The fault is reported on the 0x3 address bit 4 (VCP_LSD_UVLO2 - Low-side gate supply fault).

    The result: the fault remains and the En_Gate pin is not enabled,  so that I can not drive the motor, as the fault does not allow it.

    The high current on the motor maybe damaged the  VCP_LSD on the pre-driver block power line (Functional Block Diagram - page 16) and I think I've lost another chip.

    What do you suggest to do?  

    Regards,

    Emanuel

  • Emmanuel,

    The gae resistors are too large and they are causing the device to become damaged. Instead of using a high IDRIVE and large gate resistors, it would be better to use 0 ohms and tune the IDRIVE to a low value.

    Regards,

    -Adam

  • Adam,

    I did what you said (I've changed the Rg resistors by 0 ohm resistors) and removed the Rgs (resistors between gate and source), as well as removed the zener diodes between gate and source. The system is working, at least for while the sense amp are disabled and shorted (by SPI register 0xA set to DC calibration enabled).

    I have noticed that a open loop pwm generator code when it's PWM frequency is low, the system tends to crash, i.e. a nFault occurs. Is that normal? 

    I am using a A2212 1000kv drone BLDC motor in my tests.

    Regards,

    Emanuel   

  • Emanuel,

    If you are seeing faults with lower PWM frequency then likely the inductance of your motor is low which is causing more current ripple on the output and causing a fault.

    I would use a higher PWM frequency to avoid this issue.

    Regards,

    -Adam

  • Adam, 

    What configs you recommend to set, talking about SPI registers, to avoid this kind of issues?

    regards,

    Emanuel

  • Emanuel,

    Here is the FAQ for setting IDRIVE appropriately: https://e2e.ti.com/support/motor-drivers/f/38/t/796378

    Regards,

    -Adam

  • Adam,

    What do you suggest, related to the code,  to avoid problems?

    Any sequence of writing register?

    What to do in code when a nFault occurs?

    regards,

    Emanuel 

  • Emanuel,

    It's not clear to me which issues are now resolved and which are still causing issues, could you summarize please?

    Regards,

    -Adam

  • Adam,

    I meant, what techniques to use in code in order to avoid damage to the DRV chip in case of any problem such as code errors, stucked rotor etc.

    Sometimes such errors or failures lead the DRV chip to crash. That might be avoided, for exemple, by shutting down the DRV chip or it's inputs.

    I would like to know what you recommend to avoid this kind of thing.

    Regards,

    Emanuel

  • Emanuel,

    If you have hall sensors, you can have your MCU poll these signals and shut down the PWM or Enable pin if it senses that the hall frequency does not match the expected output. This should help in case of a stuck rotor condition.

    Faults that the DRV senses will shut down the DRV automatically but you could also monitor the Fault pin and shut down the PWM if needed.

    Regards,

    -Adam

  • Adam,

    I've implemented this, in a open loop: when a Fault happens, all the DRV inputs and the EN_Gate are shut down. But I am facing some problems.

    Frequently, when testing using an open loop code, the motor does not start (even not coupling a load to the rotor) and it leads to the DRV crash. 

    The sequence of the facts:

    I turn on the power system => The motor does not rotate, despite it tries to, resulting in a little bit of rotational motion, but not sufficient to rotate to the next commutation step => simutaneously, the nFault pin reports a AVDD undervoltage fault (Address = 0x3 - AVDD_UVLO) => suddenly the system shut down all DRV inputs and En_Gate => If the power persists turned on for a period longer than 1 second, the DRV crashes. (to avoid this crash, I have to manage to turn off the power source quickly).

    What should I do to keep the system more "stable"?

    Regards,

    Emanuel  

  • Emanuel,

    Could you try a 10 ohm series resistor in all three SLA/SLB/SLC paths? This small resistance should help protect the DRV and should not effect the CSA results.

    If this is not helping enough we can put up to 50 ohms in each SLA/SLB/SLC path and also add a zener diode to each SLx pin on the bridge side of the resistor. This zener should allow forward current from GND up to the SLx nodes.

    Regards,

    -Adam

  • Adam,

    Adding some resistors and zener diodes should stabilize this issue.

    However, sometimes I face some problems with VCP_LSD_UVLO2 Fault (Address = 0x3). Some DRV chips crashed after this fault occurs, in a similar way compared to what I mentioned before. After that, the VCP_LSD was shorted to GND, by the continuity test with a multimeter, showing that the VCP_LSD was damaged.

    In this case, what you suggest for me to do?

    Regards,

    Emanuel

  • Emanuel,

    Could you please let us know the part numbers of the following caps?

    C20, C21, C22, C23, C24.

    Regards,

    -Adam

  • Adam,

    These capacitors, I have no precise information to send, no clue about it.

    But these are good quality ones. But if it helps, they still work as expected even after replacing new DRV chips.

    Regards, 

    Emanuel

  • Emanuel,

    We need to know the voltage rating of these caps so we can see if they are appropriately sized, having the right capacitance here but wrong voltage rating can cause the fault you mentioned.

    Regards,

    -Adam

  • Adam,

    All these capacitors are rated for 25v. In addition, all of them keep working even after replacing a crashed DRV chip.

    Regards,

    Emanuel

  • Emanuel,

    Could you remind me what your VCC voltage level is?

    Regards,

    -Adam

  • Adam,

    Not using more than 10v as PVDD. I test the system with 8v usually.

    Regards,

    Emanuel

  • Adam,

    When using the 3-PWM Mode, the rising edge is really low, taking around 150us to go all the way from 0 to 1. 

    Config. applied: 

    0b0010101110001001 - HS Gate
    0b0011001110001001 - LS Gate

    The falling edge is perfect.

    Regards,

    Emanuel

  • Emanuel,

    Can you share scope images showing this phenomenon?

    Regards,

    -Adam

  • Adam,

    It is not possible, other chip have crashed.

    I've removed the SLx Pins to avoid AVDD nFault. But, when I was testing it, some warnings occurs, they are about PVDD undervoltage, probably during motor start. But then the chip reported the AVDD undervoltage fault (even with that SLx pins are not connected to the board, only the SPx, that are grounded).

    - What do you think it could be? I have no clue, even with no load, the chip keeps reporting AVDD nFault.

    p.s.: I can not show you the wave cause the nFault does not let me unlock the En_Gate pin.

    Regards,

    Emanuel

  • Emanuel,

    Sorry for the delay here, could you tell us the latest please?

    Regards,

    -Adam

  • Adam,

    What happened is that even with no physical connection between SPx and SNx and the system (I've removed the SPx and SNx pins manually), the system reported AVDD Fault. I don't know why, but the chip crashed as well.

    Regards,

    Emanuel

  • Adam,

    Thinking about programming the DRV8305N chip, is there any problem on powering it with 3.5v? 

    The datasheet recommends to use at least 4.4v.

    I would use the 3.5v only to program and see waves on the osciloscope, with no motor plugged to the system. 

    Regards,

    Emanuel

  • Emanuel,

    Please follow the datasheet recommendation and use at least 4.4V.

    Regards,

    -Adam