Daftar Isi:

Q-Bot - Pemecah Kubus Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)
Q-Bot - Pemecah Kubus Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)

Video: Q-Bot - Pemecah Kubus Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)

Video: Q-Bot - Pemecah Kubus Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)
Video: This robot solve a Rubik's cube in world record time 2024, Juli
Anonim
Image
Image
Gambar
Gambar

Bayangkan Anda memiliki Rubik's Cube yang diacak, Anda tahu bahwa teka-teki itu membentuk tahun 80-an yang dimiliki setiap orang tetapi tidak ada yang benar-benar tahu bagaimana menyelesaikannya, dan Anda ingin mengembalikannya ke pola aslinya. Untungnya hari ini sangat mudah untuk menemukan petunjuk penyelesaian. Jadi, online, lihat video, pelajari cara memutar sisi untuk memberi Anda kegembiraan. Namun, setelah melakukannya beberapa kali, Anda akan menyadari bahwa ada sesuatu yang hilang. Sebuah lubang di dalam yang tidak bisa diisi. Para insinyur/pembuat/peretas di dalam diri Anda tidak bisa puas dengan memecahkan sesuatu yang begitu menakjubkan dengan cara yang begitu sederhana. Bukankah akan jauh lebih puitis jika Anda memiliki mesin yang melakukan semua pemecahan untuk Anda? Jika Anda membangun sesuatu, semua teman Anda akan kagum? Saya dapat menjamin Anda bahwa itu tidak menjadi jauh lebih baik daripada menonton kreasi Anda melakukan keajaiban dan memecahkan Kubus Rubik. Jadi, datang dan bergabunglah dengan saya dalam perjalanan indah membangun Q-Bot, Pemecah Kubus Rubik open source yang pasti tidak akan mengalahkan rekor dunia mana pun, tetapi akan memberi Anda berjam-jam kegembiraan (setelah tentu saja melalui semua frustrasi selama proses pembangunan).

Langkah 1: Merancang Perangkat Keras

Pemecah lengkap dirancang dengan CAD di Catia. Dengan cara ini sebagian besar kesalahan desain dapat ditemukan dan diperbaiki sebelum membuat komponen fisik apa pun. Sebagian besar solver dicetak 3D di PLA menggunakan printer Prusa MK3. Selain itu, perangkat keras berikut digunakan:

  • 8 buah batang aluminium 8 mm (panjang 10 cm)
  • 8 bantalan bola linier (LM8UU)
  • sedikit di bawah 2 m dari timing belt GT2 6mm + beberapa katrol
  • 6 motor stepper bipolar NEMA 17
  • 6 driver stepper Polulu 4988
  • Arudino Mega sebagai pengontrol proyek
  • catu daya 12 V 3A
  • konverter step down untuk menyalakan arduino dengan aman
  • beberapa sekrup dan konektor
  • beberapa kayu lapis untuk alasnya

Deskripsi perangkat keras

Bagian ini secara singkat membahas bagaimana fungsi Q-Bot dan di mana komponen yang disebutkan di atas digunakan. Di bawah ini Anda dapat melihat rendering model CAD yang dirakit sepenuhnya.

Q-bot bekerja dengan memiliki empat motor yang terpasang langsung ke Rubik's Cube dengan grippers yang dicetak 3D. Artinya kiri, kanan, depan dan belakang bisa langsung diputar. Jika bagian atas atau bawah perlu diputar, seluruh kubus harus diputar sehingga dua motor harus dipindahkan. Hal ini dilakukan dengan menempelkan masing-masing motor grip ke kereta luncur yang digerakkan oleh motor stepper lain dan timing belt di sepanjang sistem rel linier. Sistem rel terdiri dari dua bantalan bola 8 yang dipasang ke rongga di kereta luncur dan seluruh kereta luncur naik pada dua poros aluminium 8mm. Di bawah ini Anda dapat melihat sub perakitan salah satu sumbu solver.

Sumbu x dan y pada dasarnya identik hanya berbeda ketinggian titik pemasangan belt, hal ini agar tidak terjadi benturan antara kedua belt saat dirakit penuh.

Gambar
Gambar

Langkah 2: Memilih Motor yang Tepat

Tentu saja, memilih motor yang tepat sangat penting di sini. Bagian utamanya adalah mereka harus cukup kuat untuk dapat memutar kubus Rubik. Satu-satunya masalah di sini adalah bahwa tidak ada produsen kubus Rubik yang memberikan peringkat torsi. Jadi, saya harus berimprovisasi dan melakukan pengukuran sendiri.

Umumnya torsi didefinisikan oleh gaya yang diarahkan tegak lurus ke posisi titik rotasi pada jarak r:

Gambar
Gambar
Gambar
Gambar

Jadi, jika saya dapat mengukur gaya yang diterapkan pada kubus, saya dapat menghitung torsi. Itulah yang saya lakukan. Saya menjepit kubus saya ke rak sedemikian rupa sehingga hanya satu sisi yang bisa bergerak. Bahwa seutas tali diikatkan di sekitar kubus dan sebuah tas terpasang di bagian bawah. Sekarang yang tersisa untuk dilakukan adalah perlahan-lahan menambah berat di dalam tas sampai kubus itu berputar. Karena tidak ada timbangan yang akurat, saya menggunakan kentang dan mengukurnya setelah itu. Bukan metode yang paling ilmiah tetapi karena saya tidak mencoba menemukan torsi minimum, itu cukup memadai.

Gambar
Gambar

Saya melakukan pengukuran tiga kali dan mengambil nilai tertinggi hanya untuk amannya. Berat yang dihasilkan adalah 0,52 kg. Sekarang karena Sir Isaac Newton kita tahu bahwa Gaya sama dengan massa kali percepatan.

Gambar
Gambar

Percepatan, dalam hal ini, adalah percepatan gravitasi. Jadi torsi yang dibutuhkan diberikan oleh

Gambar
Gambar

Memasukkan semua nilai, termasuk setengah dari diagonal kubus Rubik, akhirnya mengungkapkan torsi yang dibutuhkan.

Gambar
Gambar

Saya menggunakan motor stepper yang mampu menerapkan hingga 0,4Nm yang mungkin berlebihan, tetapi saya ingin aman.

Langkah 3: Membangun Basis

Basisnya terdiri dari kotak kayu yang sangat sederhana dan menampung semua barang elektronik yang dibutuhkan. Ini memiliki colokan untuk menghidupkan dan mematikan mesin, LED untuk menunjukkan jika dihidupkan, port USB B dan soket untuk catu daya untuk dicolokkan. Itu dibangun menggunakan kayu lapis 15mm, beberapa sekrup dan sedikit lem.

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Langkah 4: Merakit Perangkat Keras

Sekarang dengan semua bagian yang diperlukan, termasuk alasnya, Q-bot siap untuk dirakit. Bagian kustom dicetak 3D dan disesuaikan jika diperlukan. Anda dapat mengunduh semua file CAD di akhir ible ini. Perakitan termasuk pemasangan semua bagian yang dicetak 3D dengan bagian yang dibeli, memperpanjang kabel motor dan memasang semua bagian ke alasnya. Selain itu, saya memasang selongsong di sekitar kabel motor, hanya untuk membuatnya terlihat sedikit lebih rapi, dan menambahkan konektor JST di ujungnya.

Untuk menyoroti pentingnya pangkalan yang saya bangun, berikut adalah bidikan sebelum dan sesudah perakitan tampak seperti apa. Merapikan semuanya sedikit dapat membuat perbedaan besar.

Gambar
Gambar
Gambar
Gambar

Langkah 5: Elektronik

Adapun elektronik proyek ini agak sederhana. Ada catu daya 12V utama, yang dapat mengalirkan arus hingga 3A, yang memberi daya pada motor. Modul step-down digunakan untuk memberi daya pada Arduino dengan aman dan pelindung khusus untuk Arduino dirancang yang menampung semua driver motor stepper. Pengemudi membuat pengendalian motor menjadi lebih mudah. Mengemudikan motor stepper memerlukan urutan kontrol tertentu tetapi dengan menggunakan driver motor kita hanya perlu membangkitkan pulsa tinggi untuk setiap langkah motor akan berputar. Selain itu, beberapa konektor jst ditambahkan ke pelindung untuk memudahkan menghubungkan motor. Perisai untuk Arduino pertama kali dibangun di atas papan perf dan setelah memastikan semuanya berfungsi sebagaimana mestinya, ia diproduksi oleh jlc pcb.

Berikut sebelum dan sesudah prototipe dan PCB yang diproduksi.

Gambar
Gambar
Gambar
Gambar

Langkah 6: Perangkat Lunak & Antarmuka Serial

Q-Bot dibagi menjadi dua bagian. Di satu sisi ada perangkat keras yang dikendalikan oleh Arduino, di sisi lain ada perangkat lunak yang menghitung jalur penyelesaian kubus berdasarkan perebutan saat ini. Firmware yang berjalan di Arduino ditulis oleh saya sendiri, tetapi untuk mempersingkat panduan ini, saya tidak akan membahas detailnya di sini. Jika Anda ingin melihatnya dan bermain-main dengannya, tautan ke repositori git saya akan disediakan di akhir dokumen ini. Perangkat lunak yang menghitung solusi berjalan pada mesin windows dan ditulis oleh rekan saya, sekali lagi tautan ke kode sumbernya dapat ditemukan di akhir ible ini. Kedua bagian berkomunikasi menggunakan antarmuka serial sederhana. Ini menghitung solusi berdasarkan algoritma dua fase Kociemba. Perangkat lunak pemecahan mengirimkan perintah yang terdiri dari dua byte ke pemecah dan menunggu untuk mengembalikan 'ACK'. Dengan cara ini pemecah dapat diuji dan di-debug menggunakan monitor serial sederhana. Set instruksi lengkap dapat ditemukan di bawah ini.

Gambar
Gambar

Perintah untuk menghidupkan setiap motor untuk satu langkah adalah solusi untuk masalah di mana beberapa stepper akan secara acak melakukan lompatan kecil saat dihidupkan. Untuk mengimbangi ini, motor dapat diatur ke posisi awal sebelum proses penyelesaian.

Langkah 7: Kesimpulan

Setelah delapan bulan mengembangkan, bersumpah, memukul keyboard, dan menari, Q-bot akhirnya berhasil memecahkan Rubik's Cube pertamanya. Perebutan kubus harus dimasukkan secara manual ke dalam perangkat lunak kontrol, tetapi semuanya bekerja dengan baik.

Saya menambahkan mount untuk webcam beberapa minggu kemudian dan kampus saya menyesuaikan perangkat lunak untuk membaca kubus secara otomatis dari gambar yang diambil. Namun, ini belum diuji dengan baik dan masih perlu beberapa perbaikan.

Gambar
Gambar

Jika instruksi ini memicu minat Anda, jangan ragu dan mulailah membangun versi Q-bot Anda sendiri. Ini mungkin tampak menakutkan pada awalnya, tetapi itu sangat sepadan dengan usaha dan jika saya bisa melakukannya, Anda juga bisa.

Sumber daya:

Kode Sumber Firmware:

github.com/Axodarap/QBot_firmware

Kode Sumber perangkat lunak kontrol

github.com/waldhube16/Qbot_SW

Direkomendasikan: