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

Rubics Cube Solver Bot: 5 βήματα (με εικόνες)
Rubics Cube Solver Bot: 5 βήματα (με εικόνες)

Βίντεο: Rubics Cube Solver Bot: 5 βήματα (με εικόνες)

Βίντεο: Rubics Cube Solver Bot: 5 βήματα (με εικόνες)
Βίντεο: Πως να λύσετε τον Κύβο του Ρούμπικ ♠ Λύση σε 8 απλά βήματα με τον μάγο Τρίσταν! 2024, Ιούλιος
Anonim
Rubics Cube Solver Bot
Rubics Cube Solver Bot

Κατασκευή ενός αυτόνομου ρομπότ που λύνει έναν φυσικό κύβο Ρούμπικ. Αυτό είναι ένα έργο στο Robotics Club, IIT Guwahati.

Είναι κατασκευασμένο με απλό υλικό που μπορεί να βρεθεί εύκολα. Κυρίως χρησιμοποιήσαμε κινητήρες Servo & ένα Arduino για τον έλεγχο τους, ακρυλικά φύλλα, ένα σπασμένο Mini Drafter, σφιγκτήρες L και διπλές ταινίες!

Για να πάρουμε τον αλγόριθμο επίλυσης του κύβου χρησιμοποιήσαμε τη βιβλιοθήκη cubejs από το github.

Βήμα 1: Υλικά που χρησιμοποιούνται

Υλικά που χρησιμοποιούνται
Υλικά που χρησιμοποιούνται
  1. 6 σερβοκινητήρες
  2. Arduino Uno
  3. Μπαταρία LiPo 3 κυψελών
  4. Ακρυλικό φύλλο (πάχος 8mm και 5mm)
  5. Θερμοπίστολο (
  6. Τρυπάνι
  7. Σιδηροπρίονο
  8. Σφιγκτήρες L
  9. Λωρίδες αλουμινίου
  10. Mini Drafter/ μεταλλικές ράβδοι
  11. Διπλή ταινία
  12. Φέβη Κουίκ
  13. Βίδες καρυδιού
  14. Καλώδια βραχυκυκλωτήρων

Βήμα 2: Προετοιμασία της μηχανικής δομής

Προετοιμασία της μηχανικής δομής
Προετοιμασία της μηχανικής δομής
Προετοιμασία της μηχανικής δομής
Προετοιμασία της μηχανικής δομής

Το βασικό πλαίσιο

  • Πάρτε ένα ακρυλικό φύλλο πάχους 8mm περίπου 50cm * 50cm και σημειώστε το κέντρο όλων των πλευρών (αυτό θα είναι η βάση του ρομπότ σας).
  • Πάρτε ένα σπασμένο συρτάρι και αφαιρέστε τις 4 ράβδους από χάλυβα.. (αυτές οι ράβδοι θα χρησιμεύσουν ως η διαδρομή για το ρυθμιστικό σας).
  • Σε δύο ορθογώνια κομμάτια ακρυλικού (οποιουδήποτε μεγέθους) στερεώστε δύο ράβδους παράλληλα μεταξύ τους και φτιάξτε δύο ζεύγη αυτού του συγκροτήματος.
  • Στη συνέχεια, για να φτιάξετε ένα ρυθμιστικό, στοιβάζετε δύο μικρά κομμάτια ακρυλικού το ένα πάνω στο άλλο με διαχωριστικά μεταξύ τους στις τέσσερις γωνίες και στερεώστε τα με μπουλόνια στους αποστάτες. Θα χρειαστείτε 4 τέτοια ρυθμιστικά.
  • Πριν στερεώσετε τα δύο κομμάτια του ρυθμιστικού, περάστε τις προηγουμένως στερεωμένες παράλληλες ράβδους μεταξύ τους, έτσι ώστε οι αποστάτες να αγγίζουν την εξωτερική επιφάνεια των ράβδων.
  • Για κάθε ζεύγος παράλληλων ράβδων περάστε δύο ρυθμιστικά πάνω τους.
  • Μόλις αυτό είναι έτοιμο, τακτοποιήστε το ζεύγος ράβδων με τη μορφή σταυρού 90 μοιρών. Βεβαιωθείτε ότι υπάρχει ένα ρυθμιστικό σε κάθε άκρο του σταυρού.
  • Τώρα το μόνο που έχετε να κάνετε είναι να συνδέσετε αυτήν τη διασταυρωμένη διαδρομή στη βάση του ρομπότ σας, σε κάποιο ύψος από τη βάση. (Βεβαιωθείτε ότι το ύψος είναι μεγαλύτερο από το ύψος ενός σερβοκινητήρα)

    Για αυτό, μπορείτε να χρησιμοποιήσετε ακρυλικά στηρίγματα με σφιγκτήρες L όπως κάναμε εμείς ή οποιαδήποτε άλλη μέθοδος θα είναι αρκετή

Μετά από αυτό, η δομή σας πρέπει να μοιάζει με την εικόνα.

Συνδέοντας τα βασικά servos

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

Κάνοντας τις ράβδους push-pull

  • Ρυθμίστε τη γωνία σερβίς στο μηδέν και συνδέστε τη στερέωση του βραχίονα του σερβο σε κάποια κατάλληλη θέση.
  • Τοποθετήστε τον κύβο στο κέντρο του σταυρού για να λάβετε μια εκτίμηση της απόστασης του ρυθμιστή στην πλησιέστερη θέση και τοποθετήστε τα ρυθμιστικά σε αυτές τις θέσεις.
  • Συνδέστε λωρίδες αλουμινίου σε σχήμα L στο κάτω μέρος κάθε ρυθμιστικού χρησιμοποιώντας διπλή ταινία.
  • Τώρα για να μετρήσετε την απόσταση κάθε λωρίδας αλουμινίου από το επάνω ή το κάτω μέρος του σερβορόκερ που βρίσκεται στο επίπεδό του, αυτό θα είναι το μήκος της ράβδου push-pull σας.
  • Μόλις καθοριστούν τα μήκη, η ράβδος ώθησης μπορεί να στερεωθεί με διάτρηση της λωρίδας αλουμινίου ή κάτι τέτοιο.

Τοποθέτηση των κορυφαίων σερβιτόρων

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

Τα νύχια C

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

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

Αυτό ολοκληρώνει τη μηχανική δομή του ρομπότ σας, σας επιτρέπει να μεταβείτε στις συνδέσεις κυκλώματος ……..

Βήμα 3: Συνδέσεις κυκλωμάτων

Συνδέσεις κυκλωμάτων
Συνδέσεις κυκλωμάτων

Για τον έλεγχο του Bot χρησιμοποιήσαμε Arduino, ρυθμιστή τάσης και μπαταρία LiPo 3 κυψελών (12v).

Καθώς οι Servo Motors αντλούν μεγάλη ισχύ, χρησιμοποιήσαμε 6 ρυθμιστές τάσης, έναν για κάθε κινητήρα.

Οι είσοδοι σήματος των κινητήρων (το πιο ανοιχτόχρωμο καλώδιο των τριών) συνδέθηκαν με τις ψηφιακές ακίδες PWM 3, 5, 6, 9, 10, 11 του Arduino.

Ο ρυθμιστής τάσης συνδέθηκε στο ψωμί και τροφοδοτήθηκε από την μπαταρία των 12 βολτ. Η παροχή εξόδου (5V) τροφοδοτήθηκε απευθείας στους κινητήρες. Το έδαφος των κινητήρων συνδέθηκε επίσης με το breadboard. Ο κοινός τόπος συνδέθηκε και με το Arduino.

Βήμα 4:

Image
Image

Βήμα 5: Κωδικός:

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

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

Για να πάρουμε τον αλγόριθμο επίλυσης του κύβου χρησιμοποιήσαμε τη βιβλιοθήκη cubejs από το github.

Ο αλγόριθμος δίνει απευθείας έξοδο σε «κινήσεις προσώπου» που συμπληρώνεται από τον κώδικα Arduino.

Συνιστάται: