Πίνακας περιεχομένων:
- Βήμα 1: Βιβλιοθήκη StepDriver
- Βήμα 2: Παγκόσμιες μεταβλητές
- Βήμα 3: Λειτουργίες - Ρύθμιση των ακίδων του προγράμματος οδήγησης
- Βήμα 4: Λειτουργίες - Βασικές λειτουργίες του προγράμματος οδήγησης
- Βήμα 5: Λειτουργίες - Ρύθμιση βημάτων κινητήρα
- Βήμα 6: Λειτουργίες - Ρύθμιση της λειτουργίας Βήματος κινητήρα
- Βήμα 7: Λειτουργίες - Ρύθμιση των οριακών διακοπτών
- Βήμα 8: Λειτουργίες - Ανάγνωση οριακών διακοπτών
- Βήμα 9: Λειτουργίες - Ρύθμιση κίνησης
- Βήμα 10: Λειτουργίες - Συνάρτηση κίνησης
- Βήμα 11: Λειτουργίες - Συνάρτηση κίνησης - Μεταβλητές
- Βήμα 12: Λειτουργίες - Λειτουργία κίνησης - Επιτάχυνση
- Βήμα 13: Λειτουργίες - Λειτουργία κίνησης - Συνεχής ταχύτητα
- Βήμα 14: Λειτουργίες - Λειτουργία κίνησης - Επιτάχυνση
- Βήμα 15: Λειτουργίες - Λειτουργία κίνησης - Συνεχής ταχύτητα
- Βήμα 16: Λειτουργίες - Μετακίνηση Λειτουργίας - Μετακίνηση στροφών
- Βήμα 17: Διάγραμμα κίνησης - Ταχύτητα θέσης
- Βήμα 18: Διάγραμμα κίνησης - Θέση εναντίον Θέση
- Βήμα 19: Motion Chart - Velocity Vs. Στιγμή
Βίντεο: Arduino: Precision Lib για Stepper Motor: 19 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σήμερα, θα σας δείξω μια βιβλιοθήκη για οδηγό μοτέρ πλήρους βηματισμού με οριακούς διακόπτες και κίνηση κινητήρα με επιτάχυνση και μικροβημα. Αυτό το Lib, το οποίο λειτουργεί τόσο στο Arduino Uno όσο και στο Arduino Mega, σας επιτρέπει να μετακινείτε τους κινητήρες με βάση όχι μόνο τον αριθμό των βημάτων, αλλά και τα χιλιοστά. Και είναι αρκετά ακριβές επίσης.
Ένα σημαντικό χαρακτηριστικό αυτής της βιβλιοθήκης είναι ότι σας επιτρέπει να φτιάξετε τη δική σας μηχανή CNC, η οποία δεν είναι απαραίτητα μόνο το X, Y, αλλά και ένας διακόπτης ενότητας, για παράδειγμα, επειδή δεν είναι έτοιμο GRBL, αλλά μάλλον προγραμματισμός που σας επιτρέπει να φτιάξετε το ιδανικό μηχάνημα για εσάς.
Ωστόσο, η ακόλουθη δήλωση είναι μια σημαντική λεπτομέρεια! Αυτό το βίντεο απευθύνεται μόνο σε όσους έχουν ήδη συνηθίσει στον προγραμματισμό. Εάν δεν είστε εξοικειωμένοι με τον προγραμματισμό Arduino, θα πρέπει πρώτα να παρακολουθήσετε άλλα περισσότερα εισαγωγικά βίντεο στο κανάλι μου. Αυτό συμβαίνει επειδή συζητώ ένα προηγμένο θέμα σε αυτό το συγκεκριμένο βίντεο και εξηγώ λεπτομερέστερα το Lib που χρησιμοποιείται στο βίντεο: Step Motor with Acceleration and End of Stroke.
Βήμα 1: Βιβλιοθήκη StepDriver
Αυτή η βιβλιοθήκη καλύπτει τους τρεις πιο συνηθισμένους τύπους προγραμμάτων οδήγησης στην αγορά: A4988, DRV8825 και TB6600. Διαμορφώνει τις ακίδες των προγραμμάτων οδήγησης, επιτρέποντάς τους να πραγματοποιήσουν επαναφορά και τοποθέτηση σε κατάσταση αναστολής λειτουργίας, καθώς και να ενεργοποιήσουν και να απενεργοποιήσουν τις εξόδους του κινητήρα που λειτουργούν στον πείρο Ενεργοποίηση. Ορίζει επίσης τις εισόδους των ακίδων μικροβημάτων του οδηγού και περιορίζει τους διακόπτες και το επίπεδο ενεργοποίησής τους (υψηλό ή χαμηλό). Διαθέτει επίσης κωδικό κίνησης κινητήρα με συνεχή επιτάχυνση σε mm / s², μέγιστη ταχύτητα σε mm / s και ελάχιστη ταχύτητα σε mm / s.
Για όσους παρακολούθησαν τα μέρη 1 και 2 του βίντεο Step Motor with Acceleration και End of Stroke, κατεβάστε αυτήν τη νέα βιβλιοθήκη που είναι διαθέσιμη σήμερα, επειδή έκανα κάποιες αλλαγές σε αυτό το πρώτο αρχείο για να διευκολύνω τη χρήση του.
Βήμα 2: Παγκόσμιες μεταβλητές
Δείχνω ακριβώς για ποιο σκοπό εξυπηρετεί κάθε μια από τις καθολικές μεταβλητές.
Βήμα 3: Λειτουργίες - Ρύθμιση των ακίδων του προγράμματος οδήγησης
Εδώ, περιγράφω μερικές μεθόδους.
Ορίζω τη ρύθμιση Pinout και τις ακίδες Arduino ως έξοδο.
Βήμα 4: Λειτουργίες - Βασικές λειτουργίες του προγράμματος οδήγησης
Σε αυτό το μέρος, εργαζόμαστε με τη διαμόρφωση του προγράμματος οδήγησης και τις βασικές λειτουργίες του.
Βήμα 5: Λειτουργίες - Ρύθμιση βημάτων κινητήρα
Σε αυτό το βήμα του κώδικα, ρυθμίζουμε την ποσότητα βημάτων ανά χιλιοστό που πρέπει να εκτελέσει ο κινητήρας.
Βήμα 6: Λειτουργίες - Ρύθμιση της λειτουργίας Βήματος κινητήρα
Αυτός ο πίνακας δείχνει τις ρυθμίσεις για τη λειτουργία βηματικού μοτέρ. Να μερικά παραδείγματα.
Βήμα 7: Λειτουργίες - Ρύθμιση των οριακών διακοπτών
Εδώ, πρέπει να διαβάσω ολόκληρες και boolean τιμές. Είναι απαραίτητο να ορίσετε εάν το ενεργό κλειδί είναι πάνω ή κάτω, ενώ ορίζετε το μέγιστο και το ελάχιστο τελικό τέλος.
Βήμα 8: Λειτουργίες - Ανάγνωση οριακών διακοπτών
Αυτό το μέρος είναι διαφορετικό από αυτό στο Lib που έκανα διαθέσιμο την περασμένη εβδομάδα. Γιατί το άλλαξα; Λοιπόν, δημιούργησα το eRead για να αντικαταστήσω κάποια άλλα. Εδώ, το eRead θα διαβάσει το LVL, το digitalRead (pin) και θα επιστρέψει TRUE. Όλα αυτά πρέπει να εκτελούνται σε υψηλό επίπεδο. Η παρακάτω εργασία με το ενεργό κλειδί θα είναι σε χαμηλό επίπεδο. Θα το χρησιμοποιήσω εδώ για να σας δείξω τον πίνακα "Αλήθεια".
Στην εικόνα του κώδικα, τοποθέτησα ένα διάγραμμα που θα βοηθήσει στην κατανόηση ότι, σε αυτό το μέρος του πηγαίου κώδικα, κινούμαι προς την κατεύθυνση Αύξουσα και δεν έχω πατήσει ακόμα το κλειδί τερματισμού.
Τώρα, σε αυτήν την εικόνα os με κωδικό bool DRV8825, δείχνω τον κινητήρα να κινείται ακόμα προς την αναπτυσσόμενη κατεύθυνση. Ωστόσο, ο διακόπτης μέγιστου ορίου ενεργοποιήθηκε. Ο μηχανισμός, λοιπόν, πρέπει να σταματήσει την κίνηση.
Τέλος, εμφανίζω την ίδια κίνηση, αλλά προς την αντίθετη κατεύθυνση.
Εδώ, έχετε ήδη ενεργοποιήσει τον διακόπτη τερματισμού.
Βήμα 9: Λειτουργίες - Ρύθμιση κίνησης
Η κύρια χρησιμότητα της μεθόδου motionConfig είναι η μετατροπή του χιλιοστού ανά δευτερόλεπτο (μια μέτρηση που χρησιμοποιείται σε μηχανές CNC) σε βήματα, προκειμένου να ανταποκριθεί στον ελεγκτή ενός βηματικού κινητήρα. Σε αυτό το μέρος, λοιπόν, υποδεικνύω τις μεταβλητές για να κατανοήσουν τα βήματα και όχι τα χιλιοστά.
Βήμα 10: Λειτουργίες - Συνάρτηση κίνησης
Σε αυτό το βήμα, αντιμετωπίζουμε την εντολή που κινείται ένα βήμα προς την επιθυμητή κατεύθυνση σε μια περίοδο σε μικροδευτερόλεπτα. Ορίσαμε επίσης τον πείρο κατεύθυνσης του οδηγού, τον χρόνο καθυστέρησης και την κατεύθυνση των οριακών διακοπτών.
Βήμα 11: Λειτουργίες - Συνάρτηση κίνησης - Μεταβλητές
Σε αυτό το μέρος, διαμορφώνουμε όλες τις μεταβλητές που περιλαμβάνουν περιόδους μέγιστης και ελάχιστης ταχύτητας, απόσταση τροχιάς και βήματα απαραίτητα για τη διακοπή της τροχιάς, μεταξύ άλλων.
Βήμα 12: Λειτουργίες - Λειτουργία κίνησης - Επιτάχυνση
Εδώ, παρουσιάζω μερικές λεπτομέρειες σχετικά με το πώς φτάσαμε στα δεδομένα επιτάχυνσης, τα οποία υπολογίστηκαν μέσω της εξίσωσης του Τοριτσέλι, αφού αυτό λαμβάνει υπόψη τους χώρους για να λειτουργήσει η επιτάχυνση και όχι ο χρόνος. Αλλά, είναι σημαντικό εδώ να καταλάβουμε ότι ολόκληρη αυτή η εξίσωση αφορά μόνο μία γραμμή κώδικα.
Εντοπίσαμε ένα τραπέζι στην παραπάνω εικόνα, επειδή οι αρχικές στροφές είναι κακές για τους περισσότερους βηματικούς κινητήρες. Το ίδιο συμβαίνει με την επιβράδυνση. Εξαιτίας αυτού, απεικονίζουμε ένα τραπεζοειδές στο διάστημα μεταξύ επιτάχυνσης και επιβράδυνσης.
Βήμα 13: Λειτουργίες - Λειτουργία κίνησης - Συνεχής ταχύτητα
Εδώ διατηρούμε τον αριθμό των βημάτων που χρησιμοποιούνται στην επιτάχυνση, συνεχίζουμε σε συνεχή ταχύτητα και διατηρούμε τη μέγιστη ταχύτητα, η οποία φαίνεται στην παρακάτω εικόνα.
Βήμα 14: Λειτουργίες - Λειτουργία κίνησης - Επιτάχυνση
Εδώ έχουμε μια άλλη εξίσωση, αυτή τη φορά με αρνητική τιμή επιτάχυνσης. Εμφανίζεται επίσης σε μια γραμμή κώδικα, η οποία αντιπροσωπεύει, στην παρακάτω εικόνα, το ορθογώνιο με την ένδειξη επιβράδυνση.
Βήμα 15: Λειτουργίες - Λειτουργία κίνησης - Συνεχής ταχύτητα
Επιστρέφουμε στη συνεχή ταχύτητα για να δουλέψουμε το δεύτερο μισό της τροχιάς, όπως φαίνεται παρακάτω.
Βήμα 16: Λειτουργίες - Μετακίνηση Λειτουργίας - Μετακίνηση στροφών
Σε αυτό το μέρος, μετακινούμε τον κινητήρα σε συγκεκριμένο αριθμό στροφών προς την επιθυμητή κατεύθυνση, μετατρέποντας τον αριθμό των στροφών σε χιλιοστά. Τέλος, μετακινούμε τον κινητήρα προς την επιθυμητή κατεύθυνση.
Βήμα 17: Διάγραμμα κίνησης - Ταχύτητα θέσης
Σε αυτό το γράφημα, έχω δεδομένα που εξήχθησαν από την εξίσωση που χρησιμοποιήσαμε στο τμήμα της Επιτάχυνσης. Πήρα τις τιμές και έπαιξα στο σειριακό Arduino και πήγα από αυτό στο Excel, το οποίο κατέληξε σε αυτόν τον πίνακα. Αυτός ο πίνακας δείχνει την πρόοδο του βήματος.
Βήμα 18: Διάγραμμα κίνησης - Θέση εναντίον Θέση
Εδώ, παίρνουμε τη θέση, σε βήματα και την ταχύτητα και τη μετατρέπουμε σε περίοδο, σε μικροδευτερόλεπτα. Σημειώνουμε σε αυτό το βήμα ότι η περίοδος είναι αντιστρόφως ανάλογη της ταχύτητας.
Βήμα 19: Motion Chart - Velocity Vs. Στιγμή
Τέλος, έχουμε την ταχύτητα ως συνάρτηση της στιγμής, και εξαιτίας αυτού, έχουμε μια ευθεία γραμμή, αφού είναι η ταχύτητα ως συνάρτηση του χρόνου.
Συνιστάται:
Stepper Motor ελεγχόμενος Stepper Motor χωρίς μικροελεγκτή !: 6 βήματα
Stepper Motor Controlled Stepper Motor Without Microcontroller !: Σε αυτό το γρήγορο Instructable, θα φτιάξουμε ένα απλό stepper μοτέρ χειριστηρίου χρησιμοποιώντας βηματικό μοτέρ. Αυτό το έργο δεν απαιτεί περίπλοκα κυκλώματα ή μικροελεγκτή. Οπότε, χωρίς άλλη παραμύθι, ας ξεκινήσουμε
Stepper Motor ελεγχόμενη Stepper Motor χωρίς μικροελεγκτή (V2): 9 βήματα (με εικόνες)
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2): Σε μία από τις προηγούμενες οδηγίες μου, σας έδειξα πώς να ελέγχετε ένα βηματικό μοτέρ χρησιμοποιώντας ένα βηματικό μοτέρ χωρίς μικροελεγκτή. Ταν ένα γρήγορο και διασκεδαστικό έργο αλλά ήρθε με δύο προβλήματα που θα λυθούν σε αυτό το Instructable. Έτσι, εξυπνάδα
Μοντέλο ατμομηχανής ελεγχόμενης από Stepper Motor - Stepper Motor As a Rotary Encoder: 11 βήματα (με εικόνες)
Μοντέλο ατμομηχανής ελεγχόμενου από Stepper Motor | Stepper Motor As a Rotary Encoder: Σε ένα από τα προηγούμενα Instructables, μάθαμε πώς να χρησιμοποιούμε ένα βηματικό μοτέρ ως περιστροφικό κωδικοποιητή. Σε αυτό το έργο, θα χρησιμοποιήσουμε τώρα αυτόν τον περιστροφικό κωδικοποιητή βηματικού κινητήρα για τον έλεγχο μιας ατμομηχανής μοντέλου χρησιμοποιώντας έναν μικροελεγκτή Arduino. Έτσι, χωρίς fu
Stepper Motor ελεγχόμενη Stepper Motor - Stepper Motor As a Rotary Encoder: 11 βήματα (με εικόνες)
Stepper Motor ελεγχόμενη Stepper Motor | Stepper Motor As a Rotary Encoder: Έχετε μερικά stepper motors ξαπλωμένα και θέλετε να κάνετε κάτι; Σε αυτό το Instructable, ας χρησιμοποιήσουμε έναν βηματικό κινητήρα ως περιστροφικό κωδικοποιητή για να ελέγξουμε τη θέση ενός άλλου βηματικού κινητήρα χρησιμοποιώντας έναν μικροελεγκτή Arduino. Οπότε, χωρίς άλλη παρατήρηση, ας
Πώς να χρησιμοποιήσετε το Stepper Motor ως περιστροφικό κωδικοποιητή και οθόνη OLED για βήματα: 6 βήματα
Πώς να χρησιμοποιήσετε το Stepper Motor ως περιστροφικό κωδικοποιητή και οθόνη OLED για βήματα: Σε αυτό το σεμινάριο θα μάθουμε πώς να παρακολουθείτε τα βήματα του βηματικού κινητήρα στην οθόνη OLED. Παρακολουθήστε ένα βίντεο επίδειξης. Η πίστωση για το πρωτότυπο σεμινάριο πηγαίνει στον χρήστη του youtube " sky4fly "