Circuit de controlador de motor de bomba GSM mitjançant Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest post anem a construir un circuit de controlador de motor de bomba GSM amigable per als agricultors que podria
enceneu i apagueu el sistema de reg remotament des de qualsevol lloc del món mitjançant SMS de mòbil i us retornarà un missatge de reconeixement. La idea va ser sol·licitada pel senyor PG Ragavandir.

El disseny

L’agricultura és una de les indústries més grans de l’Índia que serveix menjar a més de mil milions de persones cada any. Produir una gran quantitat d'aliments mai no és una tasca fàcil.



La majoria dels camps de cultiu de l’agricultor es troben lluny de la seva residència, només encendre la bomba d’aigua costa enormement transportar-los l’any.

L'Índia és coneguda per les seves habilitats informàtiques i els seus programes espacials i va arribar a un nivell inferior al cost de la pel·lícula 'Gravity', això significa el gran potencial entre enginyers i científics. Però, les habilitats no es distribueixen uniformement en diferents camps. L’agricultura és un dels camps on el desenvolupament tecnològic és lent.



Aquest controlador de motor de bomba GSM basat en SMS fa un pas cap al bebè desenvolupament agrícola , pot ser que aquest no sigui un projecte revolucionari, però pot provocar delit entre els agricultors.

Aprofundim en la part tècnica del projecte.

El projecte està dissenyat amb components de maquinari mínims perquè un principiant pugui aconseguir-ho amb facilitat.
El circuit consisteix en una font d'alimentació que alimenta tota la configuració.

L'Arduino és el cervell del projecte que pren decisions i el mòdem GSM que envia i rep SMS de text i es comunica amb l'usuari i el relé que controla el motor.

Com funciona

Circuit de controlador de motor de bomba GSM mitjançant Arduino

Nota: Si us plau, utilitzeu almenys una resistència de 10K a la base del transistor BC548, 330 Ohms és massa baix.

El baixeu el transformador el rectificador de 230VAC a 12VAC i el pont converteixen CA en corrent continu i el corrent passa a través d’un condensador electrolític per suavitzar la font d’alimentació.

Un fix Regulador de tensió de 12V dóna potència a arduino, mòdem GSM i relé. El Mòdem GSM està connectat a arduino al pin # 0 i pin # 1, que són RX i TX respectivament.

El RX de GSM està connectat a TX d’arduino i TX de GSM està connectat a RX d’arduino. Si esteu confós, només heu de mirar el diagrama següent: la mala connexió no enviarà ni rebrà SMS.

ARDUINO TX ---------------------- Mòdem RX GSM
RX ---------------------- TX

La connexió de terra a terra també s’estableix entre el mòdem arduino i GSM.

Intenteu obtenir un connector d'alimentació de presa masculina per al GSM i l'arduino, si no només soldeu els cables directament de la font d'alimentació a arduino i GSM, cosa que podria augmentar el desgavell del projecte.

El transistor acciona el relé i el díode protegeix el circuit contra pics d’alta tensió mentre s’encén / apaga el relé.

El Indicador LED mostra l'estat del relé. Si el LED il·lumina el relé activat i si el LED està apagat, el relé es desactiva.

Introduïu una targeta SIM vàlida al mòdem GSM i intenteu aprofitar les ofertes del proveïdor de xarxa per a SMS, com ara talladors de tarifes, que reduiran les despeses per SMS.

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

NOTA 1: Mentre compileu el programa, apareix un advertiment que podeu ignorar. El programa es verifica i es prova.

NOTA 2: Si us plau, elimineu la connexió TX i RX d’arduino mentre pengeu el codi.

NOTA 3: substituïu 'xxxxxxxxxxxxx' pel número de telèfon del destinatari en 4 llocs del programa.

NOTA 4: Adquireu un mòdem GSM sense botó d’encesa al mòdul en cas de fallada d’alimentació, no es connectarà a la xarxa mòbil tret que premeu el botó manualment, així que eviteu aquest tipus de mòdems GSM. El mòdem GSM sense botó d'encendre es connectarà a la xarxa mòbil directament després que es mantingui l'alimentació.

Prototip de l'autor del circuit del controlador del motor de la bomba GSM:

Com s'utilitza la configuració anterior:

• Enviar / encendre el motor / SMS des del mòbil per activar el relé.

• Enviar / apagar el motor / SMS per desactivar el relé.

• Enviar / provar / SMS per provar la resposta del circuit.

Assegureu-vos que inicieu l'ordre amb '/' i que finalitzeu amb '/' en cas contrari, no s'acceptarà com a sol·licitud vàlida.

• / motor encès / engegarà el relé i tornarà amb un SMS de confirmació 'Motor activat'.

• / motor apagat / apagarà el relé i tornarà amb un SMS de confirmació 'Motor desactivat'.

• Si envieu / proveu /, es tornarà amb un SMS de confirmació 'El sistema funciona bé'.

• El missatge anterior indica que la vostra configuració funciona bé.

• Si no se us retorna cap confirmació, podeu suposar que no es fa cap acció al motor i podeu resoldre els problemes.

• Després d’engegar la configuració, espereu 1 minut el sistema enviarà un SMS de confirmació 'El sistema està preparat per acceptar ordres'. un cop hàgiu rebut aquest SMS, el vostre projecte estarà llest per publicar-se.

Les ordres anteriors són a prova d’engany i mai no activen el motor de manera falsa, la configuració no respondrà cap altre SMS que no sigui el cas especificat anteriorment.

Millorant el concepte anterior

Aquest circuit d’aplicació de bomba GSM superior va atraure molts lectors i hem rebut moltes preguntes i suggeriments. Un dels àvids lectors d’aquest lloc web, Mr. Gandhi, va suggerir una bona millora del disseny anterior.

Acceptació de SMS quan el motor està realment engegat

La millora consisteix en l’acceptació de la reversió, en què l’usuari rebrà una resposta SMS al mòbil des del GSM sistema de control de bomba quan un usuari envia un comentari SMS vàlid.

El disseny existent envia un SMS d’acusament a l’usuari independentment de l’estat real del relé, és a dir, ON / OFF.

El nou canvi de disseny suggerit per Gandhi comprova l'estat del relé si el relé es canvia físicament del seu estat o no.

El canvi segons aquesta nova aigua GSM disseny del controlador de bomba es pot implementar al disseny anterior sense molèsties afegint un sistema de retroalimentació tal com es mostra a l’esquema i carregant el nou codi.

Esquema de connexions:

Quan enviem l'ordre SMS '/ MOTOR ON /', el pin # 9 augmenta i activa el relé. Si el relé connecta els pins comuns i N / O, la bomba arrenca i engega el transformador, que donarà +5 a la sortida.

El senyal de + 5V s’alimenta al pin núm. 7, que confirmarà i retornarà amb el reconeixement “Motor activat”.

Quan enviem '/ MOTOR OFF /' el pin # 9 es torna BAIX i el relé desconnecta els pins comunes i N / O, això apagarà la bomba i el transformador connectat. La sortida del pin núm. 7 es baixa i torna amb l'acceptació 'Motor desactivat'.

Si no hi ha cap reconeixement Es reben SMS al telèfon mòbil , podem confirmar que no es va dur a terme cap acció i que la bomba es troba a l'últim estat sol·licitat, podeu anar al lloc i resoldre problemes o no es rebi cap confirmació deguda a la baixa de corrent.

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

La implementació anterior no està pràcticament provada, però l’autor té el cent per cent de seguretat que la idea anterior funcionarà. Si els lectors troben algun problema amb la millora anterior, es pot expressar a través de la secció de comentaris.

Llista de peces

1) Baixeu el transformador de 12-0V
2) Diodes IN4007 x5
3) LM7812 x1
4) Relé 12V x1
5) BC548 Transistor x1
6) Condensador electrolític 1000uF x1
7) Mòdul GSM: model SIM 800 o SIM 900
8) Resistència de 330 Ohm x2
9) LED VERMELL / VERD x1
10) Arduino Un or Arduino nano or Arduino Mega
11) presa macho DC x2

Clip de vídeo:

Integració amb motors de 3 fases

He rebut moltes sol·licituds per actualitzar l’etapa de relés per al disseny anterior per tal que sigui compatible per operar motors trifàsics mitjançant comandes de telèfons mòbils GSM.

Per tant, vaig decidir dissenyar el circuit necessari amb sort ser capaç d'engegar i apagar uns motors trifàsics determinats que tinguin el típic mecanisme de contacte i arrencada.

La següent figura mostra com configurar el disseny mitjançant un circuit IC 4017.

Controlador de motor GSM trifàsic mòbil remot

NOTA: És possible que els valors de 100uF / 10K i 220uF i 47K necessitin alguns ajustaments per tal de garantir la quantitat correcta de retard per als transistors i les etapes de relé respectius.




Anterior: Circuit de seguretat de l’indicador de posició dels intrusos Següent: Circuit de control d’intensitat de la làmpada solar controlada a distància