Vezje krmilnika motorja črpalke GSM z uporabo Arduina

Preizkusite Naš Instrument Za Odpravo Težav





V tem prispevku bomo zgradili kmetu prijazno vezje krmilnika motorja črpalke GSM, ki bi lahko
vklopite in izklopite namakalni sistem na daljavo od kjer koli na svetu prek SMS-a za mobilni telefon in vam vrnite sporočilo s potrditvijo. Idejo je zahteval gospod PG Ragavandir.

Dizajn

Kmetijstvo je ena največjih industrijskih panog v Indiji, ki vsako leto postreže s hrano za več kot milijardo ljudi. Pridelava velike količine hrane ni nikoli lahka naloga namakanje je eden od dejavnikov.



Večina poljščin kmetovalcev leži daleč od njihovega bivališča, samo vklop vodne črpalke stane ogromen letni prevoz.

Indija je znana po IT-spretnostih in vesoljskih programih, dosegla pa je manj kot stane film 'Gravitacija', kar pomeni velik potencial inženirjev in znanstvenikov. Toda spretnosti niso enakomerno porazdeljene na različnih področjih. Kmetijstvo je eno od področij, kjer je tehnološki razvoj počasen.



Ta krmilnik motorja črpalke GSM na osnovi SMS-a naredi dojenčkov korak razvoj kmetijstva , to morda ni revolucionaren projekt, lahko pa bo navdušil kmetijce.

Potopimo se v tehnični del projekta.

Projekt je zasnovan z minimalnimi komponentami strojne opreme, tako da ga lahko začetnik z lahkoto uresniči.
Vezje je sestavljeno iz napajalnika, ki napaja celotno nastavitev.

Arduino so možgani projekta, ki sprejemajo odločitve, in modem GSM, ki pošilja in prejema besedilna sporočila SMS ter komunicira z uporabnikom in relejem, ki nadzoruje motor.

Kako deluje

Vezje krmilnika motorja črpalke GSM z uporabo Arduina

Opomba: Prosimo, uporabite vsaj 10K upor na dnu tranzistorja BC548, 330 ohmov je prenizek.

The transformator stopite navzdol 230VAC do 12VAC in mostični usmernik pretvorijo AC v enosmerni tok in tok prehaja skozi elektrolitski kondenzator, da se gladi napajanje.

Fiksno 12V napetostni regulator daje moč arduinu, GSM modemu in releju. The GSM modem je povezan z arduino na nožici št. 0 in št. 1, ki sta RX oziroma TX.

RX GSM je povezan s TX arduino in TX GSM je povezan z RX arduino. Če ste zmedeni, si oglejte spodnji diagram, napačna povezava ne bo pošiljala ali prejemala sporočil SMS.

ARDUINO TX ---------------------- RX GSM modem
RX ---------------------- TX

Povezava med tlemi in tlemi je vzpostavljena tudi med arduino in modemom GSM.

Poskusite dobiti moški priključek za napajanje za GSM in arduino, če ne le spajkate žice neposredno z napajalnika na arduino in GSM, kar bi lahko povečalo nered v projektu.

Tranzistor poganja rele, dioda pa med vklopom / izklopom releja ščiti pred visokonapetostnimi konicami.

The LED indikator prikazuje stanje releja. Če LED sveti aktiviran rele in če LED ne sveti, se rele deaktivira.

V modem GSM vstavite veljavno kartico SIM in poskusite izkoristiti ponudbe, ki jih ponudnik omrežja uporablja za sporočila SMS, na primer rezalnike, kar bo zmanjšalo stroške za sporočila SMS.

Koda programa:

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

OPOMBA 1: Med sestavljanjem programa se prikaže opozorilo, ki ga lahko prezrete. Program je preverjen in preizkušen.

OPOMBA 2: Med nalaganjem kode odstranite povezavo TX in RX z arduina.

OPOMBA 3: »xxxxxxxxxxxxx« zamenjajte s telefonsko številko prejemnika na 4 mestih v programu.

OPOMBA 4: V primeru izpada električne energije v modulu kupite modem GSM brez gumba za vklop, če se ročno ne pritisnete na gumb, zato se izogibajte takim vrstam modemov GSM. GSM modem brez gumb za prižig se bo zataknilo v mobilno omrežje takoj po ohranitvi napajanja.

Avtorski prototip vezja krmilnika motorja črpalke GSM:

Kako uporabiti zgornjo nastavitev:

• Pošljite / vklopite / SMS s svojega mobilnega telefona, da aktivirate rele.

• Pošlji / izklopi motor / SMS za izklop releja.

• Pošlji / preizkus / SMS za preizkušanje odziva iz vezja.

Prepričajte se, da ste ukaz začeli z “/” in končali z “/”, sicer ne bo sprejel kot veljavne zahteve.

• / motor on / vklopi rele in se vrne s potrditvenim SMS-om “Motor Activated”.

• / motor off / izklopi rele in se vrne s potrditvenim SMS-om »Motor izključen«.

• Če pošljete / preizkusite / se vrne s potrditvenim SMS-om 'Sistem deluje v redu.'

• Zgornje sporočilo pomeni, da vaša namestitev deluje dobro.

• Če vam ni vrnjeno nobeno potrdilo, lahko domnevate, da na motorju ni nobenega dejanja in lahko težave odpravite.

• Po vklopu nastavitve počakajte 1 minuto sistem bo poslal potrditveno sporočilo SMS 'Sistem je pripravljen za sprejemanje ukazov.' ko prejmete ta SMS, je vaš projekt pripravljen za uporabo.

Zgornji ukazi so varni in motorja nikoli ne sprožijo napačno, namestitev ne bo odgovorila na nobeno sporočilo SMS, razen zgoraj določenih priporočil.

Izboljšanje zgornjega koncepta

To zgornje vezje za uporabo črpalke GSM je pritegnilo veliko bralcev in prejeli smo številne poizvedbe in predloge. Eden od navdušenih bralcev te spletne strani g. Gandhi je predlagal dobro izboljšanje predhodne zasnove.

SMS potrditev, ko je motor dejansko vklopljen

Izboljšanje zadeva potrditev vrnitve, kjer bo uporabnik na svoj mobilni telefon od GSM prejel SMS-odgovor sistem krmilnika črpalke ko uporabnik pošlje veljaven komentar SMS.

Obstoječa zasnova uporabniku pošlje SMS s potrditvijo neodvisno od dejanskega stanja releja, tj.VKLOP / IZKLOP.

Nova sprememba zasnove, ki jo je predlagal g. Gandhi, preverja stanje releja, ali je rele fizično preklopljen v svoje stanje ali ne.

Sprememba v skladu s to novo GSM vodo zasnova krmilnika črpalke je mogoče brez večjih težav implementirati v prejšnjo zasnovo, tako da dodate sistem povratnih informacij, kot je prikazano v shemi, in naložite novo kodo.

Shema vezja:

Ko pošljemo SMS ukaz »/ MOTOR ON /«, se zatič št. 9 dvigne in sproži rele. Če rele poveže skupni in N / O zatič, se črpalka zažene in vklopi tudi transformator, ki bo na izhodu dal +5.

Signal + 5V se napaja na zatič # 7, ki bo potrdil in se vrnil s potrditvijo 'Motor aktiviran'.

Ko pošljemo »/ MOTOR OFF /« zatič št. 9 postane NIZKO in rele odklopi skupni in N / O zatič, to izklopi črpalko in priključen transformator. Izhod na zatiču št. 7 gre NIZKO in se vrne s potrditvijo 'Motor deaktiviran'.

Če potrdila ni SMS je prejet v vaš mobilni telefon , lahko potrdimo, da ni bil izveden noben postopek in je črpalka v zadnjem zahtevanem stanju, lahko obiščete spletno mesto in odpravite težave ali potrditev ni prejeta zaradi izpada električne energije.

Koda programa:

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

Zgornja izvedba sicer ni praktično preizkušena, avtor pa je stoodstotno prepričan, da bo zgornja ideja delovala. Če so bralci odkrili kakršne koli težave z zgornjim izboljšanjem, lahko to izrazijo v komentarju.

Seznam delov

1) Transformator se zniža za 12-0V
2) Diode IN4007 x5
3) LM7812 x1
4) Rele 12V x1
5) BC548 tranzistor x1
6) Elektrolitski kondenzator 1000uF x1
7) GSM modul: model SIM 800 ali SIM 900
8) 330 ohmov upor x2
9) LED RDEČA / ZELENA x1
10) Arduino Uno ali Arduino nano ali Arduino Mega
11) DC vtič x2

Video posnetek:

Integriranje s 3-faznimi motorji

Prejel sem veliko prošenj za nadgradnjo stopnje releja za zgornjo zasnovo, tako da postane združljiv za upravljanje 3-faznih motorjev z uporabo ukazov za mobilni telefon GSM.

Zato sem se odločil za oblikovanje zahtevanega vezja, ki bo upam biti sposoben vklopiti in izklopiti dane trifazne motorje s tipičnim vklopnim in izklopnim kontaktorskim mehanizmom.

Naslednja slika prikazuje, kako konfigurirati zasnovo z vezjem IC 4017.

GSM 3-fazni krmilnik motorja na daljavo mobilni telefon

OPOMBA: Vrednosti 100uF / 10K in 220uF in 47K bodo morda potrebovale nekatere prilagoditve, da se zagotovi ustrezna zakasnitev za posamezne stopnje tranzistorjev in relejev.




Prejšnja: Varnostno vezje kazalnika položaja vsiljivca Naprej: Vezje krmilnika intenzivnosti sončne žarnice na daljinsko upravljanje