FOUR QUADRANT DC MOTOR CONTROL WITH MICRO-CONTROLLER AND IOT

FOUR QUADRANT DC MOTOR CONTROL WITH MICROCONTROLLER AND IOT


  This project is done by KSRM college of engineering, Kadapa members are

1 V.Sree lakshmi 149Y1A0287
2 S.V.Nagarjuna         149Y1A0267
3 S.Nagendra              149Y1A0273
4 T.Sai likhitha            149Y1A0278
5 G.Dharma teja          159Y5A0210


PROJECT GUIDE:
Dr.K.AMARESH,M.Tech.,Ph.D.                   
 Assistant Professor, Dept of  EEE




ABSTRACT:
          To achieve DC motor speed control, we need to interface the DC motor with 8051microcontroller. The four-quadrant operation of DC motors such as clockwise rotation, anti-clockwise rotation, forward braking operation and reverse braking operation can be performed using 8051 microcontroller based circuits.
 In several industrial applications like the moment of conveyor belts in the clockwise and anti-clockwise direction can be done using four quadrant operation of motors.In this case, the DC motor can be controlled using this method.
The 8051 microcontroller block is interfaced with DC motor using motor driver IC, the power supply block provides power supply to the kit, and switch array.This switch array is used to send the control signals to the microcontroller which in turn sends commands to the motor driver IC for controlling the operation of the DC motor.


how to download Keil software for 8051 see video





SOFTWARE REQUIRED:  for 8051 clicks here to download






what is iot ?

very simple way express it is wirs less transmission data from one place to another place
the transmission speed is very high comparee other transimmsion lines where its transimmsion following six channel path in wifi setup where if what run iot then you need some iot appliction kits where they are two types privite network and anothrerr is open source but you need chose open source beacause they are free of cost

where our project your using wifi>>>ip>>>tcp configuare

if want learn more about iot click here

components requried 

1, nodemcu 
2. 3.3v relay kit
3. jamper pins

proram explanation


step 1: esp8266 setup(esp8266 means it module name to may to use client)
step 2: wifi setup
step 3: pins setup
step 4: wifi connection processs and server setup
step 5condition setup 


////step 1: esp8266 setup(esp8266 means it module name to may to use client)


#include <ESP8266WiFi.h>

///step 2: wifi setup

const char* ssid = "xxxxx";////your user name
const char* password = "xxxxxx";///your password

//////step 3: pins setup

int f1 =14 ;
int r1 =16 ;
int r2 =12 ;
int f2 =13 ;
int s1 =18 ;

//////step 4: wifi connection processs and server setup

WiFiServer server(80);//// it is server

void setup() {
  Serial.begin(115200);//// it data transimission speed
  delay(10);

  pinMode(f1, OUTPUT);
////it is how to work your input or output pin steup
  digitalWrite(f1, LOW);
  pinMode(f1, OUTPUT);
  digitalWrite(f2, LOW);
  pinMode(f2, OUTPUT);
  digitalWrite(r1, LOW);
  pinMode(r1, OUTPUT);
  digitalWrite(r1, LOW);
  pinMode(r2, OUTPUT);
  digitalWrite(r2, LOW);
  pinMode(s1, OUTPUT);
  digitalWrite(s1, LOW);


  // Connect to WiFi network it make processs

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");

  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");

}

void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }

  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();

  ///// Match the request it mean when you turn on or off it will check condition

  int value = LOW;
  if (request.indexOf("/LED1=ON") != -1)  {
    digitalWrite(f1, HIGH);
    value = HIGH;
  }
  if (request.indexOf("/LED1=OFF") != -1)  {
    digitalWrite(f1, LOW);
    value = LOW;
  }


  int value1 = LOW;
  if (request.indexOf("/LED2=ON") != -1)  {
    digitalWrite(f2, HIGH);
    value1 = HIGH;
  }
  if (request.indexOf("/LED2=OFF") != -1)  {
    digitalWrite(f2, LOW);
    value1 = LOW;
  }


  int value2 = LOW;
  if (request.indexOf("/LED3=ON") != -1)  {
    digitalWrite(r1, HIGH);
    value2 = HIGH;
  }
  if (request.indexOf("/LED3=OFF") != -1)  {
    digitalWrite(r1, LOW);
    value2 = LOW;
  }


  int value3 = LOW;
  if (request.indexOf("/LED4=ON") != -1)  {
    digitalWrite(r2, HIGH);
    value3 = HIGH;
  }
  if (request.indexOf("/LED4=OFF") != -1)  {
    digitalWrite(r2, LOW);
    value3 = LOW;
  }


  int value4 = LOW;
  if (request.indexOf("/LED5=ON") != -1)  {
    digitalWrite(s1, HIGH);
    value4 = HIGH;
  }
  if (request.indexOf("/LED5=OFF") != -1)  {
    digitalWrite(s1, LOW);
    value4 = LOW;
  }

// Set ledPin according to the request
//digitalWrite(ledPin, value);


///we need to design html for creat client buttons

  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");

  client.print("forward pin is now: ");

  if(value == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED1=ON\"\"><button>f1 On </button></a>");
  client.println("<a href=\"/LED1=OFF\"\"><button>f1 Off </button></a><br />");
/////
 client.print("reverse pin is now: ");

  if(value1 == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED2=ON\"\"><button>r1 On </button></a>");
  client.println("<a href=\"/LED2=OFF\"\"><button>r1 Off </button></a><br />");

  ///
   client.print("forward break  pin is now: ");

  if(value2 == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED3=ON\"\"><button>f2 On </button></a>");
  client.println("<a href=\"/LED3=OFF\"\"><button>f2 Off </button></a><br />");

  ////
   client.print("reverse break pin is now: ");

  if(value3 == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED4=ON\"\"><button>r2 On </button></a>");
  client.println("<a href=\"/LED4=OFF\"\"><button>r2 Off </button></a><br />");

  ///
   client.print("Stop pin is now: ");

  if(value4 == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED5=ON\"\"><button>s1 On </button></a>");
  client.println("<a href=\"/LED5=OFF\"\"><button>s1 Off </button></a><br />");
  client.println("</html>");

  delay(1);
  Serial.println("Client disonnected");
  Serial.println("");

}




Comments

Popular posts from this blog

LIFE CYCLE TESTING OF ELECTRICAL LOADS BY DOWN COUNTER

BLDC MOTOR SPEED CONTROL WITH RPM DISPLAY

LIFE CYCLE TESTING OF ELECTRICAL LOADS BY DOWN COUNTER