SMS kontroler pumpe s automatskim isključivanjem na suho

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo postu izraditi SMS-ov kontroler pumpe za vodu s automatskim isključivanjem pumpe kada se ne otkrije protok vode kroz pumpu. Također ćemo u sljedećoj polovici članka izraditi još jedan puno jednostavniji automatski sklop preventivnog suhog rada bez GSM-a.

Što je suho pokretanje u motorima

Već smo razgovarali o GSM kontroler pumpe na ovoj web stranici provjerite ako još niste. Ovdje dodajemo dodatnu značajku na postojeći dizajn, koja će spriječiti motor da radi na suho.



Suho trčanje znači pokretanje pumpe za vodu bez protoka tekućine. Posljedica može biti servisna šteta do neoštećene štete, ovisno o tome koliko je dugo motor radio bez pumpanja vode i kvaliteti vodene pumpe.

Da, pumpe za vodu nisu jeftine, a ako ste poljoprivrednik koji svakodnevno navodnjavate polje, mali problem s pumpom za vodu može vas dovesti u ekonomski gubitak.



Održavanje pumpe može potrajati neko vrijeme i novac, pa je bolje slijediti poznati slogan 'prevencija je bolja od liječenja'.

Motor na suho je vrlo čest problem, kada kroz pumpu nema dovoljno vode koja će proći zagrijavanjem mehaničkih i električnih komponenata.

U jednom će se trenutku mehaničke komponente početi topiti, a također mogu uzrokovati kratki spoj.

Takva katastrofa može se spriječiti pomoću kruga predloženog u ovom projektu.

Da bismo otkrili protok vode, mi smo koristeći senzor protoka vode YF-S201 . Kad senzor ne otkrije protok vode, on isključuje napajanje vodene pumpe i primatelju šalje SMS potvrdu o isključenju suhog rada.

Ovim upravljanjem temeljenim na GSM-u možete uključiti i isključiti crpku, a također krug potvrđuje problem suhog rada crpke.

Krug za upravljanje pumpom na bazi SMS-a:

Krug za upravljanje pumpom na bazi SMS-a:

Krug se sastoji od pretvarača izmjeničnog u istosmjerni struju koji koristi 9V transformator, mostovskog ispravljača, kondenzatora za zaglađivanje od 1000 uF i regulatora 9V LM7809. Za napajanje Arduino ploče i SIM 800 / SIM 900 GSM modula predviđena su dva DC priključka.

Nikada nemojte napajati GSM modul s 5V pinom Arduina na 5V pinom GSM modula jer Arduino ploča ne može pružiti dovoljno struje.

Povezanost između Arduino i GSM modul kako slijedi:

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

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

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

Glavno napajanje osigurava regulator LM 7809.

LED indikator će svijetliti ako je relej aktiviran i isključuje se kada je relej deaktiviran.

Dioda IN4007 apsorbirat će visokonaponski skok koji se javlja tijekom uključivanja i isključivanja releja.

Osjetnik protoka vode spojen je na A0 pin Arduino, 5V i GND isporučen s Arduino ploče.

Program za dizajn temeljen na GSM-u:

//----------------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 razvio R.Girish ------------ //

Morate staviti kod s 10-znamenkastim brojem mobitela primatelja.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Zamijenite x brojem mobitela

Morate postaviti broj mobitela na takva 5 mjesta u kodu.

SMS naredbe:

· Vaš SMS uvijek mora počinjati s „/“ i završiti s „/“

· / Motor uključen / za aktiviranje motora.

· / Motor isključen / za deaktiviranje motora.

· / Test / za ispitivanje sklopa.

Evo testiranog SMS-a tijekom izrade prototipa:

testirani SMS tijekom izrade prototipa

Sljedeće stvari možemo primijetiti na snimci zaslona:

· Prvo se uključi motor i potvrdi krug s odgovorom.

· Motor se deaktivira i odgovor se potvrđuje u krugu.

· Ponovno se motor aktivira i isključuje senzor kako bi simulirao situaciju suhog rada, krug isključuje crpku i odgovara potvrdom suhog rada pumpe.

· Napokon je poslan testni SMS, a krug je odgovorio s 'Sustav radi u redu'.

Predložio bih ugradnju senzora protoka vode nakon nekoliko metara nakon pumpe za vodu.

To zaključuje GSM zaštitnik pumpe na bazi suhog rada.

Sada pogledajmo jednostavni preventivni uređaj za suho pokretanje pumpe za vodu bez GSM-a, ovo bi moglo biti lakše od njih dvoje.

Kružni dijagram:

SMS kontroler pumpe s automatskim isključivanjem na suho

Ovdje se neće ništa posebno objašnjavati, samo ožičite prema shemi. Napajanje može biti zidni adapter od 9 V s najmanje 500 mA ili napajanje prikazano u shemi upravljača temeljenom na GSM-u.

Tipka je predviđena za uključivanje i isključivanje pumpe.

Jednom kada pritisnete tipku za uključivanje crpke, krug u početku čeka 20 sekundi kako bi otkrio protok vode, a za to vrijeme tipka je onemogućena na 20 sekundi.

Nakon početnih 20 sekundi gumb je omogućen i crpku možete ručno ISKLJUČITI ponovnim pritiskom tipke.

Ako se otkrije protok vode, krug drži pumpu UKLJUČENU nakon 20 sekundi, inače krug prekida napajanje motora. Također krug može u bilo kojem trenutku prekinuti dovod ako nije otkriven protok vode.

Ako se krug isključi zbog suhog rada, LED trepće brzo.

Program za jednostavnu zaštitu od suhog rada pumpe:

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

To zaključuje oba dizajna.

Ako imate bilo kakvih specifičnih pitanja u vezi s ovim regulatorom pumpe temeljenim na SMS-u s automatskim krugom isključivanja na suho, molimo vas navedite u odjeljku za komentare, možda ćete dobiti brzi odgovor.




Prethodno: 4 jednostavna kruga senzora blizine - Korištenje IC LM358, IC LM567, IC 555 Dalje: Inkubator koji koristi Arduino s automatskom kontrolom temperature i vlage