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.

DRV8711EVM: Calculating the drive register values.

Part Number: DRV8711EVM
Other Parts Discussed in Thread: DRV8711, DRV8462

Hi,

I am trying to calculate the drive register (OCPTH, OCPDEG, TDRIVEN, TDRIVEP, IDRIVEN, IDRIVEP) values for the DRV8711EVM evaluation module. I read the manual and the thread explaining how to do it, but it's not making that much sense to me. Please correct me if I'm wrong.

IDRIVEN and IDRIVEP are calculated the same. According to another thread it says use Qgd (nC) / Trise (nS) = IDRIVE (mA). It says to estimate the rise time, how do you do that? If I just use the default setting of 500nS. 5.9nC/500ns = 11.8mA. The closest settings are 100mA for IDRIVEN or 50mA for IDRIVEP. Is that correct?

TDRIVEN and TDRIVEP are the estimated rise times as mentioned above? So 500ns.

OCPTH - I am using a NEMA34 2 phase stepper with 4.2A per phase. According to the mosfet data sheet the RDSon value is 4.4 or 3.5 milliOhm, I'm not sure which one to use. The manual says use formula Iocp=OCPTH/RDSon.  So 0.25(250mV)/0.0044ohms(4.4milliOhm) = 56.8Amps. Thats using the lowest setting and its still higher than the 4.2A so obviously I'm doing something wrong.

OCPDEG - I assume I start the lowest value and if I get nuicance trips due to inrush current then I increase this just enough to stop them.

Apologies as I am not an engineer, feel free to be blunt with me and tell me it's over my head.

Regards,

Nathan

  • Hi Nathan,

    Thanks for posting in this forum. Pages 21 to 23 of the datasheet provides the guidance for calculation of these parameters. Yes you're on the right track. The rise time will be a function of the EMI performance with your stepper motor, wire harness length, power FET characteristics etc. So if EMI is high you may have to slow down the rise time from 500 ns. And yes based on your calculation the IDRIVEN and IDRIVEP settings are the closest.

    The IFS full-scale current setting is done by proper sizing of the Rsense values, ISGAIN and the TORQUE register settings. This would be for the 4.2 A in your application.  

    OCPTH is used for short circuit detection. Technically the threshold should be higher than 4.2 A with sufficient head room to avoid false shut down. The lowest available value for this setting is 320 mV worst case. If you're looking at a dead-short at the output this could be rising current all the way to 320/Rdson mΩ = 320/3.5 = 91 A for the HS FET (good idea to use the lowest Rdson value). For LS FET the short circuit current flow to VM should also include the Rsense. Regardless, for such low Rdson values this may be too high to stress the power FET momentarily and perhaps damage it especially at higher supply voltages. For design safety a resettable fuse or power supply current limiting would be better options to consider. If the short happens at the motor side the cable length related resistance would also limit the short current.

    You're correct with the OCPDEG setting idea. If the OCPTH value of short circuit current is achieved prior to expiry of this deglitch time due to fast di/dt it won't be detected until the end of the deglitch time. This means current may get higher than calculated before it is detected.

    I hope this helps. 

    Regards, Murugavel  

  • Hi Nathan,

    "TDRIVEN and TDRIVEP are the estimated rise times as mentioned above? So 500ns." - No, they are gate drive times. They are times during which gate driver can deliver IDRIVEN/IDRIVEP currents to Mosfets gates. The safest settings for TDRIVEN and TDRIVEP would be 2us (especially in case of adding LS Mosfet gate resistors).

    With IDRIVEN/IDRIVEP set to 100/50mA you should get rise/fall times somewhere around 150ns.

    I have blown a couple of Mosfets and drivers on DRV8711EVM board playing with Nema 34 motor at the very beginning and I will give you a few tips that may help you not to destroy DRV8711EVM board.

    - Set IDRIVEN/IDRIVEP to 100/50mA before going out of "SLEEP" mode, do not use higher settings.

    - If you want to use VM lets say over 30V you can add additional VM capacitor of around 1000-2200 uF.

    - If you want to spin your motor over 1000rpm (but lets say under 2500rpm!) the value of above mentioned VM capacitor should be even higher (4700 - 10000uF) in order to keep VM under 60V in case motor stops suddenly and dumps braking energy into DC bus.

    If you damage Mosfets or/and DRV8711 the next step could be adding LS Mosfet gate resistors mentioned in chapter 8.1.2 of DRV8711 datasheet.

    Regards.

    Grzegorz

  • Hey Grzegorz,

    Thanks for sharing your experience using this product. 

    Regards, Murugavel

  • Thanks for that Murugavel, that clears things up!

  • Thanks Grzegorz, thats very helpful! That gives me a good safe starting point. I am using 24V VM, so I should get away without those additional capacitors.

  • I know this is not the exact question I asked, but sometimes I'm a bit suspicious that when I change a value in the GUI it doesn't always write it to the driver. When running in 1/16 step mode I changed values and was able to get a good waveform. But when I was running in 1/4 step mode(pictured below), no matter what I changed the decay, blanking and off registers to I couldn't seem to make any difference to the waveform. Or do you think the below waveform is a result of something else?

  • Hi Nathan,

    Your problem is caused mainly by motor BEMF, with 1/4 step and the same PPS value you will get 4x higher motor speed and 4x higher motor BEMF than with 1/16 step. You still may be able to work with such current wave unless motor goes into resonance and/or stalls.

    Recently there were two threads describing that problem:

    https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1286472/drv8462-achieving-a-current-sine-wave-approaching-2000rpm

    https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1272947/drv8462-loses-step-and-stalls-in-proximity-to-the-stepper-motor

    DRV8711 is a bit older type of driver but all problems with BEMF and windings inductance should be very similar.

    Regards,

    Grzegorz

  • Hi Nathan,

    Grzegorz comment on BEMF causing current waveform distortion is spot on when the motor is stepping at a faster rate. This phenomenon is due to the stepper motor itself rather than the driver causing it. To overcome this limitation VM supply voltage should be increased. You'd face the same behavior with our latest fully integrated 65 V stepper driver DRV8462. The benefit with this new driver is, it can support up to 65 V operation for industrial applications requiring higher torque at higher stepping rate with lesser current distortion. The DRV8711 can support 48 V with proper output FETs, for example the EVM can support 48 V operation.

    Just to make sure the stepping mode changed correctly in the driver and you get the correct current waveform, when you change the mode from 1/16 to 1/4 can you also reduce the target speed from 6400 PPS to 1600 PPS? Thanks.  

    Regards, Murugavel  

  • Thanks again Murugavel and Grzegorz! That makes a lot of sense, I was definitely on the wrong path there. I didn't realise the speed of the motor would make that much difference, but playing around with it more it really does!
    Once I tested with a loaded motor I was able to increase the speed quite a lot before it would stall. I have some pretty good results now so I am happy.

  • Hi Nathan,

    Sounds good. Thanks for the update.  

    Regards, Murugavel