GSM-pumpun moottorin ohjainpiiri Arduinolla

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa maanviljelijäystävällisen GSM-pumpun moottorin ohjainpiirin, joka voisi
Käynnistä ja sammuta kastelujärjestelmä etänä mistä päin maailmaa tahansa matkapuhelimen tekstiviestillä ja palauta sinulle kuittausviesti. Idean pyysi PG Ragavandir.

Muotoilu

Maatalous on yksi Intian suurimmista teollisuudenaloista, joka tarjoaa ruokaa yli miljardille ihmiselle vuosittain. Suuren määrän ruoan tuottaminen ei ole koskaan helppo tehtävä, kastelu on yksi tekijä.



Suurin osa maanviljelijän viljelysmaista sijaitsee kaukana asuinpaikastaan, ja vain vesipumpun kytkeminen päälle maksaa heidän kuljetuksestaan ​​valtavasti vuodessa.

Intia tunnetaan IT-taidoista ja avaruusohjelmista, ja se saavutti halvemman hinnan kuin 'Gravity' -elokuva, tämä tarkoittaa insinöörien ja tutkijoiden suurta potentiaalia. Mutta taidot eivät ole jakautuneet tasaisesti eri aloille. Maatalous on yksi aloista, jolla teknologinen kehitys on hidasta.



Tämä SMS-pohjainen GSM-pumpun ohjain ottaa vauvan askeleen kohti maatalouden kehittäminen , tämä ei välttämättä ole vallankumouksellinen projekti, mutta se voi olla ilahduttavaa maanviljelijöiden keskuudessa.

Sukelletaan projektin tekniseen osaan.

Projekti on suunniteltu mahdollisimman vähän laitteistokomponentteja, jotta aloittelija voi saavuttaa sen helposti.
Piiri koostuu virtalähteestä, joka käyttää koko asetusta.

Arduino on projektin aivot, jotka tekevät päätöksiä ja GSM-modeemi, joka lähettää ja vastaanottaa tekstiviestejä ja kommunikoi moottorin ohjaavan käyttäjän ja releen kanssa.

Kuinka se toimii

GSM-pumpun moottorin ohjainpiiri Arduinolla

Huomaa: Käytä vähintään 10K vastusta BC548-transistorin pohjassa, 330 ohmia on liian matala.

muuntaja astu alas 230 VAC - 12 VAC ja silta tasasuuntaaja muuntaa vaihtovirran tasavirraksi ja virta kulkee elektrolyyttikondensaattorin läpi virtalähteen tasoittamiseksi.

Kiinteä 12 V: n jännitesäädin antaa virtaa arduinolle, GSM-modeemille ja releelle. GSM-modeemi on kytketty arduinoon nastoilla 0 ja nasta 1, jotka ovat vastaavasti RX ja TX.

GSM: n RX on kytketty arduinon TX: hen ja GSM: n TX on kytketty arduinon RX: ään. Jos olet hämmentynyt, katso vain alla olevaa kaaviota, väärä yhteys ei lähetä tai vastaanota tekstiviestejä.

ARDUINO TX ---------------------- RX GSM-modeemi
RX ---------------------- TX

Maa-maa-yhteys on myös muodostettu arduino- ja GSM-modeemien välille.

Yritä hankkia urosliittimen virtaliitin GSM: lle ja arduinolle, ellei vain juota johdot suoraan virtalähteestä arduinoon ja GSM: ään, mikä saattaa lisätä projektin sotkua.

Transistori käyttää releä ja diodi suojaa virtapiiriä suurjännitepiikeiltä kytkemällä releen päälle / pois päältä.

LED-merkkivalo näyttää releen tilan. Jos LED palaa rele aktivoituna ja jos LED ei pala, rele deaktivoidaan.

Aseta voimassa oleva SIM-kortti GSM-modeemiin ja yritä hyödyntää verkon tarjoajan tarjoamia tekstiviestejä, kuten hinnanleikkureita, jotka vähentävät tekstiviestien kustannuksia.

Ohjelmakoodi:

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

HUOMAUTUS 1: Ohjelmaa laadittaessa se näyttää varoituksen, jonka voit ohittaa. Ohjelma on tarkistettu ja testattu.

HUOMAUTUS 2: Poista TX- ja RX-yhteys arduinosta koodia ladattaessa.

HUOMAUTUS 3: Korvaa 'xxxxxxxxxxxxx' vastaanottajan puhelinnumerolla 4 paikassa ohjelmassa.

HUOMAUTUS 4: Hanki moduulissa GSM-modeemi ilman virtapainiketta, jos sähkökatko tapahtuu, se ei tartu matkapuhelinverkkoon, ellet paina painiketta manuaalisesti. GSM-modeemi ilman virtanappi lukittuu matkaviestinverkkoon heti, kun virta on loppunut.

Tekijän prototyyppi GSM-pumpun moottorin ohjainpiiristä:

Kuinka käyttää yllä olevaa asetusta:

• Lähetä / moottori päällä / tekstiviesti matkapuhelimestasi releen aktivoimiseksi.

• Lähetä / moottori pois / tekstiviesti releen deaktivoimiseksi.

• Lähetä / testaa / tekstiviesti piirin vastauksen testaamiseksi.

Varmista, että aloitat komennon merkillä ”/” ja lopetat merkin ”/”, muuten se ei hyväksy kelvolliseksi pyynnöksi.

• / moottori käynnistyy / kytkee releen päälle ja palaa kuittausviestillä 'Motor Activated'.

• / moottori sammuu / kytkee releen pois päältä ja palaa kuittausviestillä 'Moottori deaktivoitu'.

• Jos lähetät / testaa / se palaa kuittausviestillä 'Järjestelmä toimii hyvin'.

• Yllä oleva viesti tarkoittaa, että asetukset toimivat hyvin.

• Jos kuittausta ei palauteta, voit olettaa, ettei moottorille ole tehty mitään toimia, ja voit tehdä vianmäärityksen.

• Odota, kun asetus on kytketty päälle 1 minuutti järjestelmä lähettää kuittaustekstiviestin 'Järjestelmä on valmis hyväksymään komennot'. kun saat tämän tekstiviestin, projektisi on valmis palvelemaan.

Yllä olevat komennot ovat huijauskestäviä eivätkä koskaan laukaise moottoria väärin, asennus ei vastaa mitään muita tekstiviestejä kuin yllä mainitut suositukset.

Edellä mainitun konseptin parantaminen

Tämä yllä oleva GSM-pumpun sovelluspiiri houkutteli paljon lukijoita, ja olemme saaneet paljon kyselyitä ja ehdotuksia. Yksi tämän sivuston innokkaista lukijoista Mr.Gandhi ehdotti hyvää parannusta aikaisempaan suunnitteluun.

SMS-kuittaus, kun moottori on todella PÄÄLLÄ

Parannus koskee palautuksen kuittausta, jossa käyttäjä saa SMS-vastauksen matkapuhelimeensa GSM: ltä pumpun ohjainjärjestelmä kun käyttäjä lähettää kelvollisen tekstiviestikommentin.

Olemassa oleva malli lähettää käyttäjälle kuittaustekstin riippumatta releen todellisesta tilasta, ts. PÄÄLLE / POIS.

Mr.Gandhin ehdottama uusi suunnittelumuutos tarkistaa releen tilan, onko rele fyysisesti kytketty tilaansa vai ei.

Muutos tämän uuden GSM-veden mukaan pumppuohjaimen suunnittelu voidaan toteuttaa edelliseen suunnitteluun ilman suurta vaivaa lisäämällä palautesysteemi kaavion mukaisesti ja lataamalla uusi koodi.

Piirikaavio:

Kun lähetämme tekstiviestikomennon “/ MOTOR ON /”, tappi # 9 nousee korkealle ja laukaisee releen ON. Jos rele yhdistää yhteisen ja N / O-nastat, pumppu käynnistyy ja käynnistää myös muuntajan, joka antaa +5 lähdössä.

+ 5 V -signaali syötetään napaan # 7, joka vahvistaa ja palaa kuittauksella 'Moottori aktivoitu'.

Kun lähetämme “/ MOTOR OFF /”, tappi # 9 kääntyy LOW-asentoon ja rele katkaisee tavallisen ja N / O-nastan, tämä sammuttaa pumpun ja liitetyn muuntaja. Napan # 7 lähtö menee LOW-tilaan ja palaa kuittauksella 'Moottori deaktivoitu'.

Jos ei kuittausta Tekstiviesti vastaanotetaan matkapuhelimeesi , voimme vahvistaa, että mitään ei toteutettu ja pumppu on viimeksi vaaditussa tilassa. Voit mennä sivustolle ja tehdä vianmäärityksen tai ei saada kuitata virtakatkoksen vuoksi.

Ohjelmakoodi:

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

Yllä olevaa toteutusta ei ole käytännössä testattu, mutta kirjoittaja on senttiinkin varma, että yllä oleva idea toimii. Jos lukijat havaitsivat ongelmia yllä olevan parannuksen kanssa, he voivat ilmaista kommenttiosan kautta.

Osa lista

1) Muuntaja astu alas 12-0V
2) Diodit IN4007 x5
3) LM7812 x1
4) Rele 12V x1
5) BC548-transistori x1
6) Elektrolyyttikondensaattori 1000uF x1
7) GSM-moduuli: SIM 800- tai SIM 900 -malli
8) 330 ohmin vastus x2
9) LED PUNAINEN / VIHREÄ x1
10) Arduino Uno tai Arduino nano tai Arduino Mega
11) DC-urosliitin x2

Videoleike:

Integroitu 3-vaihemoottoreihin

Olen saanut useita pyyntöjä päivittää yllä olevan mallin releet niin, että siitä tulee yhteensopiva kolmivaiheisten moottoreiden käyttämiseksi GSM-matkapuhelinkomentoja käyttäen.

Siksi päätin suunnitella vaaditun piirin, joka tulee Toivottavasti osaa kytkeä päälle ja pois päältä tietty 3-vaihemoottorit, joilla on tyypillinen käynnistys- ja pysäytyskontaktorimekanismi.

Seuraava kuva osoittaa, kuinka suunnittelu konfiguroidaan IC 4017 -piirillä.

GSM 3-vaihemoottoriohjaimen kauko-matkapuhelin

HUOMAUTUS: 100uF / 10K-, 220uF- ja 47K-arvot saattavat tarvita joitain säätöjä varmistaakseen oikean viiveen määrän vastaaville transistoreille ja releille.




Edellinen: Tunkeilijan sijainnin ilmaisimen suojapiiri Seuraava: Kauko-ohjattu aurinkolampun intensiteetin ohjainpiiri