I am planning an interactive installation and due to its complexity I am starting with a smaller scale prototype. So I am trying to minimise costs and since I don’t know much about motors, I need help.
Project: a motorised 3D ‘CNC’ machine follows tracked movements live.
Construction: I will be using ball-bearing drawer slides for construction, length 450 mm. I read that proper ball-bearing sliders have a friction coefficient of µ=0.01, so I am assuming about µ=0.05 for the drawer slides. The slides will weight around 200 g each and my moving platform will also weight around 200 g.
Speed: 1 m/s would be great - not necessary, but let’s see if it will work. If I use a Ø42 mm GT2 pulley, the motor would need ~8 rps; a Ø16 mm pulley would require ~20 rps.
Resolution: I don’t need much detail; should you recommend a stepper motor, 7.5° step angle would be plenty - I think that would be 2.5 mm resolution on the bigger pulley. Also, I do have 4 EasyDriver modules, no motors and no power supply.
Torque: Torque depends on speed as well as pulley diameter. But since I don’t anticipate any more than 3 N in any direction, my required power (!) should be under 3.5 W on each axis not considering inertia.
I found a stepper motor max speed calculator, but I am having two problems: 1) cheap steppers seem to be targeted at CNC machines, so they are SLOW, but have a lot of torque and small step angle. 2) I find it hard to find inductance ratings; without it, I can’t calculate the max speed.
Are all of my calculations correct? What motor would you recommend? See my sketch for the construction.
Hey robin, thanks for the tip concerning the image - I just edited my post.
As described in the post, my speed requirements translate to 8 to 20 rotations per second (depending on the gear ratio).
You asked for an example data sheet: robotshop stepper example If I insert its values into the stepper calculator, it outputs 2.6 maximum steps per second, which is many times too low. Meanwhile, its torque and step size are both way more than I need. I know that I could compensate using a transmission, but that would have to be like 1:10 and that seems much, would you agree?
blar1234:
If I insert its values into the stepper calculator, it outputs 2.6 maximum steps per second,
Then it's a crap calculator. I have motors similar to that and they happily work at 1000 steps per second when powered with about 19v from a laptop power supply.
However if you need a fast motor you should look for one with a very low coil resistance.
blar1234:
How exactly does coil resistance translate to inductance, if at all? I cannot find an answer to that anywhere…
They are related, but not simply, as inductance depends on the square of the number of turns, and resistance
depends on the wire diameter and number of turns and the metal used for the wires.
For an equal mass of copper in a winding, the resistance and inductance are strongly related, however, since
twice the length of wire of half the area must have 4 times the resistance as well as 4 times the inductance.
Especially for the smaller stepper motors I found that sellers tend to not mention inductance rating, just restistance. That is a shame, because they often have 7.5° step angles which I would not mind and I thought their power would be suffice. Thank you for explaining though. I know that I need the inductance in order to calculate max speed.
As I see it you have neglected the friction in the belt drive, which will probably dominate the friction
of the slides.
You are right, I did forget about that! What is your estimation on the friction - add 1/4 of the force?
With 2 slides and payload, thats 0.6kg, so moving vertically at 1m/s needs 6N and 6W ignoring friction?
I want to construct it so my vertical axis only consists of 1 slide moving the payload so I think it's more on the 2N side still. That's pretty important, please confirm.
How would you go about buying motors then? Just look for a rather fast standard NEMA 17 size stepper? Most seem to go between 3W and 9W, so that's well within in my estimated range. I am a bit scared though that torque might drop when I operate them at high speeds.
For steppers the torque always falls with speed, quite markedly, but top speed is basically defined
by the supply voltage. For DC motors the torque depends on the current, whatever the speed.
Higher winding resistance/inductance can always be compensated for by higher voltages, but in
practice use low resistance and the voltages don't become problematically larger. For fast operation
steppers must be current driven, ie with a chopper driver.
Belt friction is large for steel-cored belting, much less for nylon or glass-fibre cored. For this application
steel cored is overkill and to be avoided. Friction depends on how taught the belt is. There are tradeoffs
between friction and backlash.
This is only a prototype, but those things could become useful for the actual machine.
I found this BLDC motor that comes with an encoder. It is geared 30:1 and thus has a rated speed of 300 rpm, which translates to 0.63 m/s on the bigger pulley. I feel a bit more confident with BLDC motors, because I can't miss steps with them and the speeds are more prominently described.
Detecting and interpreting pulses from an encoder imposes a significant computational load on an Arduino. With a DC (non-stepper) motor you can't afford to miss any pulses or you will be completely lost. Also it is not a trivial matter to make a DC motor stop and hold at a specific position.
20 rps at 200 steps per rev is 4000 steps per second. I don't see why that should be a problem for a low resistance stepper motor with a suitably high power supply voltage.
Yoy could also use gearing (toothed belt?) to increase the speed of motion for a given motor speed.
blar1234:
This is only a prototype, but those things could become useful for the actual machine.
I found this BLDC motor that comes with an encoder. It is geared 30:1 and thus has a rated speed of 300 rpm, which translates to 0.63 m/s on the bigger pulley. I feel a bit more confident with BLDC motors, because I can't miss steps with them and the speeds are more prominently described.
Its not a BLDC motor, its a brushed motor. Not sure its got the torque or power you need, too small.
The gear ratio is 29.47:1 too, going by the encoder resolution, which isn't ideal for position calculation!
OK so if you say that steppers can be fast enough, I will continue to look there. Unfortunately, I am not getting ahead, because I don't seem to be able to calculate the max speed correctly! Will this one do the trick? I am working through this list and try the values with this calculator. None of them gets above 2 RPS?!
My guess is that it will - but you really need to do some tests with the motor under load. If in doubt get a motor that has more torque. However if you choose a motor with a coil current greater than about 1.5 amps or 1.7 amps you may find it necessary to buy a much more expensive stepper driver.
None of them gets above 2 RPS?!
Then you are using the calculator incorrectly or it is a crap calculator. What voltage are you using for the calculations?
Some of the stepper manufacturers produce torque vs speed curves for their motors. That sort of chart is what you need to study.
I agree - I think I am using the calculator wrong.
What voltage are you using for the calculations?
I am using the rated voltage supplied by the manufacturer. I read that you can apply more voltage than the rated voltage specified by the manufacturer through the driver - how hard can I "overdrive" a stepper?
What does "Inductance" refer to? Inductance per phase or inductance per phase times number of phases?
I would really like to avoid buying into even more expensive drivers. This is a prototype after all…
Remember that calculator isn't accounting for any resonance, driver or motor or mechanical losses, and
the datasheet is a more reliable indicator for a particular motor at a particular supply voltage and drive
current.
blar1234:
OK so if you say that steppers can be fast enough, I will continue to look there. Unfortunately, I am not getting ahead, because I don't seem to be able to calculate the max speed correctly! Will this one do the trick? I am working through this list and try the values with this calculator. None of them gets above 2 RPS?!
A thought:
You are setting the voltage to 24V or similar aren't you? The "rated voltage" column in the table
is unmeaningful, steppers are current driven, they are highly inductive, they have lots of backEMF,
you do not expect the winding to behave like a resistor unless the motor is stationary.