SMS-basert pumpekontroll med automatisk tørrkjøring

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget skal vi konstruere en SMS-basert vannpumpestyring med automatisk avstengning av pumpen når det ikke oppdages vannstrøm gjennom pumpen. Vi vil også konstruere en annen mye enklere automatisk tørrløpsvernkrets uten GSM i neste halvdel av artikkelen.

Hva er Dry Run in Motors

Vi har allerede diskutert GSM-basert pumpestyring på dette nettstedet, sjekk det hvis ikke har gjort det ennå. Her legger vi til en ekstra funksjon på eksisterende design, som vil forhindre at motoren tørker.



Tørrløp betyr å kjøre vannpumpen uten væskestrøm. Konsekvensen kan være skade på ubetjent skade avhengig av hvor lenge motoren gikk uten å pumpe vannet og kvaliteten på vannpumpen.

Ja, vannpumpene er ikke billige, og hvis du er en landbruker som vanner åkeren hver dag, kan et lite problem med vannpumpen føre til økonomiske tap.



Det kan ta litt tid og penger å betjene pumpen, så det er bedre å følge det berømte slagordet 'forebygging er bedre enn kur'.

Motor tørrkjøring er et veldig vanlig problem, når det ikke er nok vann til å strømme gjennom pumpen, vil overoppvarming av mekaniske komponenter så vel som elektriske komponenter oppstå.

På et tidspunkt vil de mekaniske komponentene begynne å smelte og kan også forårsake kortslutning.

En slik katastrofe kan forhindres ved hjelp av kretsen, foreslått i dette prosjektet.

For å oppdage vannstrømmen er vi det ved hjelp av YF-S201 vannstrømningssensor . Når ingen vannstrøm oppdages av sensoren, kutter den strømforsyningen til vannpumpen og sender en SMS-bekreftelse til mottakeren om tørrkjøring.

Med denne GSM-baserte kontrollen kan du slå på og av pumpen, og kretsen bekrefter også problemet med tørrkjøring av pumpen.

Krets for SMS-basert pumpestyring:

Krets for SMS-basert pumpestyring:

Kretsen består av AC til DC-omformer ved bruk av 9V transformator, bro likeretter, en utjevnende kondensator på 1000 uF og en LM7809 9V regulator. To DC-kontakter er gitt for å drive Arduino-kort og SIM 800 / SIM 900 GSM-modul.

Strøm aldri GSM-modulen med 5V-pinne med Arduino til 5V-pinne med GSM-modul, da Arduino-kortet ikke kan gi nok strøm.

Forbindelsen mellom Arduino og GSM-modul som følger:

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

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

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

Hovedforsyningen leveres av LM 7809-regulatoren.

LED-indikatoren vil lyse hvis reléet er aktivert og slås av når reléet er deaktivert.

Dioden IN4007 vil absorbere høyspenningspike som oppstår mens reléet slås på og av.

Vannstrømningssensoren er koblet til A0-pinnen av Arduino, 5V og GND fra Arduino-kortet.

Program for GSM-basert 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)
}
}

// ---------------- Program utviklet av R.Girish ------------ //

Du må plassere koden med mottakerens 10-sifrede mobiltelefonnummer.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Erstatt x med mobilnummer

Du må plassere mobilnummeret på slike 5 steder i koden.

SMS-kommandoer:

· SMSen din må alltid starte med “/” og slutte med “/”

· / Motor på / for aktivering av motoren.

· / Motor av / for deaktivering av motoren.

· / Test / for testing av kretsen.

Her er den testede SMS-en mens du prototyper:

testet SMS mens prototyping

Følgende ting kan vi observere fra skjermbildet:

· Først slås motoren på og kretsen bekreftes med et svar.

· Motoren er deaktivert og kretsen bekreftes med et svar.

· Motoren er igjen aktivert og koblet ut sensoren for å simulere tørrkjøringssituasjon. Kretsen slår av pumpen og svarte med kvittering for tørrkjøring av pumpen.

· Endelig har en test-SMS sendt og kretsen svarte med “Systemet fungerer fint”.

Jeg vil foreslå at du installerer vannstrømningssensoren etter noen meter etter vannpumpen.

Det avslutter den GSM-baserte tørrkjøringspumpen.

La oss ta en titt på enkel vannpumpe tørrløpsvern uten GSM, dette kan være det enkleste av de to.

Kretsdiagram:

SMS-basert pumpekontroll med automatisk tørrkjøring

Ingenting mye om å forklare her, bare koble opp i henhold til skjematisk. Strømforsyningen kan være en 9V veggadapter med minst 500 mA eller strømforsyningen som er illustrert i den GSM-baserte kontrollskjemaet.

Trykknappen er gitt for å slå pumpen av og på.

Når du trykker på knappen for å slå på pumpen, venter kretsen til 20 sekunder for å oppdage vannstrømmen. I løpet av den tiden er trykknappen deaktivert i 20 sekunder.

Etter de første 20 sekundene er trykknappen aktivert, og du kan slå AV pumpen manuelt ved å trykke på trykknappen igjen.

Hvis det oppdages vannstrøm, holder kretsen pumpen PÅ etter 20 sekunder, ellers kutter kretsen strømforsyningen til motoren. Også kretsen kan kutte forsyningen når som helst, hvis ingen vannstrøm oppdages.

Hvis kretsen slås av på grunn av tørrkjøring, blinker LED raskt.

Program for enkel pumpe tørrkjøringsvern:

//--------------------------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------------------------//

Det avslutter begge designene.

Hvis du har noen spesifikke spørsmål angående denne SMS-baserte pumpekontrolleren med automatisk tørkekrets, vennligst uttrykk i kommentarseksjonen, du kan få et raskt svar.




Forrige: 4 enkle nærhetssensorkretser - ved bruk av IC LM358, IC LM567, IC 555 Neste: Inkubator ved hjelp av Arduino med automatisk temperatur- og fuktighetskontroll