Go Down

Topic: Stepper motor power requirements (Read 458 times) previous topic - next topic

VinSei

Hello everyone,

I'm trying to build a motorized cameraslider with an arduino + steppermotor. For the driver I'm using the drv8825 and for power I want to use a sony npf battery (with about 7.5v 2.5a).
I want to know, if I can use this battery to power a bipolar nema 17 stepper motor with a voltage of 2.8 and 2 amps/phase?

Robin2

#1
Mar 24, 2019, 03:27 pm Last Edit: Mar 24, 2019, 03:28 pm by Robin2
The nominal voltage of a stepper motor is largely irrelevant. The important thing is the coil current - in your case 2 amps.

  • The first problem you face is that a DRV8825 has a minimum voltage of 8.2v so your battery is not suitable.
  • The next problem is that a DRV8825 will struggle to provide 2amps without a heatsink and forced cooling.
  • The third problem (or is it really the first) is that stepper motors are very inefficient and not suited for battery power. It will drain your battery very quickly. If the motor draws about 5.6watts (2.8 * 2) and the battery has a capacity of 18 watt-hours (7.5 x 2 Ah) then, in theory the battery might power the motor for about 3 hours. But with all sorts of losses that I am not able to account for I suspect 1 hour would generous.


...R
Stepper Motor Basics
Simple Stepper Code
Two or three hours spent thinking and reading documentation solves most programming problems.

VinSei

Thanks for your reply Robin

The first problem isn't a problem, because I've already tested it and it works just fine with a steppermotor that uses 0.4 Amps. I've also added the provided heatsink to the drv 8825 and with heatsink it's rated for up to 2.2 amps.
The battery is also a pretty big one (it has 48.8 wh) isn't this enough?

Robin2

If you have all the answers I don't understand the reason for your Thread ?


Don't be surprised to find that the 2.2 amps includes some marketing hype :)

Did I do my maths wrong when I calculated 18 Watt-hrs ? (It would not be the first time).

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

MarkT

I've also added the provided heatsink to the drv 8825 and with heatsink it's rated for up to 2.2 amps.
I strongly recommend not trying to push the tiny little DRV8825 modules too hard thermally - the
chip is designed to lose most of its heat through the copper heat slug on its underside to a multilayer PCB
with lots of surface area to spread the heat.

1.7A is a good guide to a reliable level of current from a DRV8825 module with the
little heatsink added.  The standard DRV8825 module is far too small to allow PCB heat sinking to be
effective.

If you want more, expect to need active cooling (fan pointing at the module).

I suggest 12V or greater supply is the way to go.  More voltage will mean more speed is available
from the motor, and more torque at speed too.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

VinSei

Sorry @robin, it wasn't meant like I'm knowing everything already, I just wanted to know, if the drv8825 is compatable with the stepper motor :)

@MarkT thanks for your reply, I've tryed the stepper motor on an L298N driver with the battery and it had the power to pull up and hold my camera with a lens and trypodhead (around 2.5 - 3 kg) verticaly, which is enough for my uses, so the battery is ok for my project.
Do you have any suggestions for a small stepper driver which would work?

Robin2

Do you have any suggestions for a small stepper driver which would work?
If you already have the DRV8825 then it is worth trying it with the current limit set to (say) 1.7 amps and see if you have enough performance.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

VinSei

I've tried it, but I'm heaving the problem that the motor is getting power and I can't rotate it if its standing still, but if I run the code it doesn't rotate, it just makes some beeps :smiley-confuse: 

Robin2

Two or three hours spent thinking and reading documentation solves most programming problems.

VinSei

#9
Mar 25, 2019, 06:12 pm Last Edit: Mar 25, 2019, 06:19 pm by VinSei
The code was one of the example codes from the arduino side and it also works with an other motor.
Maybe the problem is realy, that the driver doesn't work very well with my battery and the motor.
I think, that I'm propaply going to try to use an A9488 like this guy:camera slider with my battery.
Do you have a suggestion for a motor, which matches the stats of an a4988 and would be able to pull up about 3 kg verticaly and hold it?
Maybe this one:motor? For this one I could even use the DRV8834 which operates from 2.5-10.8 V right?
 I'm going to use a 6 mm tooth belt like on 3d printers to conect the motor to the camera sled.

Robin2

The code was one of the example codes from the arduino side and it also works with an other motor.
You may be surprised to know that I still can't see it.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

MarkT

Do you have any suggestions for a small stepper driver which would work?
No small single chip driver can do much better.  You either need one with a giant heatsink,
or move to a stepper driver using discrete MOSFETs (much less on-resistance).  Any single
chip driver is limited to using DMOS MOSFETs which have much more resistance than
VFETs (which have vertical current flow but can't be integrated on the same chip as the drain
contact is the chip substrate).

Getting a motor with 1A or 1.5A current rating is the recipe for worry-free small stepper
driver modules.

For 2A and above the best solution is a discrete MOSFET design of driver, much bigger, much
more expensive, basically standard industrial parts.

The halfway house are single chip drivers that are designed to bolt onto a metal heatsink.
TB6560 is one example.  These tend to waste more power in the heatsink than goes to the
motor.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

VinSei

I've now got an DRV 8834 and everything is working fine.

I only have one problem:
I can't figure out, how to get it in to microstepping mode to let the motor run smooth when turning slow :smiley-confuse:

DRV 8834 on this page is a little bit of informations.

I've tried for example to conect M1 to 5v so that it should do 1/32 stepps, but the only thing that changes is, that the motor is now going a shorter distance then before with the same step resolution.

Robin2

I've tried for example to conect M1 to 5v so that it should do 1/32 stepps, but the only thing that changes is, that the motor is now going a shorter distance then before with the same step resolution.
You need to post the latest version of your program so we can understand your question.


I had not understood from your Original Post that you were trying to operate the motor with a power supply voltage that is too low for a DRV8825. In general, stepper motors perform better with higher voltages.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

VinSei

#14
Apr 09, 2019, 09:01 pm Last Edit: Apr 09, 2019, 09:05 pm by VinSei
This is the stepper motor part of my program:
Code: [Select]
digitalWrite(dirPin,HIGH);
            for (int j = 0; j < (stepperlength); j++) {
              if (interrupt == 0) {                      
                digitalWrite(stepPin,HIGH);
                delayMicroseconds(stepperdelay);
                digitalWrite(stepPin,LOW);
                delayMicroseconds(stepperdelay);
                
                buttonStateA = digitalRead(PinA);
                if (buttonStateA == HIGH) {
                  interrupt = 1;
                }  
              }
                      
            }

(the interrupt part is just to stop it with a button)

Go Up