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.

DRV 8711 PRE-DRIVER FAULT

Other Parts Discussed in Thread: DRV8711

Hi,

Im using the drv8711 evm with the gui to take a closer look at some torque regulations.

ST8918 from nanotech and measured to about 5 Amps at 13Nm with the origin hardware.

The supply is ratet at 48v and 10 Amps and testet with origin hardware.


My addaptive settings in the board are:

  1. Mode 1/128 Step
  2. Gain: 10
  3. Tourque 128 => makes 3,78 Amps
  4. Decmode: Fast Decay
  5. Target Speed: 26880 pps => makes 63 rpm with 1,8° / step
  6. the rest of settings are default

The Operation:

  1. everything on startup is normal the motor reached the 63 rpm with about 2Nm

The Issue:

  1. Until about 3-1 min the motor stops suddenly with the  bpdf fault.
  2. This issue is repeadable and clearable by clearing the bpdf bit in the statusregister (0x07)

Questions:

  1. does the evaluation module could give out 5 amps ? The datasheet doesnt say anything about that. (the mosfets coud give 5 Amps)
  2. What conditions relay to the predriver fault ? THe datasheet only tells something about exessive current is detected but not how much is it and what could i do to prevent this
  3. the issue feels like a heat problem,  because the time of the fault is shoten by fast clearing the register and repead. Is there any connection?
  4. Could you give me some hints to optimise the motor to 10Nm 5Amps ?

Thanks, Johannes

  • Hi Johannes,

    1. Yes. 5 Amps is supported by DRV8711 EVM. The EVM thermal design and MOSFETs can handle even higher current.

    2. There are many aspects related to this. What we found the most effective way to avoid this is to setting the predriver output current to its lowest level. Please try following settings.

    IDRIVEN = 100mA

    IDRIVEP = 50mA

    OCPTH = 750us

    OCPDEG = 8us

    3. Please check again after item2 is applied.

    4. For the stepper driver, we just need to give the 5 Amp out and the motor will get the torque itself.

    Best regards,

  • Thank you very much for your fast answer

    1. That was my theory too and because of that ability choose the driver
    2. I tryed your settings but they dont solve the issue ( checked twice)
    3. I think i has nothing to do with thermal thing otherwise the OTS bit will be set right ?
    4. my plan is to recalibrate the device by checking the encoder of the motor i already implemented an algorythm that gives an pwm feedback/ recalibrates the torque register but thats something after checking the max-tourque
  • Last Night I thought about the issue.

    5. Has it something to do with the Torque itself ? In testing condition i used to turn the Motor without load torque.

    Could that do something with back emf and indicates the issue ?

  • Hi Johannes,

    Do you mean that without load torque? there will be no such nFAULT issue.

    Are you using GUI and leaving other settings as default?

    We will try to reproduce the issue in lab and find the solution.

    Best regards,

  • I mean that the Motor does freewheeling, so there is nothing connected to it.

    As written earlier, I'm using the the DRV8711EVM-Gui and a Motor from Nanotech to proof the concept to drive the motor. I dosn't overide the origin Firmware, so evything should work and i still wondering abaut the bpdf bit and the fault.


    My addaptive settings in the board are:

    1. Mode 1/128 Step
    2. Gain: 10
    3. Tourque 128 => makes 3,78 Amps
    4. Decmode: Fast Decay
    5. Target Speed: 26880 pps => makes 63 rpm with 1,8° / step
    6. the rest of settings are default

  • Hi Johannes,

    Find a big stepper to do the test. And I just give the same parameters as you did to the EVM.

    xPDF or xOCP fault can be found sometimes but can be tuned away by the Driver Register setting.

    A tip to identify the fault types. (The Read function of the Simple SPI on left bottom GUI many be not working, but we still can use write function to check the fault types)

    We can sent following date to address 0x07 to identify it as below

    If cleared by 0xfd ->AOCP

    If cleared by 0xfb ->BOCP

    If cleared by 0xf7 ->APDF

    If cleared by 0xef ->BPDF

    It is important to know the fault is OCP or PDF for the tunning. I just give the most robust set of parameter for my my motor.

    OCP Thrshold 1V

    OCP Deglitch 8 us

    TDRIVEN 1us

    TDRIVEP 1us

    IDRIVEN 100mA

    IDRIVEP  50mA

    Note, when Gate Drive Time too small, xOCP is more easy to happen because the FETs get higher Rdson in the transient time. When Gate Drive Current too big, xPDF is more likely to happen. Also the parameters on "Source"(P) are more sensitive to the "Sink" ones with respect to this issue. 

    If at lower VM voltage, the fault rate will be much lower because all these faults are partly because of the noise on the board especially when driving such high current at 48V VM voltage.

    Also adding gate resistor (0ohm currently) should be help on lower the rate of the xPDF fault.

    Best regards,

  • The VM-Volage cant be lower beacause of the demanded Torque. If I use lower volage i have to send even more Current, so the nois is something i have to deal with.

    As monitored earlyer its the bpdf bit in the xpdf-register that causes the issue.

    I tryed to use your parameters / your suggestions as well but it`s still the same .

    For now i want to change the gate resistor.

  • In case to proof your suggestion i changed the gate resistors to 10 Ohm.

    Every time i try to set nSleep the motor should hold at the position but the the board is in bpdf -fault with no chance to go to runmode. I think i've killed the board for now.

    Note: I tested your parameters with a similar Motor ( 9,5 Nm rated) and get good results
     but i still need the other Motor with 10Nm

  • Hi Johannes,

    Do you mean that you use nSLEEP to stop the running motor? I will not recommend to do so because HiZ the outputs when stepper is running will cause big VM pumping. Since we are already at 48V which is very close to our MAX operation rating of DRV8711, that could cause fault or damage.

    The motor I tested should be with lower torque than yours. Since I can't find motor like the one you need with 10Nm, I need to find other ways to verify the issue. Any improving or lower failure rate of PDF after you add 10 ohms to the gates? 

    Best regards,

  • Hi  Wilson,

    lately i've bourght another board and tryed to implement the parameters as well.

    Now there is an non-revertible OCP fault.

    In summary i`ve destroyed 2 boards because the measured ripple is beond the maximum range and destroyes the fets. Could you reccomend another driver that manage that ?

  • Hi Johannes,

    I'm sorry to hear that. I believe it was destroyed but voltage pumping up over the MAX rating when the driver shut down suddenly while the motor was running. 

    Also it is a pity that DRV8711 EVM is our most powerful stepper driver kit with our highest current and voltage rating. I think you can apply some DRV8711 samples and MOSFETs to repair the boards and make more test to find the proper parameters. In my side, I have no problem to driver a 4A 48V stepper motor with the EVM. I can show you some driving current and voltage waveforms next week. 

    From the motor side, I think you need torque more than speed, so I would recommend to select a motor with higher inductance (phase resistor) at that current rating and better with lower appliable VM voltage to generate the same torque you need.

    Best regards,

  • Hi Wilson,

    that was not caused by shout down,because with the 2nd board i stopped the motor regular by pressing Stepping (Pause Steps). I dosnt have the tools to solder the tiny Fets correctly. Its still hard to find a low cost Stepping based Motor who fits the conditions. But anyway I've measured up to 6 Amps on the Motor so i have to find another one

  • For now i try to change the Fets to more stress resistant ones=)

    I've choosen http://www.ti.com/lit/ds/symlink/csd19534q5a.pdf

    could you reccomand that ?

    Or is it a bad idea beacause of the thermal conditions?

  • Hi Johannes,

    Yes. This one has higher voltage level but also higher Rdson. Thermal condition will be worse. But it should still be well handled in this application.

    It is still important to indentify the root cause of the previous failure. We can see the results coming from this new FETs first and compare the performance and find whether the issue is still here. 

    We will be here with any supports needed until your problem is solved.

    Best regards,

  • Hi Wilson,

    looking forward to the new fets i've replaced the dead hiside fets with fets from the 2nd board.

    The 1st board is responsible and the standard motor works well, so your charge-pump-theory is right.

    Thank you realy much for your support.

    I will write again when the new fets are arriving.

  • Hi Johannes

    So glad to hear that! It relieves me a lot :)

    Hope to see your good news again!

    Best regards,

  • Ive replaced the 60v Fets with the 100v ones, but i still cant get the motor running at 10 Nm

    In the status-register i've found a STD-error who stops the Motor on Trun on at a gain of 10
    .

    Could you reccomand a setting to avoid this ?

  • Hi Johannes,

    I checked the motor you are using maybe is the following one.

    ST8918L6708
    Click to open article details
    4.74 9.3338 

    So, this 9.3338 Nm is the holding torque. It means if the motor current gets to 4.74A, the holding torque could be about 10Nm. So now we need to understand your problem more clear.

    When you said can't get the motor running at 10Nm, does it mean you can't get the ~5A current into the motor or the motor can't running at 10Nm loading?

    If the problem is the current, we can solve by tuning the DRV8711 parameters. Our EVM is proved to driver the current at up to 6A or even higher.

    If the problem is running at the 10Nm loading, I should say if the stepper motor's holding torque is 10Nm, it can't drive average 10Nm load. Because holding torque is the MAX torque a stepper can get at any condition. If the motor is running, the driving torque will be decreased with respect to the speed. The higher the speed, the smaller the torque. In that case you need a gearbox to get higher torque. 10Nm is a big torque level to most type of motor <1kW.

    Also STD fault shouldn't stop your motor, DRV8711 stall detection don't have any impact to the driving function. It is just a reporting on the stall detection.

    Best regards,

  • Hi Wilson,

    Im using the ST8918D6708 and with the  original driver n5 from Nanotec i get at least 13Nm (measured) without a gearbox.

    So the Motor can drive that load.

    What i want to check is: Could i reproduce  that with the drv 8711 ?

    The issue is that the driver is stopping when i've changed the TOURQUE or GAIN register to get more tourque out.

  • Hi Johannes,

    So now the main problem is still when we want to increase the current level setting, the driver stopped and reported nFAULT?

    I remember you said the latter test shown the parameters worked. So now the problems happened again?

    Best regards,

  • Hi Wilson,

    Yes its true, your recommanded setting worked for a gain of 20 and 40 (that gives me about 5Nm)

    With a gain of 10 they where killed by Voltage ( as we figured out)

    With the new Fets the settings only worked for a Gain of 40.


    I know its now a custom Solution but i tryed some combinations (nothing worked properly)

    and i still cant figure out how to avoid these nasty fault.

    Best regards,

    Johannes

  • Hi Johannes,

    If you work with our EVM, I mean Rsense = 33mohm. And you want 5A current, please try all the below settings.

    Dead Time : 650n

    ISGAIN : 5

    EXSTALL : 0 or 1

    Microstepping: 1/16 to 1/256

    RSTEP : 0

    RDIR : 0 or 1

    ENBL : 0 (after all other parameters set, then set to 1 to enble the driver)

    TORQUE : 107 (15.36*I; Peak 7A, RMS 5A) try lower first

    OCPTH : 1000mV

    OCPDEG : 8us

    TDRIVEN: 1us (try others if nfault happened)

    TDRIVEP: 1us (try others if nfault happened)

    IDRIVEN: 100mA

    IDRIVEP: 50mA

    TBLANK: 80 (~1.5us)

    ABT: 0 (disable)

    DECMOD: 011 (mixed all the time)

    TDECAY: 9

    TOFF: 15

    PWMMODE: 0 (index mode)

    other unlisted parameters are not critical.

    Do ENBL = 1 after all above setting is done.

    Please let me know if it works. At least it works for me with that current level and no fault claimed. Please make sure that the ENBL is not checked before all other parameters set done.

    Best regards,

  • Hi Wilson,

    thanks for another set  of settings. Ive tryed that with  the evaluation board and take the folowing conclusions:

    1. the setting with 1/256 wont work because of the wanted speed of 63 rpm =>change to 1/128

    2.change the tdrive register wont help

    3.a tourque-registerset of <20 work >20 wont work

    4. If i start with a torqueregister-set of 10 and  increment it on runtime  the motor will give at 83 a Torque of about 8Nm

    It looks like something internally gives a overflow and causes the fault.

    Best regards

  • Hi Johannes,

    I managed to look at this issue again and this time I find another motor with smaller phase inductance which means the current noise could be bigger.

    And I just use our EVM to set the current at peak 6A. 

    After test, it is true that there could be PDFx or OCP faults happens. Altough it can be improved by tuning the predriver parameters, but still a randomly rate of the fault will be reported after several minutes running. The most possible fault is BPDF.

    By further tuning, we can get that the lowside predriver current capability will be the most sensitive parameter to the fault. So we try to add four 20 to 47ohm resistors to the lowside gate only. It shows the xPDF fault could be greatly improved. Please refer to the following waveform of the 6A current running. 

    The motor I used is not allow to running at 6A for long time but the effect was very obvious. 

    Also I noticed that at this current level, the whole board could get very high temperature after minutes running, so if we need to run the motor at such current for long time. The PCB heat dissipation should be enhanced for long term stability.

    Best regards,

    Best regards,