FOUR QUADRANT DC MOTOR CONTROL WITH MICRO-CONTROLLER AND IOT
FOUR QUADRANT DC MOTOR CONTROL WITH MICROCONTROLLER AND IOT
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
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 5: condition 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
// 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("");
}
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
2 S.V.Nagarjuna 149Y1A0267
3 S.Nagendra 149Y1A0273
4 T.Sai likhitha 149Y1A0278
5 G.Dharma teja 159Y5A0210
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 5: condition 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