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

1KG Sumobot Build: 6 βήματα
1KG Sumobot Build: 6 βήματα

Βίντεο: 1KG Sumobot Build: 6 βήματα

Βίντεο: 1KG Sumobot Build: 6 βήματα
Βίντεο: How to make Robot Sumo 2024, Ιούνιος
Anonim
1KG Sumobot Build
1KG Sumobot Build

Αυτό το Instructable θα σας καθοδηγήσει στη διαδικασία σχεδιασμού και κατασκευής ενός sumobot 1 κιλού.

Αλλά πρώτα, λίγο παρασκήνιο για το γιατί αποφάσισα να το γράψω αυτό. Wasμουν έτοιμος να επισκευάσω το παλιό μου sumobot για έναν διαγωνισμό όταν συνειδητοποίησα ότι δεν είχα κάνει ποτέ ένα Instructable για το πώς να φτιάξω ένα sumobot. Έχω μείνει ήσυχος στο Instructables τον τελευταίο χρόνο, οπότε αποφάσισα να επιστρέψω με αυτό το Instructable για το πώς να φτιάξω ένα sumobot 1KG.

Αρχικά, πολλοί από εσάς θα αναρωτιέστε: τι είναι το sumobot;

Βασικά, το sumobot είναι ένα είδος ρομπότ που χρησιμοποιείται σε διαγωνισμούς sumobot ή robot-sumo. Όπως υποδηλώνει το όνομα, ο στόχος είναι να σπρώχνουμε ο ένας τον άλλον έξω από ένα ρινγκ, παρόμοιο με την πάλη σούμο. Το ίδιο το sumobot έχει σχεδιαστεί με μοναδικό σκοπό να ωθήσει ένα άλλο sumobot έξω από το δαχτυλίδι. Το sumobot σε αυτό το Instructable είναι 1 κιλό. Υπάρχουν, ωστόσο, και άλλες κατηγορίες βάρους όπως 500 γραμμάρια και 3 κιλά.

Απαιτούμενες δεξιότητες:

  • Εξοικείωση με το CAD (Computer Aided Design)
  • Συγκόλληση
  • Προγραμματισμός στο Arduino

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

Με αυτό, ας ξεκινήσουμε.

ΥΣΤΕΡΟΓΡΑΦΟ. Συμμετέχω επίσης αυτό το Instructable στο διαγωνισμό Make it Move. Αν αυτό το Instructable είναι φοβερό, ψηφίστε και εμένα. (Θέλω το μπλουζάκι, φαίνεται πολύ ωραίο:))

Βήμα 1: Λίστα μερών

Λίστα μερών:

0,090 "6061 φύλλο αλουμινίου - 12" x 12 "(ή οποιοδήποτε φύλλο αλουμινίου 0,090"/2,2 mm που μπορεί να είναι CNC'd. Επέλεξα το 6061 δεδομένου ότι αυτό θα χρησιμοποιηθεί για το κύριο σώμα και το 6061 έχει αρκετή αντοχή)

Φύλλο αλουμινίου 0.5mm - 12 "x 12" (Οποιοδήποτε κράμα θα λειτουργούσε. Αυτό είναι μόνο για το επάνω κάλυμμα και τη λεπίδα. Χρησιμοποίησα ανταλλακτικά απορρίμματα αλουμινίου)

Φύλλο αλουμινίου 5mm (Και πάλι, κάθε κράμα θα λειτουργούσε. Τα δικά μου ήταν 7075 θραύσματα αλουμινίου.)

2 x 12V DC κινητήρας υψηλής ροπής (Οποιοσδήποτε κινητήρας υψηλής ροπής θα λειτουργήσει, όπως αυτός από την Amazon.)

2 x ζάντα τροχού (Και πάλι, κάθε ζάντα τροχού θα λειτουργούσε, ανάλογα με τον κινητήρα σας. Εάν έχετε άξονα κινητήρα 5 mm, αυτοί οι τροχοί θα λειτουργήσουν όμορφα. Οι δικοί μου είναι στην πραγματικότητα μερικοί παλιοί τροχοί σιλικόνης που είχα)

4 αισθητήρες απόστασης IR (χρησιμοποιώ αισθητήρες απόστασης IR Sharp, οι οποίοι μπορούν να αγοραστούν από πολλά καταστήματα, όπως αυτό από το Pololu και αυτό από το Sparkfun.)

2 αισθητήρες υπέρυθρης ακτινοβολίας (πήρα ξανά εδώ από το Sparkfun.)

1 πλακέτα μικροελεγκτή (χρησιμοποιώ ATX2 μόνο και μόνο επειδή απαιτείται. Ένα κανονικό Arduino Uno θα ήταν πραγματικά καλύτερο για την ευκολία χρήσης του).

1 μπαταρία πολυμερούς λιθίου 3S (LiPo. 3S LiPos είναι 12 βολτ. Μια χωρητικότητα από 800 έως 1400 mah θα λειτουργούσε.)

1 Πρόγραμμα οδήγησης κινητήρα (Και πάλι, αυτό εξαρτάται από την ισχύ που μπορεί να αντλήσει ο κινητήρας σας. Αυτό πηγαίνει απευθείας πάνω από ένα Arduino Uno και μπορεί να παρέχει έως και 5Α ρεύματος.)

Σύρματα, καλώδια και συνδετήρες (Για τη σύνδεση των αισθητήρων στην πλακέτα και τη διασύνδεση με φορητό υπολογιστή.)

Βίδες και παξιμάδια Μ3

Εποξειδικό

Χαρτόνι

Laptop (για προγραμματισμό του πίνακα)

Εργαλεία όπως ψαλίδι, απογυμνωτές σύρματος και κολλητήρι.

Βήμα 2: Συναρμολόγηση του πλαισίου

Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου
Συναρμολόγηση του πλαισίου

Χρησιμοποίησα το Fusion 360, ένα λογισμικό 3D CAD/CAM που τροφοδοτείται με σύννεφο, για να σχεδιάσω το πλαίσιο. Το Autodesk παρέχει όμορφα μαθήματα εδώ. Έμαθα κυρίως βλέποντας τα βίντεο και μετά προσπαθώντας να τα κάνω μόνος μου. Δεν θα προσπαθήσω να σας μάθω πώς να χρησιμοποιείτε το Fusion 360. Θα αφήσω τους επαγγελματίες να κάνουν τη δουλειά τους.

Ο ίδιος ο σχεδιασμός αποτελείται από μια κύρια βάση, μία λεπίδα, ένα επάνω κάλυμμα, δύο βραχίονες κινητήρα και δύο (ή τέσσερις) στηρίγματα τρισδιάστατης εκτύπωσης. Η κύρια βάση είναι αλουμίνιο 2,2 mm, τα στηρίγματα κινητήρα είναι αλουμίνιο 5 mm, η λεπίδα είναι 0,5 mm αλουμίνιο, ενώ το επάνω κάλυμμα μπορεί να είναι είτε αλουμίνιο 0,5 mm είτε κανονικό χαρτόνι. Χρησιμοποίησα χαρτόνι επειδή το αλουμίνιο ζυγίζει μερικά γραμμάρια περισσότερο και ήμουν πάνω από το όριο του 1 κιλού κατά 10 γραμμάρια. Τα στηρίγματα τρισδιάστατης εκτύπωσης, από την άλλη πλευρά, εκτυπώνονται με ABS, με 50% πλήρωση.

Τα σχέδια που απαιτούσαν αλουμίνιο εξήχθησαν σε αρχεία.dxf και στάλθηκαν σε μια τοπική εταιρεία κοπής λέιζερ εδώ στις Φιλιππίνες. Τα τρισδιάστατα εκτυπωμένα εξαρτήματα εξήχθησαν στο STL και στάλθηκαν ξανά σε μια τοπική εταιρεία εκτύπωσης 3D.

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

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

Το επάνω κάλυμμα στο σχέδιο είναι κατασκευασμένο από αλουμίνιο, αλλά λόγω περιορισμών βάρους χρησιμοποίησα χαρτόνι. Έκοψα χαρτόνι στις ίδιες προδιαγραφές όπως στο σχέδιο.

Το στήριγμα τρισδιάστατης εκτύπωσης στερεώνεται μπροστά χρησιμοποιώντας βίδες και χρησιμοποιείται κυριολεκτικά για τη στήριξη της λεπίδας. Η λεπίδα είναι κολλημένη στη βάση χρησιμοποιώντας εποξική. Βιδώστε τρύπες στη λεπίδα και η κύρια βάση χρησιμοποιείται για να καθοδηγήσει τη θέση και να βεβαιωθείτε ότι είναι σωστά συνδεδεμένη μεταξύ τους. Υπάρχουν κυκλικές οπές στην κύρια βάση που μπορείτε να γεμίσετε με εποξική για να κολλήσετε τη λεπίδα στην κύρια βάση. Η μεγάλη επιφάνεια των οπών επιτρέπει στην εποξική να πιάσει καλύτερα τη λεπίδα και να την αποτρέψει να σκιστεί από τη βάση. Ο αισθητήρας IR μπορεί επίσης να κολλήσει στο κάτω μέρος της λεπίδας χρησιμοποιώντας εποξική, όπως στις φωτογραφίες. Βεβαιωθείτε ότι το κάτω μέρος του αισθητήρα είναι κάθετο στο πάτωμα.

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

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

Βήμα 3: Ηλεκτρονικά

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

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

Εάν, πάλι, χρησιμοποιείτε πρόγραμμα οδήγησης κινητήρα που δεν βρίσκεται πάνω από ένα Arduino, ξεκινήστε να συνδέετε τα καλώδια που χρειάζονται για τη διασύνδεσή του με τον μικροελεγκτή. Για τον οδηγό μου, το μόνο που χρειάζομαι είναι ένα σήμα (μπλε) και καλώδιο γείωσης (μαύρο). Εξαρτάται από τον ίδιο τον οδηγό. Αυτό που χρειάζονται όλοι οι οδηγοί είναι καλώδια για σύνδεση με την μπαταρία ή την πηγή ενέργειας. Τα καλώδια που ήταν προσαρτημένα στο XT-60 μου (το ίδιο βύσμα στις περισσότερες μπαταρίες λιπό) ήταν πολύ παχιά, οπότε έπρεπε να το κόψω για να χωρέσει στα στενά μπλοκ συνδετήρων.

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

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

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

Βήμα 4: Μαζεύοντας όλα τα μέρη μαζί

Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί
Βάζοντας όλα τα μέρη μαζί

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

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

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

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

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

Βήμα 5: Προγραμματισμός

Μόλις συγκεντρωθούν όλα, υπάρχει ένα τελευταίο πράγμα που πρέπει να κάνετε: προγραμματίστε το ρομπότ σας.

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

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

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

Εδώ είναι ολόκληρο το πρόγραμμα αν είστε περίεργοι:

#περιλαμβάνω

// A5 - αριστερός αισθητήρας χρώματος // A4 - δεξί αισθητήρας χρώματος // A6 - αισθητήρας πίσω απόστασης // A2 - αισθητήρας αριστερής απόστασης // A3 - αισθητήρας δεξιάς απόστασης // A1 - αισθητήρας μπροστινής απόστασης // κινητήρας 1 - δεξιά // μοτέρ 2 - αριστερή ρύθμιση κενών () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); ΕΝΤΑΞΕΙ(); μπιπ (2)? setTextColor (GLCD_BLUE); glcd (1, 0, "Initialized"); καθυστέρηση (4900)? }

void loop () {

int frontDistanceValue = analogRead (A1); int leftDistanceValue = analogRead (A2); int rightDistanceValue = analogRead (A3); int rearDistanceValue = analogRead (A6); int leftColorValue = digitalRead (A5); int rightColorValue = digitalRead (A4); εάν (frontDistanceValue> 250) {// κάποιος ακριβώς μπροστά, μέγιστη ισχύς Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// άγγιξε την άκρη // αντίστροφη Serial1.write (1); Serial1.write (255); καθυστέρηση (400)? Serial1.write (1); Serial1.write (128); καθυστέρηση (300)? } else if (rightColorValue == 0) {// άγγιξε την άκρη // αντίστροφη Serial1.write (1); Serial1.write (255); καθυστέρηση (400)? Serial1.write (127); Serial1.write (255); καθυστέρηση (300)? } else if (frontDistanceValue> 230) {// kinda far front Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// στρίψτε αριστερά Serial1.write (127); Serial1.write (255); καθυστέρηση (450)? } else if (rightDistanceValue> 250) {// στρίψτε δεξιά Serial1.write (1); Serial1.write (128); καθυστέρηση (450)? } else if (rearDistanceValue> 150) {// κοντά στο πίσω μέρος Serial1.write (1); Serial1.write (128); καθυστέρηση (1050)? } else if (frontDistanceValue> 180) {// πολύ μπροστά Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}

Βήμα 6: Φωτογραφίες

Φωτογραφίες
Φωτογραφίες
Φωτογραφίες
Φωτογραφίες
Φωτογραφίες
Φωτογραφίες
Φωτογραφίες
Φωτογραφίες

Εμφανίζονται μερικές φωτογραφίες του τελικού sumobot.

Ας ελπίσουμε ότι μάθατε κάτι από αυτό το διδακτικό. Αν σας αρέσει αυτός ο οδηγός, ψηφίστε με στον διαγωνισμό Make it Move. Εάν όχι, θα χαρώ να διορθώσω οτιδήποτε μπορεί να κάνει αυτόν τον οδηγό καλύτερο.

Καλή μάθηση!

Συνιστάται: