Contrôleur de pompe basé sur SMS avec arrêt automatique de la marche à sec

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons construire un contrôleur de pompe à eau basé sur SMS avec arrêt automatique de la pompe lorsqu'aucun débit d'eau à travers la pompe n'est détecté. Nous allons également construire un autre circuit anti-marche à sec automatique beaucoup plus simple sans GSM dans la prochaine moitié de l'article.

Qu'est-ce que la marche à sec dans les moteurs

Nous avons déjà discuté sur Contrôleur de pompe basé sur GSM sur ce site Web, vérifiez-le si vous ne l’avez pas encore fait. Ici, nous ajoutons une fonctionnalité supplémentaire sur la conception existante, qui empêchera le moteur de fonctionner à sec.



Fonctionnement à sec signifie faire fonctionner la pompe à eau sans débit de liquide. La conséquence peut être des dommages réparables ou des dommages inutilisables en fonction de la durée de fonctionnement du moteur sans pomper l'eau et de la qualité de la pompe à eau.

Oui, les pompes à eau ne sont pas bon marché et si vous êtes un agriculteur qui irrigue le champ tous les jours, alors un petit problème avec votre pompe à eau peut vous entraîner une perte économique.



L'entretien de la pompe peut prendre du temps et de l'argent, il vaut donc mieux suivre le célèbre slogan «mieux vaut prévenir que guérir».

Moteur à sec est un problème très courant, lorsqu'il n'y a pas assez d'eau pour circuler dans la pompe, une surchauffe des composants mécaniques ainsi que des composants électriques se produira.

À un moment donné, les composants mécaniques commenceront à fondre et peuvent également provoquer un court-circuit.

Un tel désastre peut être évité en utilisant le circuit proposé dans ce projet.

Pour détecter l'écoulement de l'eau, nous sommes utilisant le capteur de débit d'eau YF-S201 . Lorsqu'aucun débit d'eau n'est détecté par le capteur, il coupe l'alimentation électrique de la pompe à eau et envoie un accusé de réception SMS au destinataire concernant l'arrêt de la marche à sec.

Avec cette commande basée sur GSM, vous pouvez allumer et éteindre la pompe et le circuit reconnaît également le problème de fonctionnement à sec de la pompe.

Circuit pour la commande de pompe par SMS:

Circuit pour la commande de pompe par SMS:

Le circuit se compose d'un convertisseur CA / CC utilisant un transformateur 9V, un pont redresseur, un condensateur de lissage de 1000 uF et un régulateur LM7809 9V. Deux prises CC sont fournies pour alimenter la carte Arduino et le module GSM SIM 800 / SIM 900.

Ne jamais alimenter le module GSM avec la broche 5V d'Arduino à la broche 5V du module GSM car la carte Arduino ne peut pas fournir suffisamment de courant.

La connexion entre Module Arduino et GSM comme suit:

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

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

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

L'alimentation principale est fournie par le régulateur LM 7809.

Le voyant LED s'allumera si le relais est activé et s'éteint lorsque le relais est désactivé.

La diode IN4007 absorbera la pointe de haute tension qui se produit lors de l'activation et de la désactivation du relais.

Le capteur de débit d'eau est connecté à la broche A0 d'Arduino, 5V et GND fournie par la carte Arduino.

Programme de conception basée sur 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)
}
}

// ---------------- Programme développé par R.Girish ------------ //

Vous devez placer le code avec le numéro de téléphone portable à 10 chiffres du destinataire.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Remplacez x par le numéro de portable

Vous devez placer le numéro de mobile à ces 5 endroits dans le code.

Commandes SMS:

· Votre SMS doit toujours commencer par '/' et se terminer par '/'

· / Moteur en marche / pour activer le moteur.

· / Moteur éteint / pour désactiver le moteur.

· / Test / pour tester le circuit.

Voici le SMS testé lors du prototypage:

SMS testé lors du prototypage

Les choses suivantes que nous pouvons observer à partir de la capture d'écran:

· Tout d'abord, le moteur est mis en marche et le circuit acquitté par une réponse.

· Le moteur est désactivé et le circuit est acquitté par une réponse.

· De nouveau, le moteur est activé et débranché le capteur pour simuler une situation de marche à sec, le circuit arrête la pompe et répond avec un acquittement de marche à sec de la pompe.

· Enfin, un SMS de test a été envoyé et le circuit a répondu «Le système fonctionne bien».

Je suggérerais d'installer le capteur de débit d'eau après quelques mètres après la pompe à eau.

Ceci conclut le dispositif anti-fonctionnement à sec basé sur GSM.

Jetons maintenant un coup d'œil à un simple obturateur de marche à sec à pompe à eau sans GSM, cela pourrait être le plus facile des deux.

Schéma:

Contrôleur de pompe basé sur SMS avec arrêt automatique de la marche à sec

Rien à expliquer ici, il suffit de câbler selon le schéma. L'alimentation peut être un adaptateur mural 9 V avec au moins 500 mA ou l'alimentation illustrée dans le schéma du contrôleur basé sur GSM.

Le bouton-poussoir est fourni pour allumer et éteindre la pompe.

Une fois que vous appuyez sur le bouton pour allumer la pompe, le circuit attend initialement jusqu'à 20 secondes pour détecter le débit d'eau, pendant ce temps le bouton-poussoir est désactivé pendant 20 secondes.

Après les 20 premières secondes, le bouton-poussoir est activé et vous pouvez éteindre la pompe manuellement en appuyant à nouveau sur le bouton-poussoir.

Si un débit d'eau est détecté, le circuit maintient la pompe en marche après 20 secondes, sinon le circuit coupe l'alimentation électrique du moteur. Le circuit peut également couper l'alimentation à tout instant, si aucun débit d'eau n'est détecté.

Si le circuit s'est arrêté en raison d'une marche à sec, la LED clignote rapidement.

Programme pour obturateur de marche à sec à pompe simple:

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

Cela conclut les deux dessins.

Si vous avez des questions spécifiques concernant ce contrôleur de pompe basé sur SMS avec circuit d'arrêt automatique de fonctionnement à sec, veuillez les exprimer dans la section des commentaires, vous pouvez recevoir une réponse rapide.




Une paire de: 4 circuits de capteur de proximité simples - Utilisation de IC LM358, IC LM567, IC 555 Un article: Incubateur utilisant Arduino avec contrôle automatique de la température et de l'humidité