Stepper motor control board

This project is actually an educational kit. One can study the full operation of unipolar type stepper motor using this board. As it is micro controller based it can be programmable also and one can learn micro controller interfacing with LEDs, key board and stepper motor. Thus single board serves the purpose of learning stepper motor control as well as learning micro controller programming.

General description and system block diagram:-

The complete board consists of transformer, control circuit, keypad and stepper motor as shown in snap. The given figure shows the block diagram of project.

System block diagram
System block diagram

The circuit has inbuilt 5 V power supply so when it is connected with transformer it will give the supply to circuit and motor both. The 8 Key keypad is connected with circuit through which user can give the command to control stepper motor. The control circuit includes micro controller 89C51, indicating LEDs, and current driver chip ULN2003A. One can program the controller to control the operation of stepper motor. He can give different commands through keypad like, run clockwise, run anticlockwise, increase/decrease RPM, increase/decrease revolutions, stop motor, change the mode, etc. before we start with project it is must that we first understood the operation of unipolar stepper motor.

Unipolar stepper motor:-

In the construction of unipolar stepper motor there are four coils. One end of each coil is tide together and it gives common terminal which is always connected with positive terminal of supply. The other ends of each coil are given for interface.  Specific color code may also be given. Like in my motor orange is first coil (L1), brown is second (L2), yellow is third (L3), black is fourth (L4) and red for common terminal.

By means of controlling a stepper motor operation we can

  1. Increase or decrease the RPM (speed) of it
  2. Increase or decrease number of revolutions of it
  3. Change its direction means rotate it clockwise or anticlockwise

To vary the RPM of motor we have to vary the PRF (Pulse Repetition Frequency). Number of applied pulses will vary number of rotations and last to change direction we have to change pulse sequence.

So all these three things just depends on applied pulses. Now there are three different modes to rotate this motor

  1. Single coil excitation
  2. Double coil excitation
  3. Half step excitation

The table given below will give you the complete idea that how to give pulses in each mode

Pulses for stepper motor module
Pulses for stepper motor module

Note:- In half step excitation mode motor will rotate at half the specified given step resolution. Means if step resolution is 1.8 degree then in this mode it will be 0.9 degree. Step resolution means on receiving on 1 pulse motor will rotate that much degree. If step resolution is 1.8 degree then it will take 200 pulses for motor to compete 1 revolution (360 degree).

Now let me give you the specification of the stepper motor that I have used.

Max rated voltage: –    5 V
Max rated current per coil: – 0.5 Amp
Step resolution: –    1.8 degree / pulse
Max RPM: –    20 in single/double coil excitation mode and 60 in half step mode
Torque: – 1.5 Kg/cm2

RPM calculation:-

One can calculate the exact RPM at which motor will run. We know that motor needs 200 pulses to complete 1 revolution. Means if 200 pulses applied in 1 second motor will complete 1 revolution in 1 second. Now 1 rev. in 1 sec means 60 rev. in 1 minute. That will give us 60 RPM. Now 200 pulses in 1 sec means the PRF is 200 Hz. And delay will be 5 millisecond (ms). Now lets see it reverse.

*  If delay is 10 ms then PRF will be 100 Hz.
*  So 100 pulses will be given in 1 sec
*  Motor will complete 1 revolution in 2 second
*  So the RPM will be 30.

In same manner as you change delay the PRF will be changed and it will change RPM

Stepper motor control board circuit:-

Stepper motor control board circuit
Stepper motor control board circuit

The circuit consists of very few components. The major components are 7805, 89C51 and ULN2003A.


  1. The transformer terminals are given to bridge rectifier to generate rectified DC.
  2. It is filtered and given to regulator IC 7805 to generate 5 V pure DC. LED indicates supply is ON.
  3. All the push button micro switches J1 to J8 are connected with port P1 as shown to form serial keyboard.
  4. 12 MHz crystal is connected to oscillator terminals of 89C51 with two biasing capacitors.
  5. All the LEDs are connected to port P0 as shown
  6. Port P2 drives stepper motor through current driver chip ULN2003A.
  7. The common terminal of motor is connected to Vcc and rest all four terminals are connected to port P2 pins in sequence through ULN chip.

Now by downloading different programs in to 89C51 we can control the operation of stepper motor. Let us see all different kind of program.

Want to build your own robot? Check out these robotics products and kits that you can use to get started on building a bot, either totally from scratch or by using a kit.

34 Responses to “Stepper motor control board”

  1. dear sir i want a program for only one directional revolution that means clockwise revolution..for fixed RPM

  2. p.asm(5): error A9: SYNTAX ERROR
    p.asm(7): error A5: ILLEGAL USE OF A RESERVED WORD
    p.asm(7): error A9: SYNTAX ERROR
    p.asm(7): error A9: SYNTAX ERROR
    p.asm(22): error A45: UNDEFINED SYMBOL (PASS-2)
    p.asm(37): error A45: UNDEFINED SYMBOL (PASS-2)
    p.asm(57): error A45: UNDEFINED SYMBOL (PASS-2)
    Target not created

    this types of errors in program no 3 what can i do?

  3. Andrew cholak

    hey Ranjith,
    I was looking at some of the work you have done, i am quiet amazed by your skill level. I would want to implement some of your work, if you would allow me to ofcourse. Would it be possible if i get you to email me to discuss this further? my email should appear to you. Please Email me as soon you get this .
    Andrew Cholak

  4. nmsty…i wan control 3 stepper moters using just 3 switches for anticlkwise, clkwise,stop action of motor using only 1 89c51…..send me required prog. and flowchart on my email id…

  5. Thanks for the new stuff you have disclosed in your text. One thing I’d like to discuss is that FSBO interactions are built eventually. By presenting yourself to the owners the first few days their FSBO is usually announced, prior to the masses start calling on Friday, you develop a good network. By mailing them resources, educational components, free accounts, and forms, you become an ally. By subtracting a personal affinity for them and also their scenario, you make a solid link that, on most occasions, pays off as soon as the owners decide to go with a real estate agent they know plus trust – preferably you actually. Drop by my webpage whenever you wish. thx.!

  6. hello sir,
    I am a final year student of electronics and communication engineering and project implementation. please i need the complete circuit diagram. and I sincerely request you to send the full schematic of the “high-rise car park automation systems” my email id [email protected]

  7. Zambia13

    Hi to every one, since I am truly keen of reading this blog post to be updated daily. It contains pleasant information.

  8. je_virus

    hello sir pls send the keil c program for this control circuit
    thank u


Leave a Reply