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.

DRV8837: Need help and clarification on designing for stall torque and current

Part Number: DRV8837

Hello,

This thread is intended to discuss, seek advice and help on analysis on maximizing the stall torque design for a particular dc motor using DRV8837 motor driver.
I am not quite expert in analog domain and motor control, I have a project for door lock application using TI DRV8837. One of the design parameter that I need clarification is about maximizing the torque for driving mortise lock.
We can isolate the gear ratio and resulting speed after gear reduction and focus on the origin that is the torque on motor.

Here is the graph characteristic for the dc motor:

The system works as specified:

  • The system is intended for door lock application
  • The system uses 4xAA alkaline batteries in series configuration as power source

I've done some test by measuring the current and voltage to the motor and analyze against the characteristic graph:

  • I drive the DRV8837 with MSP432 PWM with 100% (full on) on one input and the other input is driven low (pwm idle low)
  • The battery voltage is not so fresh, it is around 5.8 V
  • Then I hold the motor until it is stop/stall
  • I record the current through the motor is around 1.6 ~ 1.7 A
  • I record the voltage on the motor and it is drop to around 1.4 V when stall

Here are my analysis:

  • Using the characteristic graph for 3.6 V to the motor (no load speed & stall torque), I calculate with two point equation and got the equation:
    y = -(175670/599) x + 17567
    With y =  speed
    With x = torque
  • Since the relationship is linear, the resulting drop voltage to 1.4 V at stall will change the graph charactertistic. To find this changes, I recalculate the graph characteristic for 1.4 V. I get the no load speed point to be:
    (1.4 / 3.6) * 17567 = 6831.6 rpm.
  • Then since the slope on graph characteristic will be the same, the new equation at 1.4 V will be:
    y = -(175670/599) x + 6831.6
  • The stall torque at 1.4V can be calculated with y = 0. It is 23.29 g-cm.
  • As far as I know, the torque constant is not changing so the current-torque relation on its graph is the same even for 1.4 V.
    I calculate the equation for current-torque relation and based on my current reading at stall (1.6A ~ 1.7A), that means the torque is 23.57 g-cm at 1.7 A.
  • That means with DRV8837 powered using batteries, the stall torque can be achieved but due to battery as unideal power source the resulting stall torque is constrained.
    For example in this case I get 23.29 g-cm instead of 59.9 g-cm.

Questions:

  1. Does this analysis is quite correct/legitimate for me to determine max stall torque that I could achieve using DRV8837 with battery as power source?

Any helps or advises are much apperciated. Thank you :)

Regards,
Pranata.

  • Pranata,

    "Does this analysis is quite correct/legitimate for me to determine max stall torque that I could achieve using DRV8837 with battery as power source?"

    For the motor side, the equation and calculation are correct.

    The big variation is from the battery side. The V-I curve of the battery need to be studied. To me, 1.6A load for 4xAA alkaline batteries in series seems to high because the voltage dropped to 1.4V (0.35V/cell). That is much less than its peak power.

    You may consider to NiMH or Li-ion battery to support such high current.

  • Hi Wang Li,

    Thank you for your confirmation. Regarding to the voltage drop:

    Wang5577 said:
    The big variation is from the battery side. The V-I curve of the battery need to be studied. To me, 1.6A load for 4xAA alkaline batteries in series seems to high because the voltage dropped to 1.4V (0.35V/cell). That is much less than its peak power.

    This 1.4 V is the voltage across the motor. While the battery itself is more than that.

    For example today, I did the same experiment but now with fresh battery and get these results:

    • at no-load, the battery voltage is 6.2 V and motor voltage 5.92 V
    • at stall, the battery voltage is 3.64 V and motor voltage 2.0 V
    • that means the battery drop to around 0.91 V / cell.

    I have some questions regarding this motor driver thing that I still don't quite understand. I have two different DC motors (one of them is the one that I mention on the first post):

    • Motor A, with rated voltage 3.6 V and stall current around 3.87 A
    • Motor B, with rated voltage 6.0 V and stall current around 3.8 A

    The experiment that I did:

    • Both motor is driven using DRV8837 with VM (to motor) coming from battery 6.2 V. Both are driven with 100% PWM.
    • Make the motor stall and record the stall current

    Results:

    • Motor A with rated voltage 3.6 V draws current around 1.6 ~ 1.7 A at stall.
      Around 1 second the protection in DRV8837 kicks in, from oscilloscope the voltage on motor is oscillating (on off repeatedly) at 2V and ~0V.
    • Motor B with rated voltage 6.0 V draws current around 1.1 A at stall.
      The protection doesn't kick in, the voltage on motor is drop and stable to 3.4 V as long as I hold the stall condition.

    Question:

    1. Why for different motor, the DRV8837 seems can't give the same max current?
      DRV8837 seems can't give more than 1.1 A to Motor B while it can deliver up to 1.7 A to Motor A.
    2. Based on the experiment, does it means I need to drive the motor to higher voltage than its rated voltage if I want to maximize the drawn current for a given motor?

    Thank you Wang Li,
    Pranata

  • we cannot use a lower resistance motorPranata,

    1. Why for different motor, the DRV8837 seems can't give the same max current?

    Stall condition means the motor doesn't have the back EMF to against the input voltage. The input voltage is applied to the winding resistor.

    Motor A and B with different the voltage rating and similar stall current. That means the winding resistance is different. Higher voltage one will have a higher resistance. For example: Motor B 6V/3.8A=1.58ohm; Motor A: 3.6V/3.87A=0.93ohm

    When  the motor side input voltage drops to 2V with 0.93ohm winding, the winding current could be 2.15A (your measurement is about 1.6~1.7A)

    When the motor side input voltage drops to 2V with 1.58ohm winding, the winding current could be 1.26A (your measurement is about 1.1A).

    Bottom line: the winding current could be limited by winding resistance, not the motor driver.

    2. Based on the experiment, does it means I need to drive the motor to higher voltage than its rated voltage if I want to maximize the drawn current for a given motor?

    Before doing it, please check why there is high voltage drop from the battery to the motor side. DRV8837 HS + LS FET on-resistance is only 330mohm. 1.7A should only have 0.56V drop at 25C.  You may be able to push the winding current a little bit higher by reducing the extra voltage drop. If we cannot reduce the driver loop resistance and we cannot use a lower resistance motor, we need a higher battery voltage..

  • Hi Wang Li,

    Thank you for the explanation. That helps me to clarify the dc motor characteristic.

    I think for this topic is adequate. I agree with the drop voltage on driver that seems odd. I will investiage further more and I think that would be another topic.

    Kind regards,
    Pranata