Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science

15 July 2010
Author: Giorgos Lazaridis
Simple Unipolar Stepper Motor Full Step Controller

The circuit on a breadboard for test

It is not really necessary to use a micro controller or a special IC to control a stepper motor. So, here i present a very simple and basic full-step stepper controller for a unipolar motor. If you do not know how stepper motors work and how they are made, what is unipolar and bipolar, or what is full-step, half-step and micro stepping, i strongly suggest that you read first the theory page "How stepper motors work and how they are made" that i wrote a few months ago.

The circuit

Here is the schematic circuit for the controller:

As you see, i only use the 4017 CMOS chip. This is a decade counter/divider. The input pulses comes from your pulse generator. Each pulse, will increase one count to the 4017. This will happen 4 times, for counts 0 to 3. When in count 4, the chip will self reset (from the wire Q4 to reset) and will start over again. The first 4 outputs (Q0 to Q3) are driving the 4 mosfets. Power the CMOS with 5 volts otherwise the mosfets will not work! This is very important. You can use whatever voltage for the motor, but for the chip you must use 5 volts! Not more. If you badly want to use more, then you need resistors for driving the mosfets!

Notice that i have no interface for the input pulses. I suppose that the pulsing circuit that you will use, will have the same supply and output power as the 4017. If not, then i suggest you use the following circuit to drive the pulses to the 4017:

This will work for low and medium voltages. If your pulses are more than 12 volts amplitude, you may consider increasing R2. As for the mosfets, these are my favorites-yet a little bit expensive. They have some remarkable DC characteristics. Can handle up to 100 Volts, with the incredible 0.055 Ohms RDS(on)! The voltage drop due to the mosfet is ridiculously low. 22 amperes can go through continuously, while up to 88 amperes pulsed can be controlled! I like it.

How to connect the stepper motor

My stepper is unipolar with 5 wires - this means it has one common

From each mosfet, there is a pin output, a total of 4 outputs comes from the circuit. Also, notice on the right side the fifth pin. This is the power supply of the motor. This must have the positive supply, whatever it is. In my case, the motor has 12V coils and therefore my supply is 12 volts. This may change according to the motor power supply.

The first 4 pins, must be connected to the 4 coil outputs of the motor. You need to pay attention to the coil sequence. If the sequence is incorrect, then the motor will not rotate correct. It may go clockwise and counterclockwise with no certain order. In any case, the pulses from the above circuit are delivered in the following order: 1 - 2 - 3 - 4. It's up to you to find the correct coils of your stepper.

The fifth pin goes to the common of the coils. As i said at the beginning of this article, the stepper must be unipolar. This means that there is one (if your stepper has 5 wires like mine) or two common wires (if your stepper has 6 wires). If your motor has 5 wires, then the common wire goes to the 5th connector. If your stepper has six wires, then both common wires goes to the 5th connector!

There is also one case that your stepper has 8 wires. Most probably, you have an 8-lead stepper. This type can be connected both as unipolar and bipolar. Read this page to see how to connect the wires.

Bill Of Materials
 Semiconductors D1-D4 1N4001 General Purpose Diode Rectifier Transistors Q1-Q4 IRF540 22A, 100V, 0.055 Ohm, N-Channel LOW GATE CHARGE STripFET(tm) Power MOSFET Integrated Circuits IC1 CD 4017 Decade Divider/Counter

Relative pages
• 555 timer basic circuits
• How Brushless Motors Work (BLDC Motors)
• How are DC motors made and how they work
• Learn how RC Servos work
• How the Stepper Motors work
• Why and How to control PC Fans
• High frequency PWM fan rpm controller with the 555