Unipolar and bipolar stepper motors differ only in the internal wiring of the magnetic coils. Here I show how to modify the internal connections of the very cheap NEMA17 stepper motor 1-19-4200 (SM4200) from Howard Industries to a bipolar configuration. These modifications can be done in less than 10 minutes and require only some easy soldering and a Dremel with a mini cutting bit. Even after modification, this motor is not very strong and its use for CNC applications is limited to non-demanding worm gear drives. However, due to its incredibly low price and the wide availability, it might be a good choice for the Z-axis drive of eg. a Mendel Prusa RepRap.
Original unipolar configuration
The motor has 100 steps per round (3.6° per step) and is specified for 12V. The measured resistance is 78 ohm per phase, resulting in 154mA current per phase. In full-step mode two phases are always powered, resulting in a specified total static power consumption of 3.7W.
Internally, the motor is built of four double coils around the central rotor. Each double coil consists of two independent coils on the same bobbin, both wound in the same direction, giving a total of 8 coils with 16 connection pins mounted to a small internal PCB. These coils are the same for unipolar or bipolar motors. The only difference between these two motor types is the way that the coils are connected. By modyfing these connections it’s possible to change the motor type and even the voltage.
The original configuration is shown below: Two half-coils from opposite sides are connected in series with opposed polarity, forming a total of four strands. One of each pair is connected to a common lead (black wire), and the other four ends are led through separately (red, white, brown, green wires).
Someone (I couldn’t find his name) published instructions for a unipolar->bipolar conversion here (German text, but very instructive pictures) by connecting two strands in series. This approach doubles the total resistance to 156 ohm per phase, requiring a supply voltage of 24V. And, even worse, the inductance of the two connected strands increases by a factor of 4, as the two windings are on the same core. This reduces the possible current slew rate and hence seriously limits the maximum speed and the dynamic torque of the motor.
Alternatively, it is possible to connect the two strands in parallel. This halves the total winding resistance to 39 ohm, allows for a supply voltage of 12V and makes the wiring is easier to solder than in a serial connection.
The picture above shows the three needed cuts on the internal PCB. The two small cuts on the top side can be done with a sharp knife, but the cut between port 2 und 3 needs to be done on the back side. The guy from above managed to do that with a Dremel and a small engraving bit. The other possibility is a full cut through the PCB, as the other two affected connections are not needed anyway. But this cut has to be done very, very carefully not to cut through the plastic bobbin on the other side. With a Dremel, a small cutting wheel and a steady hand this is not too difficult. Be careful about the saw dust, you don’t want all these particles inside the moving parts of your motor.
Finally, you need to connect all of the half coils to each other. Just connect the 1-2 and 3-4 coil pins with some solder or a short piece of wire.
Now you are done!
This is what you get
NEMA17, 12V, 39 ohm per phase, 300mA per phase, holding torque 10-12 Ncm in full step mode.
Using a ordinary baggage scale as a force meter I measured the holding torque for different currents. The motor and the scale are fixed to the table. A short ribbon is connected to the motor axis using a 16T2.5 tooth belt gear. By hand-turning the motor axes I can pre-tension the ribbon a little and than pull it by hand upwards until the motor coils give the axe free and allow it to turn. Two phases are connected together to a power supply and the total current is adjusted to target value. So the current per phase is only half of the values below. The used gear has a diameter of 16mm giving a lever length of 8mm. Together with the gravity acceleration of 9.81N/kg the scale display value can be converted to the motor holding torque as torque[Ncm]=displayed_weight[kg] * 9.81N/kg * 0.8cm
|total current [mA]||scale display [kg]||holding torque [Ncm]|
The original manufacturer specification allows for a static power consumption of 3.7W (308mA total current, so only 154mA per phase in bipolar full step mode). This is quite low for a motor of this size. The coils are in fact a little sparse compared to other (stronger) motors of the same size, but values in the range of 5 to 7W should be ok for this motor. (The 600mA in the table above equal to 7.2W.) The motor gets warm under these operating conditions, but it didn’t burn my fingers. I didn’t try it long term and you are completely on your own if you overload your motor. But it is only a 3€ toy, and if it does burn out you can still harvest two very nice 625 ball bearings from it. So what the heck…
Fully parallel bipolar configuration
It is possible to go even further and connect all the four coils of one phase in parallel instead of the parallel+serial combination shown above. This halves the voltage to 6V, doubles the current to 300mA to 600mA per phase and lowers the inductance, thus increasing the achievable maximum speed and torque even further.
This requires a second full cut in the PCB between ports 6 and 7 and four additional wires to connect the coils. I haven’t tried this yet, but the picture above shows the required modification.
Available motor variants
There seem to be many different versions of these motors out there. So far, I’ve found references of these types:
|motor number||voltage [V]||resistance [ohm]||current/phase [mA]||steps/round||URL|
|1-19-4202||12||75||160||100||pollin.de, datasheet, similar to Jameco SM4202|
|1-19-4203||12||25||480||100||bipolar motor, holding torque 6Ncm, dent torque 0.8 Ncm, pollin.de, datasheet|