# stepper motor overheating

I'm using an Arduino to control[1] 2 stepper motors [2][3] (both obtained from scraped printers and I can't seem to find datasheets for them). First I used a 12V 0.5Amp power supply, that worked for each motor separately (although [3] lacked some torque), but when connecting them together the motors stalled. I then connected a 14V 1Amp power supply and both the motors ran fine, apart from the fact that motor [2] got extremely hot, I understand that due to it's lower resistance it takes the grater share of the current while it is probably rated for lower current in the first place. As you might have gathered I'm working with a nearly non-existent budget, and my knowledge of electronics is rudimentary at best, I don't have a variable power supply, I'm basically working off scraps...

My question is how do I divert more current to motor [3]?

I thought of placing a resistor (something like 30-40ohm) on the motor [2] circuit, but that resistor would have to have a very high power rating, and, wouldn't it create a voltage drop? I think [2] is rated for 24v, and I'm already providing it with only 14v...

Another option I read about is using PWM to control the current, the problem I have with this is that it would cast me 2 extra PWM pins on the Arduino and I'd rather save them for other things (I have an Uno, so only 6 PWMs).

[2] Mitsumi m35sp-9t resistance 10ohm

[3] Malaysia 42sin-15k8na 28ohm

p.s. I expect many people here would wince at my messy, inaccurate, quick and dirty, trail and error approach to electronics, being a programmer, I understand how you feel, but I'm not building a control system for the mars rover, I'm just trying to learn electronics by doing electronics.

Thanks.

A properly designed chopper PWM current regulator will let you run the motors much faster while maintaining torque than other other solution.

As the rotation speed and thus commutation frequency of a stepper motor increases, the winding inductance begins to present a larger and larger reactance, and limit the current which will flow at rated voltage. The solution is to use a power supply much above the rated voltage, but use a chopper current regulator to prevent overheating the motor or damaging its permanent magnets from excessive field strength.

The power resistor and higher voltage supply method has enough advantage over "nothing" as to have been used in some large stepper motor systems before choppers became affordable, but is a far inferior solution to active current regulation.

In terms of available pins, remember that once you start putting any ICs on a board, putting an additional ATMEGA xx8 on a board becomes fairly economical, too - you don't need a whole Arduino, and the prices for what you do need range from about $2-$4. It's not uncommon if someone is going to the trouble of marketing a stepper power amplifier module for hobby/robots use to put a microcontroller on it and give it a serial command interface instead of raw step/direction per motor.

• an additional ATMEGA seems very tempting, it appeals to my obsession with modularity, and i never realized it would be so cheep, but with my limited electronics skills, building the circuit and uploading some code into it (bootloader and all) looks like a world of pain. is it possible to build a chopper current regulator without a microprocessor? something like a negative feedback loop, that toggles a "switch" based an ammeter, like a centrifugal governor on a steam engine. thanks – pseudoDust Oct 18 '12 at 15:21
• Yes, it's definitely possible, for example the L297 step sequencer contains a chopper regulator. – Chris Stratton Oct 18 '12 at 18:10
• cool, i'll check it out, thenks – pseudoDust Oct 18 '12 at 18:39

For driving stepper motors, I suggest going with a dedicated stepper motor driver chip such as one from Allegro. These chips handle pretty much everything for you including microstepping and current adjusting.

The chips at Digikey cost pretty much the same as the quad half bridge you have already. Alternatively, you could just get a motor driver board based on the chip which would include everything you need to get up and running right away, they are pretty reasonably priced.