Maker Pro
Maker Pro

Driving a hacked unipolar stepper motor

I'm trying to drive a five-wire unipolar stepper I took out of a scanner. There are (of course) no specs on the motor, but the coils each measure 38ohms each. I can tell from the existing circuit that it is being driven at 12v and has a 47ohm 2 watt resistor inbetween the 12v supply and the stepper common wire, which I assume is to limit current. My main question is how to size the current limiting resistor when I don't really know the operating current on the stepper?

Related, this is also bothering me: I tried hooking up the stepper with a 2003 darlington and a 47ohm resistor to match the one in the scanner circuit. This works but the resistor gets really hot. I'm not sure if that's normal. I calculate there should only be 1.5W. Also, I don't seem to be able to drive at very high speed without loosing steps (about the same as just driving with 5v and no resistor). If I drive without the resistor at 12v then the operation is much better, but then the stepper gets hot and I'm worried I'm driving it with too much current. The really strange thing is that the resistor in the operating scanner does not get hot. Furthermore, I only see a small voltage across the resistor in the operating scanner, but see almost 12v across the operating stepper coils. I'm wondering if there is more going on to limit the current in the actual scanner circuit - perhaps there is a choper drive? Perhaps I just can't see the chopping action without a scope (I only have a DMM). The rest of the scanner electronics are too hard to interpret - just large unidentified chips on the board. It surprises me that a simple scanner would do more than just use a simple resistor to limit current, but perhaps not? Any insights on this?
 
Update

Ok, after further examination I do see that there is a uln2003A driver chip on the scanner board that is being used to connect the stepper outputs to a controller. The resistor feeds the power to the stepper common and to the 2003 through a small surface mount diode (labeled) "D2" betwen the resistor and the common pin on the 2003. I see that there are three digits marked on the diode, but can't read them even with a magnifying glass (will need a microscope!). Could this diode be further limiting thee current to the stepper coils, or is it just for more protection?? Since I see almost 12v across the stepper coils when they are being driven, it seems unlikely. I just can't figure out how the board is able to drive the stepper using 12v without heating up the resistor when my simple circuit that seems identical (less the diode) causes so much resistor heat.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
The peak current through a single winding is likely to be 140mA with that resistance coil and resistor (and 12V).

1.5W dissipation for a 2W resistor is going to make it get pretty hot.

The scanner possibly only supplies pulses to the coils, not solid DC.

Yes, your DMM will interpret a high frequency pulse train as some intermediate level voltage.

The diode is almost certainly there to suppress some of the spikes that are generated when the current through a coil is stopped.
 
Thanks much for responding!

So what do you think is the best approach to use this motor? I could just get a higher wattage 47ohm resistor, but if the stepper is actually pulsing the outputs then that suggests that I need to further limit the current. Is there any reasonably easy approach to determining the rated current for a stepper with no markings?

Unfortunately, I'm kinda stuck with this motor because it would be a major mechanical redesign to switch.

Thanks.
 
The mystery goes further.... Background first: When I first plug in the scanner it drives the scan bar to the home position. If it never gets there (it won't, because I've removed it) then after about 30 seconds of trying it gives up and the scanner circuitry locks the stepper by driving two of the four coils for about another 15 seconds or so. Then it shuts off all the coils. This is really handy for trying to measure voltages in different modes of operation!

I hooked up my DMM to the control lines feeding the ULN2003 and I get about 2.4v on any one of the four while the motor is being driven and about 4.9v on the two high control lines when the motor is locked. This suggests to me that the controller is not pulsing the outputs. When the motor is running I would expect the voltage levels to be about half of the locked levels because the controller is only driving each line half the time. Since the controller seems to be driving two lines of the ULN2003 when locked at 4.9v then I don't think it's pulsing the inputs.

Here's where things get weird (at least to me!). The voltage across any one of the four stepper coils is 3.3v when running and 10v! across the coils when the motor is locked. If there is 10v across the motor coils then there could only be about 2v across the resistor and that would be why it is not getting hot. For whatever reason I don't follow, when I try and measure the voltage across the resistor, something starts smoking. As a sanity check, I unsoldered the resistor from the 12v supply side so I could measure the current through it - but even before attaching the ampmeter, the motor started running normally! Turns out that there is no current going through the resistor and the motor is getting the 12v input from some other trace. I noticed a very small chip that looks like it might be a surface mount regulator near the resistor that also is feeding the stepper common. This chip gets hot when the motor is running and very hot during the few seconds the motor is locked. So at this point I have no idea what the resistor is even doing in this circuit.

While I'm curious about the original scanner circuit, what I really need to do is to just be able to drive the motor. I decided to just measure the current through the stepper (duh, should have thought of this sooner) and found it to be 0.4a when running and about 0.6a when locked (driving two coils). So, if I use a 10ohm resistor in series with two active coils I should get 12v/(10+(38/2))=0.41a. This would be 10*.41*.41=1.7W so I'll get a 5W non-inductive resistor. Anyone still interested enough to read this far and is willing to double check my thinking??? Thanks!
 
Top