Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Ένας εναλλακτικός ελεγκτής για το ρομπότ σας με έναν αισθητήρα TLV493D, έναν μαγνητικό αισθητήρα με 3 βαθμούς ελευθερίας (x, y, z) με αυτούς θα μπορούσατε να ελέγξετε τα νέα σας έργα με επικοινωνία I2C στους μικροελεγκτές σας και την ηλεκτρονική πλακέτα που Bast Pro Mini M0 με ένα Μικροελεγκτής SAMD21 στο Arduino IDE.
Ο στόχος είναι να έχετε ένα εναλλακτικό χειριστήριο για τον έλεγχο των έργων σας, σε αυτήν την περίπτωση, ένα βραχίονα ρομπότ με 3 μοίρες ελευθερία. Χρησιμοποίησα ένα MeArm Robot Arm, αυτό είναι ένα έργο ανοιχτού κώδικα και μπορείτε να το κάνετε εύκολο και μπορείτε να το βρείτε εδώ. Μπορείτε να δημιουργήσετε τον δικό σας βραχίονα ελεγκτή ή άλλη εφαρμογή με αυτές τις γνώσεις που είμαι στην ευχάριστη θέση να μοιραστώ μαζί σας.
Όλα τα ηλεκτρονικά εξαρτήματα διαθέτουν συνδέσμους προς αποθήκευση, αρχεία με τρισδιάστατο εκτυπωτή και κωδικό για το Arduino IDE.
Το TLV493D μπορεί να είναι ένα Joystick Ο τρισδιάστατος μαγνητικός αισθητήρας TLV493D-A1B6 προσφέρει ακριβή τρισδιάστατη ανίχνευση με εξαιρετικά χαμηλή κατανάλωση ενέργειας σε ένα μικρό πακέτο 6 ακίδων. Με την ανίχνευση μαγνητικού πεδίου σε κατεύθυνση x, y και z, ο αισθητήρας μετρά αξιόπιστα τρισδιάστατες, γραμμικές και περιστροφικές κινήσεις.
Οι εφαρμογές περιλαμβάνουν χειριστήρια, στοιχεία ελέγχου (λευκά είδη, μπάλες πολλαπλών λειτουργιών) ή ηλεκτρικούς μετρητές (αντι-παραβίαση) και οποιαδήποτε άλλη εφαρμογή που απαιτεί ακριβείς γωνιακές μετρήσεις ή χαμηλές καταναλώσεις ενέργειας. Ο ενσωματωμένος αισθητήρας θερμοκρασίας μπορεί επιπλέον να χρησιμοποιηθεί για ελέγχους αληθοφάνειας. Βασικά χαρακτηριστικά είναι η τρισδιάστατη μαγνητική ανίχνευση με πολύ χαμηλή κατανάλωση ενέργειας κατά τη λειτουργία.
Ο αισθητήρας διαθέτει ψηφιακή έξοδο μέσω τυπικής διεπαφής I2C βασισμένη σε 2 σύρματα έως 1 MBit/sec και ανάλυση δεδομένων 12 bit για κάθε μία, κατεύθυνση μέτρησης (γραμμική μέτρηση πεδίου Bx, By και Bz έως +-130mT). Το TLV493D-A1B6 3DMagnetic είναι ένα αυτόνομο σκάσιμο.
Μπορείτε να το συνδέσετε εύκολα σε οποιονδήποτε μικροελεγκτή της επιλογής σας, ο οποίος είναι συμβατός με Arduino IDE και έχει λογικό επίπεδο 3.3V. Σε αυτό το έργο, χρησιμοποιούμε το Electronic Cats breakout και έναν πίνακα ανάπτυξης που θα εξηγήσω αργότερα.
electroniccats.com/store/tlv493d-croquette…
Το πλεονέκτημα της χρήσης ενός αισθητήρα TLV493D είναι ότι χρησιμοποιούνται μόνο δύο καλώδια με I2C για τη λήψη των πληροφοριών, οπότε είναι μια πολύ καλή επιλογή όταν έχουμε πολύ λίγες καρφίτσες διαθέσιμες στην κάρτα, επίσης χάρη στα οφέλη του I2C μπορούμε να συνδέσουμε περισσότερα Αισθητήρες. Μπορείτε να βρείτε το αποθετήριο για αυτό το έργο εδώ. Για αυτό το έργο, θα χρησιμοποιήσουμε ένα joystick που μπορείτε να εκτυπώσετε σε έναν εκτυπωτή 3D ή να το εκτυπώσετε στο πλησιέστερο κατάστημα τρισδιάστατων εκτυπώσεων.
Τα αρχεία. STL επισυνάπτονται στο τέλος του έργου. Η συναρμολόγησή του είναι πολύ απλή, μπορείτε να το δείτε σε βίντεο
Σε αυτήν την περίπτωση, κατασκευάζω το ρομπότ Mearm v1 που μπορείτε να βρείτε αυτό το έργο στη σελίδα του συγγραφέα εδώ
Αυτό είναι ένα εύκολο ρομπότ για κατασκευή και χειριστήριο επειδή διαθέτει σερβοκινητήρες στα 5 βολτ. Μπορείτε να δημιουργήσετε ή να χρησιμοποιήσετε οποιοδήποτε ρομπότ της επιλογής σας, αυτό το έργο θα επικεντρωθεί στον έλεγχο με τον αισθητήρα TLV493D.
Προμήθειες:
- x1 Bast Pro Mini M0 Αγορά
- x1 Croquette TLV493D Αγορά
- x1 Kit MeArm v1
- x20 Καλώδια Dupont
- x1 Πρωτόπλακα
- x2 Πλήκτρο
- x1 Μαγνήτης 5mm διάμετρος x 1mm πάχος
Βήμα 1: Σύνδεση του αισθητήρα με το Bast Pro Mini M0
Για τον έλεγχο του βραχίονα ρομπότ, χρησιμοποιείται ένας πίνακας ανάπτυξης Electronic Cats, ένας Bast Pro Mini M0 με έναν μικροελεγκτή SAMD21E ARM Cortex-M0.
Αυτό το τσιπ λειτουργεί στα 48MHz, με μνήμη προγραμματισμού 256KB, 32KB SRAM και λειτουργεί σε τάση 1,6v έως 3,6v. Χάρη στις προδιαγραφές του μπορούμε να το χρησιμοποιήσουμε για χαμηλή κατανάλωση με καλή απόδοση και επίσης να το προγραμματίσουμε με το CircuitPython ή κάποια άλλη γλώσσα που επιτρέπει μικροελεγκτές.
electroniccats.com/store/bast-pro-mini-m0/
Εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτήν την κάρτα, θα σας αφήσω τον σύνδεσμο του αποθετηρίου της.
github.com/ElectronicCats/Bast-Pro-Mini-M0…
Για τον έλεγχο της κίνησης των σερβοκινητήρων, χρησιμοποιείται ο μαγνητικός αισθητήρας TLV493D ο οποίος θα στείλει το σήμα για τη θέση του σερβοκινητήρα στους αντίστοιχους βαθμούς.
Με έναν μόνο αισθητήρα, μπορούμε να μετακινήσουμε δύο σερβοκινητήρες, σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε μόνο έναν αισθητήρα και ένα κουμπί για τον έλεγχο της λαβής.
Μια άλλη πρόταση που μπορείτε να κάνετε είναι να προσθέσετε έναν άλλο αισθητήρα TLV493D και να μετακινήσετε τον τρίτο σερβοκινητήρα και τη λαβή. Αν το κάνετε, αφήστε την εμπειρία σας στα σχόλια και σας προσκαλώ να μοιραστείτε το έργο.
Η εικόνα δείχνει το ένοπλο κύκλωμα σε ένα πρωτοπόρο.
- Ο πρώτος σερβοκινητήρας είναι για τη λαβή και συνδέεται με τον πείρο 2
- Ο δεύτερος σερβοκινητήρας είναι για τη βάση του ρομπότ και συνδέεται με τον ακροδέκτη 3
- Ο τρίτος σερβοκινητήρας είναι για τον ώμο του ρομπότ και συνδέεται με τον πείρο 4
- Ο τέταρτος σερβοκινητήρας είναι για τον αγκώνα του ρομπότ και συνδέεται με τον πείρο 5
- Το πρώτο κουμπί είναι να σταματήσει κάθε κίνηση του ρομπότ και συνδέεται με τον πείρο 8 σε πτυσσόμενο με αντίσταση 2,2Kohms.
- Το δεύτερο κουμπί είναι για το άνοιγμα και το κλείσιμο της λαβής και συνδέεται με τον πείρο 9 σε έλξη προς τα κάτω με αντίσταση 2,2 Kohms.
Στην εικόνα κυκλώματος, ο αισθητήρας TLV493D δεν εμφανίζεται επειδή δεν προστέθηκε στο fritzing αλλά προστέθηκε ένας συνδετήρας 4 ακίδων για να προσομοιώσει τους συνδετήρες VCC, GND, SCL, SDA. Στην εικόνα, τοποθετούνται με την ίδια σειρά.
- Ο πρώτος πείρος συνδέεται με 3,3 βολτ στην πλακέτα
- Ο δεύτερος πείρος συνδέεται με το GND
- Ο τρίτος πείρος SCL συνδέεται με τον πείρο A5 στον πίνακα
- Ο τέταρτος πείρος SDA συνδέεται με τον ακροδέκτη Α4 της πλακέτας
Χάρη στο πλεονέκτημα του τσιπ SAMD21 μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις ψηφιακές ακίδες του ως εξόδους PWM, οι οποίες θα μας βοηθήσουν να στείλουμε το σωστό πλάτος παλμών για να μετακινήσουμε τον σερβοκινητήρα.
Μια άλλη σημαντική πληροφορία που πρέπει να ληφθεί υπόψη είναι η εξωτερική τροφοδοσία για τους σερβοκινητήρες, στο κύκλωμα μπορείτε να δείτε μια πρίζα που συνδέεται σε 5Volts σε πηγή 2Amp, για να αποφύγετε την υπερφόρτωση της πλακέτας και τη ζημιά της.
Επίσης, μην ξεχάσετε να συνδέσετε το κοινό σήμα GND της κάρτας και την εξωτερική πηγή, διαφορετικά, θα είχατε προβλήματα στον έλεγχο των σερβοκινητήρων, καθώς δεν θα είχαν την ίδια αναφορά.
Βήμα 2: Κωδικοποίηση του Arduino IDE στο Bast Pro Mini M0
Το πρώτο πράγμα θα είναι να εγκαταστήσετε την κάρτα Bast Pro Mini M0 στο Arduino IDE, τα βήματα βρίσκονται στο αποθετήριο Electronic Cats και είναι σημαντικά για τη λειτουργία του.
github.com/ElectronicCats/Arduino_Boards_I…
Όταν έχετε έτοιμο το Arduino IDE, είναι απαραίτητο να εγκαταστήσετε την επίσημη βιβλιοθήκη του αισθητήρα TLV493D, εισαγάγετε τη διεύθυνση https://github.com/Infineon/TLV493D-A1B6-3DMagnet… και μεταβείτε στις εκδόσεις.
Στο πρώτο μέρος του κώδικα, οι βιβλιοθήκες που χρησιμοποιούνται δηλώνονται, στην περίπτωση αυτή, Servo.h για τους σερβοκινητήρες και TLV493D.h για τον αισθητήρα.
Όταν χρησιμοποιείτε τη βιβλιοθήκη Servo.h είναι σημαντικό να δηλώσετε τον αριθμό των σερβοκινητήρων, αν και το ρομπότ έχει 4 αυτήν τη στιγμή μόνο 3 χρησιμοποιούνται.
Οι καρφίτσες δηλώνονται για τα κουμπιά που σταματούν κάθε κίνηση του ρομπότ και το άνοιγμα και το κλείσιμο της λαβής. Ορισμένες παγκόσμιες μεταβλητές δηλώνονται που θα χρησιμεύσουν για τη γνώση της κατάστασης της λαβής και εάν υπάρχει κίνηση.
Στο δεύτερο μέρος του κώδικα, θα δείξουμε στην σειριακή οθόνη την τιμή του βαθμού στον οποίο βρίσκονται οι κινητήρες. Ένα άλλο σημαντικό σημείο είναι να καθορίσετε το όριο των βαθμών στους σερβοκινητήρες σας, γι 'αυτό χρησιμοποιείται η συνάρτηση map () που μετατρέπει την τιμή των κινήσεων του αισθητήρα TLV493D στην περιοχή από 0 έως 180 μοίρες του σερβοκινητήρα.
Για το τελευταίο μέρος του κώδικα, δημιουργούνται οι προϋποθέσεις για να ενεργοποιήσετε την κίνηση των σερβοκινητήρων με το κουμπί και να γνωρίζετε σε ποια κατάσταση βρίσκεται η λαβή για την επόμενη κίνηση της όταν πατήσετε το δεύτερο κουμπί. Όπως μπορείτε να δείτε στις προηγούμενες εικόνες ο κώδικας δεν είναι δύσκολο να εφαρμοστεί και να κατανοηθεί, στο τέλος του έργου μπορείτε να βρείτε τον κώδικα.
Μαθαίνετε να χρησιμοποιείτε το Circuit Python;
Εάν ενδιαφέρεστε να μάθετε πώς να χρησιμοποιείτε αυτό το IDE, μπορείτε να βρείτε την κάρτα Bast Pro Mini M0 στον ακόλουθο σύνδεσμο για να κάνετε λήψη του bootloader και να ξεκινήσετε τον προγραμματισμό του με Python.
Βήμα 3: Τρισδιάστατα κομμάτια
Εάν ενδιαφέρεστε να κάνετε το έργο, μπορείτε να κατεβάσετε τα κομμάτια σε.stl και να τα εκτυπώσετε. Θα βρείτε τα αρχεία για τη βάση και το περιστροφικό ραβδί.