Κύκλωμα ελεγκτή κινητήρα αντλίας GSM χρησιμοποιώντας το Arduino

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτήν την ανάρτηση θα κατασκευάσουμε ένα κύκλωμα ελεγκτή κινητήρα αντλίας GSM φιλικό προς τους αγρότες που θα μπορούσε
Ενεργοποιήστε και απενεργοποιήστε το σύστημα άρδευσης από απόσταση από οπουδήποτε στον κόσμο μέσω SMS κινητού τηλεφώνου και επιστρέψτε σας με ένα μήνυμα αναγνώρισης. Η ιδέα ζητήθηκε από τον κ. PG Ragavandir.

Ο σχεδιασμός

Η γεωργία είναι μια από τις μεγαλύτερες βιομηχανίες στην Ινδία που εξυπηρετεί τρόφιμα για περισσότερους από ένα δισεκατομμύριο ανθρώπους κάθε χρόνο. Η παραγωγή τεράστιας ποσότητας τροφής δεν είναι ποτέ ένας εύκολος στόχος, η άρδευση είναι ένας από τους παράγοντες.



Το μεγαλύτερο μέρος της καλλιέργειας του γεωργού βρίσκεται μακριά από την κατοικία τους, απλώς η ενεργοποίηση της αντλίας νερού κοστίζει τεράστια για τη μεταφορά τους ανά έτος.

Η Ινδία είναι γνωστή για τις δεξιότητες πληροφορικής και τα διαστημικά προγράμματα και έφτασε σε mars λιγότερο από το κόστος της ταινίας 'Gravity', αυτό σημαίνει το μεγάλο δυναμικό μεταξύ Μηχανικών και Επιστημόνων. Όμως, οι δεξιότητες δεν κατανέμονται ομοιόμορφα σε διαφορετικούς τομείς Η γεωργία είναι ένας από τους τομείς όπου η τεχνολογική ανάπτυξη είναι αργή.



Αυτός ο ελεγκτής κινητήρα αντλίας GSM που βασίζεται σε SMS κάνει ένα βήμα προς το μωρό ΑΓΡΟΤΙΚΗ ΑΝΑΠΤΥΞΗ , αυτό μπορεί να μην είναι ένα επαναστατικό έργο, αλλά μπορεί να φέρει ευχαρίστηση στους γεωργούς.

Ας δούμε το τεχνικό μέρος του έργου.

Το έργο έχει σχεδιαστεί με ελάχιστα στοιχεία υλικού, ώστε ένας αρχάριος να μπορεί να το ολοκληρώσει με ευκολία.
Το κύκλωμα αποτελείται από τροφοδοσία, η οποία τροφοδοτεί ολόκληρη την εγκατάσταση.

Το Arduino είναι ο εγκέφαλος του έργου που λαμβάνει αποφάσεις και μόντεμ GSM που στέλνει και λαμβάνει SMS SMS και επικοινωνεί με τον χρήστη και το ρελέ που ελέγχει τον κινητήρα.

Πως δουλεύει

Κύκλωμα ελεγκτή κινητήρα αντλίας GSM χρησιμοποιώντας το Arduino

Σημείωση: Χρησιμοποιήστε τουλάχιστον 10K αντίσταση στη βάση του τρανζίστορ BC548, τα 330 Ohms είναι πολύ χαμηλά.

ο μετασχηματιστής κατεβείτε ο 230VAC σε 12VAC και ο ανορθωτής γέφυρας μετατρέπουν το AC σε ρεύμα DC και το ρεύμα διέρχεται από έναν ηλεκτρολυτικό πυκνωτή για εξομάλυνση της τροφοδοσίας.

Ένα σταθερό Ρυθμιστής τάσης 12V δίνει δύναμη στο arduino, το μόντεμ GSM και το ρελέ. ο Μόντεμ GSM συνδέεται με το arduino στο pin # 0 και το pin # 1, τα οποία είναι RX και TX αντίστοιχα.

Το RX του GSM συνδέεται με το TX του arduino και το TX του GSM είναι συνδεδεμένο στο RX του arduino. Εάν είστε μπερδεμένοι, απλώς κοιτάξτε το παρακάτω διάγραμμα, η λανθασμένη σύνδεση δεν θα στείλει ή θα λάβει SMS.

ARDUINO TX ---------------------- RX GSM μόντεμ
RX ---------------------- TX

Η σύνδεση εδάφους-εδάφους πραγματοποιείται επίσης μεταξύ του arduino και του μόντεμ GSM.

Προσπαθήστε να πάρετε έναν αρσενικό βύσμα τροφοδοσίας για το GSM και το arduino, αν όχι μόνο να κολλήσετε τα καλώδια απευθείας από την τροφοδοσία στο arduino και το GSM, κάτι που μπορεί να αυξήσει το χάος στο έργο.

Το τρανζίστορ οδηγεί το ρελέ και η δίοδος προστατεύει το κύκλωμα από αιχμές υψηλής τάσης ενώ ενεργοποιεί / απενεργοποιεί το ρελέ.

ο Ένδειξη LED δείχνει την κατάσταση του ρελέ. Εάν το LED ανάβει ενεργοποιημένο το ρελέ και αν το LED είναι σβηστό, το ρελέ απενεργοποιείται.

Εισαγάγετε μια έγκυρη κάρτα SIM στο μόντεμ GSM και προσπαθήστε να επωφεληθείτε από τις προσφορές που παρέχονται από τον πάροχο δικτύου για SMS, όπως μειωτές τιμών, οι οποίες θα μειώσουν τα έξοδα για SMS.

Κωδικός προγράμματος:

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

ΣΗΜΕΙΩΣΗ 1: Κατά τη σύνταξη του προγράμματος εμφανίζεται μια προειδοποίηση, την οποία μπορείτε να το αγνοήσετε. Το πρόγραμμα επαληθεύεται και δοκιμάζεται.

ΣΗΜΕΙΩΣΗ 2: Καταργήστε τη σύνδεση TX και RX από το arduino κατά τη μεταφόρτωση του κωδικού.

ΣΗΜΕΙΩΣΗ 3: Αντικαταστήστε το 'xxxxxxxxxxxxx' με τον αριθμό τηλεφώνου του παραλήπτη σε 4 θέσεις στο πρόγραμμα.

ΣΗΜΕΙΩΣΗ 4: Αγοράστε ένα μόντεμ GSM χωρίς κουμπί τροφοδοσίας στη μονάδα σε περίπτωση διακοπής ρεύματος, δεν θα συνδεθεί στο δίκτυο κινητής τηλεφωνίας εκτός εάν πατήσετε χειροκίνητα το κουμπί, οπότε αποφύγετε τέτοιου είδους μόντεμ GSM. Το μόντεμ GSM χωρίς κουμπί τροφοδοσίας θα συνδεθεί στο δίκτυο κινητής τηλεφωνίας αμέσως μετά τη διακοπή ισχύος.

Πρωτότυπο του κυκλώματος ελεγκτή κινητήρα αντλίας GSM:

Πώς να χρησιμοποιήσετε την παραπάνω ρύθμιση:

• Αποστολή / ενεργοποίηση / SMS από το κινητό σας για να ενεργοποιήσετε το ρελέ.

• Αποστολή / απενεργοποίηση κινητήρα / SMS για απενεργοποίηση του ρελέ.

• Αποστολή / δοκιμή / SMS για έλεγχο της απόκρισης από το κύκλωμα.

Βεβαιωθείτε ότι ξεκινάτε την εντολή με '/' και τελειώνετε με '/' διαφορετικά δεν θα γίνει αποδεκτή ως έγκυρο αίτημα.

• / το μοτέρ θα ενεργοποιηθεί / θα ενεργοποιήσει το ρελέ και θα επιστρέψει με ένα μήνυμα επιβεβαίωσης SMS 'Motor Activated.'

• / απενεργοποίηση κινητήρα / θα απενεργοποιήσει το ρελέ και θα επιστρέψει με ένα μήνυμα αναγνώρισης SMS 'Motor Deactivated.'

• Εάν στείλετε / δοκιμάσετε / θα επιστρέψει με SMS επιβεβαίωσης «Το σύστημα λειτουργεί καλά».

• Το παραπάνω μήνυμα σημαίνει ότι η ρύθμισή σας λειτουργεί καλά.

• Εάν δεν επιστραφεί καμία επιβεβαίωση, μπορείτε να υποθέσετε ότι δεν έχει προηγηθεί καμία ενέργεια στον κινητήρα και ενδέχεται να αντιμετωπίσετε τα προβλήματα.

• Αφού ενεργοποιήσετε τη ρύθμιση ON περιμένετε 1 λεπτό το σύστημα θα στείλει ένα SMS επιβεβαίωσης 'Το σύστημα είναι έτοιμο να δεχτεί εντολές.' Μόλις λάβετε αυτό το SMS, το έργο σας είναι έτοιμο για προβολή.

Οι παραπάνω εντολές είναι ανόητες και δεν ενεργοποιούν ποτέ τον κινητήρα ψευδώς, η εγκατάσταση δεν θα ανταποκρίνεται σε κανένα άλλο SMS εκτός από τα παραπάνω.

Βελτίωση της παραπάνω έννοιας

Αυτό το παραπάνω κύκλωμα εφαρμογών αντλίας GSM προσέλκυσε πολλούς αναγνώστες και έχουμε λάβει πολλούς ερωτήσεις και προτάσεις. Ένας από τους άπληστους αναγνώστες αυτού του ιστότοπου, ο κ. Γκάντι πρότεινε μια καλή βελτίωση στον προηγούμενο σχεδιασμό.

Αναγνώριση SMS όταν ο κινητήρας είναι πραγματικά ενεργοποιημένος

Η βελτίωση αφορά την αναγνώριση επαναφοράς, όπου ο χρήστης θα λάβει μια απάντηση SMS στο κινητό του από το GSM σύστημα ελεγκτή αντλίας όταν ένας χρήστης στέλνει ένα έγκυρο σχόλιο SMS.

Η υπάρχουσα σχεδίαση στέλνει SMS επιβεβαίωσης στον χρήστη ανεξάρτητα από την πραγματική κατάσταση του ρελέ, δηλαδή ON / OFF.

Η νέα αλλαγή σχεδιασμού που πρότεινε ο Mr.Gandhi ελέγχει την κατάσταση του ρελέ αν το ρελέ έχει αλλάξει φυσικά την κατάστασή του ή όχι.

Η αλλαγή σύμφωνα με αυτό το νέο νερό GSM σχεδιασμός αντλίας μπορεί να εφαρμοστεί στον προηγούμενο σχεδιασμό χωρίς πολύ ταλαιπωρία προσθέτοντας ένα σύστημα ανατροφοδότησης όπως φαίνεται στο σχηματικό και ανεβάζοντας τον νέο κώδικα.

Διάγραμμα κυκλώματος:

Όταν στέλνουμε την εντολή SMS '/ MOTOR ON /' ο πείρος # 9 πηγαίνει ψηλά και ενεργοποιεί το ρελέ ON. Εάν το ρελέ συνδέσει το κοινό και οι καρφίτσες N / O ξεκινά η αντλία και ανάβει επίσης τον μετασχηματιστή που θα δώσει +5 στην έξοδο.

Το σήμα + 5V τροφοδοτείται στον ακροδέκτη # 7, ο οποίος θα επιβεβαιώσει και θα επιστρέψει με την αναγνώριση 'Κινητήρας ενεργοποιημένος'.

Όταν στέλνουμε '/ MOTOR OFF /' ο πείρος # 9 γυρίζει LOW και το ρελέ αποσυνδέει τους κοινούς και N / O ακροδέκτες, αυτό θα απενεργοποιήσει την αντλία καθώς και τον συνδεδεμένο μετασχηματιστή. Η έξοδος στον ακροδέκτη # 7 πηγαίνει ΧΑΜΗΛΗ και επιστρέφει με την αναγνώριση «Μηχανή απενεργοποιημένη».

Εάν δεν υπάρχει αναγνώριση Το SMS λαμβάνεται στο κινητό σας , μπορούμε να επιβεβαιώσουμε ότι δεν έγινε καμία ενέργεια και ότι η αντλία βρίσκεται στην τελευταία ζητούμενη κατάσταση, μπορείτε να μεταβείτε στον ιστότοπο και να αντιμετωπίσετε προβλήματα ή να μην ληφθεί επιβεβαίωση λόγω διακοπής ρεύματος.

Κωδικός προγράμματος:

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

Η παραπάνω εφαρμογή δεν είναι πρακτικά δοκιμασμένη, αλλά ο συγγραφέας είναι εκατό τοις εκατό βέβαιος ότι η παραπάνω ιδέα θα λειτουργήσει. Εάν οι αναγνώστες βρήκαν προβλήματα με την παραπάνω βελτίωση, μπορείτε να το εκφράσετε στην ενότητα σχολίων.

Λίστα εξαρτημάτων

1) Ο μετασχηματιστής κατεβαίνει 12-0V
2) Δίοδοι IN4007 x5
3) LM7812 x1
4) Ρελέ 12V x1
5) BC548 Τρανζίστορ x1
6) Ηλεκτρολυτικός πυκνωτής 1000uF x1
7) Μονάδα GSM: μοντέλο SIM 800 ή SIM 900
8) Αντίσταση 330 Ohm x2
9) ΚΟΚΚΙΝΟ LED / ΠΡΑΣΙΝΟ x1
10) Arduino Uno ή Arduino nano ή Arduino Mega
11) DC αρσενική υποδοχή x2

Βίντεο κλιπ:

Ενσωμάτωση με 3 Phase Motors

Έχω λάβει πολλά αιτήματα για αναβάθμιση του σταδίου ρελέ για τον παραπάνω σχεδιασμό, ώστε να γίνει συμβατό για τη λειτουργία τριφασικών κινητήρων χρησιμοποιώντας εντολές κινητού τηλεφώνου GSM.

Γι 'αυτό αποφάσισα να σχεδιάσω το απαιτούμενο κύκλωμα που θα ελπίζω να μπορείτε να ενεργοποιήσετε και να απενεργοποιήσετε έναν δεδομένο τριφασικό κινητήρα που έχει τον τυπικό μηχανισμό επαφής εκκίνησης και διακοπής.

Το παρακάτω σχήμα δείχνει πώς να ρυθμίσετε τη σχεδίαση χρησιμοποιώντας ένα κύκλωμα IC 4017.

Απομακρυσμένο κινητό τηλέφωνο ελεγκτή GSM 3 φάσεων

ΣΗΜΕΙΩΣΗ: Οι τιμές 100uF / 10K και 220uF και 47K ενδέχεται να χρειαστούν κάποιες ρυθμίσεις προκειμένου να διασφαλιστεί η σωστή ποσότητα καθυστέρησης για τα αντίστοιχα στάδια τρανζίστορ και ρελέ.




Προηγούμενο: Κύκλωμα ασφαλείας δείκτη θέσης εισβολέα Επόμενο: Κύκλωμα ελεγκτή έντασης ηλιακού λαμπτήρα με τηλεχειρισμό