GSM Pump Motor Controller Circuit ved hjelp av Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget skal vi lage en bondevennlig krets for GSM-pumpekontrollere som kan
slå på og av vanningsanlegget eksternt hvor som helst i verden via mobiltelefon-SMS og returner deg med en bekreftelsesmelding. Ideen ble bedt om av Mr. PG Ragavandir.

Designet

Landbruk er en av de største industriene i India som serverer mat til mer enn en milliard mennesker hvert år. Å produsere store mengder mat er aldri en enkel oppgave. Vanning er en av faktorene.



Det meste av jordbrukerens avlingsfelt ligger langt fra deres bolig, bare å slå på vannpumpen koster enormt for transporten per år.

India er kjent for IT-ferdigheter og romprogrammer og nådde mars mindre enn kostnadene for filmen 'Gravity', dette betyr det store potensialet blant ingeniører og forskere. Men ferdighetene er ikke jevnt fordelt på forskjellige felt landbruket er et av felt der teknologisk utvikling er treg.



Denne SMS-baserte GSM-pumpemotorkontrolleren tar et babysteg mot landbruksutvikling , dette er kanskje ikke et revolusjonerende prosjekt, men det kan gi glede blant landbrukere.

La oss dykke ned i den tekniske delen av prosjektet.

Prosjektet er designet med minimale maskinvarekomponenter, slik at en nybegynner enkelt kan oppnå det.
Kretsen består av strømforsyning, som driver hele oppsettet.

Arduino er hjernen til prosjektet som tar beslutninger og GSM-modem som sender og mottar tekst-SMS og kommuniserer med brukeren og reléet som styrer motoren.

Hvordan det fungerer

GSM Pump Motor Controller Circuit ved hjelp av Arduino

Merk: Bruk minst 10K motstand ved bunnen av BC548-transistoren, 330 ohm er for lav.

De trappetrinn 230VAC til 12VAC og bridge-likeretter konverterer vekselstrøm til likestrøm, og strømmen går gjennom en elektrolytisk kondensator for å glatte strømforsyningen.

En fast 12V spenningsregulator gir kraft til arduino, GSM-modem og relé. De GSM-modem er koblet til arduino på pin # 0 og pin # 1, som er henholdsvis RX og TX.

RX av GSM er koblet til TX av arduino og TX av GSM er koblet til RX av arduino. Hvis du er forvirret, er det bare å se på diagrammet nedenfor, feilkobling vil ikke sende eller motta SMS.

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

Jordforbindelse er også etablert mellom arduino og GSM-modem.

Prøv å få en mannlig jack-strømkontakt for GSM og arduino, hvis ikke bare lodd ledningene direkte fra strømforsyningen til arduino og GSM, noe som kan øke rotet i prosjektet.

Transistoren driver reléet og dioden beskytter kretsen mot høyspenningspiker mens den slår PÅ / AV.

De LED-indikator viser statusen til stafetten. Hvis LED-lampen lyser, er reléet aktivert og hvis LED-en er av, er reléet deaktivert.

Sett inn et gyldig SIM-kort på GSM-modemet, og prøv å dra nytte av tilbudene som nettverksleverandøren benytter for SMS, for eksempel takstkutter, noe som vil redusere utgiftene til SMS.

Programkode:

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

MERKNAD 1: Mens du kompilerer programmet viser det en advarsel som du kan ignorere det. Programmet er verifisert og testet.

MERKNAD 2: Fjern TX- og RX-tilkobling fra arduino mens du laster opp koden.

MERKNAD 3: Erstatt “xxxxxxxxxxxxx” med mottakerens telefonnummer fire steder i programmet.

MERKNAD 4: Vennligst kjøp et GSM-modem uten av / på-knapp i modulen i tilfelle strømbrudd, det vil ikke feste seg i mobilnettverket med mindre du trykker manuelt på knappen, så unngå en slik type GSM-modemer. GSM-modemet uten på-knapp vil låses inn i mobilnettverket direkte etter at strømmen har blitt beholdt.

Forfatterens prototype av GSM Pump Motor Controller Circuit:

Slik bruker du oppsettet ovenfor:

• Send / motor på / SMS fra mobiltelefonen for å aktivere reléet.

• Send / motor av / SMS for å deaktivere reléet.

• Send / test / SMS for å teste responsen fra kretsen.

Forsikre deg om at du starter kommandoen med ”/” og slutter med “/”, ellers godtar den ikke som gyldig forespørsel.

• / motor på / vil slå PÅ reléet og returnere med en bekreftelses-SMS 'Motor aktivert.'

• / motor av / vil slå av reléet og returnere med en bekreftelses-SMS 'Motor deaktivert.'

• Hvis du sender / tester / kommer den tilbake med en bekreftelses-SMS 'Systemet fungerer bra.'

• Ovennevnte melding betyr at oppsettet ditt fungerer bra.

• Hvis ingen bekreftelse returneres til deg, kan du anta at det ikke er noen handling foran motoren, og du kan feilsøke problemene.

• Etter at du har slått på oppsettet, vent på 1 minutt systemet vil sende en bekreftelses-SMS “Systemet er klart til å godta kommandoer.” Når du har mottatt denne SMSen, er prosjektet ditt klart til å vises.

Ovennevnte kommandoer er idiotsikre og utløser aldri motoren feilaktig. Oppsettet vil ikke svare på andre SMS enn de ovennevnte anbefaler.

Forbedring av konseptet ovenfor

Dette ovenfor GSM pumpe applikasjonskrets tiltrukket mange lesere, og vi har mottatt mange spørsmål og forslag. En av de ivrige leserne på dette nettstedet Mr.Gandhi foreslo en god forbedring av den tidligere designen.

SMS-bekreftelse når motoren faktisk er PÅ

Forbedringen handler om tilbakekallingsbekreftelse, der brukeren vil motta et SMS-svar i mobiltelefonen fra GSM pumpestyringssystem når en bruker sender en gyldig SMS-kommentar.

Det eksisterende designet sender en bekreftelses-SMS til brukeren uavhengig av den aktuelle tilstanden til reléet, dvs. PÅ / AV.

Den nye designendringen foreslått av Mr.Gandhi sjekker tilstanden til stafetten om reléet er fysisk slått til eller ikke.

Endringen i henhold til dette nye GSM-vannet pumpe kontroller design kan implementeres i det forrige designet uten mye problemer ved å legge til et tilbakemeldingssystem som vist i skjemaet og laste opp den nye koden.

Kretsdiagram:

Når vi sender SMS-kommandoen “/ MOTOR ON /”, går pin nr. 9 høyt og utløser reléet PÅ. Hvis reléet kobler til felles- og N / O-pinner, starter pumpen og slår også PÅ transformatoren som vil gi +5 ved utgangen.

+ 5V-signalet mates til pin nr. 7 som vil bekrefte og returnere med en bekreftelse 'Motor aktivert'.

Når vi sender “/ MOTOR OFF /” blir pinnen nr. 9 LAV og reléet kobler fra de vanlige og N / O-pinnene, dette vil slå av pumpen så vel som den tilkoblede transformatoren. Utgangen på pinne nr. 7 går LAV og kommer tilbake med en bekreftelse 'Motor deaktivert'.

Hvis ingen bekreftelse SMS mottas i mobiltelefonen din , kan vi bekrefte at det ikke ble gjort noe, og pumpen er i sist forespurte tilstand. Du kan gå til nettstedet og feilsøke eller ingen bekreftelse mottas på grunn av strømbrudd.

Programkode:

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

Ovennevnte implementering er ikke praktisk testet, men forfatteren er prosent prosent sikker på at ideen ovenfor vil fungere. Hvis leserne fant noen problemer med ovennevnte forbedring, kan de uttrykke seg gjennom kommentarseksjonen.

Deleliste

1) Transformator trapper ned 12-0V
2) Dioder IN4007 x5
3) LM7812 x1
4) Relé 12V x1
5) BC548 Transistor x1
6) Elektrolytkondensator 1000uF x1
7) GSM-modul: SIM 800 eller SIM 900-modell
8) 330 ohm motstand x2
9) LED RØD / GRØNN x1
10) Arduino Uno eller Arduino nano eller Arduino Mega
11) DC hannkontakt x2

Videoklipp:

Integrering med 3-fasemotorer

Jeg har mottatt mange forespørsler om å oppgradere reléet for den ovennevnte designen, slik at den blir kompatibel for drift av 3-fasemotorer ved hjelp av GSM-mobiltelefonkommandoer.

Derfor bestemte jeg meg for å designe den nødvendige kretsen som vil forhåpentligvis være i stand til å slå PÅ og slå AV en gitt 3-faset motor med den typiske start- og stoppkontaktormekanismen.

Følgende figur viser hvordan du konfigurerer designet ved hjelp av en IC 4017-krets.

GSM 3-faset motorstyring ekstern mobiltelefon

MERK: Verdiene 100uF / 10K, 220uF og 47K kan trenge noen justeringer for å sikre riktig forsinkelse for de respektive transistorer og relétrinn.




Forrige: Innbruddsposisjonsindikator Sikkerhetskrets Neste: Fjernstyrt sollyslampeintensitetskontrollkrets