GSM-Pumpenmotor-Steuerkreis mit Arduino

GSM-Pumpenmotor-Steuerkreis mit Arduino

In diesem Beitrag werden wir eine bauernfreundliche GSM-Pumpenmotor-Steuerschaltung aufbauen, die dies könnte
Schalten Sie das Bewässerungssystem von überall auf der Welt per Handy-SMS ein und aus und senden Sie eine Bestätigungsnachricht zurück. Die Idee wurde von Herrn PG Ragavandir angefordert.

Das Design

Die Landwirtschaft ist eine der größten Industrien in Indien, die jedes Jahr mehr als eine Milliarde Menschen mit Lebensmitteln versorgt. Es ist nie einfach, eine große Menge an Lebensmitteln zu produzieren. Bewässerung ist einer der Faktoren.



Der größte Teil des Ackerlandes des Landwirts befindet sich weit entfernt von seinem Wohnort. Das Einschalten der Wasserpumpe kostet für den Transport pro Jahr enorm viel.



Indien ist bekannt für IT-Kenntnisse und Raumfahrtprogramme und erreichte einen Preis, der unter den Kosten des Films „Gravity“ liegt. Dies zeigt das große Potenzial von Ingenieuren und Wissenschaftlern. Die Fähigkeiten sind jedoch nicht gleichmäßig auf verschiedene Bereiche verteilt. Die Landwirtschaft ist einer der Bereiche, in denen die technologische Entwicklung langsam verläuft.

Diese SMS-basierte GSM-Pumpenmotorsteuerung macht einen kleinen Schritt in Richtung landwirtschaftliche Entwicklung Dies ist vielleicht kein revolutionäres Projekt, aber es kann den Landwirten Freude bereiten.



Lassen Sie uns in den technischen Teil des Projekts eintauchen.

Das Projekt ist mit minimalen Hardwarekomponenten konzipiert, so dass ein Anfänger es problemlos durchführen kann.
Die Schaltung besteht aus einer Stromversorgung, die das gesamte Setup mit Strom versorgt.

Das Arduino ist das Gehirn des Projekts, das Entscheidungen trifft, und das GSM-Modem, das Text-SMS sendet und empfängt und mit dem Benutzer und dem Relais kommuniziert, das den Motor steuert.



Wie es funktioniert

GSM-Pumpenmotor-Steuerkreis mit Arduino

Hinweis: Bitte verwenden Sie mindestens 10K Widerstand an der Basis des BC548 Transistors, 330 Ohm sind zu niedrig.

Das Transformator zurücktreten Der 230VAC bis 12VAC und Brückengleichrichter wandeln Wechselstrom in Gleichstrom um und der Strom fließt durch einen Elektrolytkondensator, um die Stromversorgung zu glätten.

Ein fester 12V Spannungsregler Versorgt Arduino, GSM-Modem und Relais mit Strom. Das GSM-Modem ist an Pin # 0 und Pin # 1, die RX bzw. TX sind, mit Arduino verbunden.

Der RX von GSM ist mit TX von Arduino verbunden und TX von GSM ist mit RX von Arduino verbunden. Wenn Sie verwirrt sind, sehen Sie sich einfach das folgende Diagramm an. Bei einer Fehlverbindung werden keine SMS gesendet oder empfangen.

ARDUINO TX ---------------------- RX GSM-Modem
RX ---------------------- TX

Eine Erdungsverbindung wird auch zwischen Arduino und GSM-Modem hergestellt.

Versuchen Sie, einen Stecker für GSM und Arduino zu erhalten, wenn Sie nicht nur die Drähte direkt von der Stromversorgung zu Arduino und GSM verlöten, was die Unordnung im Projekt erhöhen könnte.

Der Transistor steuert das Relais an und die Diode schützt den Stromkreis vor Hochspannungsspitzen, während das Relais ein- und ausgeschaltet wird.

Das LED-Anzeige zeigt den Status des Relais. Wenn die LED leuchtet, ist das Relais aktiviert und wenn die LED aus ist, ist das Relais deaktiviert.

Legen Sie eine gültige SIM-Karte in das GSM-Modem ein und versuchen Sie, die Angebote des Netzbetreibers für SMS wie Tarifkürzungen zu nutzen, um die Kosten für SMS zu senken.

Programmcode:

//----------------Program developed by R.Girish------------//
int LED = 8
int motor = 9
int temp=0
int i=0
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(motor,OUTPUT)
pinMode(LED,OUTPUT)
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(20000)
delay(20000)
delay(20000)
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('System is ready to receive commands.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
if(temp==1)
{
check()
temp=0
i=0
delay(1000)
}
}
void serialEvent()
{
while(Serial.available())
{
if(Serial.find('/'))
{
delay(1000)
while (Serial.available())
{
char inChar=Serial.read()
str[i++]=inChar
if(inChar=='/')
{
temp=1
return
}
}
}
}
}
void check()
{
if(!(strncmp(str,'motor on',8)))
{
digitalWrite(motor,HIGH)
digitalWrite(LED,HIGH)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Activated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
else if(!(strncmp(str,'motor off',9)))
{
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor deactivated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
else if(!(strncmp(str,'test',4)))
{
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('The System is Working Fine.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
//----------------Program developed by R.Girish------------//

HINWEIS 1: Beim Kompilieren des Programms wird eine Warnung angezeigt, die Sie ignorieren können. Das Programm wird verifiziert und getestet.

HINWEIS 2: Bitte entfernen Sie die TX- und RX-Verbindung von Arduino, während Sie den Code hochladen.

HINWEIS 3: Ersetzen Sie 'xxxxxxxxxxxxx' an vier Stellen im Programm durch die Telefonnummer des Empfängers.

HINWEIS 4: Bitte kaufen Sie ein GSM-Modem ohne Netzschalter im Modul, falls es bei einem Stromausfall nicht in das Mobilfunknetz einrastet, es sei denn, Sie drücken den Knopf manuell. Vermeiden Sie daher solche GSM-Modems. Das GSM-Modem ohne Netzschalter wird direkt nach dem Beibehalten der Stromversorgung in das Mobilfunknetz eingebunden.

Prototyp des Autors des GSM-Pumpenmotor-Steuerkreises:

So verwenden Sie das obige Setup:

• Senden Sie / motor on / SMS von Ihrem Mobiltelefon, um das Relais zu aktivieren.

• Senden / Motor aus / SMS, um das Relais zu deaktivieren.

• Senden / Testen / SMS zum Testen der Antwort von der Schaltung.

Stellen Sie sicher, dass Sie den Befehl mit '/' starten und mit '/' beenden, da er sonst nicht als gültige Anforderung akzeptiert wird.

• / motor on / schaltet das Relais ein und kehrt mit einer Bestätigungs-SMS „Motor Activated“ zurück.

• / motor off / schaltet das Relais aus und kehrt mit einer Bestätigungs-SMS „Motor Deaktiviert“ zurück.

• Wenn Sie senden / testen / wird es mit einer Bestätigungs-SMS 'Das System funktioniert einwandfrei' zurückgegeben.

• Die obige Meldung zeigt an, dass Ihr Setup einwandfrei funktioniert.

• Wenn keine Bestätigung zurückgegeben wird, können Sie davon ausgehen, dass dem Motor keine Aktion vorausgegangen ist, und Sie können die Probleme möglicherweise beheben.

• Warten Sie nach dem Einschalten des Setups auf 1 Minute Das System sendet eine Bestätigungs-SMS „Das System ist bereit, Befehle anzunehmen.“ Sobald Sie diese SMS erhalten haben, ist Ihr Projekt einsatzbereit.

Die oben genannten Befehle sind narrensicher und lösen den Motor niemals falsch aus. Das Setup antwortet nur auf die oben angegebenen Empfehlungen.

Verbesserung des oben genannten Konzepts

Diese oben genannte GSM-Pumpenanwendungsschaltung zog viele Leser an und wir haben unzählige Anfragen und Vorschläge erhalten. Einer der begeisterten Leser dieser Website, Herr Gandhi, schlug eine gute Verbesserung des vorherigen Designs vor.

SMS-Bestätigung, wenn der Motor tatsächlich eingeschaltet ist

Bei der Verbesserung geht es um die Rücknahmebestätigung, bei der der Benutzer eine SMS-Antwort in seinem Mobiltelefon vom GSM erhält Pumpensteuerungssystem wenn ein Benutzer einen gültigen SMS-Kommentar sendet.

Das vorhandene Design sendet eine Bestätigungs-SMS an den Benutzer unabhängig vom tatsächlichen Zustand des Relais, d. H. EIN / AUS.

Die von Mr. Gandhi vorgeschlagene neue Konstruktionsänderung überprüft den Zustand des Relais, ob das Relais physisch geschaltet ist oder nicht.

Die Änderung gemäß diesem neuen GSM-Wasser Design der Pumpensteuerung kann ohne großen Aufwand auf das vorherige Design implementiert werden, indem ein Feedback-System hinzugefügt wird, wie im Schaltplan gezeigt, und der neue Code hochgeladen wird.

Schaltplan:

Wenn wir den SMS-Befehl „/ MOTOR ON /“ senden, geht Pin 9 hoch und löst das Relais ON aus. Wenn das Relais die gemeinsamen und N / O-Pins verbindet, startet die Pumpe und schaltet auch den Transformator ein, der am Ausgang +5 ergibt.

Das + 5V-Signal wird an Pin 7 geleitet, der mit der Bestätigung „Motor aktiviert“ bestätigt und zurückkehrt.

Wenn wir '/ MOTOR OFF /' senden, dreht sich Pin 9 auf LOW und das Relais trennt die Common- und N / O-Pins. Dadurch werden sowohl die Pumpe als auch der angeschlossene Transformator ausgeschaltet. Der Ausgang an Pin 7 geht auf LOW und kehrt mit der Bestätigung „Motor deaktiviert“ zurück.

Wenn keine Bestätigung SMS wird in Ihrem Handy empfangen Wenn wir bestätigen können, dass keine Maßnahmen ergriffen wurden und sich die Pumpe im zuletzt angeforderten Zustand befindet, können Sie zur Baustelle gehen und Fehler beheben, oder es wird keine Bestätigung aufgrund eines Stromausfalls empfangen.

Programmcode:

//----------------Program developed by R.Girish------------//
int motor = 8
int LED = 9
int temp=0
int i=0
int ack=7
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(ack,INPUT)
pinMode(motor,OUTPUT)
pinMode(LED,OUTPUT)
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(20000)
delay(20000)
delay(20000)
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('System is ready to receive commands.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
if(temp==1)
{
check()
temp=0
i=0
delay(1000)
}
}
void serialEvent()
{
while(Serial.available())
{
if(Serial.find('/'))
{
delay(1000)
while (Serial.available())
{
char inChar=Serial.read()
str[i++]=inChar
if(inChar=='/')
{
temp=1
return
}
}
}
}
}
void check()
{
if(!(strncmp(str,'motor on',8)))
{
digitalWrite(motor,HIGH)
delay(100)
if(digitalRead(ack)==1)
{
digitalWrite(LED,HIGH)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Activated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
else if(!(strncmp(str,'motor off',9)))
{
digitalWrite(motor,LOW)
delay(5000)
if(digitalRead(ack)==0)
{
digitalWrite(LED,LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor deactivated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
else if(!(strncmp(str,'test',4)))
{
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('The System is Working Fine.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
//----------------Program developed by R.Girish------------//

Die obige Implementierung ist nicht praktisch getestet, aber der Autor ist sich hundertprozentig sicher, dass die obige Idee funktionieren wird. Wenn Leser Probleme mit der oben genannten Verbesserung festgestellt haben, können Sie dies im Kommentarbereich ausdrücken.

Stückliste

1) Transformator 12-0V herunterfahren
2) Dioden IN4007 x5
3) LM7812 x1
4) Relais 12V x1
5) BC548 Transistor x1
6) Elektrolytkondensator 1000uF x1
7) GSM-Modul: Modell SIM 800 oder SIM 900
8) 330 Ohm Widerstand x2
9) LED ROT / GRÜN x1
10) Arduino Uno oder Arduino Nano oder Arduino Mega
11) DC-Stecker x2

Videoclip:

Integration mit 3-Phasen-Motoren

Ich habe viele Anfragen erhalten, die Relaisstufe für das obige Design zu aktualisieren, damit sie für den Betrieb von 3-Phasen-Motoren mit GSM-Handybefehlen kompatibel wird.

Deshalb habe ich mich entschlossen, die gewünschte Schaltung zu entwerfen, die wird hoffnungsvoll in der Lage sein, gegebene 3-Phasen-Motoren mit dem typischen Start- und Stoppschützmechanismus ein- und auszuschalten.

Die folgende Abbildung zeigt, wie das Design mithilfe einer IC 4017-Schaltung konfiguriert wird.

GSM 3-Phasen-Motorsteuerung Remote-Handy

HINWEIS: Die Werte 100uF / 10K und 220uF und 47K müssen möglicherweise angepasst werden, um die richtige Verzögerung für die jeweiligen Transistoren und Relaisstufen sicherzustellen.




Zurück: Sicherheitsschaltung der Einbruchspositionsanzeige Weiter: Ferngesteuerte Solarlampen-Intensitätsreglerschaltung