Πίνακας περιεχομένων:
- Βήμα 1: Χρησιμοποιημένοι πόροι
- Βήμα 2: Σχετικά με τα άτρακτα - Τι είναι αυτά;
- Βήμα 3: Σχετικά με τους άξονες - Ενιαία και σφαιρικά νήματα
- Βήμα 4: Σχετικά με τις ατράκτους - Εφαρμογές
- Βήμα 5: Σχετικά με τις ατράκτους - παράμετροι
- Βήμα 6: Σχετικά με τους άξονες - Βήμα (μετατόπιση και ταχύτητα)
- Βήμα 7: Συναρμολόγηση
- Βήμα 8: Τοποθέτηση - Υλικά
- Βήμα 9: Συναρμολόγηση - Βήμα 01
- Βήμα 10: Συναρμολόγηση - Βήμα 02
- Βήμα 11: Τοποθέτηση - Βήμα 03
- Βήμα 12: Συναρμολόγηση - Βήμα 04
- Βήμα 13: Τοποθέτηση - Ηλεκτρονικά
- Βήμα 14: Ηλεκτρικό σχήμα
- Βήμα 15: Πηγαίος κώδικας
- Βήμα 16: Σχετικά με τους άξονες - Διαμορφώσεις μηχανών
- Βήμα 17: Marlin
- Βήμα 18: GRBL
- Βήμα 19: Δείτε περισσότερα από τη δουλειά μου:
Βίντεο: Arduino Uno με άξονα και μοχλό βήματος: 19 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σήμερα θα μιλήσουμε για ένα πολύ σημαντικό θέμα στη μηχανική και τη μηχατρονική: τα στοιχεία των μηχανών. Σε αυτό το άρθρο, θα ασχοληθούμε συγκεκριμένα με τις ατράκτους, με μερικές ενδιαφέρουσες δυνατότητες και εφαρμογές. Ακόμα, θα επιδείξουμε κάποιους τρόπους υπολογισμού της κίνησης που προκαλείται από έναν άξονα και παρουσίασης μιας δοκιμαστικής διάταξης.
Έκανα τη συναρμολόγηση παρακάτω, επομένως, η οποία εκθέτει την πρόοδο ενός ατράκτου 2mm και ενός άλλου 8mm. Αυτοί οι άξονες TR8 που χρησιμοποιώ χρησιμοποιούνται συνήθως σε μικρούς δρομολογητές και τρισδιάστατους εκτυπωτές, ειδικά στον άξονα Ζ. Θυμηθείτε ότι με την κυριαρχία σε ορισμένες έννοιες που θα δουλέψουμε εδώ, θα μπορείτε να σχεδιάσετε οποιοδήποτε τύπο μηχανής.
Βήμα 1: Χρησιμοποιημένοι πόροι
- Τραπεζοειδής άξονας διαμέτρου 8mm και βήματος 2mm
- Τραπεζοειδής άτρακτος 8mm σε διάμετρο και 8mm σε βήμα
- 8x2 άτρακτο με φλάντζα κάστανο
- 8x8 άτρακτο με φλάντζα κάστανο
- Ρουλεμάν για ατράκτους διαμέτρου 8mm
- Γραμμικός κυλινδρικός οδηγός διαμέτρου 10mm
- Κυλινδρικά ρουλεμάν για οδηγούς 10mm
- Αγκύλες για κυλινδρικούς οδηγούς 10mm
- NEMA 17 Motors
- Συζεύξεις άξονα
- Arduino Uno
- Πρόγραμμα οδήγησης DRV8825
- Πληκτρολόγιο μήτρας 4x4
- Οθόνη Nokia 5110
- Διάφορα πλαστικά μέρη
- Βίδες και παξιμάδια
- Ξύλινη βάση
- Εξωτερικό τροφοδοτικό 12V
Βήμα 2: Σχετικά με τα άτρακτα - Τι είναι αυτά;
Οι άξονες είναι στοιχεία μηχανών, όπως βίδες. Είναι δηλαδή ευθείες ράβδοι που σχηματίζονται από νήματα συνεχών βημάτων. Χρησιμοποιούνται σε μηχανισμούς που απαιτούν γραμμική κίνηση και τοποθέτηση. Μπορούν να ασκήσουν μεγάλες δυνάμεις εφελκυσμού και συμπίεσης και να μεταδώσουν ροπή. Επιτρέπουν την κίνηση με αυτόματο κλείδωμα. Μπορούν να κατασκευαστούν από διαφορετικά υλικά, το πιο συνηθισμένο αλουμίνιο και χάλυβας.
Καθώς οι κινεζικές εταιρείες κατασκευάζουν τις τραπεζοειδείς ατράκτους, θα πρότεινα να πάρετε αυτό το είδος προϊόντος αντί για το γνωστό μπουλόνι παξιμαδιού. Αυτό οφείλεται στην πιο ελκυστική τιμή και την αντοχή, την οποία θεωρώ αποτρόπαιο.
Στη φωτογραφία έβαλα τον καλύτερο άξονα που έχει, κατά τη γνώμη μου, αυτόν τον άξονα ανακυκλοφορίας. Είναι συνήθως κατασκευασμένο από πολύ σκληρό ατσάλι και οι μπάλες περιστρέφονται γύρω από αυτό, μέσα στο κάστανο. Εκτός από την εξαιρετική ακρίβεια, τονίζω επίσης την ανθεκτικότητα, καθώς αυτός ο τύπος ατράκτου μπορεί να αναπαράγει δισεκατομμύρια κινήσεις χωρίς να βλάψει τον μηχανισμό. Μια φθηνότερη επιλογή, που είναι αυτή που χρησιμοποιούμε εδώ, είναι η τραπεζοειδής άτρακτος.
Βήμα 3: Σχετικά με τους άξονες - Ενιαία και σφαιρικά νήματα
Οι άτρακτοι της μπάλας, στη φωτογραφία στα αριστερά, έχουν ημικυκλικά κανάλια όπου κυλούν οι μπάλες. Είναι σχετικά πιο ακριβά και έχουν χαμηλή τριβή σε σύγκριση με τους άξονες μονής βίδας, οδηγώντας σε πολύ υψηλότερη απόδοση (τριβή κύλισης).
Οι μονόκλωνοι άξονες στη δεξιά πλευρά της εικόνας έχουν συνήθως τραπεζοειδή προφίλ, αφού αυτή η γεωμετρία είναι πιο κατάλληλη για την εφαρμογή δυνάμεων στην αξονική κατεύθυνση και την ομαλή μετάδοση της κίνησης. Είναι σχετικά φθηνά και έχουν υψηλή τριβή σε σύγκριση με τους άξονες ανακύκλωσης της μπάλας, οδηγώντας σε χαμηλή απόδοση, δηλαδή τριβή ολίσθησης.
Βήμα 4: Σχετικά με τις ατράκτους - Εφαρμογές
Οι άξονες μπορούν να εφαρμοστούν σε οποιονδήποτε μηχανισμό όπου απαιτείται γραμμική κίνηση. Χρησιμοποιούνται ευρέως στη βιομηχανία σε μηχανήματα και διαδικασίες.
Ορισμένες εφαρμογές περιλαμβάνουν:
- Ανελκυστήρες φορτίου
- Πιέζει
- Φράουλες και τόρνοι
- Εξοπλισμός CNC
- Μηχανές περιτύλιξης
- Τρισδιάστατοι εκτυπωτές
- Εξοπλισμός κοπής & κοπής λέιζερ
- Βιομηχανικές διαδικασίες
- Συστήματα τοποθέτησης και γραμμικής κίνησης
Βήμα 5: Σχετικά με τις ατράκτους - παράμετροι
Υπάρχουν πολλά χαρακτηριστικά ενός άξονα που πρέπει να ληφθούν υπόψη κατά το σχεδιασμό ενός μηχανισμού. Εκτός από τη διάμετρο και το ύψος του, είναι απαραίτητο να αναγνωριστεί η θλιπτική του αντοχή, η ροπή αδράνειάς του (αντίσταση στην αλλαγή στην περιστροφική του κατάσταση), το κατασκευαστικό υλικό, η ταχύτητα περιστροφής στην οποία θα υποβληθεί, η κατεύθυνση λειτουργίας (οριζόντια ή κάθετο), το εφαρμοζόμενο φορτίο, μεταξύ άλλων.
Αλλά, με βάση ήδη κατασκευασμένους μηχανισμούς, μπορούμε να διαισθανθούμε αρκετές από αυτές τις παραμέτρους.
Ας αναγνωρίσουμε κάποιο κοινό καλό. Ας ξεκινήσουμε με το ΒΗΜΑ.
Βήμα 6: Σχετικά με τους άξονες - Βήμα (μετατόπιση και ταχύτητα)
Καθορίζει το μήκος που διανύει το παξιμάδι σε κάθε περιστροφή. Αυτό είναι συνήθως σε mm / περιστροφή.
Ένας άξονας 2 mm ανά περιστροφή θα προκαλέσει μετατόπιση 2 mm σε κάθε στροφή που εκτελεί ο άξονας. Θα επηρεάσει τη γραμμική ταχύτητα του παξιμαδιού, καθώς με την αύξηση της ταχύτητας περιστροφής, ο αριθμός περιστροφών ανά μονάδα χρόνου θα αυξηθεί και κατά συνέπεια και η διανυθείσα απόσταση.
Εάν μια περιστροφή 2 mm ανά περιστροφή περιστρέφεται στις 60 RPM (μία περιστροφή ανά δευτερόλεπτο), το παξιμάδι θα κινηθεί με 2 mm ανά δευτερόλεπτο.
Βήμα 7: Συναρμολόγηση
Στη συναρμολόγησή μας, έχω δύο κινητήρες και το πληκτρολόγιό μας με την οθόνη, που έμοιαζε με αριθμομηχανή, επειδή τους έκανα ένα κάλυμμα στον τρισδιάστατο εκτυπωτή. Στην οθόνη Nokia έχουμε τις ακόλουθες επιλογές:
F1: Ημισέληνος - Το Fuso πηγαίνει από την τρέχουσα θέση στη θέση που καθορίζω
F2: Φθίνουσα - Στροφή
F3: Ταχύτητα - Μπορώ να αλλάξω το πλάτος του παλμού
F4: ESC
Βήμα 8: Τοποθέτηση - Υλικά
Γραμμικοί οδηγοί A - 10mm
Β - Τραπεζοειδείς άξονες των βημάτων 2 και 8mm
Γ - Βάση γεώτρησης
D - Ρουλεμάν για ατράκτους
E - Κάτοχοι οδηγών
F - Κάστανα
G - Ρουλεμάν
Η - Συζεύξεις
Ι - Κινητήρες
J - Διάφορα πλαστικά μέρη (δρομείς, βραχίονες κινητήρα, σφήνες, υποστήριξη πληκτρολογίου και οθόνη
Βήμα 9: Συναρμολόγηση - Βήμα 01
Μετά τη διάτρηση της βάσης (C), συναρμολογούμε τους δύο κινητήρες (I). Για τη στερέωσή τους, χρησιμοποιούμε αγκύλες κατασκευασμένες στον τρισδιάστατο εκτυπωτή (J). Μην σφίγγετε καμία από τις βίδες σε αυτό το βήμα τοποθέτησης. Αυτό θα επιτρέψει τις απαραίτητες προσαρμογές στο βήμα ευθυγράμμισης.
Βήμα 10: Συναρμολόγηση - Βήμα 02
Ακόμα ακολουθώντας τη διάτρηση της βάσης (C), τοποθετήστε τις ράγες οδήγησης (E) και τα έδρανα (D). Λεπτομέρεια για το πλαστικό κάλυμμα (J) που χρησιμοποιείται για τη ρύθμιση του ύψους των εδράνων.
Βήμα 11: Τοποθέτηση - Βήμα 03
Δημιουργούμε έναν δρομέα χρησιμοποιώντας ένα τυπωμένο μέρος για να συνδέσουμε το ρουλεμάν (G) με το παξιμάδι (F). Χρησιμοποιήσαμε δύο δρομείς, το ένα δεξιά το άλλο αριστερά. Η λειτουργία του είναι να υποδεικνύει τη θέση σε μια κλίμακα όποτε θέλουμε να προσδιορίσουμε τη μετατόπιση που προκαλείται από τον άξονα.
Βήμα 12: Συναρμολόγηση - Βήμα 04
Τοποθετήστε τον οδηγό (Α) και τον άξονα (Β) στο αντίστοιχο έδρανο (Δ) και το στήριγμα (Ε), απέναντι από τον κινητήρα, στη συνέχεια τοποθετήστε τον οδηγό και τον άξονα στο έδρανο (Ζ) και την καστανιά (F) και στο άκρη του άξονα εισάγουμε επίσης το ζεύκτη (Η). Τα παίρνουμε και τα δύο μέχρι να φτάσουν στα τελικά τους σημεία (απέναντι στήριγμα και μοτέρ).
Σφίξτε ελαφρά τις βίδες για να επιτρέψετε μια μεταγενέστερη ρύθμιση. Επαναλάβετε τη διαδικασία χρησιμοποιώντας τον υπόλοιπο οδηγό και τον άξονα. Με όλα τα εξαρτήματα τοποθετημένα, εκτελούμε την ευθυγράμμιση των τμημάτων, τελειώνοντας το στάδιο της μηχανικής συναρμολόγησης.
Βήμα 13: Τοποθέτηση - Ηλεκτρονικά
Χρησιμοποιώντας ένα τυπωμένο πλαστικό στήριγμα, ασφαλίσαμε την οθόνη Nokia 5110 και ένα πληκτρολόγιο μήτρας 4x4. Στο κάτω μέρος του περιπτέρου θα βρίσκεται το Arduino Uno, το πρόγραμμα οδήγησης DRV8825.
Χρησιμοποιώντας τη διαθέσιμη διάτρηση στη βάση, στερεώνουμε το συγκρότημα.
Βήμα 14: Ηλεκτρικό σχήμα
Το διάγραμμα καλωδίωσης είναι απλό. Έχουμε το DRV8825 και τους ίδιους δύο 17 καθρέφτες, δηλαδή το ίδιο βήμα που στέλνουμε στον έναν πηγαίνει στον άλλο. Αυτό που αλλάζει είναι ότι στον έναν από τους κινητήρες έχω έναν άξονα 8mm και στον άλλο έναν άξονα 2mm. Είναι προφανές, λοιπόν, ότι το πρώτο, με άτρακτο 8mm, πηγαίνει πιο γρήγορα. Ακόμα στο διάγραμμα είναι η οθόνη και το πληκτρολόγιο 4x4, το οποίο πρέπει να είναι μήτρα.
Βήμα 15: Πηγαίος κώδικας
Συμπερίληψη βιβλιοθηκών και δημιουργία αντικειμένων
Έχουμε εδώ ένα Lib που έκανα, το οποίο είναι το StepDriver.h. Είναι προετοιμασμένο για τα προγράμματα οδήγησης 8825, 4988 και επίσης για τα TB6600. Δημιουργώ σε αυτό το βήμα το αντικείμενο DRV8825, το d1.
// Biblioteca responsável for capturar a tecla que foi pressionada no teclado #include // Biblioteca responsável pelos graficos do display #include // Biblioteca responsável pela comunicacao do display #include // Configuracao de pinos do Display // pin 6 - Serial clock out (SCLK) // pin 5 - Έξοδος σειριακών δεδομένων (DIN) // pin 4 - Data/Command select (D/C) // pin 3 - LCD chip select (CS/CE) // pin 2 - LCD reset (RST) Adafruit_PCD8544 display = Adafruit_PCD8544 (6, 5, 4, 3, 2). // Biblioteca de motor de passo #include // Instancia o driver DRV8825 DRV8825 d1;
Σταθερές και καθολικές μεταβλητές
Σε αυτό το μέρος του κώδικα αντιμετωπίζω τη μήτρα, την οποία δίδαξα σε ένα άλλο μάθημα βίντεο (LINK KEYBOARD). Ακόμα, μιλάω για το αντικείμενο του πληκτρολογίου, εκτός από την απόσταση και την ταχύτητα.
const byte LINHAS = 4; // número de linhas do tecladoconst byte COLUNAS = 4; // número de colunas do teclado // define uma matriz com os símbolos que deseja ser lido do teclado char SIMBOLOS [LINHAS] [COLUNAS] = {{'A', '1', '2', '3'}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; byte PINOS_LINHA [LINHAS] = {A2, A3, A4, A5}; // pinos que indicam as linhas do teclado byte PINOS_COLUNA [COLUNAS] = {0, 1, A0, A1}; // pinos que indicam as colunas do teclado // instancia de Keypad, για να καταγράψετε μια τεχνολογία πληκτρολογίου customKeypad = Πληκτρολόγιο (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS); // ποικίλλει τις απαιτήσεις σας για την προσαρμογή του αριθμού στο customKey; ανυπόγραφη μεγάλη απόσταση = 0; ανυπόγραφη μακρά ταχύτητα = 2000;
Λειτουργία ανάγνωσης πληκτρολογίου
Σε αυτό το βήμα έχουμε τον κωδικό που αναφέρεται στην οθόνη, η οποία λειτουργεί με την αύξηση και τη μείωση της εκτύπωσης.
// Funcao responsavel por ler o valor do usuario pelo teclado -------------------------------------- --- unsigned long lerValor () {// Escreve o submenu que coleta os valores no display display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (27, 2); display.setTextColor (ΛΕΥΚΟ); display.print ("VALOR"); display.setTextColor (ΜΑΥΡΟ); display.fillRect (0, 24, 21, 11, 2); display.setCursor (2, 26); display.setTextColor (ΛΕΥΚΟ); display.print ("CLR"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (23, 26); display.print ("LIMPAR"); display.fillRect (0, 36, 21, 11, 2); display.setCursor (5, 38); display.setTextColor (ΛΕΥΚΟ); display.print ("F4"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (23, 38); display.print ("VOLTAR"); display.setCursor (2, 14); display.display (); String valor = ""; char tecla = false;
βρόχος περιμένοντας το πλήκτρο πατημένο
Εδώ εξηγούμε τον προγραμματισμό βρόχου, δηλαδή όπου εισάγετε τις τιμές.
// Loop infinito enquanto nao chamar o return while (1) {tecla = customKeypad.getKey (); if (tecla) {switch (tecla) {// Se teclas de 0 a 9 forem pressionadas case '1': case '2': case '3': case '4': case '5': case '6': περίπτωση '7': περίπτωση '8': περίπτωση '9': περίπτωση '0': valor += tecla; display.print (tecla); display.display (); Διακοπή; // Se tecla CLR foi pressionada case 'c': // Limpa a string valor valor = ""; // Apaga o valor do display.fillRect (2, 14, 84, 8, 0); display.setCursor (2, 14); display.display (); Διακοπή; // Se tecla ENT foi pressionada case 'e': // Retorna o valor return valor.toInt (); Διακοπή; // Se tecla F4 (ESC) foi pressionada case 'D': return -1; προεπιλογή: break; }} // Limpa o char tecla tecla = false; }}
Λειτουργία κίνησης κινητήρα
Η συνάρτηση "μετακίνηση" δουλεύεται σε αυτό το βήμα. Παίρνω τον αριθμό των παλμών και την κατεύθυνση και μετά κάνω ένα "για".
// Funcao responsavel por mover o motor -------------------------------------- void mover (ανυπόγραφο long pulsos, bool direcao) {for (unsigned long i = 0; i <pulsos; i ++) {d1.motorMove (direcao); }}
εγκατάσταση ()
Τώρα μετακινώ την οθόνη και τη διαμόρφωση του προγράμματος οδήγησης και βάζω ακόμη και την καρφίτσα μέσα στον πηγαίο κώδικα για να είναι πιο εύκολη. Αρχικοποιώ ορισμένες τιμές και ασχολούμαι με τις μεθόδους που δημιουργούν τις ρυθμίσεις.
void setup () {// Configuracao do display -------------------------------------------- -------- display.begin (); display.setContrast (50); display.clearDisplay (); display.setTextSize (1); display.setTextColor (ΜΑΥΡΟ); // Configuração do Driver DRV8825 ----------------------------------------- // pin GND - Ενεργοποίηση (ENA) // pin 13 - M0 // pin 12 - M1 // pin 11 - M2 // pin 10 - Reset (RST) // pin 9 - Sleep (SLP) // pin 8 - Step (STP) // pin 7 - Direction (DIR) d1.pinConfig (99, 13, 12, 11, 10, 9, 8, 7). d1.sleep (LOW)? d1.reset (); d1.stepPerMm (100); d1.stepPerRound (200); d1.stepConfig (1); d1.motionConfig (50, velocidade, 5000); }
βρόχος () - 1ο μέρος - Μενού σχεδίασης
void loop () {// Escreve o Menu do Programa χωρίς οθόνη ----------------------------------- οθόνη.clearDisplay (); display.fillRect (0, 0, 15, 11, 2); display.setCursor (2, 2); display.setTextColor (ΛΕΥΚΟ); display.print ("F1"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (17, 2); display.print ("CRESCENTE"); display.fillRect (0, 12, 15, 11, 2); display.setCursor (2, 14); display.setTextColor (ΛΕΥΚΟ); display.print ("F2"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (17, 14); display.print ("DECRESCENTE"); display.fillRect (0, 24, 15, 11, 2); display.setCursor (2, 26); display.setTextColor (ΛΕΥΚΟ); display.print ("F3"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (17, 26); display.print ("VELOCIDADE");
βρόχος () - Μέρος 2 - Μενού σχεδίασης
display.fillRect (0, 36, 15, 11, 2); display.setCursor (2, 38); display.setTextColor (ΛΕΥΚΟ); display.print ("F4"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (17, 38); display.print ("ESC"); display.display (); bool esc = false;
βρόχος () - Μέρος 3 - Τρέξιμο
// Loop enquanto a tecla F4 (ESC) nao for pressionada while (! Esc) {// captura a tecla pressionada do teclado customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {// Διαβάστε ένα tecla apertada switch (customKey) {// Se tecla F1 foi pressionada case 'A': distancia = lerValor (); // Se tecla ESC foi pressionada if (distancia == -1) {esc = true; } else {// Αποκτήστε ένα tela "Movendo" χωρίς οθόνη display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (21, 2); display.setTextColor (ΛΕΥΚΟ); display.print ("MOVENDO"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (2, 14); display.print (distancia); display.print ("Passos"); display.display ();
βρόχος () - Μέρος 4 - Τρέξιμο
// Μετακινήστε τον κινητήρα (distancia, LOW). // Volta ao menu esc = true; } Διακοπή; // Se tecla F2 foi pressionada case 'B': distancia = lerValor (); // Se tecla ESC foi pressionada if (distancia == -1) {esc = true; } else {// Αποκτήστε ένα tela "Movendo" χωρίς οθόνη display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (21, 2); display.setTextColor (ΛΕΥΚΟ); display.print ("MOVENDO"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (2, 14); display.print (distancia); display.print ("Passos"); display.display ();
βρόχος () - Μέρος 5 - Τρέξιμο
// Μετακινήστε τον κινητήρα (distancia, HIGH). // Volta ao menu esc = true; } Διακοπή; // Se tecla F3 foi pressionada case 'C': velocidade = lerValor (); εάν (velocidade == -1) {esc = true? } else {// Διατηρήστε ένα tela "Velocidade" χωρίς οθόνη display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (12, 2); display.setTextColor (ΛΕΥΚΟ); display.print ("VELOCIDADE"); display.setTextColor (ΜΑΥΡΟ); display.setCursor (2, 14); display.print (velocidade)? display.print (char (229)); display.print ("s");
βρόχος () - Μέρος 6 - Τρέξιμο
display.fillRect (31, 24, 21, 11, 2); display.setCursor (33, 26); display.setTextColor (ΛΕΥΚΟ); display.println ("ΟΚ!"); display.setTextColor (ΜΑΥΡΟ); display.display (); // Configura nova velocidade ao motor d1.motionConfig (50, velocidade, 5000); καθυστέρηση (2000). // Volta ao menu esc = true; } Διακοπή; // Se tecla F4 (ESC) foi pressionada case 'D': // Se tecla CLR foi pressionada case 'c': // Se tecla ENT foi pressionada case 'e': // Volta ao menu esc = true; προεπιλογή: break; }} // Limpa o char customKey customKey = false; }}
Βήμα 16: Σχετικά με τους άξονες - Διαμορφώσεις μηχανών
Σε μηχανές CNC όπως τρισδιάστατοι εκτυπωτές και δρομολογητές για παράδειγμα, το πρόγραμμα που είναι υπεύθυνο για τον έλεγχο της θέσης πρέπει να γνωρίζει πώς θα πραγματοποιηθούν οι κινήσεις σε συνάρτηση με τον αριθμό των παλμών που δίνονται στον βηματικό κινητήρα.
Εάν ο οδηγός βηματικού κινητήρα επιτρέπει την εφαρμογή μικρο-βημάτων, αυτή η διαμόρφωση πρέπει να λαμβάνεται υπόψη στον υπολογισμό της παραγόμενης μετατόπισης.
Για παράδειγμα, εάν ένας κινητήρας 200 βημάτων ανά περιστροφή είναι συνδεδεμένος με έναν οδηγό ρυθμισμένο στο 1/16, τότε θα απαιτηθούν παλμοί 16 x 200 για μία μόνο περιστροφή του άξονα, δηλαδή 3200 παλμούς για κάθε περιστροφή. Εάν αυτός ο άξονας έχει βήμα 2mm ανά περιστροφή, θα χρειαστούν 3200 παλμοί στον οδηγό για να μετακινηθεί το παξιμάδι 2mm.
Στην πραγματικότητα, οι ελεγκτές λογισμικού χρησιμοποιούν συχνά έναν λόγο για να καθορίσουν αυτόν τον λόγο, τον "αριθμό παλμών ανά χιλιοστό" ή "βήματα / mm".
Βήμα 17: Marlin
Στο Marlin, για παράδειγμα, βλέπουμε στην ενότητα @section motion:
/ **
* Προεπιλεγμένα βήματα άξονα ανά μονάδα (βήματα / mm)
* Παράκαμψη με το M92
* Χ, Υ, Ζ, Ε0 [, Ε1 [, Ε2 [, Ε3 [, Ε4]
* /
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 3200, 100}
Σε αυτό το παράδειγμα, μπορούμε να συμπεράνουμε ότι οι άξονες Χ και Υ έχουν ακρίβεια 80 παλμών για να κινούνται 1mm, ενώ ο Ζ χρειάζεται 3200 παλμούς και ο εξωθητής Ε0 100.
Βήμα 18: GRBL
Παρακάτω βλέπουμε τις εντολές διαμόρφωσης GRBL. Με την εντολή $ 100, μπορούμε να προσαρμόσουμε τον αριθμό των παλμών που απαιτούνται για να προκαλέσουν μετατόπιση ενός χιλιοστού στον άξονα Χ.
Στο παρακάτω παράδειγμα μπορούμε να δούμε ότι η τρέχουσα τιμή είναι 250 παλμοί ανά mm.
Οι άξονες Υ και Ζ μπορούν να ρυθμιστούν αντίστοιχα $ 101 και $ 102.
Συνιστάται:
Σύνδεση επεξεργασίας και Arduino και Make 7 Segment και Servo GUI Controller: 4 βήματα
Connecting Processing and Arduino and Make 7 Segment and Servo GUI Controller: Για ορισμένα έργα που κάνατε πρέπει να χρησιμοποιήσετε το Arduino καθώς παρέχει μια εύκολη πλατφόρμα πρωτοτύπων, αλλά η εμφάνιση γραφικών σε σειριακή οθόνη του Arduino μπορεί να διαρκέσει πολύ και είναι ακόμη και δύσκολο να γίνει. Μπορείτε να εμφανίσετε γραφήματα στο Arduino Serial Monitor bu
Ολισθητήρας κάμερας παρακολούθησης αντικειμένων με περιστροφικό άξονα. 3D Printed & Built on the RoboClaw DC Motor Controller & Arduino: 5 Steps (with Pictures)
Ολισθητήρας κάμερας παρακολούθησης αντικειμένων με περιστροφικό άξονα. 3D Printed & Built on the RoboClaw DC Motor Controller & Arduino: Αυτό το έργο ήταν ένα από τα αγαπημένα μου έργα από τότε που συνδύασα το ενδιαφέρον μου για παραγωγή βίντεο με DIY. Πάντα κοιτούσα και ήθελα να μιμηθώ αυτές τις κινηματογραφικές λήψεις σε ταινίες όπου μια φωτογραφική μηχανή κινείται σε μια οθόνη ενώ πανοραμεί για να παρακολουθεί
Τρόπος διασύνδεσης Joystick διπλού άξονα με Arduino Uno: 5 βήματα
Πώς να διασυνδέσετε το Joystick διπλού άξονα με το Arduino Uno: Εδώ πρόκειται να διασυνδέσουμε ένα joystick άξονα μονομαχίας με arduino uno. Αυτό το χειριστήριο έχει δύο αναλογικές ακίδες για τον άξονα x και τον άξονα y και έναν ψηφιακό ακροδέκτη για τον διακόπτη
Προσθέστε Idler (2ο Άξονα Mounting Point) σε Micro Servos για Robotic Projects: 4 Βήματα
Προσθέστε Idler (2ο Άξονα Mounting Point) σε Micro Servos για Robotic Projects: Σε ανθρωποειδή ρομποτικά έργα, τα servos χρησιμοποιούνται σε αρθρώσεις για να μετακινήσετε διαφορετικά τμήματα του ρομπότ, τις περισσότερες φορές είναι καλύτερο να τοποθετείτε κάθε τμήμα σε 2 ή περισσότερα σημεία ο περιστρεφόμενος άξονας του σερβο για σταθερότητα και σωστή μεταφορά ροπής..Sma
Τρίτο άξονα SMD Component Τρίτο χέρι: 9 βήματα
Τρίτο άξονα SMD Component Third Hand: Εγώ, όπως και πολλοί άλλοι, είχα πρόβλημα να συγκρατήσω εξαρτήματα στήριξης επιφάνειας ενώ τα κολλάω. Δεδομένου ότι η ανάγκη γεννά εφεύρεση, εμπνεύστηκα να φτιάξω μόνος μου έναν χώρο εργασίας που θα έλυνε το πρόβλημά μου. Αυτό είναι ένα πολύ απλό στην κατασκευή, φθηνό και