Get PDF

Single Phase Induction Motor Direction Control using 8051 Microcontroller (v2)

Hello I am posting same project which I posted in previous, but it is Microntroller based project.

Controlling Single Phase Induction motor Direction using 8051 based Microcontroller .
8051 is the basic Microcontroller, architecture and programming can understand anyone.

Main Circuit is shown below..
Power Supply Circuit shown below

 All input are connected to Port 0. Inputs are control switches for motor. They are RUN, STOP, FRW, REV.  And output is connected to Relays. RL1 controls RUN/STOP of Motor and RL2 is Forward/Reverse Direction of motor. And LEDs are indicates status of motor, All Relays and LEDs are Connected to PORT2. For additional RESET is added to the Circuit for Emergency purpose.
At Starting Motor is in Stop condition and in Forward Direction. Here also Direction Can set before RUN and At Running Condition also can control.. Corresponding LED’s are indicates Status of motor.
And Power circuit for Microcontoller circuit also given above, it gives Regulated 5V DC Supply. And Rating of Transformer for this circuit is 1000mA, 0v-6v is enough.

Programming:  Assembly and Embedded C both program can Use for 8051 controllers.  I have written both Programs for this Project. 

Assembly language: 

mov P0,#0ffh;     // initialise input port P0
mov P2,#60h;     // initialise output port P2
nop;
START: jb p0.0,next1;       //check ON switch
setb p2.2;       // Turn on OUT1
CLR P2.5;      // turn off led_off
SETB P2.4;     // turn on led_on
nop;
next1:jb p0.1,next2;      //check OFF switch
clr p2.2;      //Turn off OUT1
CLR P2.4;     //turn off led_on
SETB P2.5;     //turn on led_off
nop;
next2:jb p0.2,next3;      //check FRW switch
clr p2.3;        //Turn off OUT2
CLR P2.7;     //turn off led_rev
SETB P2.6;     //turn on led_frw
nop;
next3:jb p0.3,START;
setb p2.3;        //Turn on OUT2
CLR P2.6;      //turn off led_frw
SETB P2.7;     //turn on led_rew
nop;
jmp START;      //repeat
end

Embedded Program:

#include<reg51.h>
sbit RUN=P0^0;       //RUN switch connected to P0.0
sbit STOP= P0^1;       //STOP switch connected to PO.1
sbit FRW=P0^2;     //FRW switch connected to P0.2 
sbit REV=P0^3;     //REV switch connected to P0.3
sbit OUT1=P2^2;     // RL1 (OUT1) connected to P2.2
sbit OUT2=P2^3;     // RL2 (OUT2) connected to P2.3
sbit LRUN=P2^4;      //RUN LED Connected to P2.4
sbit LSTOP=P2^5;     //STOP LED Connected to P2.5
sbit LFRW=P2^6;       //FRW LED Connected to P2.6
sbit LREV=P2^7;     //REV LED Connected to P2.7

void main()
{
P0=0X0ff;      //initialize input port P0
P2=0X60;      //initialize output port P2
while(1)
{
if(RUN==0)      //Check RUN Switch is Pressed
OUT1=1;       //Turn on OUT1(RL1)
}
if(STOP==0)       //Check STOP Switch is Pressed
{
OUT1=0;        //Turn off OUT1(RL1)
}
if(FRW==0)      //Check FRW Switch is Pressed
{
OUT2=0;        //Turn on OUT2(RL2)
}
if(REV==0)      //Check REV Switch is Pressed
{
OUT2=1;       //Turn off OUT2(RL2)
}
LRUN = OUT1;       //RUN LED turn on/off when OUT1=1/0
LSTOP =~ LRUN;     //STOP LED turn on/off when OUT1=0/1
LREV = OUT2;        //REV LED turn on/off when OUT2=1/0
LFRW =~ LREV;       //FRW LED turn on/off when OUT2=0/1
}
}

Components Required:

Thank you Friends.. All the best...

Share on Google Plus

About Praveen S

Hello everyone, I am Praveen S, currently employed as "Technical Design Engineer" for Polycab Wires Pvt Ltd , I am a BE Graduate in EEE from NMAMIT Nitte (Karnataka, India). I am very passionate about learning and sharing my knowledge relating to the areas of "Electrical and Electronics". Here's my blog to share my ideas and to improve myself.

4 comments:

  1. I need to control 3 phase induction motor please help me

    ReplyDelete
    Replies
    1. Mr. Samson, please mention the voltage & Wattage of motor which is used in your scenario.

      Delete
  2. Can I know what is the circle shape between running and starting?

    ReplyDelete