Stepper Motor Control using 8051 Microcontroller Principle

 The main principle of these circuits is to rotate the stepper motor step wise at a particular step angle. The ULN2003 IC and the L293D Motor Driver are used to drive the  stepper motor  as the controller cannot provide current required by the motor.

Circuit 1: Stepper Motor Control using 8051 Microcontroller & L293D

The first circuit in this project is implemented using an L293D Motor Driver IC. Since the L293D Motor Driver has option for four output pins, only a Bipolar Stepper Motor can be driven using it. 

Circuit Diagram

The circuit diagram of interfacing a Bipolar Stepper Motor with 8051 Microcontroller and L293D Motor Driver is shown in the image below. 

Components Required 

AT89C51 (8051 Microcontroller)  L293D Motor Driver  5V Bipolar Stepper Motor  16X2 LCD Diaplay  11.0592 MHz Quartz Crystal  10KΩ Resistors X 2  10KΩ POT  8x 1KΩ Resistor Pack  33pF Ceramic Capacitors X 2   10μF/16V Capacitor  Push Buttons X 4  330Ω Resistor  5V Power Supply

Circuit Design 

First, the data pins of the LCD are connected to the PORT0 Pins of 8051. Since PORT0 doesn’t have any internal pull-up, a resistor pack is used to pull the PORT0 up. The RS and E Pins of LCD are connected to P2.0 and P2.1 of 8051.  The RST Pin is pulled-down using a 10KΩ resistor. The combination of a Push Button and a 10μF Capacitor will be used to reset the microcontroller. Also, the EA Pin is pulled-up using a 10KΩ resistor.  Next, the oscillator. It consists of two 33pF Capacitors and an 11.0592 MHz Crystal connected between XTAL1 and XTAL2 Pins of 8051. Coming to the Motor Driver, the two enable pins and two supply pins are connected to +5V supply. The four inputs are connected to PORT1 pins of 8051 i.e. P1.0, P1.1, P1.2 and P1.3. The four pins of the Bipolar Stepper Motor are connected to the four out pins of L293D.  In order to control the direction of the Stepper Motor, three buttons are connected to PORT3 pins i.e. P3.0, P3.1 and P3.2. 

CODE 

Working 

The working of this circuit is very simple. A method called as Half-Stepping is implemented in the program to rotate the Stepper Motor. When the forward button is pushed, the stepper motor rotates in clockwise direction.  Similarly, when the backward button is pushed, it starts rotating in anti-clockwise direction. To stop the rotation completely, you can press the stop button. 

Circuit 2: Stepper Motor Control using 8051 Microcontroller & ULN2003

The second circuit in the project is to implement a Stepper Motor Control using 8051 Microcontroller and ULN2003. Since the ULN2003 Transistor Array consists of 7 outputs, you can control both the Unipolar and Bipolar Stepper Motors.  In this project, I’ll show you how to control a 5-Wire Unipolar Stepper Motor using 8051 Microcontroller and ULN2003 Transistor Array. 

Circuit Diagram

Following image shows the circuit diagram of interfacing a Stepper Motor with 8051 Microcontroller and ULN2003. 

Circuit Components

AT89C51 Microcontroller ULN2003A Stepper Motor Crystal Resistor Capacitor

Circuit Design

The circuit consists of AT89C51 microcontroller, ULN2003A, Motor. AT89c51 is low power, high-performance, CMOS 8bit, 8051 family microcontroller. It has 32 programmable I/O lines. It has 4K bytes of Flash programmable and erasable memory. An external crystal oscillator is connected at the 18 and 19 pins of the microcontroller. Motor is connected to the port2 of the microcontroller through a driver IC. The  ULN2003A is a current driver IC. It is used to drive the current of the stepper motor as it requires more than 60mA of current. It is an array of Darlington pairs. It consists of seven pairs of Darlington arrays with common emitter. The IC consists of 16 pins in which 7 are input pins, 7 are output pins and remaining are VCC and Ground. The first four input pins are connected to the microcontroller. In the same way, four output pins are connected to the stepper motor. Stepper motor has 6 pins. In these six pins, 2 pins are connected to the supply of 12V and the remaining are connected to the output of the stepper motor. Stepper rotates at a given step angle. Each step in rotation is a fraction of full cycle. This depends on the mechanical parts and the driving method. Similar to all the motors, stepper motors will have stator and rotor. Rotor has permanent magnet and stator has coil. The basic stepper motor has 4 coils with 90 degrees rotation step. These four coils are activated in the cyclic order. The below figure shows you the direction of rotation of the shaft. There are different methods to drive a stepper motor. Some of these are explained below. Full Step Drive: In this method two coils are energized at a time. Thus, here two opposite coils are excited at a time.  Half Step Drive: In this method coils are energized alternatively. Thus it rotates with half step angle. In this method, two coils can be energized at a time or single coil can be energized. Thus it increases the number of rotations per cycle. It is shown in the below figure.

Circuit Simulation Video of Interfacing Stepper Motor with 8051 & ULN2003

How to Operate this Stepper Motor Driver Circuit?

Initially , switch on the circuit. Microcontroller  starts driving the stepper motor. One can observe the rotation of the stepper motor The stepper motor has four wires. They are yellow, blue, red and white. These are energized alternatively as given below. In full step driving, use the following sequence

To drive the motor in half step angle, use the following sequence

Stepper Motor Controller Circuit Advantages

It consumes less power. It requires low operating voltage

Stepper Motor Control Applications

This circuit can be used in the robotic applications.  This can also be used in mechantronics applications. The stepper motors can be used in disk drives, matrix printers, etc.

plz…. plz………….. email”: ganeshkalokhe5@gmail.com Can you please show how to control 3 motor in this system ie. moto 1 x axis, motor 2 y axis and motor 3 z axis with input from computer serial port or parallel port and interfacing it to computer i need for my sisters project for final year electronics Thanks Comment * Name * Email * Website

Δ

Stepper Motor Interfacing with 8051 Microcontroller - 12Stepper Motor Interfacing with 8051 Microcontroller - 93Stepper Motor Interfacing with 8051 Microcontroller - 12Stepper Motor Interfacing with 8051 Microcontroller - 15Stepper Motor Interfacing with 8051 Microcontroller - 75Stepper Motor Interfacing with 8051 Microcontroller - 79Stepper Motor Interfacing with 8051 Microcontroller - 13Stepper Motor Interfacing with 8051 Microcontroller - 22Stepper Motor Interfacing with 8051 Microcontroller - 26Stepper Motor Interfacing with 8051 Microcontroller - 80Stepper Motor Interfacing with 8051 Microcontroller - 50Stepper Motor Interfacing with 8051 Microcontroller - 56Stepper Motor Interfacing with 8051 Microcontroller - 42Stepper Motor Interfacing with 8051 Microcontroller - 79