SMS-basierte Pumpensteuerung mit automatischer Trockenlaufabschaltung

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesem Beitrag werden wir eine SMS-basierte Wasserpumpensteuerung mit automatischer Abschaltung der Pumpe konstruieren, wenn kein Wasserfluss durch die Pumpe erkannt wird. In der nächsten Hälfte des Artikels werden wir auch eine weitere viel einfachere automatische Trockenlaufverhinderungsschaltung ohne GSM konstruieren.

Was ist Trockenlauf in Motoren?

Wir haben bereits darüber gesprochen GSM-basierte Pumpensteuerung Überprüfen Sie auf dieser Website, ob dies noch nicht geschehen ist. Hier fügen wir eine zusätzliche Funktion zum vorhandenen Design hinzu, die verhindert, dass der Motor trocken läuft.



Trockenlauf bedeutet, die Wasserpumpe ohne Flüssigkeitsstrom laufen zu lassen. Die Folge kann ein wartungsfähiger Schaden bis zu einem unbrauchbaren Schaden sein, abhängig davon, wie lange der Motor lief, ohne das Wasser zu pumpen, und von der Qualität der Wasserpumpe.

Ja, die Wasserpumpen sind nicht billig, und wenn Sie ein Landwirt sind, der das Feld jeden Tag bewässert, kann ein kleines Problem mit Ihrer Wasserpumpe zu wirtschaftlichen Verlusten führen.



Die Wartung der Pumpe kann einige Zeit und Geld kosten. Befolgen Sie daher besser den berühmten Slogan „Vorbeugen ist besser als heilen“.

Motor trocken laufen ist ein sehr häufiges Problem, wenn nicht genügend Wasser durch die Pumpe fließt, kommt es zu einer Überhitzung sowohl mechanischer als auch elektrischer Komponenten.

An einem Punkt beginnen die mechanischen Komponenten zu schmelzen und können auch einen Kurzschluss verursachen.

Eine solche Katastrophe kann mithilfe der in diesem Projekt vorgeschlagenen Schaltung verhindert werden.

Um den Wasserfluss zu erfassen, sind wir Verwendung des Wasserdurchflusssensors YF-S201 . Wenn der Sensor keinen Wasserfluss erkennt, unterbricht er die Stromversorgung der Wasserpumpe und sendet eine SMS-Bestätigung an den Empfänger über die Trockenlaufabschaltung.

Mit dieser GSM-basierten Steuerung können Sie die Pumpe ein- und ausschalten, und auch der Stromkreis erkennt das Problem des Trockenlaufs der Pumpe an.

Schaltung für SMS-basierte Pumpensteuerung:

Schaltung für SMS-basierte Pumpensteuerung:

Die Schaltung besteht aus einem Wechselstrom-Gleichstrom-Wandler mit 9-V-Transformator, einem Brückengleichrichter, einem Glättungskondensator von 1000 uF und einem 9-V-Regler LM7809. Für die Stromversorgung der Arduino-Karte und des SIM 800 / SIM 900 GSM-Moduls stehen zwei DC-Buchsen zur Verfügung.

Versorgen Sie das GSM-Modul niemals mit einem 5-V-Pin von Arduino an einem 5-V-Pin des GSM-Moduls, da die Arduino-Karte nicht genügend Strom liefern kann.

Die Verbindung zwischen Arduino- und GSM-Modul folgendermaßen:

Arduino TX ---------------------- RX SIM 800/900

Arduino RX --------------------- TX SIM 800/900

Arduino GND ------------------- GND SIM 800/900

Die Hauptversorgung erfolgt über den Regler LM 7809.

Die LED-Anzeige leuchtet, wenn das Relais aktiviert ist, und erlischt, wenn das Relais deaktiviert ist.

Die Diode IN4007 absorbiert Hochspannungsspitzen, die beim Ein- und Ausschalten des Relais auftreten.

Der Wasserdurchflusssensor ist mit dem A0-Pin von Arduino, 5V und GND verbunden, die von der Arduino-Platine bereitgestellt werden.

Programm für GSM-basiertes Design:

//----------------Program developed by R.Girish------------//
int motor = 8
int LED = 9
int temp = 0
int i = 0
int j = 0
int k = 0
int X = 0
int Y = 0
int mtr_on = 0
float Time = 0
float frequency = 0
const int input = A0
const int test = 6
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(motor, OUTPUT)
pinMode(LED, OUTPUT)
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
analogWrite(test, 100)
for (k = 0 k <60 k++)
{
delay(1000)
}
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)
}
if (mtr_on == 1)
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
if (isinf(frequency))
{
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Deactivated. Dry Run Shut Off!')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
mtr_on = 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
for (j = 0 j <20 j++)
{
delay(1000)
}
mtr_on = 1
}
else if (!(strncmp(str, 'motor off', 9)))
{
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
mtr_on = 0
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)
}
}

// ---------------- Programm entwickelt von R.Girish ------------ //

Sie müssen den Code mit der 10-stelligen Handynummer des Empfängers eingeben.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Ersetzen Sie x durch die Handynummer

Sie müssen die Handynummer an solchen 5 Stellen im Code platzieren.

SMS-Befehle:

· Ihre SMS muss immer mit '/' beginnen und mit '/' enden.

· / Motor ein / zum Aktivieren des Motors.

· / Motor aus / zum Deaktivieren des Motors.

· / Test / zum Testen der Schaltung.

Hier ist die getestete SMS beim Prototyping:

SMS während des Prototyping getestet

Die folgenden Dinge können wir aus dem Screenshot beobachten:

· Zuerst wird der Motor eingeschaltet und der Stromkreis mit einer Antwort bestätigt.

· Der Motor ist deaktiviert und der Stromkreis wird mit einer Antwort bestätigt.

· Wieder wird der Motor aktiviert und der Sensor vom Stromnetz getrennt, um die Trockenlaufsituation zu simulieren. Der Stromkreis schaltet die Pumpe aus und antwortet mit der Bestätigung des Trockenlaufs der Pumpe.

· Schließlich wurde eine Test-SMS gesendet und die Schaltung antwortete mit „System funktioniert einwandfrei“.

Ich würde empfehlen, den Wasserdurchflusssensor einige Meter nach der Wasserpumpe zu installieren.

Damit ist der GSM-basierte Pumpen-Trockenlaufverhinderer abgeschlossen.

Schauen wir uns nun einen einfachen Trockenlaufverhinderer für Wasserpumpen ohne GSM an. Dies könnte der einfachere von beiden sein.

Schaltplan:

SMS-basierte Pumpensteuerung mit automatischer Trockenlaufabschaltung

Hier gibt es nicht viel zu erklären, sondern nur gemäß Schaltplan verkabeln. Das Netzteil kann ein 9-V-Wandadapter mit mindestens 500 mA oder das im GSM-basierten Steuerungsschema dargestellte Netzteil sein.

Der Druckknopf dient zum Ein- und Ausschalten der Pumpe.

Sobald Sie die Taste drücken, um die Pumpe einzuschalten, wartet der Kreislauf zunächst bis zu 20 Sekunden, um den Wasserfluss zu erfassen. Während dieser Zeit ist der Druckknopf für 20 Sekunden deaktiviert.

Nach den ersten 20 Sekunden ist der Druckknopf aktiviert und Sie können die Pumpe manuell ausschalten, indem Sie den Druckknopf erneut drücken.

Wenn ein Wasserfluss erkannt wird, hält der Stromkreis die Pumpe nach 20 Sekunden eingeschaltet, andernfalls unterbricht der Stromkreis die Stromversorgung des Motors. Außerdem kann der Stromkreis die Versorgung jederzeit unterbrechen, wenn kein Wasserfluss festgestellt wird.

Wenn der Stromkreis aufgrund eines Trockenlaufs abgeschaltet wird, blinkt die LED schnell.

Programm für einfachen Pumpen-Trockenlaufverhinderer:

//--------------------------Program Developed by R.GIRISH------------------------//
int X = 0
int Y = 0
int i = 0
int mtr_on = 0
float Time = 0
float frequency = 0
const int input = A0
const int test = 6
const int button = A1
const int LED = 8
const int motor = 9
void setup()
{
Serial.begin(9600)
pinMode(input, INPUT)
pinMode(test, OUTPUT)
pinMode(LED, OUTPUT)
pinMode(motor, OUTPUT)
analogWrite(test, 100)
digitalWrite(button, HIGH)
}
void loop()
{
if (digitalRead(button) == LOW && mtr_on == 0)
{
Serial.println('Motor Activated')
digitalWrite(LED, HIGH)
digitalWrite(motor, HIGH)
for (i = 0 i <20 i++)
{
delay(1000)
}
mtr_on = 1
}
if (digitalRead(button) == LOW && mtr_on == 1)
{
Serial.println('Motor Deactivated')
digitalWrite(LED, LOW)
digitalWrite(motor, LOW)
mtr_on = 0
delay(1000)
}
if (mtr_on == 1)
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
if (isinf(frequency))
{
Serial.println('Dry run shut off')
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
mtr_on = 0
while (true)
{
digitalWrite(LED, HIGH)
delay(500)
digitalWrite(LED, LOW)
delay(500)
}
}
}
}
//--------------------------Program Developed by R.GIRISH------------------------//

Damit sind die beiden Entwürfe abgeschlossen.

Wenn Sie spezielle Fragen zu dieser SMS-basierten Pumpensteuerung mit automatischer Trockenlaufabschaltung haben, geben Sie diese bitte im Kommentarbereich an. Möglicherweise erhalten Sie eine schnelle Antwort.




Zurück: 4 einfache Näherungssensorschaltungen - Verwenden von IC LM358, IC LM567, IC 555 Weiter: Inkubator mit Arduino mit automatischer Temperatur- und Feuchtigkeitsregelung