Controller della pompa basato su SMS con spegnimento automatico del funzionamento a secco

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post costruiremo un controller della pompa dell'acqua basato su SMS con spegnimento automatico della pompa quando non viene rilevato alcun flusso d'acqua attraverso la pompa. Costruiremo anche un altro circuito di prevenzione automatico del funzionamento a secco molto più semplice senza GSM nella prossima metà dell'articolo.

Cos'è il funzionamento a secco nei motori

Ne abbiamo già discusso Controller della pompa basato su GSM su questo sito web controlla se non l'hai ancora fatto. Qui stiamo aggiungendo una funzionalità aggiuntiva al design esistente, che impedirà al motore di funzionare a secco.



Marcia a secco significa far funzionare la pompa dell'acqua senza flusso di liquido. La conseguenza può essere un danno riparabile a un danno insostenibile a seconda di quanto tempo il motore è stato in funzione senza pompare l'acqua e la qualità della pompa dell'acqua.

Sì, le pompe dell'acqua non sono economiche e se sei un agricoltore che irriga il campo ogni giorno, un piccolo problema con la tua pompa dell'acqua può portarti in perdita economica.



La manutenzione della pompa può richiedere tempo e denaro, quindi è meglio seguire il famoso slogan 'prevenire è meglio che curare'.

Funzionamento a secco del motore è un problema molto comune, quando non c'è abbastanza acqua per fluire attraverso la pompa, si verificherà il surriscaldamento dei componenti meccanici e dei componenti elettrici.

A un certo punto i componenti meccanici inizieranno a fondere e potrebbero anche causare cortocircuiti.

Tale disastro può essere prevenuto utilizzando il circuito, proposto in questo progetto.

Per rilevare il flusso dell'acqua, siamo utilizzando il sensore di flusso dell'acqua YF-S201 . Quando non viene rilevato alcun flusso d'acqua dal sensore, interrompe l'alimentazione alla pompa dell'acqua e invia un SMS di conferma al destinatario per l'arresto del funzionamento a secco.

Con questo controllo basato su GSM è possibile accendere e spegnere la pompa e anche il circuito riconosce il problema del funzionamento a secco della pompa.

Circuito per controllo pompa basato su SMS:

Circuito per controllo pompa basato su SMS:

Il circuito è costituito da un convertitore da CA a CC che utilizza un trasformatore da 9 V, un raddrizzatore a ponte, un condensatore di livellamento da 1000 uF e un regolatore LM7809 da 9 V. Sono forniti due jack DC per alimentare la scheda Arduino e il modulo GSM SIM 800 / SIM 900.

Non alimentare mai il modulo GSM con il pin 5V di Arduino al pin 5V del modulo GSM poiché la scheda Arduino non può fornire corrente sufficiente.

La connessione tra Modulo Arduino e GSM come segue:

Arduino TX ---------------------- RX SIM 800/900

Arduino RX --------------------- TX SIM 800/900

Arduino GND ------------------- GND SIM 800/900

L'alimentazione principale è fornita dal regolatore LM 7809.

L'indicatore LED si illumina se il relè è attivato e si spegne quando il relè è disattivato.

Il diodo IN4007 assorbirà il picco di alta tensione che si verifica durante l'accensione e lo spegnimento del relè.

Il sensore di flusso dell'acqua è collegato al pin A0 di Arduino, 5V e GND fornito dalla scheda Arduino.

Programma per la progettazione basata su GSM:

//----------------Program developed by R.Girish------------//
int motor = 8
int LED = 9
int temp = 0
int i = 0
int j = 0
int k = 0
int X = 0
int Y = 0
int mtr_on = 0
float Time = 0
float frequency = 0
const int input = A0
const int test = 6
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(motor, OUTPUT)
pinMode(LED, OUTPUT)
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
analogWrite(test, 100)
for (k = 0 k <60 k++)
{
delay(1000)
}
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)
}
if (mtr_on == 1)
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
if (isinf(frequency))
{
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Deactivated. Dry Run Shut Off!')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
mtr_on = 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
for (j = 0 j <20 j++)
{
delay(1000)
}
mtr_on = 1
}
else if (!(strncmp(str, 'motor off', 9)))
{
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
mtr_on = 0
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)
}
}

// ---------------- Programma sviluppato da R.Girish ------------ //

Devi inserire il codice con il numero di cellulare a 10 cifre del destinatario.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Sostituisci x con numero di cellulare

È necessario inserire il numero di cellulare in questi 5 punti del codice.

Comandi SMS:

· Il tuo SMS deve sempre iniziare con '/' e terminare con '/'

· / Motor on / per l'attivazione del motore.

· / Motor off / per disattivare il motore.

· / Test / per testare il circuito.

Ecco l'SMS testato durante la prototipazione:

SMS testato durante la prototipazione

Le seguenti cose che possiamo osservare dalla schermata:

· Dapprima si accende il motore e si conferma il circuito con una risposta.

· Il motore viene disattivato e il circuito viene confermato con una risposta.

· Ancora una volta il motore viene attivato e scollegato il sensore per simulare la situazione di marcia a secco, il circuito spegne la pompa e risponde con il riconoscimento della marcia a secco della pompa.

· Finalmente è stato inviato un SMS di prova e il circuito ha risposto con 'Il sistema funziona bene'.

Suggerirei di installare il sensore di flusso dell'acqua dopo un paio di metri dopo la pompa dell'acqua.

Ciò conclude il dispositivo di prevenzione del funzionamento a secco della pompa basato su GSM.

Ora diamo un'occhiata al semplice dispositivo di prevenzione del funzionamento a secco della pompa dell'acqua senza GSM, questo potrebbe essere il più facile dei due.

Schema elettrico:

Controller della pompa basato su SMS con spegnimento automatico del funzionamento a secco

Non c'è molto da spiegare qui, basta collegare come da schema. L'alimentatore può essere un adattatore da parete da 9 V con almeno 500 mA o l'alimentazione illustrata nello schema del controller basato su GSM.

Il pulsante è fornito per accendere e spegnere la pompa.

Una volta premuto il pulsante per accendere la pompa, il circuito attende inizialmente fino a 20 secondi per rilevare il flusso d'acqua, durante questo tempo il pulsante viene disabilitato per 20 secondi.

Dopo i primi 20 secondi il pulsante è abilitato ed è possibile spegnere la pompa manualmente premendo nuovamente il pulsante.

Se viene rilevata portata d'acqua il circuito mantiene la pompa accesa dopo 20 secondi, altrimenti il ​​circuito interrompe l'alimentazione al motore. Inoltre il circuito può interrompere l'alimentazione in qualsiasi istante, se non viene rilevato alcun flusso d'acqua.

Se il circuito si spegne per marcia a secco, il LED lampeggia rapidamente.

Programma per il blocco del funzionamento a secco della pompa semplice:

//--------------------------Program Developed by R.GIRISH------------------------//
int X = 0
int Y = 0
int i = 0
int mtr_on = 0
float Time = 0
float frequency = 0
const int input = A0
const int test = 6
const int button = A1
const int LED = 8
const int motor = 9
void setup()
{
Serial.begin(9600)
pinMode(input, INPUT)
pinMode(test, OUTPUT)
pinMode(LED, OUTPUT)
pinMode(motor, OUTPUT)
analogWrite(test, 100)
digitalWrite(button, HIGH)
}
void loop()
{
if (digitalRead(button) == LOW && mtr_on == 0)
{
Serial.println('Motor Activated')
digitalWrite(LED, HIGH)
digitalWrite(motor, HIGH)
for (i = 0 i <20 i++)
{
delay(1000)
}
mtr_on = 1
}
if (digitalRead(button) == LOW && mtr_on == 1)
{
Serial.println('Motor Deactivated')
digitalWrite(LED, LOW)
digitalWrite(motor, LOW)
mtr_on = 0
delay(1000)
}
if (mtr_on == 1)
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
if (isinf(frequency))
{
Serial.println('Dry run shut off')
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
mtr_on = 0
while (true)
{
digitalWrite(LED, HIGH)
delay(500)
digitalWrite(LED, LOW)
delay(500)
}
}
}
}
//--------------------------Program Developed by R.GIRISH------------------------//

Questo conclude entrambi i progetti.

In caso di domande specifiche su questo controller della pompa basato su SMS con circuito di spegnimento automatico a secco, si prega di esprimere nella sezione commenti, è possibile ricevere una risposta rapida.




Precedente: 4 circuiti di sensori di prossimità semplici - Utilizzo di IC LM358, IC LM567, IC 555 Avanti: Incubatore che utilizza Arduino con controllo automatico della temperatura e dell'umidità