I got an Arduino Uno Rev3 and Adafruits Motor Shield V2. I also got two RepRap stepper motors:
Frame size 42 x 42mm - NEMA 17
1.8 degree step angle
Length 47mm
Holding torque 44 N.cm (4.4kg.cm, 62oz.in)
Voltage 2.8V
Current/Phase 1.68A
Resistance/Phase 1.65ohm
Inductance/Phase 2.8mH
Inertia 68g.cm
Bipolar, 4-wire
I don't know which stepper i should choose, or if there is any other motor drivers/shields i could use. Preferable with some kind of tutorial or guide... And what power supply i should use? Atm i got 3A 12V adapter connected to the adafruit shield.
What motor specs should be good for this kind of linear actuators?
That motor shield is not a good choice for driving a stepper motor - it is primarily for regular DC motors. You should use proper stepper motor driver boards such as the Pololu A4988. These will allow you to run the motor at a high voltage (up to 35v) for better performance. Just be careful to set the current limiter on the board to match your motor. Your 12 supply should be OK but a higher voltage would probably be better.
The voltage mentioned for stepper motors is pretty much irrelevant. What matters is the current.
I have no idea whether those motors are suitable for your project. That will depend on the required torque and speed.
Thanks so much for a good answer! On my adapter i can set higher voltage... I'm going to build a X Y motion. One of the linear actuators are going to on top of the other one. The top one is going to have a flexible 5mm tube attached. So there is not going to be much weight or need for torque. Most important is precision and then speed.
I'm driving another project with the same motor shield but with a 15V stepper motor (https://www.sparkfun.com/datasheets/Robotics/SM-42BYG011-25.pdf)
Sometimes it stutters, I trying to figure out why, but it seems to stutter easier on higher speeds. Maybe I should try another driver for that stepper also...
The limiter on the board should be set to -> Current/Phase 1.68A? Or 3,36A (for two phases)?
Is it easy to setup the "Pololu A4988"? Do you know any guide that can help me get started?
Set the current for a single phase - i.e. 1.68 amps. The Pololu web page explains how.
I have the motors you linked to. They are nominally 12v motors but they really need a higher voltage - 20v or more. I am using Pololu A4988 stepper drivers with them. What do you mean by high speed - how many steps per second?
Generally speaking the motors with lower nominal voltages are better for higher speeds. Though I guess with a suitable driver the 12v motor could be powered with 60v or more.
Ok, I will check it out! What is a good way to power the driver boards? Right now I have an adapter. Maybe would be better with some kind of power supply since i'm going to need power to more than one motor...
What does the "nominal voltage" mean?
Why is the adafruit shield not a good choice for steppers? Is it because I can't set higher voltages?
The video gives me no idea of how many steps per second are required. In any case I was asking you about the speed at which you have a problem with your existing motors skipping steps.
Right now I can plug my adapter into the arduino. Using the Pololu driver boards I need one for each motor right? And I need to solder on the power cables? So my thought was if it is easier with some power supply that has multiple output cables.
See this new Thread
I did see the thread It's great! Thank you. I did not read carefully enough to see this:
Datasheets normally quote the coil current, coil resistance, nominal voltage and holding torque and steps per revolution. For example, for this motor the values are 1 Amp, 2.7 Ohms, 2.7volts, 1.4Kg-cm and 200 steps/rev.
Can you explain further what the nominal voltage means? So my 12V stepper is not that good for higher speeds?
The video gives me no idea of how many steps per second are required. In any case I was asking you about the speed at which you have a problem with your existing motors skipping steps.
Ok, sorry, i misunderstood you! I don't know exactly, I will look it up during the day... I remember that i changed the hz though: In the bottom of this page it says:
Why won't my stepper motor go any faster?
Since the shield is controlled by i2c, the maximum step rate is limited by the i2c bus speed. The default bus speed is 100KHz and can be increased to 400KHz by editing the library file in your Arduino installation folder. The file can be found in hardware/libraries/wire/utility/twi.h.
Find the line with: "#define TWI_FREQ 100000L"
and change it to "#define TWI_FREQ 400000L"
Or, you can add the following code to your setup() function:
TWBR = ((F_CPU /400000l) - 16) / 2; // Change the i2c clock to 400KHz
eleison:
Can you explain further what the nominal voltage means?
This is the number you get when you multiply the coil resistance by the rated current.
So my 12V stepper is not that good for higher speeds?
In general, yes. Because you are starting at a relatively high voltage you will need a much higher voltage if you need high speed. High voltage motors have coils with large numbers of turns which means a higher inductance to be overcome.
In the bottom of this page it says:
I think that is only about the speed of communication between the Arduino and the shield.
Your motor pulse frequency won't be remotely close to 100kHz, never mind 400kHz. More like 1kHz.
Ok, thanks for all the answers! I think I have kinda understood the basics now I just need to figure out how to mount/put together everything in a proper way... I will post some pictures later
So i've been looking around for different stepper drivers. My steppers have "Current/Phase 1.68A" and when I look at different driver boards they can't go that high without overheating. What's your experience with this? Is it bad to give the motors for example 1.4A?
So what's the difference between "Pololu DRV8825" and "Big Easy Driver"? I'm thinking more of practical than specs, can I use the accelstepper library for the Pololu one?
Sorry for stupid questions :X, you've given great help!!
I have no idea how much the small difference in current will make.
The BigEasydriver uses the A4988 chip.
You can use Accelstepper with any of them. However if you don't actually need the acceleration feature it hasn't much to offer. Be careful to choose the correct option when initializing your Accelstepper instance. I think it is called DRIVER.
I don't know where I got that, I probably got confused searching around Im curious though whats the difference between a "motor driver board" (big easydriver) and a "carrier board or breakout board" (A4988).
Sorry for my bad english, I meant -> "If I buy"...