Πίνακας περιεχομένων:
- Βήμα 1: Βήμα: 1 Εξασφαλίστε την κατάσταση λειτουργίας των αισθητήρων και των συσκευών
- Βήμα 2: Πώς λειτουργεί;
- Βήμα 3: Προγραμματίστε το Arduino σας χρησιμοποιώντας το Arduino IDE
- Βήμα 4: Προσομοίωση με χρήση του Proteus
- Βήμα 5: Εκτέλεση υλικού
Βίντεο: Μέτρηση ταχύτητας κινητήρα χρησιμοποιώντας Arduino: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:31
Είναι δύσκολο να μετρήσω τις στροφές του κινητήρα;; Δεν νομίζω. Εδώ είναι μια απλή λύση.
Μόνο ένας αισθητήρας IR και το Arduino στο κιτ σας μπορούν να το κάνουν.
Σε αυτήν την ανάρτηση θα δώσω ένα απλό σεμινάριο που εξηγεί τον τρόπο μέτρησης των στροφών κάθε κινητήρα χρησιμοποιώντας αισθητήρα IR και Arduino UNO/nano
Προμήθειες:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. Αισθητήρας IR (Amazon)
3. DC μοτέρ οποιοδήποτε (Amazon)
4. LCD 16*2 (Amazon)
Εργαλεία που χρησιμοποιούνται
1. Συγκολλητικό σίδερο (Amazon)
2. Wire Stripper (Amazon)
Βήμα 1: Βήμα: 1 Εξασφαλίστε την κατάσταση λειτουργίας των αισθητήρων και των συσκευών
Τι είναι ένας αισθητήρας IR; Ο αισθητήρας IR είναι μια ηλεκτρονική συσκευή, η οποία εκπέμπει το φως για να αντιληφθεί κάποιο αντικείμενο του περιβάλλοντος χώρου. Ένας αισθητήρας IR μπορεί να μετρήσει τη θερμότητα ενός αντικειμένου καθώς και να ανιχνεύσει την κίνηση. Συνήθως, στο υπέρυθρο φάσμα, όλα τα αντικείμενα ακτινοβολούν κάποια μορφή θερμικής ακτινοβολίας. Αυτοί οι τύποι ακτινοβολιών είναι αόρατοι στα μάτια μας, αλλά ο αισθητήρας υπερύθρων μπορεί να ανιχνεύσει αυτές τις ακτινοβολίες.
Τι είναι ένας κινητήρας DC; Ένας κινητήρας συνεχούς ρεύματος (DC) είναι ένας τύπος ηλεκτρικής μηχανής που μετατρέπει την ηλεκτρική ενέργεια σε μηχανική ενέργεια. Οι κινητήρες συνεχούς ρεύματος λαμβάνουν ηλεκτρική ισχύ μέσω συνεχούς ρεύματος και μετατρέπουν αυτήν την ενέργεια σε μηχανική περιστροφή.
Οι κινητήρες συνεχούς ρεύματος χρησιμοποιούν μαγνητικά πεδία που προκύπτουν από τα ηλεκτρικά ρεύματα που δημιουργούνται, τα οποία ενεργοποιούν την κίνηση ενός ρότορα που είναι στερεωμένος μέσα στον άξονα εξόδου. Η ροπή και η ταχύτητα εξόδου εξαρτώνται τόσο από την ηλεκτρική είσοδο όσο και από τον σχεδιασμό του κινητήρα.
Τι είναι το Arduino;
Το Arduino είναι μια ηλεκτρονική πλατφόρμα ανοιχτού κώδικα που βασίζεται σε εύχρηστο υλικό και λογισμικό. Οι πίνακες Arduino είναι σε θέση να διαβάζουν εισόδους - φως σε έναν αισθητήρα, ένα δάχτυλο σε ένα κουμπί ή ένα μήνυμα Twitter - και να το μετατρέπουν σε έξοδο - ενεργοποιώντας έναν κινητήρα, ενεργοποιώντας ένα LED, δημοσιεύοντας κάτι στο διαδίκτυο. Μπορείτε να πείτε στον πίνακα τι να κάνει στέλνοντας ένα σύνολο οδηγιών στον μικροελεγκτή στον πίνακα. Για να το κάνετε αυτό, χρησιμοποιήστε τη γλώσσα προγραμματισμού Arduino (με βάση την καλωδίωση) και το λογισμικό Arduino (IDE), με βάση την επεξεργασία.
Κατεβάστε το ARDUINO IDE
Βήμα 2: Πώς λειτουργεί;
Ποια είναι λοιπόν η λογική πίσω από αυτό;;
Λειτουργεί πολύ παρόμοια με τον κωδικοποιητή. Οι κωδικοποιητές είναι δύσκολο να κατανοηθούν για αρχάριους. Το μόνο που πρέπει να γνωρίζετε είναι ότι ο αισθητήρας IR παράγει παλμό και ανακαλύπτουμε το χρονικό διάστημα μεταξύ κάθε παλμού.
Σε αυτήν την περίπτωση, ο αισθητήρας IR θα στείλει έναν παλμό στο Arduino όταν η δέσμη IR του αναχαιτιστεί με προπέλες κινητήρων. Κανονικά χρησιμοποιούμε έλικες με δύο λεπίδες, αλλά έχω χρησιμοποιήσει έλικα με τρεις λεπίδες όπως φαίνεται στο σχήμα. ανάλογα με τον αριθμό των λεπίδων έλικας πρέπει να τροποποιήσουμε ορισμένες τιμές κατά τον υπολογισμό των RPM.
ας σκεφτούμε ότι έχουμε μια προπέλα που έχει δύο λεπίδες. Για κάθε κινητήρα περιστροφής, η λεπίδα θα αναχαιτίσει την ακτίνα IR δύο φορές. Έτσι, ο αισθητήρας IR θα παράγει παλμούς κάθε φορά που αναχαιτίζονται.
Τώρα πρέπει να γράψουμε ένα πρόγραμμα που θα μπορούσε να μετρήσει τους αριθμητικούς παλμούς που παράγονται από τον αισθητήρα IR σε ένα συγκεκριμένο χρονικό διάστημα.
Υπάρχουν περισσότεροι από ένας τρόποι επίλυσης ενός προβλήματος, αλλά πρέπει να διαλέξουμε ποιος είναι ο καλύτερος σε αυτούς τους κωδικούς έχω μετρήσει τη διάρκεια μεταξύ των διακοπών (αισθητήρας IR) χρησιμοποίησα συναρτήσεις micros () για να μετρήσω τη διάρκεια των παλμών σε μικρο δευτερόλεπτα.
μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο για να μετρήσετε το RPMRPM = ((1/διάρκεια)*1000*1000*60)/λεπίδες
όπου, διάρκεια - χρονικό διάστημα μεταξύ των παλμών.
60 - δευτερόλεπτα έως λεπτά
1000 - μύλος σε δευτερόλεπτο
1000 - μικρό σε μύλο
λεπίδες - δεν υπάρχουν φτερά στην προπέλα.
Οθόνη LCD - Το Arduino ενημερώνει τους καταχωρητές εντολών και δεδομένων της οθόνης LCD. Που εμφανίζει τους χαρακτήρες ASCII στην οθόνη LCD.
Βήμα 3: Προγραμματίστε το Arduino σας χρησιμοποιώντας το Arduino IDE
#περιλαμβάνω
LiquidCrystal LCD (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // Αισθητήρας IR ΕΙΣΟΔΟΣ ανυπόγραφο μακρύ prevmicros; // Για αποθήκευση χρόνου χωρίς υπογραφή μεγάλης διάρκειας. // Για να αποθηκεύσετε τη διαφορά ώρας χωρίς υπογραφή μακροχρόνια lcdrefresh. // Για αποθήκευση χρόνου για την ανανέωση της έντασης rpm για την οθόνη LCD. // τιμή RPM boolean currentstate; // Τρέχουσα κατάσταση σάρωσης εισόδου IR boolean prevstate. // Κατάσταση αισθητήρα IR σε προηγούμενη ρύθμιση κενών σάρωσης () {pinMode (IR_IN, INPUT); lcd. αρχή (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {///////////////////////////////////////// ///////////////////////////////////// RPM Μέτρηση currentstate = digitalRead (IR_IN); // Διαβάστε την κατάσταση αισθητήρα IR αν (prevstate! = Currentstate) // Εάν υπάρχει αλλαγή στην είσοδο {if (currentstate == LOW) // Εάν η είσοδος αλλάζει μόνο από HIGH σε LOW {διάρκεια = (micros () - prevmicros); // Διαφορά ώρας μεταξύ περιστροφής σε μικροδευτερόλεπτα rpm = ((60000000/διάρκεια)/3); // rpm = (1/ time millis)*1000*1000*60; prevmicros = micros (); // αποθηκεύστε χρόνο για υπολογισμό περιστροφής νέκτ}} prevstate = currentstate; // αποθηκεύστε αυτά τα δεδομένα σάρωσης (προηγούμενη σάρωση) για επόμενη σάρωση /////////////////////////////////// //////////////////////////////////////////////// Οθόνη LCD εάν ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ταχύτητα κινητήρα"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (σ.α.λ.) lcdrefresh = millis (); }}
Βήμα 4: Προσομοίωση με χρήση του Proteus
Αυτό το έργο λειτούργησε τέλεια όταν προσπάθησα να το προσομοιώσω με τη βοήθεια του πρωτείου.
Αντί για χρήση αισθητήρα IR, χρησιμοποίησα γεννήτρια παλμών DC, η οποία προσομοιώνει τον παλμό IR παρόμοιο με αυτόν που δημιουργείται όταν οι ακτίνες IR χτυπούν τις λεπίδες των προπέλων.
πρέπει να κάνετε αλλαγές στο πρόγραμμά σας ανάλογα με τον αισθητήρα που χρησιμοποιείτε
Ο αισθητήρας IR με LM358 πρέπει να χρησιμοποιεί αυτήν την εντολή.
if (currentstate == HIGH) // Εάν η είσοδος αλλάζει μόνο από LOW σε HIGH
Ο αισθητήρας IR με LM359 πρέπει να χρησιμοποιεί αυτήν την εντολή.
if (currentstate == LOW) // Εάν η είσοδος αλλάζει μόνο από HIGH σε LOW
Βήμα 5: Εκτέλεση υλικού
Για σχηματική χρήση, χρησιμοποιήστε τις εικόνες προσομοίωσης ή ανατρέξτε στους κωδικούς του προγράμματος και κάντε τις συνδέσεις ανάλογα. Ανεβάστε τον κωδικό προγράμματος στο Arduino και μετρήστε το RPM κάθε κινητήρα. Μείνετε συντονισμένοι για την επόμενη ανάρτησή μου και δείτε το κανάλι μου στο YouTube.
Συνιστάται:
Μεταβλητός ελεγκτής ταχύτητας κινητήρα: 8 βήματα
Μεταβλητός ελεγκτής ταχύτητας κινητήρα: Σε αυτό το έργο, θα σας δείξω τον τρόπο με τον οποίο έφτιαξα τον ελεγκτή ταχύτητας κινητήρα & Θα δείξω επίσης πόσο εύκολο μπορεί να είναι η κατασκευή ενός μεταβλητού ελεγκτή ταχύτητας κινητήρα με τη βοήθεια ενός IC 555. Ας ξεκινήσουμε
Arduino Έλεγχος ταχύτητας και κατεύθυνσης κινητήρα DC χρησιμοποιώντας ποτενσιόμετρο & κουμπιά: 6 βήματα
Arduino Control DC Motor Speed and Direction Using a Potentiometer & Buttons: Σε αυτό το σεμινάριο θα μάθουμε πώς να χρησιμοποιούμε ένα πρόγραμμα οδήγησης L298N DC MOTOR CONTROL και ένα ποτενσιόμετρο για τον έλεγχο της ταχύτητας και της κατεύθυνσης του κινητήρα DC με δύο κουμπιά. Δείτε ένα βίντεο επίδειξης
Τρόπος προγραμματισμού αποκωδικοποιητή IR για έλεγχο ταχύτητας κινητήρα εναλλασσόμενου ρεύματος πολλαπλών ταχυτήτων: 7 βήματα
Πώς να προγραμματίσετε τον αποκωδικοποιητή IR για τον έλεγχο κινητήρα εναλλασσόμενου ρεύματος πολλαπλών ταχυτήτων: Οι μονοφασικοί κινητήρες εναλλασσόμενου ρεύματος βρίσκονται συνήθως σε οικιακά αντικείμενα όπως ανεμιστήρες και η ταχύτητά τους μπορεί να ελεγχθεί εύκολα όταν χρησιμοποιείτε έναν αριθμό διακριτών περιελίξεων για ρυθμισμένες ταχύτητες. Σε αυτό το Instructable χτίζουμε έναν ψηφιακό ελεγκτή ο οποίος
Χρησιμοποιήστε έναν κινητήρα DC Treadmill DC και έναν ελεγκτή ταχύτητας PWM για ηλεκτρικά εργαλεία: 13 βήματα (με εικόνες)
Χρησιμοποιήστε έναν κινητήρα DC Treadmill DC και έναν ελεγκτή ταχύτητας PWM για ηλεκτρικά εργαλεία: Τα ηλεκτρικά εργαλεία όπως οι μεταλλικοί μύλοι και οι τόρνοι, οι πρέσες τρυπανιών, τα πριόνια, τα τριβεία και άλλα μπορεί να απαιτούν. Κινητήρες 5HP έως 2HP με δυνατότητα ρύθμισης της ταχύτητας διατηρώντας παράλληλα τη ροπή .Συμπτωματικά οι περισσότεροι διάδρομοι χρησιμοποιούν κινητήρα VDC 80-260 με
Πώς να ελέγξετε τον κινητήρα DC χωρίς ψήκτρες Quadcopter Drone (Τύπος 3 καλωδίων) χρησιμοποιώντας τον ελεγκτή ταχύτητας κινητήρα HW30A και το Arduino UNO: 5 βήματα
Πώς να ελέγξετε τον κινητήρα DC χωρίς ψήκτρες Quadcopter Drone (Τύπος 3 καλωδίων) χρησιμοποιώντας τον ελεγκτή ταχύτητας HW30A Motor και το Arduino UNO: Περιγραφή: Ο ελεγκτής ταχύτητας κινητήρα HW30A μπορεί να χρησιμοποιηθεί με μπαταρίες LiPo 4-10 NiMH/NiCd ή 2-3 κυψελών. Το BEC είναι λειτουργικό με έως και 3 κελιά LiPo. Μπορεί να χρησιμοποιηθεί για τον έλεγχο της ταχύτητας του κινητήρα DC χωρίς ψήκτρες (3 καλώδια) με μέγιστο έως 12Vdc. Ειδικό