Circuito del controller del motore della pompa GSM che utilizza Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post costruiremo un circuito di controllo del motore della pompa GSM adatto agli agricoltori che potrebbe
accendere e spegnere il sistema di irrigazione da remoto da qualsiasi parte del mondo tramite SMS sul cellulare e restituirti un messaggio di conferma. L'idea è stata richiesta dal Sig. PG Ragavandir.

Il design

L'agricoltura è una delle più grandi industrie in India che serve cibo per oltre un miliardo di persone ogni anno. Produrre grandi quantità di cibo non è mai un compito facile, l'irrigazione è uno dei fattori.



La maggior parte dei campi coltivati ​​dell'agricoltore si trova lontano dalla loro residenza, il solo accendere la pompa dell'acqua costa enormi per il loro trasporto all'anno.

L'India è nota per le competenze informatiche e i programmi spaziali e ha raggiunto il prezzo di Marte inferiore al costo del film 'Gravity', questo significa il grande potenziale tra ingegneri e scienziati. Ma le competenze non sono distribuite uniformemente tra i diversi campi, l'agricoltura è uno dei settori in cui lo sviluppo tecnologico è lento.



Questo controller del motore della pompa GSM basato su SMS fa un piccolo passo verso sviluppo agricolo , questo potrebbe non essere un progetto rivoluzionario ma potrebbe portare gioia tra gli agricoltori.

Entriamo nella parte tecnica del progetto.

Il progetto è progettato con componenti hardware minimi in modo che un principiante possa realizzarlo con facilità.
Il circuito è costituito da un alimentatore, che alimenta l'intera configurazione.

L'Arduino è il cervello del progetto che prende le decisioni e il modem GSM che invia e riceve SMS e comunica con l'utente e il relè che controlla il motore.

Come funziona

Circuito del controller del motore della pompa GSM che utilizza Arduino

Nota: utilizzare almeno una resistenza da 10K alla base del transistor BC548, 330 Ohm è troppo basso.

Il il trasformatore scende il 230VAC a 12VAC e il raddrizzatore a ponte convertono la corrente CA in CC e la corrente passa attraverso un condensatore elettrolitico per uniformare l'alimentazione.

Un fisso Regolatore di tensione 12V dà alimentazione ad arduino, modem GSM e relè. Il Modem GSM è collegato ad arduino al pin # 0 e al pin # 1, che sono rispettivamente RX e TX.

L'RX del GSM è connesso al TX di arduino e il TX del GSM è connesso all'RX di arduino. Se sei confuso, guarda il diagramma sottostante, una connessione errata non invierà o riceverà SMS.

ARDUINO TX ---------------------- Modem GSM RX
RX ---------------------- TX

Viene stabilita anche una connessione terra-terra tra arduino e modem GSM.

Prova a ottenere un connettore di alimentazione jack maschio per GSM e arduino, se non solo salda i fili direttamente dall'alimentazione ad arduino e GSM, il che potrebbe aumentare il disordine nel progetto.

Il transistor aziona il relè e il diodo protegge il circuito dai picchi di alta tensione durante l'accensione / spegnimento del relè.

Il Indicatore LED mostra lo stato del relè. Se il LED è acceso il relè è attivato e se il LED è spento, il relè è disattivato.

Inserisci una SIM valida sul modem GSM e prova ad approfittare delle offerte del gestore di rete per gli SMS come i tagliacarte, che ridurranno le spese per gli SMS.

Codice del programma:

//----------------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: durante la compilazione del programma mostra un avviso, che puoi ignorare. Il programma viene verificato e testato.

NOTA 2: rimuovere la connessione TX e RX da arduino durante il caricamento del codice.

NOTA 3: sostituire 'xxxxxxxxxxxxx' con il numero di telefono del destinatario in 4 punti del programma.

NOTA 4: acquistare un modem GSM senza pulsante di accensione nel modulo, in caso di interruzione di corrente non si aggancia alla rete mobile a meno che non si prema manualmente il pulsante, quindi evitare questo tipo di modem GSM. Il modem GSM quello senza tasto di accensione si attaccherà alla rete mobile subito dopo il mantenimento dell'alimentazione.

Prototipo dell'autore del circuito del controller del motore della pompa GSM:

Come utilizzare la configurazione di cui sopra:

• Invia / accensione motore / SMS dal tuo cellulare per attivare il relè.

• Invia / motore spento / SMS per disattivare il relè.

• Invio / test / SMS per testare la risposta dal circuito.

Assicurati di avviare il comando con '/' e di terminare con '/' altrimenti non accetterà come richiesta valida.

• / motor on / attiverà il relè e tornerà con un SMS di conferma 'Motore attivato'.

• / motor off / spegnerà il relè e tornerà con un SMS di conferma 'Motore disattivato'.

• Se invii / provi / verrà restituito con un SMS di conferma 'Il sistema funziona correttamente'.

• Il messaggio sopra indica che la configurazione funziona correttamente.

• Se non viene restituito alcun riconoscimento, si può presumere che nessuna azione sia preceduta sul motore e si possono risolvere i problemi.

• Dopo aver acceso il setup attendere 1 minuto il sistema invierà un SMS di conferma 'Il sistema è pronto ad accettare comandi'. una volta ricevuto questo SMS il tuo progetto è pronto per essere pubblicato.

I comandi di cui sopra sono infallibili e non attivano mai il motore in modo errato, il setup non risponderà ad alcun SMS diverso da quelli sopra specificati.

Migliorare il concetto di cui sopra

Questo circuito di applicazione della pompa GSM sopra ha attirato molti lettori e abbiamo ricevuto tonnellate di domande e suggerimenti. Uno degli avidi lettori di questo sito Web, il signor Gandhi, ha suggerito un buon miglioramento al design precedente.

Riconoscimento tramite SMS quando il motore è effettivamente acceso

Il miglioramento riguarda tutto il riconoscimento di ripristino, in cui l'utente riceverà una risposta SMS nel suo cellulare dal GSM sistema di controllo della pompa quando un utente invia un commento SMS valido.

Il progetto esistente invia un SMS di conferma all'utente indipendentemente dallo stato effettivo del relè, ovvero ON / OFF.

La nuova modifica del design suggerita dal signor Gandhi controlla lo stato del relè se il relè è fisicamente commutato nel suo stato o meno.

Il cambiamento secondo questa nuova acqua GSM progettazione del controller della pompa può essere implementato nel progetto precedente senza troppi problemi aggiungendo un sistema di feedback come mostrato nello schema e caricando il nuovo codice.

Schema elettrico:

Quando inviamo il comando SMS '/ MOTOR ON /' il pin # 9 diventa alto e attiva il relè. Se il relè collega i pin comune e N / O la pompa si avvia e accende anche il trasformatore che darà +5 in uscita.

Il segnale + 5V viene inviato al pin # 7 che confermerà e tornerà con un riconoscimento 'Motore attivato'.

Quando inviamo '/ MOTOR OFF /' il pin # 9 diventa BASSO e il relè scollega i pin comune e N / O, questo spegnerà la pompa e il trasformatore collegato. L'uscita al pin # 7 diventa BASSA e ritorna con un riconoscimento 'Motore disattivato'.

Se nessun riconoscimento L'SMS viene ricevuto nel tuo cellulare , possiamo confermare che non è stata intrapresa alcuna azione e che la pompa si trova nell'ultimo stato richiesto, è possibile visitare il sito e risolvere il problema o non si riceve alcuna conferma a causa di un'interruzione di corrente.

Codice del programma:

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

L'implementazione di cui sopra non è praticamente testata, ma l'autore è sicuro al cento per cento che l'idea di cui sopra funzionerà. Se i lettori hanno riscontrato problemi con il miglioramento di cui sopra, possono esprimere attraverso la sezione commenti.

Elenco delle parti

1) Riduzione del trasformatore 12-0V
2) Diodi IN4007 x5
3) LM7812 x1
4) Relè 12V x1
5) Transistor BC548 x1
6) Condensatore elettrolitico 1000uF x1
7) Modulo GSM: modello SIM 800 o SIM 900
8) Resistore da 330 Ohm x2
9) LED ROSSO / VERDE x1
10) Arduino Uno o Arduino nano o Arduino Mega
11) Jack maschio DC x2

Video clip:

Integrazione con motori trifase

Ho ricevuto molte richieste per aggiornare lo stadio relè per il progetto di cui sopra in modo che diventi compatibile per il funzionamento di motori trifase utilizzando i comandi del telefono cellulare GSM.

Pertanto ho deciso di progettare il circuito richiesto che lo farà fiduciosamente essere in grado di accendere e spegnere un dato motore trifase con il tipico meccanismo di avviamento e arresto del contattore.

La figura seguente mostra come configurare il progetto utilizzando un circuito IC 4017.

Telefono cellulare remoto con controller GSM 3 fasi

NOTA: i valori 100uF / 10K e 220uF e 47K potrebbero richiedere alcune regolazioni per garantire la corretta quantità di ritardo per i rispettivi transistor e stadi relè.




Precedente: Circuito di sicurezza dell'indicatore di posizione dell'intruso Avanti: Circuito di controllo dell'intensità della lampada solare telecomandato