Power saving for step motor

Hi all,

First of all, I’m a just beginner, so if I’m asking something too obvious to you. Please forgive me.
I bought a Arduino kit few days ago, and played around with it. Step motors are particularly
interesting to me because I have a Arduino tool in my home (a Makerbot to be precise).

When I played with the step motors came with the kit, I found the the step motor is heating up even it is not moving, which is probably consuming quite a amount of energy. So, I insert a relay to the step motor circuit, and turn it on/off on demand. It works perfectly.

I’m just wondering. If I use a transistor to do the same job, am I still going to save some power? By the way, what is the usual way to achieve power saving for step motors with Arduino?


Already you can turn off each individual coil while it is rotating. Just turn all of them off to save power. The problem is then it will be free spinning. Without a large gear ratio it will move to a different step, even without any load applied. It will continue to move with a torque load while it is saving power. A better idea in this case is to lower the voltage to the coil so that it stays in place.

I see... Thanks.

May I ask one more question?

The following is the spec of the step motor came with the kit. Model: 28BYJ48 Step angle 5.625 Reduction Ratio: 1:64 (No. of phases: 4, Voltage: 12V DC, Current: 40mA, Resistance: 300 ohm, Pull-in torque: >= 29.4 mN.m)

When I setup the stepper object in Arduino, I need to specify two parameters steps and rpm for the following functions. * Stepper stepper(steps, 8, 9, 10, 11);* * stepper.setSpeed(rpm);*

What values should I use for steps and rpm given the motor I have? For steps, 64 or 4096? rpm seems be related to steps. If so, what is the relation?

Can you give me a recommendation for the values?

I have the same motor and driver. 4096 is the correct answer. You can experiment with the maximum RPM yourself, it depends on the load. I do not use that library anymore, I have written my own with many additional features.

Hi sbright33 (and everyone), I have a question about this motor (which I'm currently using to run some tests).

I have found two problems in this motor: one is that it present some play in the shaft (of about 7.25 degrees). I have two motors of this type (one for 12V and another for 5V) and both of them present the same behaviour ... this render them usefulness for precision works :-(

The other is that one turn (in half-step excitation mode) does not take 4096 steps, or more easily reproducible, 10 turns does not take 40960 steps but 40757 ones (that means that the reduction box presents a reduction factor of 63,68). I have test at different speeds, using different excitation modes, different counts, etc ... and the result is quite stable, so that, I don't think I'm losing steps (I'm also working without any load in the motor).

Did you realize any similar behaviour in your motors when you where using them?

Ok, one of my answers was already answered in the following post: http://arduino.cc/forum/index.php/topic,71964.0.html

Gearbox ratio exactly 63.68395 ...