Interfacing Stepper motor with 8051

15

Click here to load reader

description

Interfacing Stepper motor with 8051

Transcript of Interfacing Stepper motor with 8051

Page 1: Interfacing Stepper motor with 8051

Interfacing Stepper Motor with 8051

www.pantechsolutions.net

Page 2: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

• A stepper motor (or step motor) is a brushless synchronous electric motor that can divide a full rotation into a large number of steps.

• The motor's position can be controlled precisely without any feedback mechanism, as long as the motor is carefully sized to the application.

• Stepper motors are similar to switched reluctance motor (which are very large stepping motors with a reduced pole count, and generally are closed-loop

• The stepper motor can be interfaced with the 8051 using l293d connected to p1.0,p1.2,p1.3,p1.4

• Stepper motor two types of step sequence 1) full step and 2) half step sequence

• In the full step sequence, two coils are energized at the same time and motor shaft rotates. The order in which coils has to be energized is given in the table below

WHAT IS STEPPER MOTOR ?

Page 3: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

Full step and half step sequence

•In the full step sequence, two coils are energized at the same time and motor shaft rotates. The order in which coils has to be energized is given in the table below.

• In Half mode step sequence, motor step angle reduces to half the angle in full mode. So the angualar resolution is also increased i.e. it becomes double the angular resolution in full mode. Also in half mode sequence the number of steps gets doubled as that of full mode. Half mode is usually preffered over full mode. Table below shows the pattern of energizing the coils.

Page 4: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

Full step sequence

Page 5: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

Full step sequence

Page 6: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

Half step sequence

Page 7: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.Confidential © Copyright 2008

Pantech solutions Pvt Ltd

Stepper motor interfacing

Page 8: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

Half step sequence

Page 9: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

    org 0H

stepper equ P1

main:        mov stepper, #0CH        acall delay        mov stepper, #06H        acall delay        mov stepper, #03H        acall delay        mov stepper, #09H        acall delay        sjmp main

STEPPER MOTOR ASSEMBLY CODE

Page 10: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

delay:        mov r7,#4wait2:        mov r6,#0FFHwait1:        mov r5,#0FFHwait:        djnz r5,wait        djnz r6,wait1        djnz r7,wait2        ret        end

ASSEMBLY CODE CONTD

Page 11: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

#include <reg51.h> //Define 8051 registers

#include<stdio.h>

void DelayMs(unsigned int); //Delay function

void Clockwise (void)

{

unsigned int i;

for (i=0;i<30;i++)

{

P0 = 0x01;DelayMs(5); //Delay 20msec

P0 = 0x02;DelayMs(5);

P0 = 0x04;DelayMs(5);

P0 = 0x08;DelayMs(5);

}

}

STEPPER MOTOR C CODE

Page 12: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

void AntiClockwise (void)

{

unsigned int i;

for (i=0;i<30;i++)

{

P0 = 0x08;DelayMs(5); //Delay 20msec

P0 = 0x04;DelayMs(5);

P0 = 0x02;DelayMs(5);

P0 = 0x01;DelayMs(5);

}

}

void main (void)

{

P0 = 0; //Initialize Port0

C CODE CONTD

Page 13: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

while(1) //Loop Forever

{

Clockwise ();

DelayMs (100);

P0 = 0;

AntiClockwise ();

DelayMs (100);

P0 = 0;

}

}

void DelayMs(unsigned int n)

{

C CODE CONTD

Page 14: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

unsigned int i,j;

for(j=0;j<n;j++)

{

for(i=0;i<800;i++);

}

}

C CODE CONTD

Page 15: Interfacing Stepper motor with 8051

Technology beyond the Dreams™ Copyright © 2006 Pantech Solutions Pvt Ltd.

For more details– www.pantechsolutions.net– http://www.slideshare.net/pantechsolutions– http://www.scribd.com/pantechsolutions– http://www.youtube.com/pantechsolutions