Low-voltage (up to 12v) stepper motor driver carrier alternatives

Hi all,

I am working on a project in which I will need to control a large quantity of stepper motors (24 different ones) with a rated voltage of around 5V.

I have already used in the past Pololu's incredible DRV8834 low-voltage stepper motor driver carrier with an Arduino Uno, and although it worked perfectly and smoothly, in this particular project it is going to be too expensive to acquire a large quantity of such drivers.

What I'd like to ask is:

  • Does anyone knows another option of breakout board that is able to control low-voltage rated stepper motors?. I have been researching for a while, and until now I haven't found another board similar to Pololu's.

  • Another option is to buy directly from Texas Instruments the DRV8834 IC. However, I couldn't find online any schematics of how to actually wire the IC to the Arduino. Has anyone ever stumbled upon something that could help me on this path?

Thank you.

Luiz.

The voltage rating for a stepper motor is of little relevance. What matters is the current it can take. Unless you are satisfied with very long intervals between steps you need a higher voltage. However if you use a higher voltage you need a specialized stepper driver that can limit the current to protect the motor.

I am not aware of any board that has multiple stepper chips (such as the DRV8834 or A4988) on it

The Pololu page you linked to has a schematic for the DRV8834 chip.

Post a link to the datasheet for your stepper motors.

...R
Stepper Motor Basics

DRV8825 boards are much cheaper than the stepper motors they drive.

Use 24V supply and these and you can use thinner power wiring too. Give up on any idea
of using 5V and 30A or whatever you are currently thinking of, that will need unwieldy thick
cables.

Steppers are normally current controlled - you should run by us the specs of your motors and
what you intend doing with them - xyproblem springs to mind here.

Robin2:
The voltage rating for a stepper motor is of little relevance. What matters is the current it can take. Unless you are satisfied with very long intervals between steps you need a higher voltage. However if you use a higher voltage you need a specialized stepper driver that can limit the current to protect the motor.

I am not aware of any board that has multiple stepper chips (such as the DRV8834 or A4988) on it

The Pololu page you linked to has a schematic for the DRV8834 chip.

Post a link to the datasheet for your stepper motors.

...R
Stepper Motor Basics

Thank you Robin2 for your answer.

The motor has not yet been defined, but it should be something similar to this one:
https://www.pololu.com/file/0J714/SY42STH38-1684A.pdfX

The problem of running it at a higher voltage, is that the motors will be run on batteries for a short time. The whole rest of the circuit (arduino + sensors) are run at 5v, so it would be simply easier and cheaper to run the motors at that voltage.

The load of the motors is low. They are connected to 3mm diameter pulleys to carry a very light load of only 100g in linear motion over 1,5m. So, I wouldn't mind to run the motors with less torque than expected, since I only need a few.

Thus, the only way I could find to easily drive those motors at that voltage is to use a driver carrier like the DRV8834. Which leads me to the question I have posted above: these carriers will be too expensive for my application. If there aren't any other options available, I might then change to something like the DRV8825 (which can be much cheaper), and have a 12v power source to the motors, and divide such voltage to drive the arduino and other components up to 5v.

MarkT:
DRV8825 boards are much cheaper than the stepper motors they drive.

Use 24V supply and these and you can use thinner power wiring too. Give up on any idea
of using 5V and 30A or whatever you are currently thinking of, that will need unwieldy thick
cables.

Steppers are normally current controlled - you should run by us the specs of your motors and
what you intend doing with them - xyproblem springs to mind here.

Hi MarkT, thanks for your reply.

Please take a look above at the previous reply. Although I am aware that running the motors at a higher voltage would be better for their performance, my current application will be mobile, and also for economic reasons it would be much better to have a single 5v power source to the whole system. At tops, I can go up to a 12v, only if necessary.

I think you need to get the motor and try it at 5v with the DRV8834 to see if it performs as you require. There is little point considering hypothetical solutions until you know that.

…R

Hi Robin,

You're right. However my question was directed at the stepper drivers. Unfortunately I am not able to have the exact motor model right now, the shipment is on its way. But in the meantime, I need to buy/produce the drivers. Due to time constraints of this project, I won't be able to wait for the motors to do so; thus I am trying to diminish my chances of failing here.

viraseres:
I need to buy/produce the drivers. Due to time constraints of this project, I won't be able to wait for the motors to do so; thus I am trying to diminish my chances of failing here.

That makes no sense when you cannot know if the performance will be adequate.

Buy one of the motors from a local source even if it is more expensive.

AND there is another issue that needs to be considered...

If each of the 24 motors needs its own separate set of step pulses you may run into the problem that a 16MHz Arduino cannot produce all those pulses fast enough. What is the total number of pulses per second that you will require?

...R

Robin2:
That makes no sense when you cannot know if the performance will be adequate.

Buy one of the motors from a local source even if it is more expensive.

AND there is another issue that needs to be considered...

If each of the 24 motors needs its own separate set of step pulses you may run into the problem that a 16MHz Arduino cannot produce all those pulses fast enough. What is the total number of pulses per second that you will require?

...R

As fast as possible using an ATMEGA328P-PU. However, I won't run all of them from the same module; the idea is to use three of them on one module (which I have already tested earlier and it worked as intended).

I will try to acquire one of the motors for testing asap. I am still looking however for alternatives for the DRV8834 to run the motors at 5v.

viraseres:
However, I won't run all of them from the same module;

When you use the word "module" do you mean "Atmega 328" ?

As fast as possible using an ATMEGA328P-PU.

That is not a very useful statement - would one revolution per week be sufficient ?

...R

viraseres:
Hi MarkT, thanks for your reply.

Please take a look above at the previous reply. Although I am aware that running the motors at a higher voltage would be better for their performance, my current application will be mobile, and also for economic reasons it would be much better to have a single 5v power source to the whole system. At tops, I can go up to a 12v, only if necessary.

Definitely go to 12V, don't even consider 5V. You can buy a 12V(*) battery, but 5V batteries don't
exist! 12V -> 5V dc-dc converter(s) will get you a nice efficient 5V supply where you need it (even as
the batteries run down from 13.8V (full charge) to 11V (empty).

(*) or 11.1V LiPo

MarkT:
Definitely go to 12V, don't even consider 5V. You can buy a 12V(*) battery, but 5V batteries don't
exist! 12V -> 5V dc-dc converter(s) will get you a nice efficient 5V supply where you need it (even as
the batteries run down from 13.8V (full charge) to 11V (empty).

(*) or 11.1V LiPo

Thanks a lot MarkT. I will start reframing it to 12v mindset then (this way, I might even use a A4988 or DRV8825 which I can find in more affordable prices). If I may, I'd like to further ask you:

Assuming I'm using an Arduino with a A4988 stepper driver at full-step mode (which can provide 1A per coil), and a 12V power source, which of the following motors would perform better?

  • Model A, rated current 1.7a, phase resistance 1.5ohms, rated voltage 2.5v.
  • Model B, rated current 1.3a, phase resistance 3.2ohms, rated voltage 4.16v.
  • Model C, rated current 0.4a, phase resistance 30ohms, rated voltage 12v.

viraseres:
which of the following motors would perform better?

  • Model A, rated current 1.7a, phase resistance 1.5ohms, rated voltage 2.5v.
  • Model B, rated current 1.3a, phase resistance 3.2ohms, rated voltage 4.16v.
  • Model C, rated current 0.4a, phase resistance 30ohms, rated voltage 12v.

You have to define what you mean by "better" and, really, you should define what performance you require - speed and torque - and not just use a vague word like "better". The "best" of those 3 motors might not be good enough. Equally the "worst" may be sufficient.

Whe you know what you need you can look at the datasheets for the motors and make a decision.

You need to post links to the datasheets for any motors you want advice about.

...R

viraseres:
Thanks a lot MarkT. I will start reframing it to 12v mindset then (this way, I might even use a A4988 or DRV8825 which I can find in more affordable prices). If I may, I'd like to further ask you:

Assuming I'm using an Arduino with a A4988 stepper driver at full-step mode (which can provide 1A per coil), and a 12V power source, which of the following motors would perform better?

  • Model A, rated current 1.7a, phase resistance 1.5ohms, rated voltage 2.5v.
  • Model B, rated current 1.3a, phase resistance 3.2ohms, rated voltage 4.16v.
  • Model C, rated current 0.4a, phase resistance 30ohms, rated voltage 12v.

Lower resistance is usually faster for a given voltage, all else being equal. 30 ohms is dead in the water,
disregard it. A and B do not have a rated voltage, only current and resistance. You can multiply those
together to get a voltage, but its meaningless to do so, they are current-controlled and the actual voltage
will be dominated by back-EMF.

C is designed for voltage drive and will be slow and cannot be microstepped easily.

You will likely want microstepping - what is the application?

I will not need micro-stepping for this application - speed will be more important than accuracy. Of course I will also need a certain amount of torque (which unfortunately I have not yet calculated).

The application is a mobile kinetic installation. Speaking only about the role of the stepper motors: each of one the motors is connected to a pulley (circa 5cm diameter) in a linear motion system that will carry back and forth circa 300g of load throughout a 1,5m steel wire. I will move back and forth this load according to different patterns, but more importantly than having a high resolution of its motion, I need speed and reliability on the motor's steps (so that I can know for certain where the load is located after the system initialises without any sort of feedback system).

I an inclined to acquire the model A for testing. Generally speaking, do they both fit? If I run both within the rated-current specification, will I have any sort of problem with the motors getting too hot?

Thank you for your help. I am aware I am somewhat confusing, but I'm new to working with motors, and I'm getting the hangs of this just now. :slight_smile:

Robin2:
You have to define what you mean by "better" and, really, you should define what performance you require - speed and torque - and not just use a vague word like "better". The "best" of those 3 motors might not be good enough. Equally the "worst" may be sufficient.

Hi Robin. Indeed I do. I have trouble to quantify the speed and torque I need, mainly because my background is neither electronic engineering nor physics. On top of that, I have unfortunately too little time for testing and making mistakes on this particular project.

Anyway, generally speaking, I need a speed on the range of 5rev/s to 10rev/s. The application is describe above, and the motor will pull a steel string carrying a load of only 300g. Unfortunately I haven't yet calculated the exact torque needed.

Robin2:
Whe you know what you need you can look at the datasheets for the motors and make a decision.

You need to post links to the datasheets for any motors you want advice about.

I could only find the following datasheet for both motors. The models are:

17HS5413 (model A)
17HS4417 (model B)

http://us.100y.com.tw/pdf_file/79-17HS.pdf

viraseres:
I have trouble to quantify the speed and torque I need,

There is a simple system for estimating torque in Stepper Motor Basics which I linked to in Reply #1

The -417 motor has nearly twice the torque of the -413 version. However the -413 only needs 1.33 amps which would be a lot easier for the stepper driver. The 1.7amps of the -417 will be close to the limit for an A4988 or DRV8825.

I just noticed that the last 2 digits (13 and 17) represent the current.

...R

Robin2:
The -417 motor has nearly twice the torque of the -413 version. However the -413 only needs 1.33 amps which would be a lot easier for the stepper driver. The 1.7amps of the -417 will be close to the limit for an A4988 or DRV8825 (which can provide 0.5A more than the A4988).

I just noticed that the last 2 digits (13 and 17) represent the current.

...R

Since the -417 are considerably cheaper than the -413, I will try it first and see how it goes with a DRV8825.

Thank you!

viraseres:
Anyway, generally speaking, I need a speed on the range of 5rev/s to 10rev/s. The application is describe above, and the motor will pull a steel string carrying a load of only 300g. Unfortunately I haven't yet calculated the exact torque needed.

600 rpm may be possible with 12V, you'd probably never achieve it with 5V. I'd recommend 18V or 24V though.

MarkT:
600 rpm may be possible with 12V, you'd probably never achieve it with 5V. I'd recommend 18V or 24V though.

Thank you!