Ovládač čerpadla na základe SMS s automatickým vypnutím chodu nasucho

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto príspevku sa chystáme skonštruovať ovládač vodného čerpadla na báze SMS s automatickým vypnutím čerpadla, keď nebude detekovaný žiadny prietok vody cez čerpadlo. V ďalšej polovici článku skonštruujeme aj ďalší, oveľa jednoduchší automatický obvod na zabránenie chodu na sucho bez GSM.

Čo je to chod nasucho v motoroch

Už sme diskutovali o Ovládač čerpadla na báze GSM na tomto webe skontrolujte, či ešte nie. Tu pridávame ďalšiu funkciu k existujúcemu dizajnu, ktorá zabráni chodu motora na sucho.



Beh na sucho znamená prevádzkovanie vodného čerpadla bez prietoku kvapaliny. Dôsledkom môže byť opraviteľné poškodenie, ktoré sa nedá opraviť v závislosti od toho, ako dlho bežal motor bez prečerpávania vody a od kvality vodného čerpadla.

Áno, vodné čerpadlá nie sú lacné a ak ste poľnohospodár, ktorý zavlažuje pole každý deň, potom malý problém s vodným čerpadlom môže spôsobiť hospodárske straty.



Oprava čerpadla môže trvať nejaký čas a peniaze, preto je lepšie riadiť sa známym sloganom „prevencia je lepšia ako liečba“.

Chod motora na sucho je veľmi častým problémom, keď nie je dostatočné množstvo vody, aby pretieklo čerpadlom, dôjde k prehriatiu mechanických aj elektrických súčastí.

V určitom okamihu sa mechanické komponenty začnú topiť a môžu tiež spôsobiť skrat.

Tejto katastrofe je možné zabrániť pomocou okruhu navrhnutého v tomto projekte.

Aby sme zistili tok vody, sme s využitím snímača prietoku vody YF-S201 . Ak snímač nezistí žiadny prietok vody, odpojí napájanie vodného čerpadla a odošle príjemcovi SMS správu o vypnutí chodu nasucho.

S týmto riadením založeným na GSM môžete zapínať a vypínať čerpadlo a tiež obvod potvrdzuje problém s chodom čerpadla na sucho.

Obvod pre riadenie čerpadla na základe SMS:

Obvod pre riadenie čerpadla na základe SMS:

Obvod sa skladá z prevodníka AC na DC pomocou transformátora 9V, mostíkového usmerňovača, vyhladzovacieho kondenzátora 1000 uF a regulátora LM7809 9V. Dva napájacie konektory DC sú určené na napájanie dosky Arduino a GSM modulu SIM 800 / SIM 900.

Nikdy nenapájajte GSM modul s 5V pinom Arduina na 5V pin GSM modulu, pretože doska Arduino nemôže poskytnúť dostatočný prúd.

Spojenie medzi Arduino a GSM modul nasledovne:

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

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

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

Hlavné napájanie zabezpečuje regulátor LM 7809.

LED indikátor bude svietiť, ak je relé aktivované, a zhasne, keď je relé deaktivované.

Dióda IN4007 bude absorbovať špičku vysokého napätia, ku ktorej dochádza pri zapínaní a vypínaní relé.

Senzor prietoku vody je pripojený k pinu A0 Arduina, 5 V a GND poskytnutému z dosky Arduino.

Program pre návrh založený na GSM:

//----------------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 vyvinutý R.Girishom ------------ //

Kód musíte zadať s 10-miestnym číslom mobilného telefónu príjemcu.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Nahraďte x číslom mobilného telefónu

Mobilné číslo musíte umiestniť na takých 5 miestach v kóde.

SMS príkazy:

· Vaša SMS musí vždy začínať „/“ a končiť „/“

· / Motor zapnutý / na aktiváciu motora.

· / Motor vypnutý / na deaktiváciu motora.

· / Test / na testovanie obvodu.

Tu je testovaná SMS pri prototypovaní:

testované SMS pri prototypovaní

Z obrazovky môžeme sledovať nasledujúce veci:

· Najskôr sa zapne motor a obvod sa potvrdí odpoveďou.

· Motor je deaktivovaný a okruh je potvrdený odpoveďou.

· Opäť sa aktivuje motor a odpojením snímača sa simuluje situácia chodu nasucho, okruh vypne čerpadlo a odpovie potvrdením chodu čerpadla na sucho.

· Nakoniec bola odoslaná testovacia SMS a okruh odpovedal „Systém funguje dobre“.

Navrhoval by som nainštalovať snímač prietoku vody po niekoľkých metroch od vodného čerpadla.

Tým sa uzatvára zábrana proti chodu čerpadla na báze GSM.

Poďme sa teraz pozrieť na jednoduchý zabraňovač suchého chodu vodného čerpadla bez GSM, čo by mohlo byť jednoduchšie z týchto dvoch riešení.

Schéma zapojenia:

Ovládač čerpadla na základe SMS s automatickým vypnutím chodu nasucho

Nie je tu veľa čo vysvetľovať, iba zapojte podľa schémy. Zdrojom energie môže byť 9V nástenný adaptér s najmenej 500 mA alebo zdroj, ktorý je znázornený na schéme radiča založenej na GSM.

Tlačidlo slúži na zapnutie a vypnutie čerpadla.

Akonáhle stlačíte tlačidlo na zapnutie čerpadla, okruh počká do 20 sekúnd pôvodne na detekciu prietoku vody, počas tejto doby je tlačidlo deaktivované na 20 sekúnd.

Po úvodných 20 sekundách je tlačidlo aktívne a môžete čerpadlo vypnúť manuálne opätovným stlačením tlačidla.

Ak je zistený prietok vody, okruh udržuje čerpadlo zapnuté po 20 sekundách, inak okruh preruší napájanie motora. Okruh môže tiež kedykoľvek prerušiť napájanie, ak nie je zistený žiadny prietok vody.

Ak sa okruh vypol kvôli chodu nasucho, LED rýchlo bliká.

Program pre jednoduchú prevenciu chodu čerpadla na sucho:

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

Tým sú oba vzory ukončené.

Ak máte ďalšie konkrétne otázky týkajúce sa tohto regulátora čerpadla na báze SMS s automatickým vypínacím obvodom chodu nasucho, vyjadrite sa v sekcii komentárov, môžete dostať rýchlu odpoveď.




Predchádzajúce: 4 obvody jednoduchého senzora priblíženia - pomocou IC LM358, IC LM567, IC 555 Ďalej: Inkubátor využívajúci Arduino s automatickou reguláciou teploty a vlhkosti