In this project we are going learn how to make a simple unipolar stepper motor driver circuit using 555 timer IC. Apart from 555 timer we also need IC CD 4017 which is a decade counter IC.
By Ankit Negi
Any unipolar motor can be connected to this circuit for performing specific task, though you need to do some small changes first.
Speed of the stepper motor can be controlled from a potentiometer connected between discharge and threshold pin of 555 timer.
Stepper Motor Basics
Stepper motors are used in areas where a specific amount of rotation is required, not achievable using ordinary d.c motors. A typical application of stepper motor is in a 3D PRINTER. You will find two types of popular stepper motor: UNIPOLAR and BIPOLAR.
As the name suggests unipolar stepper motor contains windings with common wire which can be easily energized one by one.
Whereas bipolar stepper motor does not have a common terminal between coils due to which it cannot be driven simply by using the proposed circuit. To drive bipolar stepper motor we need an h-bridge circuit.
COMPONENTS:
1. 555 TIMER IC


2. CD 4017 IC

3. RESISTORS 4.7K, 1K


4. POTENTIOMETER 220K

5. 1 uf CAPACITOR

6. 4 DIODES 1N4007

7. 4 TRANSISTORS 2N2222

8. UNIPOLAR STEPPER MOTOR

9. DC POWER SOURCE
PURPOSE OF 555 TIMER:
555 timer is required here to generate clock pulses of particular frequency (can be varied using 220k pot) which determines the speed of the stepper motor.
IC 555 Pinout details

PURPOSE OF CD4017:
As already mentioned above, it is a decade counter IC i.e., it can count up to 10 clock pulses. What make this IC special is that it has its own inbuilt decoder. Due to which you do not have to add an additional IC to decode binary numbers.
4017 counts up to 10 clock pulses from 555 timer and gives high output corresponding to each clock pulse one by one from its 10 output pins. At a time only one pin is high.
PURPOSE OF TRANSISTORS:
There are two purposes of transistor here:
1. Transistors act like switches here, thus energizing one coil at a time.
2. Transistors enable high current to pass through them and then motor, thus excluding 555 timer completely as it can supply very little amount of current.
CIRCUIT DIAGRAM:

Make connections as shown in figure.
1. Connect pin 3 or output pin of 555 timer to pin 14 (clock pin ) of IC 4017.
2. Connect enable pin or 13th pin of 4017 to ground.
3. Connect pins 3,2,4,7 one by one to transistors 1,2,3,4 respectively.
4. Connect 10 and 15th pin to ground through a 1k resistor.
5. Connect common wire of stepper motor to the positive of supply.
6. Connect other wires of stepper motor in such a way so that coils are energized one by one to complete one full revolution properly.( you can look into datasheet of the motor provided by the manufacturer)
WHY OUTPUT PIN 10 OF IC 4017 IS CONNECTED TO ITS PIN 15 (RESET PIN)?
As already mentioned above 4017 counts clock pulses one by one up to 10th clock pulse and gives high output on output pins accordingly, each output pin goes high.
This causes certain delay in rotation of motor which is unnecessary. As we require only first four pins for one complete revolution of motor or first four decimal counts from o to 3, pin no. 10 is connected to pin15 so that after 4rth count IC resets and counting starts from the beginning again. This ensures no interruption in the motor’s rotation.
WORKING:
After making connections properly if you switch on the circuit motor will start rotating in steps. 555 timer produces clock pulses depending on the values of resistor, potentiometer and capacitor.
If you change value of any of these three component frequency of clock pulse will change.
These clock pulses are given to IC CD 4017 which then counts the clock pulses one by one and give 1 as output to pin no 3,2,4,7 respectively and repeats this process continuously.
Since transistor Q1 is connected to pin 3, it switches on first then transistor Q2 followed by Q3 and Q4. But when one transistor is on all other remain off.
When Q1 is on it acts like a closed switch and current flows through common wire to wire 1 and then to ground through transistor Q1.
This energizes coil 1 and motor rotates at some angle which depends on clock frequency. Then same thing happens with Q2 which energizes coil 2 followed by coil 3 and coil 4. Thus one complete revolution is obtained.
When potentiometer is rotated:
Let’s say initially position of pot is such that there is maximum resistance (220k) between discharge and threshold pin. Formula for frequency of output clock pulse is :
F = 1.44/(R1 + 2R2)C1
It is clear from the formula that frequency of clock pulses decreases as value of R2 increases. Thus when R2 or pot’s value is maximum, frequency is minimum due to which IC 4017 counts more slowly and gives more delayed output.
As value of resistance R2 decreases, frequency increases which causes minimum delay between outputs of IC 4017. And hence stepper motor rotates faster.
Thus value of potentiometer determines speed of the stepper motor.
SIMULATION VIDEO:
Here you can clearly see how speed of the motor varies with resistance R2. Its value is first decreased and then increased which in turn first increases and then decreases speed of the stepper motor.
re the four wire stepper motor. Only four wire indicate its a bipolar stepper motor and it will need an H-bridge (actually, two H-bridges or a halve bridge on each wire. There are two coils, each with a wire on each end, that you can identify with an ohms meter. On on coil, pull one side to +v and the other to ground, disconnect and do the same to the other coil. You can control the direction by which wire is +v and which is ground. The voltage may be on the motor or it may be some multiple of 3 volts if small. I have seen 12V, 24V and 36V on medium size motors. If there is a part number your search engine of choice may find a data sheet. Note that the counting IC is CMOS.: handle as little as possible, only handle when grounded through resistor, maybe 100K Ohm, and ground unused input pins (all are). If using TTL or another chip (i.e. Arduino) put a 1K resistor between the chip an the transistor base.
Thank you for your feedback and the valuable information!
Thanks for the pattern
it is very ductile and can be easily adapted even to larger motors with different currents and voltages just add 4 Tr of power
Mario I2MBE
mbeelettronica@libero.it
Thank you for updating the info!
Hi there,I’m needing some help. I have a stepper motor from an old scanner that its 1.8 Deg/step 4.1 ohms and has 4 wires. I’ve tried different ways of connecting it and can’t seem to get it to work right. Can you or anyone help me on this? Thanks
Hi, I think you can customize the above explained concept to suit your motor specs. You will need to teak the IC 555 output frequency and PWM for this…
Simple motor drive circuit using ic555 & ic4017 in this project the ic 555 circuit is work like astable or monostable or bistable
It is configured as an astable.
Hi sir, greetings to you, pls sir does this circuit work perfectly?
Solomon, this circuit was submitted by another author, so I can’t guarantee the results!
Can Mr. Ankit help me?
it was a long time back he posted this article, not sure where we can find him. You can try finding him facebook hopefully.
Have you used 9V dc source in your unipolar stepper motor project? I have done full circuit diagram in proteus 8 proffessional which is given in your procedure. But can’t find final output after switching run mode. Please help.
Sorry Tanvir, I am unable to help you with this project because it was designed and contributed by another author Mr. Ankit. It was simulated and tested by the author himself and not by me.
However, in the simulation video it appears that a 9V batt has been used, so you can try with a 9V supply input
Ok brother.
Can you provide the same experiment using bipolar stepper motor?
sorry, I have not yet researched about this topic fully, I will surely update once I learn the details.