GSM siurblio variklio valdiklio grandinė naudojant „Arduino“

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šiame įraše mes sukursime ūkininkams patogią GSM siurblio variklio valdiklio grandinę, kuri galėtų
įjunkite ir išjunkite drėkinimo sistemą nuotoliniu būdu iš bet kurios pasaulio vietos naudodamiesi mobiliųjų telefonų SMS žinutėmis ir grąžindami jums patvirtinimo pranešimą. Idėjos paprašė PG Ragavandiras.

Dizainas

Žemės ūkis yra viena didžiausių Indijos pramonės šakų, kasmet patiekianti maistą daugiau nei milijardui žmonių. Didelio maisto kiekio gamyba niekada nėra lengva užduotis. Drėkinimas yra vienas iš veiksnių.



Dauguma žemės ūkio specialistų pasėlių yra toli nuo jų gyvenamosios vietos, tik įjungus vandens siurblį, jų transportavimas per metus kainuoja labai daug.

Indija yra žinoma dėl IT įgūdžių ir kosminių programų ir pasiekė pigesnę nei filmo „Gravitacija“ kainą, tai reiškia didžiulį inžinierių ir mokslininkų potencialą. Tačiau įgūdžiai nevienodai paskirstomi įvairiose srityse. Žemės ūkis yra viena iš sričių, kur technologinė plėtra yra lėta.



Šis SMS pagrindu sukurtas GSM siurblio variklio valdiklis žengia kūdikį žemės ūkio plėtra , tai gali būti ne revoliucinis projektas, bet tai gali pradžiuginti žemės ūkio specialistus.

Pasinerkime į techninę projekto dalį.

Projektas sukurtas su minimaliais aparatūros komponentais, kad pradedantysis galėtų tai lengvai įgyvendinti.
Grandinę sudaro maitinimo šaltinis, kuris maitina visą sąranką.

„Arduino“ yra projekto smegenys, priimančios sprendimus ir GSM modemą, kuris siunčia ir priima SMS žinutes bei bendrauja su vartotoju ir relę, valdančia variklį.

Kaip tai veikia

GSM siurblio variklio valdiklio grandinė naudojant „Arduino“

Pastaba: BC548 tranzistoriaus pagrinde naudokite mažiausiai 10K rezistorių, 330 omų per mažai.

The transformatorius pasitraukia nuo 230VAC iki 12VAC ir tiltinis lygintuvas paverčia kintamą srovę į nuolatinę srovę, o srovė praeina per elektrolitinį kondensatorių, kad išlygintų maitinimą.

Fiksuotas 12 V įtampos reguliatorius suteikia galią „arduino“, GSM modemui ir relei. The GSM modemas yra prijungtas prie „arduino“ prie kaiščių Nr. 0 ir kaiščių Nr. 1, kurie yra atitinkamai RX ir TX.

GSM RX yra prijungtas prie „arduino“ TX, o „GSM“ TX yra prijungtas prie „arduino“ RX. Jei esate sutrikęs, tiesiog pažiūrėkite į žemiau pateiktą schemą, netinkamas ryšys nesiųs ir negaus SMS.

ARDUINO TX ---------------------- RX GSM modemas
RX ---------------------- TX

Tarp „arduino“ ir GSM modemo taip pat užmegztas antžeminis ryšys.

Pabandykite įsigyti vyrišką lizdo maitinimo jungtį GSM ir „arduino“, jei ne tik lituokite laidus tiesiai iš maitinimo šaltinio į „arduino“ ir „GSM“, o tai gali padidinti netvarką projekte.

Tranzistorius valdo relę, o diodas apsaugo grandinę nuo aukštos įtampos šuolių, įjungdamas / išjungdamas relę.

The LED indikatorius rodo relės būseną. Jei šviesos diodas šviečia įjungta relė ir jei šviesos diodas nedega, relė išjungiama.

Įdėkite galiojančią SIM kortelę į GSM modemą ir pabandykite pasinaudoti tinklo teikėjo pasiūlymais naudotis SMS, pvz., Tarifų mažinimo priemonėmis, o tai sumažins SMS žinučių išlaidas.

Programos kodas:

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

1 PASTABA: Kompiliuojant programą rodomas įspėjimas, kurio galite nepaisyti. Programa yra patikrinta ir išbandyta.

2 PASTABA: Įkeldami kodą, pašalinkite TX ir RX ryšį iš „arduino“.

3 PASTABA: „xxxxxxxxxxxxx“ pakeiskite gavėjo telefono numeriu 4-iose programos vietose.

4 PASTABA: Prašome įsigyti modemą be maitinimo mygtuko modulyje, jei nutrūktų elektros energija, jis nebus užfiksuotas mobiliajame tinkle, nebent paspausite rankiniu būdu, todėl venkite tokio tipo GSM modemų. GSM modemas be Įjungimo mygtukas prisijungs prie mobiliojo ryšio tinklo iškart po to, kai energija išliks.

Autoriaus GSM siurblio variklio valdiklio grandinės prototipas:

Kaip naudoti aukščiau pateiktą sąranką:

• Siųskite / įjunkite / SMS iš savo mobiliojo telefono, kad įjungtumėte relę.

• Siųsti / išjungti variklį / SMS, norint išjungti relę.

• Siųsti / testuoti / SMS patikrinti atsakymą iš grandinės.

Įsitikinkite, kad komandą pradėjote „/“ ir baigiate „/“, kitaip ji nebus priimta kaip galiojanti užklausa.

• / variklis įsijungia / įjungs relę ir grįš patvirtinimo SMS žinute „Įjungtas variklis“.

/ / Variklis išjungs / išjungs relę ir grįš patvirtinimo SMS žinute „Variklis išjungtas“.

• Jei siunčiate / bandote / jis grįš patvirtinimo SMS žinute „Sistema veikia gerai“.

• Ankstesnis pranešimas reiškia, kad jūsų sąranka veikia gerai.

• Jei patvirtinimas negrąžinamas, galite manyti, kad varikliui nebuvo atlikta jokių veiksmų ir galite išspręsti problemas.

• Įjungę sąranką ON palaukite 1 minutę sistema išsiųs patvirtinimo SMS žinutę „Sistema yra pasirengusi priimti komandas“. kai gausite šią SMS, jūsų projektas bus paruoštas.

Aukščiau nurodytos komandos yra neprotingos ir niekada nesukelia variklio klaidingai. Sąranka neatsakys į jokias kitas SMS žinutes, išskyrus aukščiau nurodytas rekomendacijas.

Patobulinti minėtą koncepciją

Ši aukščiau pateikta GSM siurblio taikymo grandinė pritraukė daug skaitytojų, ir mes gavome daugybę užklausų ir pasiūlymų. Vienas iš aistringų šios svetainės skaitytojų Mr.Gandhi pasiūlė gerai patobulinti ankstesnį dizainą.

SMS patvirtinimas, kai faktiškai įjungtas variklis

Patobulinimas yra susijęs su grąžinimo patvirtinimu, kai vartotojas iš savo mobiliojo telefono gaus SMS atsakymą iš GSM siurblio valdiklio sistema kai vartotojas atsiunčia galiojantį SMS komentarą.

Esamas dizainas siunčia patvirtinimo SMS vartotojui nepriklausomai nuo faktinės relės būsenos, ty ON / OFF.

Naujas dizaino pakeitimas, kurį pasiūlė Mr.Gandhi, tikrina relės būseną, ar relė yra fiziškai perjungta į savo būseną, ar ne.

Pokytis pagal šį naują GSM vandenį siurblio valdiklio dizainas gali būti įgyvendintas pagal ankstesnį dizainą be didelių rūpesčių, pridedant grįžtamojo ryšio sistemą, kaip parodyta schemoje, ir įkeliant naują kodą.

Grandinės schema:

Kai siunčiame SMS komandą „/ MOTOR ON /“, kaištis Nr. 9 eina aukštai ir įjungia relę. Jei relė sujungia bendrą ir N / O kaiščius, siurblys įsijungia ir įjungia transformatorių, kuris išėjime duos +5.

+ 5 V signalas tiekiamas į kaištį Nr. 7, kuris patvirtins ir grįš patvirtindamas „Įjungtas variklis“.

Kai išsiųsime „/ MOTOR OFF /“, kaištis Nr. 9 pasisuka LOW ir relė atjungia įprastus ir N / O kaiščius, tai išjungs siurblį ir prijungtą transformatorių. Išvesties kaištis Nr. 7 eina LOW ir grįžta su patvirtinimu „Variklis išjungtas“.

Jei nėra patvirtinimo SMS žinutės gaunamos jūsų mobiliajame telefone , galime patvirtinti, kad nebuvo imtasi jokių veiksmų ir siurblys yra paskutinėje prašomoje būsenoje. Galite eiti į svetainę ir pašalinti triktis arba negavote patvirtinimo dėl elektros energijos tiekimo nutraukimo.

Programos kodas:

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

Aukščiau pateiktas įgyvendinimas nėra praktiškai išbandytas, tačiau autorius yra procentais įsitikinęs, kad aukščiau pateikta idėja veiks. Jei skaitytojai rado kokių nors problemų, susijusių su aukščiau pateiktu patobulinimu, galite išsakyti komentarų skyriuje.

Dalių sąrašas

1) Transformatorius nusileidžia 12-0V
2) Diodai IN4007 x5
3) LM7812 x1
4) relė 12V x1
5) BC548 tranzistorius x1
6) elektrolitinis kondensatorius 1000uF x1
7) GSM modulis: SIM 800 arba SIM 900 modelis
8) 330 omų rezistorius x2
9) LED RED / GREEN x1
10) „Arduino Uno“ arba „Arduino nano“ arba „Arduino Mega“
11) DC lizdo lizdas x2

Vaizdo įrašas:

Integracija su 3 fazių varikliais

Gavau daug prašymų atnaujinti pirmiau minėto dizaino relės pakopą, kad ji taptų suderinama veikiant 3 fazių varikliams naudojant GSM mobiliojo telefono komandas.

Todėl nusprendžiau sukurti reikiamą grandinę, kuri bus tikiuosi sugebėti įjungti ir išjungti tam tikrus 3 fazių variklius, turinčius tipinį paleidimo ir sustabdymo kontaktoriaus mechanizmą.

Šiame paveikslėlyje parodyta, kaip sukonfigūruoti dizainą naudojant IC 4017 grandinę.

GSM 3 fazių variklio valdiklio nuotolinis mobilusis telefonas

PASTABA: 100uF / 10K, 220uF ir 47K reikšmes gali tekti šiek tiek pakoreguoti, kad būtų užtikrintas teisingas atitinkamų tranzistorių ir relių pakopų vėlavimo dydis.




Pora: Įsibrovėlio padėties indikatoriaus apsaugos grandinė Kitas: Nuotolinio valdymo saulės lempos intensyvumo valdiklio grandinė