Πίνακας περιεχομένων:

Διανομέας ρομποτικού νήματος για Arduino: 8 βήματα (με εικόνες)
Διανομέας ρομποτικού νήματος για Arduino: 8 βήματα (με εικόνες)

Βίντεο: Διανομέας ρομποτικού νήματος για Arduino: 8 βήματα (με εικόνες)

Βίντεο: Διανομέας ρομποτικού νήματος για Arduino: 8 βήματα (με εικόνες)
Βίντεο: Ρομποτικό χλοοκοπτικό gardena - GARDENA Robotic Lawnmower SILENO /SILENO - ΚΑΤΑΣΤΗΜΑΤΑ ΦΡΑΓΚΟΥΛΗΣ 2024, Νοέμβριος
Anonim
Image
Image

Γιατί ένα μηχανοκίνητο εργαλείο

Το νήμα των τρισδιάστατων εκτυπωτών - συνήθως σχεδόν στιβαρό - τραβιέται από τον εξωθητήρα ενώ το ρολό τοποθετείται κοντά στον εκτυπωτή, ελεύθερο να περιστρέφεται. Έχω παρατηρήσει σημαντικές διαφορές στη συμπεριφορά των υλικών, ανάλογα με το επίπεδο χρήσης, που αναφέρονται σε ρολά νημάτων 1Kg. Ένα νέο (πλήρες) καρούλι νήματος ρέει σχεδόν καλά, αλλά η δύναμη που ασκεί ο εξωθητής πρέπει να είναι σχετικά σχετική: το βάρος είναι τουλάχιστον 1,5 Kg.

Ο κινητήρας εξώθησης (στις περισσότερες περιπτώσεις ένα βηματικό Nema17) έχει επαρκή ισχύ για να κάνει τη δουλειά, αλλά οι δύο ταχύτητες του εξωθητή σπρώχνουν το νήμα προς την καυτή πλευρά ενώ εργάζονται συλλέγουν σωματίδια του νήματος λόγω των εφαρμοζόμενων δυνάμεων. Αυτό απαιτεί συχνή συντήρηση εξωθητή για να αποφύγετε το φράξιμο του ακροφυσίου. Αυτά τα σωματίδια τείνουν να αποκολλώνται και να αναμειγνύονται με το καθαρό νήμα ενώ τρέφεται, αυξάνοντας τα προβλήματα του ακροφυσίου και μια πιο συχνή φθορά του ακροφυσίου. Αυτό συμβαίνει συχνότερα με ακροφύσια διαμέτρου 0,3 mm.

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

Το κιτ είναι διαθέσιμο στο Tindie.com

Βήμα 1: Περιεχόμενο του κιτ

Περιεχόμενο του κιτ
Περιεχόμενο του κιτ
Περιεχόμενο του κιτ
Περιεχόμενο του κιτ

Το κιτ περιλαμβάνει όλα τα τρισδιάστατα τυπωμένα μέρη και μηχανικούς για τη συναρμολόγηση του μηχανοκίνητου διανομέα νήματος. Υπάρχουν δύο προαιρετικά μέρη: ο κινητήρας και η πλακέτα ελεγκτή κινητήρα.

Στη ρύθμισή μου χρησιμοποίησα ένα βουρτσισμένο μοτέρ 12 V McLennan, αλλά οποιοσδήποτε κινητήρας διαμέτρου 37 mm μπορεί να χωρέσει σωστά στο στήριγμα του κινητήρα.

Οι καλύτερες επιδόσεις επιτυγχάνονται με μια ασπίδα TLE94112LE Arduino της Infineon (η πλήρης αναθεώρηση εδώ). Αυτή η πλακέτα ελεγκτή κινητήρα DC μπορεί να υποστηρίξει ταυτόχρονα έως και 6 διαφορετικά ρομποτικά κιτ διανομής.

Έχω δοκιμάσει ολόκληρο το σύστημα τόσο σε Arduino UNO R3 όσο και σε συμβατό με Arduino πίνακα XMC1100 Boot kit της Infineon και το σύστημα ανταποκρίθηκε πολύ καλά και στις δύο πλακέτες μικροελεγκτή.

Η χρήση της ασπίδας TLE94112LE προτείνεται αλλά όχι απαραίτητη. Οποιοσδήποτε ελεγκτής κινητήρα DC για το Arduino - συμπεριλαμβανομένου του δικού σας έργου! - μπορεί να λειτουργήσει καλά με αυτό το εργαλείο

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

Εργαλεία που χρειάζεστε

Για να ολοκληρώσετε τη συναρμολόγηση χρειάζεστε κάποια στιβαρή πλαστική κόλλα για ορισμένα μέρη, ένα κατσαβίδι και ένα σετ βιδών Allen.

Βήμα 2: Το έργο και ο σχεδιασμός

Το έργο και ο σχεδιασμός
Το έργο και ο σχεδιασμός
Το έργο και ο σχεδιασμός
Το έργο και ο σχεδιασμός
Το έργο και ο σχεδιασμός
Το έργο και ο σχεδιασμός

Αυτό το έργο είναι η τρίτη εξέλιξη της σειράς διανομής νήματος τρισδιάστατου εκτυπωτή Πριν από μερικές φορές δημιούργησα την περιστρεφόμενη βάση για να βελτιστοποιήσω τη ροή του νήματος όταν τραβιέται από τον εξωθητήρα 3D εκτυπωτή.

Το δεύτερο μοντέλο περιελάμβανε αισθητήρα βάρους για παρακολούθηση της χρήσης νήματος σε πραγματικό χρόνο με πλακέτα Arduino. Αυτό το τελευταίο έργο περιλαμβάνει την αυτοματοποιημένη απελευθέρωση του νήματος ανάλογα με τις ανάγκες της εργασίας 3D εκτυπωτή. Βασίζεται στην εικονική διακύμανση βάρους όταν ο εξωθητής αρχίσει να τραβά το νήμα. Αυτό το γεγονός ενεργοποιεί τον μικροελεγκτή μέσω του αισθητήρα βάρους και το μηχανοκίνητο ρολό νήματος αρχίζει να απελευθερώνει μερικές ίντσες υλικού και στη συνέχεια επιβραδύνεται και σταματά.

Τα εξαρτήματα εξήχθησαν σε μορφή STL και 3D εκτύπωση, στη συνέχεια εξευγενίστηκαν και συναρμολογήθηκαν μαζί. Έχω δημιουργήσει μια προσαρμοσμένη υποστήριξη για να ευθυγραμμίσω το τμήμα κίνησης στη βάση. Η μεγαλύτερη ράγα αλουμινίου χρησιμοποιήθηκε επίσης για να υποστηρίξει το Arduino και την ασπίδα κινητήρα για να κάνει όλο το εργαλείο συμπαγές και εύκολο στη μετακίνηση.

Δημιουργώντας το σχέδιο ακολούθησα μια σειρά υποθέσεων:

  • Κάνοντας τον αυτοματοποιημένο κινητήρα σχεδόν απλό και εύκολο στην αναπαραγωγή
  • Μειώστε όσο το δυνατόν περισσότερο τον αριθμό των τρισδιάστατων εκτυπώσιμων στοιχείων για να το φτιάξετε
  • Μειώστε όσο το δυνατόν περισσότερο την πίεση που ασκείται στον εξωθητή κατά την εκτύπωση
  • Χρησιμοποιήστε χαμηλό κόστος και εύκολο προγραμματισμό πλακέτας μικροελεγκτή
  • Χρησιμοποιήστε τον αισθητήρα φορτίου βάρους για να διατηρήσετε υπό έλεγχο την κατανάλωση νήματος και τη σίτιση νημάτων Διαχειριστείτε τον περιβαλλοντικό θόρυβο που παρεμβαίνει στα μέτρα βάρους νήματος

Αυτό είναι το αποτέλεσμα στο οποίο έφτασα.

Βήμα 3: Συναρμολόγηση της βάσης

Συναρμολόγηση της Βάσης
Συναρμολόγηση της Βάσης
Συναρμολόγηση της Βάσης
Συναρμολόγηση της Βάσης
Συναρμολόγηση της Βάσης
Συναρμολόγηση της Βάσης

Το πρώτο βήμα είναι η συναρμολόγηση της βάσης με τον αισθητήρα βάρους.

  1. Τοποθετήστε το μικρό σωλήνα άξονα εδράνου στην οπή ρουλεμάν
  2. Τοποθετήστε τους δύο δίσκους διαχωρισμού στις πλευρές του ρουλεμάν
  3. Εισάγετε τα εξαρτήματα μέσα στο στήριγμα ρουλεμάν μεγέθους "U" που ευθυγραμμίζει τις οπές
  4. τοποθετήστε τη βίδα Allen στη μία πλευρά και το πλυντήριο και το παξιμάδι στην άλλη πλευρά κλείνοντας το παξιμάδι χωρίς υπερβολική προσπάθεια

Θα πρέπει να επαναλάβετε τη λειτουργία και στα τέσσερα στηρίγματα ρουλεμάν. Στη συνέχεια δοκιμάστε τη διάταξη: τα ρουλεμάν πρέπει να περιστρέφονται ελεύθερα.

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

Το επόμενο βήμα είναι η συναρμολόγηση της ράβδου αισθητήρα βάρους που συγκρατεί την κάτω και την πάνω βάση μαζί. Ο αισθητήρας βάρους έχει δύο διαφορετικές βίδες Allen και στις δύο πλευρές και θα πρέπει να τον προσανατολίζετε έτσι ώστε η ετικέτα μέγιστου βάρους να είναι ευανάγνωστη όταν η βάση είναι σωστά τοποθετημένη. Η κάτω βάση διαθέτει δύο επιπλέον πλευρικές οπές για τη στερέωση του ενισχυτή A/D του αισθητήρα βάρους. Ο ενισχυτής που βασίζεται στο IC HX711 θα τροφοδοτηθεί και θα συνδεθεί με την πλακέτα Arduino μέσω των τεσσάρων καλωδίων, όπως φαίνεται στο συνημμένο φύλλο δεδομένων αισθητήρα.

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

Το πρώτο στοιχείο έχει ρυθμιστεί!

Βήμα 4: Συναρμολόγηση ανταλλακτικών κινητήρων Spool Motion

Συναρμολόγηση ανταλλακτικών κινητήρα Spool Motion
Συναρμολόγηση ανταλλακτικών κινητήρα Spool Motion
Συναρμολόγηση ανταλλακτικών κινητήρα Spool Motion
Συναρμολόγηση ανταλλακτικών κινητήρα Spool Motion
Συναρμολόγηση ανταλλακτικών κινητήρα Spool Motion
Συναρμολόγηση ανταλλακτικών κινητήρα Spool Motion

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

Ο κινητήρας συνεχούς ρεύματος στο κιβώτιο μετάδοσης του κινητήρα

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

Η οδηγούμενη μεγάλη ταχύτητα

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

Η θήκη κλειδώματος καρούλι

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

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

Το κουτί των ρουλεμάν

Το κιβώτιο ρουλεμάν έχει δύο λειτουργίες: παρέχει καλή υποστήριξη στα γρανάζια μετάδοσης και ομαλή και αθόρυβη κίνηση. Για να συναρμολογήσετε το κιβώτιο ρουλεμάν ακολουθήστε αυτά τα εύκολα βήματα:

  1. Βιδώστε το πρώτο παξιμάδι M4 σε ένα από τα δύο άκρα του σπειρωτού άξονα που κινείται με τη σπείρα
  2. Τοποθετήστε το πρώτο ρουλεμάν
  3. Τοποθετήστε το διαχωριστικό
  4. Τοποθετήστε το δεύτερο ρουλεμάν
  5. Βιδώστε το δεύτερο περικόχλιο και ασφαλίστε το μέτρια. Ο εσωτερικός πλαστικός διαχωριστής θα αντιταχθεί σε επαρκή δύναμη για να διατηρηθούν τα αντικείμενα στη θέση τους και για μακροχρόνια χρήση.
  6. Τοποθετήστε τα συναρμολογημένα ρουλεμάν στο κιβώτιο ρουλεμάν. Θα πρέπει να γίνει εξαναγκαστικά για να επιτευχθούν τα καλύτερα αποτελέσματα, οπότε μην επεκτείνετε πολύ το εσωτερικό του κουτιού κατά τη βελτίωση των πλαστικών εξαρτημάτων.

Είμαστε έτοιμοι για την τελική συναρμολόγηση εξαρτημάτων!

Βήμα 5: Ολοκλήρωση της συναρμολόγησης του Motion Engine

Ολοκλήρωση συναρμολόγησης κινητήρα
Ολοκλήρωση συναρμολόγησης κινητήρα
Ολοκλήρωση συναρμολόγησης κινητήρα
Ολοκλήρωση συναρμολόγησης κινητήρα
Ολοκλήρωση συναρμολόγησης κινητήρα
Ολοκλήρωση συναρμολόγησης κινητήρα

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

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

Όταν ολοκληρωθεί αυτή η ρύθμιση πριν προσθέσετε το κινούμενο γρανάζι (το μεγαλύτερο) προσθέστε το μικρό δακτύλιο διαχωρισμού: διατηρεί τη μεγάλη ταχύτητα ευθυγραμμισμένη με το γρανάζι του κινητήρα που λειτουργεί ως ροδέλα για να στερεώσει το κινούμενο συγκρότημα που κινείται.

Στη συνέχεια, τοποθετήστε το γρανάζι οδηγού (το μικρό) στον άξονα του κινητήρα. Σημειώστε ότι υπάρχει μια επίπεδη πλευρά στον κινητήρα καθώς και στην κεντρική τρύπα του γραναζιού για να διατηρείται η περιστροφή του γραναζιού οδηγούμενη από τον κινητήρα DC.

Τελευταίο βήμα, τοποθετήστε το μεγάλο κινούμενο γρανάζι όπως φαίνεται στις εικόνες και κλειδώστε τον στον άξονα με σπείρωμα με δύο παξιμάδια Μ4.

Το κτίριο των μηχανικών ολοκληρώθηκε!

Βήμα 6: Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ

Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ
Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ
Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ
Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ
Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ
Μπόνους: Πώς προσαρμόστηκα την υποστήριξη για τη διαχείριση του κιτ

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

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

Βήμα 7: Καλωδίωση και σύνδεση στο Arduino

Image
Image
Καλωδίωση και σύνδεση στο Arduino
Καλωδίωση και σύνδεση στο Arduino

Όπως εξηγείται στο βήμα περιεχομένου του Κιτ, έχω χρησιμοποιήσει μια ασπίδα κινητήρα Infineon TLE94112LE DC για το Arduino και έχω δοκιμάσει τον κινητήρα τόσο στο Arduino UNO R3 όσο και στο Infineon XMC110 Boot Kit.

Εάν ελέγχετε τον κινητήρα (χρειάζεστε χαρακτηριστικά PWM) με έναν πίνακα ελέγχου DC της επιλογής σας, απλώς προσαρμόστε τις οδηγίες στις τεχνικές προδιαγραφές της ασπίδας σας.

Μια σημείωση για το TLE04112LE Arduino Shield

Ένα από τα όρια που έχω αντιμετωπίσει με άλλες ασπίδες ελέγχου κινητήρα για το Arduino είναι ότι χρησιμοποιούν τις δυνατότητες του ίδιου μικροελεγκτή (δηλαδή ακίδες PWM και GPIO). αυτό σημαίνει ότι ο πίνακάς σας αφιερώνεται σε αυτές τις εργασίες ενώ λίγοι άλλοι πόροι (MPU και GPIO) είναι διαθέσιμοι για άλλες χρήσεις.

Έχοντας τη δυνατότητα να τοποθετήσετε τα χέρια στην ασπίδα TLE94122LE Arduino για δοκιμές δρόμου, το πιο εμφανές πλεονέκτημα του IC στο οποίο βασίζεται ο πίνακας είναι μόνο η πληρότητά του. Ο πίνακας Arduino επικοινωνεί με την ασπίδα μέσω του πρωτοκόλλου SPI χρησιμοποιώντας μόνο δύο ακίδες. Κάθε εντολή που στέλνετε στην ασπίδα επεξεργάζεται αυτόνομα από το IC TLE94112LE χωρίς να καταναλώνετε πόρους MPU. Ένα άλλο αξιοσημείωτο χαρακτηριστικό της πλακέτας Infineon είναι η δυνατότητα ελέγχου έως και έξι κινητήρων βουρτσισμένων με τρία προγραμματιζόμενα κανάλια PWM. Αυτό σημαίνει ότι το Arduino μπορεί να ρυθμίσει έναν ή περισσότερους κινητήρες, να τους ξεκινήσει και να συνεχίσει να εργάζεται σε άλλες εργασίες. Αυτή η ασπίδα αποκαλύφθηκε τέλεια για να υποστηρίξει έως και έξι διαφορετικά νήματα ταυτόχρονα, η κίνηση είναι μόνο μία από τις εργασίες που είναι υπεύθυνες για την MPU. Λαμβάνοντας υπόψη τη δυνατότητα διαχείρισης έξι διαφορετικών κυλίνδρων νήματος με ένα μόνο Arduino + θωράκιση, το κόστος του μικροελεγκτή σε κάθε έναν ελεγκτή νήματος για λιγότερο από 5 ευρώ.

Ο αισθητήρας βάρους

Αφού έκανα κάποια πειράματα είδα ότι ήταν δυνατό να ελέγξω ολόκληρο το σύστημα - παρακολούθηση και αυτόματη τροφοδοσία - με έναν μόνο αισθητήρα. μια κυψέλη φορτίου (αισθητήρας βάρους) είναι σε θέση να μετρήσει δυναμικά τις παραλλαγές βάρους καρούλι νήματος παρέχοντας όλες τις πληροφορίες που χρειαζόμαστε.

Χρησιμοποίησα μια φθηνή κυψέλη φορτίου στην κλίμακα 0-5 Kg μαζί με μια μικρή πλακέτα βασισμένη στον Ενισχυτή HX711 AD, ένα IC ειδικό για τη διαχείριση των αισθητήρων κυψελών φορτίου. Δεν υπήρχαν προβλήματα διασύνδεσης καθώς υπάρχει μια καλά λειτουργική βιβλιοθήκη Arduino.

Τρία βήματα για τη ρύθμιση του υλικού

  1. Τοποθετήστε την ασπίδα στην κορυφή του πίνακα Arduino ή του κιτ εκκίνησης Infineon XMC110
  2. Συνδέστε τα καλώδια του κινητήρα στους βιδωτούς συνδετήρες Out1 και Out2 της ασπίδας
  3. Συνδέστε την ισχύ και τα σήματα από τον ενισχυτή αισθητήρα βάρους HX711 AD στις ακίδες Arduino. Σε αυτήν την περίπτωση έχω χρησιμοποιήσει τις καρφίτσες 2 και 3, αλλά όλες οι δωρεάν καρφίτσες είναι εντάξει.

Προειδοποίηση: Οι σελίδες 8 και 10 διατηρούνται από την ασπίδα TLE94113LE για τη σύνδεση SPI

Αυτό είναι όλο! Είστε έτοιμοι να ρυθμίσετε το λογισμικό; Προχώρα.

Βήμα 8: Το σετ εντολών λογισμικού και ελέγχου

Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου
Το σετ εντολών λογισμικού και ελέγχου

Μπορείτε να κατεβάσετε το πλήρες τεκμηριωμένο λογισμικό από το αποθετήριο GitHub 3DPrinterFilamentDispenserAndMonitor

εδώ εξετάζουμε μόνο τα πιο σημαντικά μέρη και τις εντολές ελέγχου.

Υπάρχει ένας λόγος που επιβάλλεται από τον αριθμό των διαθέσιμων ακίδων στο Arduino UNO αποφάσισα να ελέγξω το σύστημα μέσω του σειριακού τερματικού USB. Καθώς κάθε μηχανοκίνητη μονάδα βασίζεται σε έναν αισθητήρα βάρους, ο έλεγχος έξι διαφορετικών διανομέων νημάτων απαιτεί ανάγνωση δεδομένων από έξι αισθητήρες βάρους. Κάθε κυψέλη φορτίου "καταναλώνει" δύο ακίδες, οι ακίδες 0 και 1 διατηρούνται (Tx/Rx) για τη σειρά και οι ακίδες 8 και 10 προορίζονται για το κανάλι SPI που συνδέει την ασπίδα TLE94112LE.

Κατάσταση συστήματος

Το λογισμικό ελέγχου λειτουργεί μέσω τεσσάρων διαφορετικών καταστάσεων, που ορίζονται στο νήμα.h:

#define SYS_READY "Ready" // Το σύστημα είναι έτοιμο

#define SYS_RUN "Running" // Filament in use #define SYS_LOAD "Load" // Roll loaded #define SYS_STARTED "Started" // Application started // // Status codes #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define 3

Κατάσταση: Ξεκίνησε

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

Κατάσταση: Έτοιμο

Η κατάσταση ετοιμότητας εμφανίζεται μετά από μια μαλακή επαναφορά (αποστέλλεται από το σειριακό τερματικό). Είναι παρόμοιο με τη φυσική εκτομή, αλλά δεν υπολογίζεται απόβαρο. η εντολή επαναφοράς μπορεί να ξεκινήσει επίσης όταν λειτουργεί το σύστημα.

Κατάσταση: Φόρτωση

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

Κατάσταση: Τρέξιμο

Αυτή η κατάσταση επιτρέπει τον αυτόματο υπολογισμό βάρους και τον αυτόματο διανομέα νημάτων.

Τερματικά μηνύματα

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

Εντολές

Δύο διαφορετικά αρχεία εμπλέκονται στη διαχείριση εντολών: commands.h συμπεριλαμβανομένων όλων των εντολών και των σχετικών παραμέτρων και filament.h συμπεριλαμβανομένων όλων των σταθερών και ορισμών που χρησιμοποιούνται από το σύστημα στάθμισης και από τον αναλυτή.

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

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

Εντολές κατάστασης

Αλλάξτε την τρέχουσα κατάσταση του συστήματος και προσαρμόζεται επίσης η συμπεριφορά

Εντολές νήματος

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

Εντολές μονάδων

Αυτές είναι μερικές εντολές για να ορίσετε την απεικόνιση των μονάδων μέτρησης σε γραμμάρια ή εκατοστά. Στην πραγματικότητα είναι δυνατόν να εξαλειφθούν αυτές οι εντολές και να αναπαρασταθούν πάντα δεδομένα και στις δύο μονάδες.

Εντολές πληροφοριών

Εμφάνιση ομάδων πληροφοριών ανάλογα με την κατάσταση του συστήματος

Εντολές κινητήρα

Ελέγξτε τον κινητήρα για τροφοδοσία ή τράβηγμα νημάτων.

Όλες οι εντολές κινητήρα ακολουθούν μια διαδρομή επιτάχυνσης/επιβράδυνσης. Οι δύο εντολές feed and pull εκτελούν μια σύντομη ακολουθία όπως ορίζεται στο motor.h με τη σταθερά FEED_EXTRUDER_DELAY ενώ οι εντολές feedc και pullc εκτελούνται επ 'αόριστον μέχρι να μην ληφθεί εντολή διακοπής.

Εντολές λειτουργίας εκτέλεσης

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

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

Όταν ο εξωθητής τραβάει το νήμα, η διαφορά βάρους αυξάνεται δραματικά (50 g ή περισσότερο) σε πολύ λίγο χρόνο, συνήθως μεταξύ δύο ή τριών ενδείξεων. Αυτές οι πληροφορίες φιλτράρονται από το λογισμικό που "αφαιρεί" ότι χρειάζεται νέο νήμα. Για να αποφύγετε λανθασμένες ενδείξεις, οι παραλλαγές βάρους ενώ λειτουργεί ο κινητήρας αγνοούνται καθόλου.

Λογική εφαρμογής

Η λογική της εφαρμογής κατανέμεται στο.ino main (το σκίτσο του Arduino) σε τρεις συναρτήσεις: setup (), loop () και parseCommand (commandString)

Το σκίτσο χρησιμοποιεί δύο ξεχωριστές κατηγορίες: την κατηγορία FilamentWeight για τη διαχείριση όλων των υπολογισμών νημάτων και την ανάγνωση αισθητήρων μέσω της κλάσης HX711 IC και MotorControl που διασυνδέει τις μεθόδους χαμηλού επιπέδου της ασπίδας TLE94112LE Arduino.

εγκατάσταση ()

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

βρόχος()

Η κύρια συνάρτηση βρόχου διαχειρίζεται τρεις διαφορετικές συνθήκες.

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

  1. Ελέγξτε (αυτόματη λειτουργία) εάν ο εξωθητής χρειάζεται περισσότερο νήμα
  2. Εάν ο κινητήρας λειτουργεί ελέγξτε για σφάλματα υλικού (επιστρέφονται από το TLE94112LE)
  3. Αν υπάρχουν διαθέσιμα σειριακά δεδομένα αναλύστε την εντολή

parseCommand (commandString)

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

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

  1. Αποστολή εντολής στην κατηγορία FilamentWeight (εντολές βάρους) ή στην κλάση MotorControl (εντολές κινητήρα)
  2. Εκτελεί έναν υπολογισμό για την ενημέρωση των τιμών βάρους ή την ενημέρωση μιας από τις εσωτερικές παραμέτρους
  3. Εμφάνιση στο τερματικό και την έξοδο πληροφοριών όταν ολοκληρωθεί η εκτέλεση

Εγκαταστήστε τη βιβλιοθήκη Arduino HX711, κατεβάστε το λογισμικό από το GitHub και ανεβάστε το στον πίνακα Arduino και απολαύστε!

Συνιστάται: