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.

DRV8830 current limit

Other Parts Discussed in Thread: DRV8830, CSD13381F4

Hello

I have a problem with the current limit circuit of the DRV8830. In order to simplify the problem I have connected the output of the drive on a variable resistor Rload. The drive is powered with a votage of 4 V.

 I want to limit the current to 0.5 A. To meet this condition, I choose a sense resistor = 0.4 Ohm between Isense and the ground.    If the resistror of the load Rload is greater than 4/0.5 = 8 Ohms, the expected current is smaller than 0.5 A and  the output of the drive is ok (programmed voltage). If Rload is smaller than 8 Ohms the output is only 0.4 V. In this case the current is only 0.4/Rload which is far below than the expected limit (0.5 A). For instance with Rload = 6 Ohms the output current is only 0.06 A.

The datasheet says : "When the voltage exceeds a reference voltage of 200 mV for more than approximately 3 μs, the PWM duty cycle is reduced to limit the current through the motor to this value."

In my application, the PWM duty cycle is not only reduced to obtain the limit current : it is reduced much more than expected.

Furthermore the current limit seems to be measured by taking into account the voltage that power the drive and not the voltage that is programmed

Thank you for your help

Sincerly yours

Etienne

 

 

  • Hi Etienne,

    Since you are having a problem, can we focus on it rather than trying to understand the use of a resistive load?

    What problem are you having, and how can we help you solve it?

    In general, using a resistive load can create problems when testing motor drivers. It appears as though you have encountered one. Please check to see if the FAULTn pin is set to low? Based on your description, it should be.

    Since this is a resistive load, the current will build to >.5A faster than 3us. At this point, the FETs are disabled until the next PWM cycle begins (approximately 20us later). The 20us is the remainder of the 44.5kHz PWM cycle.

    A quick estimate of duty cycle 3us/23us = 13%. Multiply that by 4V gets an average of .52V. Divide that by 6 Ohms and the average current is  .086A. This value is in the area of your measurement, but it does not take variations such as resistor tolerance, power supply, the deglitch, and PWM frequency. All of these could raise or lower the average value.

  • Hi Rick

    Thank you for your answer.

    For my real application the drv8830 is connected to a DC motor having the following characteristics (Maxon motor RE10):

    Resitance 2.08 Ohms

    Inductance: 0.017 mH

    Nominal current: 0.7 A

    Starting current : 1.44 A

    Nominal Voltage: 3 V

     In order to limit the maximum torque (mechanical limit),  I want to limit the maximum current at 0.6 A (Rsense =  0.33 Ohms). The output voltage of the drv8830 is programmed at 3 V ; the drv8830 is powered at 4V.

    With the torque needed to run my application, the motor is  stalled. In the same condition when I directely power the motor with an external power supply (by increasing slowly the current),  the motor start at 0.25 A and need 0.1 A at the nominal speed.

    When stalled, the Fault register of the drv8830 (read through the I2C interface) is first at 0x10 and then 0x11.

    I understand that the drive always detects an over current condition because the time constant is very short (3 µs). But at the end, my motor run properly with a lab power supply at only 0.25 A. What could I do to get the same operation with the drv 8830

     

    Regards

     

    Etienne

     

     

  • Hi Etienne,

    Here are a few things to try. With the low inductance motor you have, we suspect the current limit is reached very quickly and then decaying back to zero by the end of the PWM cycle. If you can provide current scope captures, this would confirm this.

    1) Decrease Rsense to .2Ohms. This will raise the trip point to 1A, allowing more current for startup. When running this should make little difference. When a stall condition occurs, the current will have to reach 1A for 275ms before the FAULTn is asserted.

    2) Add 2 Ohms in series with the motor. This will reduce the startup current, and may also effect the FAULTn operation.

    3) Add some addition inductance in series with the motor. This will prevent the current from building up and decay so quickly.

    Is it possible to use a motor with more inductance, like around 100uH?

    What is the target application for this?

    Thanks.

  • Hello Rick

    The traget application is a micro pump embedded in an portable instrument.

    With Rsense = 0.2 Ohms the motor does indeed  start in almost all cases but it remains critical.

    Unfortunatly I can't had any component in series in my circuit because there is no enough room to do that. The only component I could integrate is a capacitor I could add in parallel with Rsense (up to 10 µF). Does it make sense ?

     

    Etienne

  • Hi Etienne,

    I am glad to hear the motor starts in almost all cases. What do you mean by "but it remains critical"?

    There is one more item you can try. Connect the ISENSE pin directly to ground. This will disable the current limit feature, but will allow you spin the motor. This should provide an indication if the device works in the application.

    If you need the current limit feature, you can experiment with lowering the sense resistor further. You can lower the sense resistor further to .15 Ohms, which sets the current limit at 1.3A.

    Are you using the current limit feature?

     

     

  • Hi Rick

     Yes I would like to use the current limit (ideally 0.6 A) to limit the maximum torque for some mechanical reason.

    I could add in parallel with Rsense a capacitor (I have not enough room to add any series component in the circuit). Does it make sense ? What could be the value ?

    I mean by "but it remains critical" that some time the motor doesn't start (after a long period of inactivity the O-rings are a little bit glued).

    Regards

     

    Etienne

     

  • Hi Etienne,

    Sorry for the delay. We think adding the capacitor in parallel to the sense resistor will not help, but have been surprised by the results before. It should cause the on time to increase, but also decrease the efficiency of the system as the cap charges and discharges.

    Another alternative, if you have room, is to add low RDSon N-channel FET in parallel with the sense resistor. A device like the CSD13381F4 FemtoFET would provide approximately 170mOhms in parallel with the existing sense resistor. Enable the FET during startup of the motor to lower the sense resistor using a GPIO. Once the motor is running, the FET can be turned off and the sense resistor alone can limit the current.