Introduction: Convert a Unipolar Stepper Motor to Bipolar
Stepper motors are amazing: with them you can build 3d printers, robotic arms, automatic window blinds and just scare the living sh*t out of your wife with autonomous moving halloween props. Obtaining a stepper motor always brings that awesome warm "ummm" feeling – either salvaging one from old printer or getting some in the mail, ordered from fleebay.
Recently I got my hands on a whole bunch of rather nice looking stepper motors in a random 'loot' box from a deceased neighbour who was some kind of electrical engineer or whatever else the profession name is. Anyways, he had about a dozen of NEMA 17 motors in that box, but after a short loud "YAY" I did a long sad "awww" since ALL of those motors were unipolar.
Unipolar motors, compared to bipolar are less powerful, more power hungry and generally are considered to be old outdated technology nuggets. They are visually indistinguishable from their superior bipolar brethren apart from the wiring connector: unipolar buddies have 5 leads while bipolar have 4. Five is more than four and you'd think more wires = more better, but not in this case. Fifth wire is essentially a centre tap interconnecting the coils inside the motor so it can be made turn with only one polarity of the current (therefore the name – UNIpolar).
In such motor, there is no way of energising one coil in one polarity and another one in the opposite - you will always run current to 1\2 of the other coil and that would give motor a seizure and possibly let the magic blue smoke out of something. Well, why would anyone make this kind of motor you might ask? This takes us back to the times where there were no single-chip stepper drivers available (chopper drivers) and steppers were powered by H-bridges – electronics were simple and motors were weak. But now we have stepper drivers available for less than a buck a piece so most of the stepper motors are now bipolar because of that.
Obviously enough, chopper driver chips designed for bipolar motors can not properly control unipolar steppers at all (well, mine can not do that for sure). I could get a driver that turns unipolar motors, but then I need to go research about what chip to use, buy parts, wait a month and go along with 10 feeble motors. No.
Just if you're curious, motors in question are TEAC 14769070-90, but I am sure this will work for many more different models.
Step 1: Soldering Fine Wire
My grampa told me never to open a stepper motor so for not letting the motor squirrel escape, but I always suspected he was not a real electrician. Therefore, I'ma gonna pop some steppers open and convert them to bipolar today. And having said that, it turns out it is no rocket surgery to monkey inside the stepper at all. In fact, it is so easy even I could do it.
I should mention that there is a possibility that your motor cannot be converted to bipolar at all because of the way coils are interconnected internally. I've never seen motor in the wild wound that way but hey, I didn't see many motors in the wild. After detaching the 4 screws holding the shell together you can carefully pop the cover open to see the intestines – 8 coils of wire and a rotor with all the magnets. Here's the moment of truth: if you can see a circuit board with pads and thin wires attached to them – seek for one pad that has like 4 wires coming to it. If you've found it – you're in luck.
That pad is where the centre taps are connected together, forming the unipolarity of the motor. Our task here is to separate them. First, I've unsoldered all the hair wires. Then I detached the PCB from the motor housing and removed the old 5-pin wiring. I've used 8 pin ribbon cable instead of whatever's left from 5-wire connector. I've drilled some little holes through this PCB and pulled new wiring through it in order to give wires a strain relief. Count the hair wires. There should be 8 of them, by the number of actual coils in the motor housing. Obviously, there are not enough soldering pads to accommodate 8 wire ends, but luckily enough there was some lettering etched on the PCB – so I just scraped the shielding off it, tinned and used as a soldering pad.
Carefully put motor back together. Now we have 8 pin stepper! Everyone knows that more pins = more better as long as you are talking about a bipolar motor. 8 pins gives you the freedom to connect your motor coils in series for more torque or in parallel for more speed. Or, if you decide to go back to unipolar setup for some bizarre reason you can interconnect all negative terminals and that's your fifth wire and no one can judge you.
Step 2: Determining the Motor Pinout
With so many wires there is so much variance in connecting it all one can quickly get table flip frustrated. While pinout is relatively easy to determine for 4 pin bipolar motor, it is not so much so for 8-pin. But do not be scared by the motor's new wire beard width, it is all solvable by every electronic shop resident tool – oscilloscope. (If you ain't got one - get one).
Firstly, you have to determine the coil ends. In 8-pin there are 4 coils with 2 tails each, giving you 4*2 = 8 pins, duh. Take your multimeter and switch it to resistance measuring mode. Logic is simple: wires that do not belong to the same coil would give you no connection while wires that are tails of the same coil will show you some low resistance (~70 ohm in my case). Make a list: A B C D for coils and number pair for pins. Like this:
A = 1 7
B = 2 4
C = 3 6
D = 5 8
Then, we need to determine the location of each coil inside the motor. I know we could just open it and take a looksie, but this is: a) no fun, b) wires there are hair thin and look the same and c) I've already powered up an oscilloscope here. Plug Channel 1 of the scope to a random pair in random polarity. Plug Channel 2 to another random pair in another random polarity. And now, give the motor a slight spin in whatever direction. As I was told by a fat lady in my 6th grade physics class, spinning a permanent magnet near a conductor generates a current in this conductor – this is exactly what we're going to see on the scope: two wavy patterns.
There are three options of what you are going to see:
- Two lines will be in sync This essentially means you've found opposite coils that sit against each other, but you got the polarity of one of them backwards.
- Two lines are beating in the exact opposite directions This is the same thing, but this time you've figured the polarity right.
- Lines are slightly out of sync This means coils you are probing sit 90 degrees of each other.
If you, say, put ch1 probe on coil A and ch2 on coil D to get such picture, that'd mean coils are located like this in a motor:
A ?? or ?? A
It does not really matter if this is exact picture of how coils are located in the motor from the top side to bottom – as long as all the relative positions are determined motor will spin.
Now, after you've located each coil in the motor relative to each other, it's time to figure out the polarities of those coils. Again, as with positions – everything is relative so it does not matter if you get the whole motor backwards – as long as all relative polarity constraints are met the motor will chooch just fine. Having said that, grab a random coil and absolutely arbitrarily call one of it's ends a + and another a -. Mark them on the pinout table:
1 = A+
7 = A-
Now, put a Channel 1 of the scope on it in the polarity you've just guesstimated and Channel 2 to the coil that is located on the opposite side of the motor against it in arbitrary polarity. Spin the motor clockwise slightly. It is important to spin motor only in one direction to not to circumvent the testing conditions. If you see absolutely synchronous graph on the scope – you plugged the coil 2 in the same polarity, means whatever your scope if connected to is the right polarity. If two graphs you are seeing are totally opposite – your polarity on scope channel 2 is backwards (not a bad thing). Now, you can put the polarities for the second coil in the table:
5 = D-
8 = D+
Now, you need to determine the relative locations of the side coils. That is, is the coil C on the left or on the right to coil D in my example.
Determining it is quite easy: if you put a scope channel 1 on coil A with respect to polarity you've determined and channel 2 on coil C in an arbitrary polarity you'll see a graph #3 from the pictures: two graphs are 90 degrees out of sync. And here's the tricky part: if your channel 2 graph (the one with arbitrary polarities) comes BEFORE the channel 2 then you've got the polarity right. If not – you got it backwards (again, not a bad thing).
Now you put it all to the pinout table and it is now complete!
Beware that while my motor pinout is like this, it does not mean that yours must be such. In fact, anyone familiar with my soldering skills level would say my pinout is bizarre (and probably would advise you to not trust any of my instructables, too).
Step 3: Wiring It Up
Now, you can wire your new bipolar motor to any bipolar motor driver chip. For this example I am using a pololu-format DRV8825 chip, but you don't have to. Any bipolar stepper driver should work fine (like A4988).
With 8 pin motors you get two variants of how you can wire your motor: series and parallel. Wiring coils in parallel you decrease the coils inductance and can deliver higher currents to it, but will operate at lower voltage. Series connection requires higher voltage to produce same power, but will require less current.
Since delivering voltage is a no-problemo for a driver chip, but delivering current IS – you should use your motor in series fashion, unless you know what you are doing.
So, to wire up your motor in parallel, you connect pairs of wires to each driver coil terminal:
A1: 7 8 (A+ D+)
A2: 1 5 (A- D-)
B1: 2 6 (B+ C+)
B2: 4 3 (B- C-)
In my example I connected the A and D coils to terminals in A group because as you may remember coil D sits 180 degrees from coil A (on the opposite side).
to connect the motor in the series configuration you need to connect
A1: 7 (A+)
A2: 3 (C-)
B1: 2 (B+)
B2: 5 (D-)
Interconnect 1 (A-) and 6 (C+)
Interconnect 4 (B-) and 8 (D+)
As you might already figure out, we are making a giant coil on every phase: end of coil A goes into the start of coil C. This allows us to make a bigger coil, doubling the inductance.
If you have any questions - put them into the comments. I'd be glad to answer.
Participated in the
Make it Move Contest 2016
4 years ago
As it happens I have accumulated about a dozen of these motors which look not just similar but actually identical to your motor. Following your excellent detailed description the conversion was a jiffy. However, I lost you at the very-very end: "Wiring it up" .
(after identifying the pairs of coils and their phase with the oscilloscope ) When you make the parallel connection you connected the "in phase" (or 180 deg. opposite phase) coils A with D and then B with C (+ to + and - to -), but when you made the series connection you connected coils A with C and B with D!. By doing that are you not mixing neighbouring coils which are 90 deg. out of phase?
5 years ago
Gracias por el Aporte, la verdad me vino exelente la Info, ya que tenia 5 PAP unipolar.
6 years ago
Thank you for posting this Instructable. It is appreciated.
The very best
6 years ago
Hi! My 2 channel oscilloscope finally arrived! It´s so small and cute! I
followed your steps but there´s something I didn´t get, they seem to be
contrary to each other:
Here you wrote that, for finding polarity on the opposite coils, you get
the polarity right when they´re 180 degree from one another.
There are three options of what you are going
coils that sit against each other, but you got the polarity of one of
directions This is the same
thing, but this time you've figured the polarity right.
coils you are probing sit 90 degrees of each other.
And here you wrote the opposite, saying that when they´re in sync it´s
the right polarity: Which one is right or what am I missing here?
Now, put a Channel 1 of the
scope on it in the polarity you've just guesstimated and Channel 2 to the coil
that is located on the opposite side of the motor against it in arbitrary
polarity. Spin the motor clockwise slightly. It is important to spin motor only
in one direction to not to circumvent the testing conditions. If you see
absolutely synchronous graph on the scope – you plugged the coil 2 in the same
polarity, means whatever your scope if connected to is the right
polarity. If two graphs you are seeing are totally opposite – your
polarity on scope channel 2 is backwards (not a bad thing).
here, to know the coils relative position to the left or right of the chosen D
coil, you wrote about pictures #3 (they´re not there!). Choosing one arbitrary
to be the C coil, you wrote about being 90 degress out of sync. You wrote about
the polarity being correct if the channel B (coil alleged C) comes before, the
polarity is right. But you don´t mention if C is left of A or right of A.
Polarity is right means it´s left of your D?
Now, you need to determine the relative locations of the side coils. That
is, is the coil C on the left or on the right to coil D in my example.
Determining it is quite easy: if you put a scope channel 1 on coil A
with respect to polarity you've determined and channel 2 on coil C in an
arbitrary polarity you'll see a graph #3 from the pictures: two graphs are 90
degrees out of sync. And here's the tricky part: if your channel 2 graph (the
one with arbitrary polarities) comes BEFORE the channel 2 then you've got the
polarity right. If not – you got it backwards (again, not a bad thing).
Sorry for so many doubts, but I didn´t get
the whole picture… yet! Eheheh
7 years ago
Hi! Thank you! Great tutorial... But... if an oscilloscope is not an option... is there any other way to determining each pair and polarity?
Reply 7 years ago
I too recommend highly of getting any 'scope, multimeter just won't do figuring out stuff that 'scope can. And even if analog 'scopes are old, I'd recommend to check used analog scopes (or digital), there are gems sometimes. Any scope is better than no scope at all. Mind the ground clip, possibly one of most dangerous measurement appliances in lab. Look EEVblog dudes video "how not to blow up your oscilloscope" to get really good idea of using ground clip safely. I've made few ground-loops and they are very nasty....
Reply 7 years ago
Hi!! I eventually bought this dual channel one + a pair of extra probes...
I think it will arrive in maybe a month or two...
Reply 7 years ago
I advise you to get even the sh*ttiest scope you can get. It is about 20$ including shipping. If you into electronics even a little bit – get a scope. You may not know that you need it, but once you'll get it – you'll find yourself using it more and more.
Check aliexpress for DSO138 DIY kit. It costs about 20$ and comes as a kit that you have to solder up yourself. Fun, right? And it is, well, a fully functional scope. A little noisy and not really fast, but hey, $20!
It is quite easy to determine pinout of a stepper motor that has 4 or 6 leads, but for 8 lead stepper the only option I am aware of is the scope. Otherwise than that – you can guess the pinout, but it'l take you a looong time and is a very, very much frustrating task.
Reply 7 years ago
This one looks really nice, but 4x the price...
Reply 7 years ago
Hi!! I was checking the kits before...
This one you mentioned has only one channel... Would
It be possible to determine the pairs/polarity with only one channel?? If so, how??
There are other kits, and one portable really nice that has 2 channels, for 3, 4x the price... Much more expensive.. The DSO202...
Thanks a lot!!!
Reply 7 years ago
You're absolutely right, DSO138 will not do it because it only has single channel. I am not aware of any tricks that can allow you to figure out a stepper pinout with just one channel since you need to measure coils simultaneously.
Sorry for confusing you with DSO138, I have to stop posting comments on the go:-D
7 years ago
Great explanation, you got my vote
7 years ago
One note: never remove the rotor from the frame. It can demagnetize if pulled out. When you put it back again, it will be weak. Don't ask how I know.