Ad Code

What is stepper motor? | How to interface stepper motor with AT89C51?

 What is a stepper motor? | How to interface stepper motor with AT89C51?

banner for what is stepper motor

Stepper motor

  • Stepper motors are DC motor which moves on discrete steps.
  • Stepper motor converts electrical pulses into mechanical movements.
  • Most common stepper motors have 4 stator winding which is paired with a centre tapped common.
  • Two coils should be on in order to rotate a stepper motor.
  • Another important factor is the step angle, it is the minimum degree of rotation with a single step. 

Movement of stepper motor

showing how stepper motor rotates

For the movement of the stepper motor, in a clockwise direction, we need to give a signal to the coil A and B and then B and C then C and D and so on.

the hexadecimal value for the movement is given below.


truth table regarding stepper motor

For the movement in an antilock wise direction you need to give 1 to A and D, then D and C, then C and B and so on. In other words, the sequence of the hexadecimal will change like 0x09, 0x0C, 0x06 and then 0x03.

Interfacing of  stepper motor with AT89C51

In this section, we will see how to interface stepper motor with AT89C51 microcontroller and also rotate the motor in the clockwise direction with 90-degree step angle.

The software for the simulation we are using is proteus professional 8 and for generating the hex file we are using Keil Microvision 5.


The hardware for the simulation required are :
  • AT89C51 microcontroller
  • ULN2003A IC
  • Stepper motor

Make hardware connections on the proteus simulation

interfacing of stepper motor with AT89C51

Please make sure all the connections are connected to the right port, In this simulation, I am using the Port 3 of the for connection. 
I am also using a ULN2003A IC which is a high current high voltage Darlington pair transistor array for stepper motor driving and safety purpose.

Write the program for your microcontroller

Write the below-given code to the Keil Microvision IDE and generate the hex file after executing it.

code

#include <reg51.h>

int i,j;

void delay()
{
  TMOD=0x02;
for(i=0;i<3600;i++)
{
  TH0=0;
TR0=1;
while(TF0==0);
TF0=0;
}
}

void main()
{
  int arr[]={3,6,0xC,9};
while(1)
{
  for(j=0;j<sizeof arr;j++)
{
  P3=arr[j];
delay();
}
}
}


Upload the Hex file to the microcontroller

uploading hex file to proteus simulation

On double-clicking to the microcontroller, you can upload the hex file to the microcontroller.

While uploading the Hex file don't forget to change the clock frequency of the microcontroller to 11.0592 MHz.

If you don't know how to generate a Hex file you can click here.

And that's it you can simulate your project, by clicking the play button on the bottom left corner.

Video