Powering a stepper motor - questions about appropriate batteries

Hi, I've been searching and reading on this all day but can't seem to understand what I need.

Summary of project

  • I have a stepper motor running from an EasyDriver v4.4.
  • I'm supplying 12volts of power to the EasyDriver from 8xAA Alkaline batteries (as well as to the Arduino Uni board which has nothing other than the process controlling the EasyDriver running from it).
  • The motor drives a belt, using a pulley with a diameter of about 1cm, that pulls 2kg's vertically over 1 hour.

Motor Specs

  • Torque: 76 oz-in - 5.47 kg-cm
  • Step Angle: 1.8
  • DC 1.68 A/Phase

EasyDriver Specs

  • Max 750ma/phase
  • Running in 1/8 step mode

Question
Perhaps obviously, the batteries don't last very long. What kind of batteries should I use to power this rig so that I can use it more than once per charge! I can't work out, how to work out, what kind of batteries I need.

Thanks for your help guys and gals!

A lead acid battery should last a while. The bigger the battery, the longer it will run. To roughly estimate the run time, divide the battery capacity in ampere hours by the overall average circuit current in amperes.

Note that the easydriver is not capable of supplying the full current required by that stepper. To what value have you set the current limit?

I've set the current limit to 750mah. For the application I am using it for, it works just fine, except for the fact that the batteries die rather quickly.

So how would I go about working out the average circuit current? Is that just 750mah or 1500mah(2 phase stepper)? Or something else?

Edit: Considering the rated voltage of the motor is 2.8vdc and the Easydriver has a minimum input voltage of 6vdc, is there any reason I should have a power supply that is rated above 6vdc, so long as I have the correct amperage?

Note that current is measured in mA or A (amperes), while battery capacity is measured in mAh or Ah (ampere hours).

You can use a multimeter on the current setting, in series with the positive battery lead, to get an estimate of the average current. The motor should be running while you take the measurement. You cannot accurately guess the average motor current from the current limit setting.

If you use a chopper-type motor driver like the EasyDriver, ignore the voltage rating of the motor. Use the highest voltage possible to get the maximum step rate. If you have the Easydriver version with the Allegro A3967 chip, the motor power supply can be a bit less than 30 V. Consult the driver documentation to be sure.

tomn8r:
I've set the current limit to 750mah. For the application I am using it for, it works just fine, except for the fact that the batteries die rather quickly.
...SNIP....
Edit: Considering the rated voltage of the motor is 2.8vdc and the Easydriver has a minimum input voltage of 6vdc, is there any reason I should have a power supply that is rated above 6vdc, so long as I have the correct amperage?

The problem with stepper motors is that they draw the full (permitted) current even when stationary - that is how they hold position. This makes them very unsuitable for battery power. A large lead-acid battery would seem to be the best option. But assume that its real capacity is only half what the sticker says. And make sure it gets a full charge at least once a week.

Stepper motors are normally driven at voltages much higher than the nominal voltage. The important thing is to limit the current - as you have done.

You could try reducing the current further, but then you may not have enough torque for your application.

Using a lower voltage won't make any difference. The average power (watts) consumed will be (very approximately) 750mA through the coil resistance (I2R, I think). If the voltage is higher the driver will just cut it off more frequently to get the same average.

There may be something useful in stepper motor basics

...R

Thank you all for your answers so far! I really think I'm starting to get my head around it.

Follow up question 1: Does a decline in amps have a linear relationship with torque? As we've established, the stepper is rated for 1.68amps with a torque of 5.47kg-cm. Does that mean at 0.84amps, torque would be 2.73kg-cm? If this is true, does that mean the my max torque will be 2.48kg-cm, considering the Easydriver provides a maximum of 750ma?

Follow up question 2: How 'secure' is the 750ma limit on the Easydriver? I keep reading that the motor will 'draw as much as it can' so if the power supply is able to provide more than 750ma, will it keep drawing and blow the Easydriver?

Question 2 - if the Easydriver is set to limit the current it will ensure that no more than the set limit is allowed through.

Question 1 - I don't know. I suspect what you say is correct in theory for when the motor is stationary. Things get very complex when the motor starts moving.

...R

Thank's everyone. Below are my conclusions based on all your help.

Actual current draw of Easydriver
I went out and purchased a small multimeter and, using a 12V 500mAh AC adaptor, I found the Easydriver was pulling between 300(moving)-400(resting)mA.

Torque Problems Acceleration Problems
One of the problems I'd been having was a lack of 'torque', however after reading @Robin2's Stepper Motor Basics post, I found this to be an issue with the acceleration of the motor. After incorporating some linear acceleration into my code, the motor was able to lift my weight easily with the 500mAh adapter. I suspect that the motor would have drawn more current if it had been available. To save power, once I get my final power supply, I'll adjust the pot so that it can only draw as much as it needs.

LiPo over Lead Acid
Because my device is portable, I'm apprehensive to go with the lead acid battery option. I'm probably going to go with a high capacity LiPo battery, perhaps around 6800mAh. This should last for a couple of hours, but the device will never need to run constantly for more than an hour.

I'll adjust the pot so that it can only draw as much as it needs.

This is not the right way to think about it. The pot on the motor controller determines the maximum allowable motor current, and that cannot exceed about 750 mA per winding or the motor driver will shut down. Without that control, the motor would draw many amperes from a 12V power supply and overheat.

Motor torque is proportional to the average current draw.

If you use a multimeter you should measure the current in the wire between the driver and the motor while the motor is stationary. WARNING - under NO circumstances should you disconnect the wire (even for an instant) between the motor and the driver when the system is powered. Doing so will destroy the driver.

IMHO the Pololu website has better instructions than the Sparkfun website. But AFAIK Pololu does not make an equivalent for the Easydriver.

...R

jremington:
This is not the right way to think about it. The pot on the motor controller determines the maximum allowable motor current, and that cannot exceed about 750 mA per winding or the motor driver will shut down. Without that control, the motor would draw many amperes from a 12V power supply and overheat.

Motor torque is proportional to the average current draw.

I think you may have misunderstood. I was testing using a 500mAh power supply and the motor was maxing it out. At this point, the torque was appropriate for my application. Therefore, when I get a power supply that can provide more current, I will reduce the pot from 750mA to 500mA to help make the battery last longer.

Robin2:
If you use a multimeter you should measure the current in the wire between the driver and the motor while the motor is stationary. WARNING - under NO circumstances should you disconnect the wire (even for an instant) between the motor and the driver when the system is powered. Doing so will destroy the driver.

IMHO the Pololu website has better instructions than the Sparkfun website. But AFAIK Pololu does not make an equivalent for the Easydriver.

...R

I tested both moving and stationery. Thanks for the advice re: disconnecting the wire! Good to know...

One thing that seems to be missing in the above discussion is that the motor current
and power supply current are NOT THE SAME. Typically the supply current is
a lot less than the motor current at stationary, and will increase when the motor
is spinning under load. This is a chopper driver, behaves like a buck converter.

If you want to move a mechnical load under battery power you shouldn't start with a
stepper motor, its the least power efficient method. For a 2kg load moving vertically
at very slow rate a leadscrew and small gear motor plus encoder would allow
much longer battery life.