I am running an arduino uno with 2 adafruit motorshields which control 4 stepper motors. It works good, but I know I"m not powering correctly. Have looked at getting rid of motorshields and using different stepper motor controllers, BUT... maybe I can make this work.
Arduino Uno V3
(2) Adafruit stepper motor shields stacked
Stepper motors are small linear steppers that are 0-4.2v motors with .256 amps per phase and 15 ohm resistance.
So I have it all programmed and working with movements, but it's powered solely off USB on arduino right now, so I think severely underpowered and disconnects once in a while. I want to run 5v 2amp power source to the power jack to thus power the motors... but too much power and they start to smoke
I should note speed of motors is not important, they are precision driven and step once per arduino loop cycle which is fine. Only moving a few microns at a time.
So maybe my math is messed up, I'm totally new and this is my first project...
5V / .256amps on motor = ~20ohms resistance I need to each motor +?
5V / 20ohms = .25amps per motor phase but need to add 15 ohms for motor resistance?
5V / 35ohms = .142amps per motor phase (safe I guess being lower?)
5V * .142amps = .71 watts of power
Is it safe to say I need to add 20 ohm .75w or 1w resistor to each motor + on the project to protect them?
mind you this is from my googling and lack of electronic experience... and means to an end. any guidance is much appreciated. I was going to switch motorshields to 4 DRV8833 drivers from adafruit, but so close here to what I need. system all works good, just need a little more reliable power rather than USB power.
If your motors can be drven by drivers like the A4988 or DRV8825 and you can use an Uno, the CNC Shield V3 can make your work easier. It has room for 4 drivers (4 independent motors), inputs for limit switches and many GPIO pins.
So I was looking at that CNC board. I have DRV8833 chips...
This is the stepper motors I"m using...
I currently am using 2 of these motorshields... was thinking I could just add resistors to work with these small motors, hence my first post.
But I do have 4 of these DRV8833's, which could be used on a CNC board perhaps.
Hard part for me is I know just enough to be dangerous here and I put the 2 moto shields on an arduino, wired them all up in my apparatus and they work... so I know my arduino coding is all set and good. But I know my hardware here could be made better and more appropriate so I don't smoke my motors.
if I go with a CNC board, I thought they worked good with 3 axis, but didn't know for sure if that 4th motor behaves independent, or is something unique...
I read your forum guideline here... I did post links to those products which host the datasheets, wasn't sure if that is easiest or if you wanted to upload PDF's of those... Sorry for the language. I just have these micro steppers which are actuators pushing and pulling.
For schematics, I wish I had one.... lol. I can program the Arduino fine since my background is software, but hardware I am limited on. I know what I want to do, just don't know how to get the arduino, drivers, resistors, motors to work in concert effectively and the best of their potential. Hell, I don't even know what hardware is optimal here... CNC board & drivers, motorshields, how best to protect these little micro stepper motors from igniting... lol.
Pen and paper makes useful schematics. No words can replace it.
We need to know what/how this might look like. Words are not the way to tell.
Split the project into smaller parts.
One general rules is to use example code and test each type of device used. When You manage each part You can add them into one code. Putting all together is the wrong way to go.
Breakout boards that are designed for steppers (like most A4988 breakout boards) will have a little pot on board. This pot is to set the current in the motor; the driver does the rest.
When driving steppers it's actually a good idea to use a high voltage, 12V or even 24V, whatever you have available and the controller chip can handle. A 19.5V laptop supply can make a great stepper power supply.
The stepper driver makes sure the stepper gets the current it needs (0.25A in your case; you set this by connecting a multimeter in current setting to the output of the driver and then adjust the pot) - the higher voltage allows for faster reaction of the stepper.
Thanks for that info... teaches me a little more about steppers, I keep reading a ton, but simple answers like this are helpful. So even though the motor is 0-4.2VDC rates for input, it's not really as important as it just determines how fast it will perform.
More importantly is the max current (per phase) setting of 256mA... that is so it doesn't get toasted... correct? I looked at stepper drivers like the A4988 but they only go down to 600mA minimum. I think this is why another user suggested maybe the DRV8833 drivers because I could break the Rsensors on it and put my own resistor in place to get it down to a safe smaller mA.
I would need to get a CNC board of course to put these on if I use the DRV8833's... sounds like the way I need to go.
before I do that, I was hoping I could make the motorshields work with a motor that is this low in current though...
thanks for the info by the way... as i stumble through the project.
I may be mistaken, perhaps the A4988 drivers do adjust down to the current limits I need... I couldn't find a minimum current that the POT gives, so perhaps it would work just right for what I need...
will try a cnc board with these, and I can test with a multimeter, see if I get to where I need. thanks for info.
A typical voltage rating for steppers is 2.7V. That's the voltage at which you get the nominal current through its coils. It may differ between steppers.
The voltage and current do NOT make it run faster or slower, that is determined by the steps you give it. However a higher supply voltage allows the stepper to react faster: when stepping the current in the coil increases faster, a stepper driver should start at 100% duty cycle before ramping down the duty cycle to get to the correct current. So you can also speed it up faster - you have to ramp up stepping frequency to reach high speeds with a stepper, where a high speed is a couple hundred rpm.
Correct.
With the pot you should be able to set the current between very low and the maximum the chip can deliver. 600 mA is actually a pretty high current for small stepper motors. With the help of its sense resistors the chip should regulate the current, so when a stepper is loaded the current goes up.
So I got this CNC board and A4988 drivers on it all working, works great and I think will be a good solution to drive these 4 steppers. The little pots on there are great for throttling down.
I used this formula Vref = 8 * Imax * Rcs
Just so I understand though with a stepper motor, which seemed to run hot here.
Nema 6 with .3amps per phase rating, 22 Ohm resistance... 8 * .3 * .1Rcs = .240Vref
I set the pot on the A4988 to .240Vref? It seemed to get hot on the motor, so I bumped it down... or does this need to be halved for the 2 phases in motor?
My project uses these smaller steppes which are .256amps per phase with 15 Ohm resistance... 8 * .256 *.1Rcs = .205 Vref
Am I calculating that correctly for 4 wire steppers? Just curious as they seemed to still get pretty hot...