Isi kandungan:

Q-Bot - Penyelesai Cube Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)
Q-Bot - Penyelesai Cube Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)

Video: Q-Bot - Penyelesai Cube Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)

Video: Q-Bot - Penyelesai Cube Rubik Sumber Terbuka: 7 Langkah (dengan Gambar)
Video: Первый босс. Мрозгера ► 6 Прохождение The Legend of Zelda: Tears of the Kingdom 2024, Julai
Anonim
Image
Image
Imej
Imej

Bayangkan anda mempunyai Rubik's Cube yang kacau, anda tahu bahawa teka-teki membentuk era 80-an yang dimiliki oleh semua orang tetapi tidak ada yang benar-benar tahu bagaimana menyelesaikannya, dan anda ingin mengembalikannya ke corak asalnya. Nasib baik hari ini sangat mudah untuk mencari petunjuk penyelesaian. Oleh itu, pergi ke dalam talian melihat video belajar bagaimana memalingkan sisi untuk memberi kegembiraan kepada anda. Namun, setelah melakukannya beberapa kali, anda akan menyedari bahawa ada sesuatu yang hilang. Lubang di dalam yang tidak dapat diisi. Jurutera / pembuat / penggodam dalam diri anda tidak dapat berpuas hati dengan menyelesaikan sesuatu yang sangat menakjubkan dengan cara yang mudah. Bukankah akan lebih puitis jika anda mempunyai mesin yang membuat semua penyelesaian untuk anda? Sekiranya anda membina sesuatu, semua rakan anda akan kagum? Saya dapat menjamin bahawa ia tidak menjadi lebih baik daripada menonton karya anda membuat keajaiban dan menyelesaikan Rubik's Cube. Oleh itu, datang dan sertai saya dalam perjalanan indah membina Q-Bot, Rubik's Cube Solver sumber terbuka yang pastinya tidak akan mengalahkan rekod dunia, tetapi akan memberi anda kegembiraan berjam-jam (setelah tentu saja melalui semua kekecewaan semasa proses pembinaan).

Langkah 1: Merancang Perkakasan

Penyelesai lengkap dirancang dengan CAD di Catia. Dengan cara ini, kebanyakan kesilapan reka bentuk dapat dijumpai dan diperbetulkan sebelum membuat sebarang komponen fizikal. Sebilangan besar penyelesai dicetak 3D dalam PLA menggunakan pencetak prusa MK3. Di samping itu, perkakasan berikut telah digunakan:

  • 8 keping batang aluminium 8 mm (panjang 10cm)
  • 8 galas bebola linear (LM8UU)
  • tali pinggang masa GT2 6mm sedikit di bawah 2 m + beberapa takal
  • 6 NEMA 17 motor stepper bipolar
  • 6 pemacu stepper Polulu 4988
  • Arudino Mega sebagai pengawal projek
  • bekalan kuasa 12 V 3A
  • penukar langkah ke bawah untuk menghidupkan arduino dengan selamat
  • beberapa skru dan penyambung
  • sebilangan papan lapis untuk alas

Penerangan perkakasan

Bahagian ini secara ringkas merangkumi bagaimana Q-Bot berfungsi dan di mana komponen yang disebutkan di atas digunakan. Di bawah ini anda dapat melihat rendering modell CAD yang dipasang sepenuhnya.

Q-bot berfungsi dengan memasang empat motor secara langsung ke Rubik's Cube dengan pencengkam bercetak 3D. Ini bermaksud kiri, kanan, depan dan belakang dapat dipusingkan secara langsung. Sekiranya bahagian atas atau bawah perlu dipusingkan, seluruh kubus mesti dipusingkan dan oleh itu dua motor harus dipindahkan. Ini dilakukan dengan memasang setiap motor yang mencengkam ke kereta luncur yang digerakkan oleh motor stepper lain dan timing belt di sepanjang sistem rel linier. Sistem rel terdiri daripada dua galas bebola 8 yang dipasang ke rongga di kereta luncur dan keseluruhan luncur menaiki dua batang aluminium 8mm. Di bawah ini anda dapat melihat sub pemasangan satu paksi pemecah.

Paksi-x dan paksi-y pada dasarnya sama, mereka hanya berbeza dalam ketinggian titik pelekap tali pinggang, ini supaya tidak berlanggar antara kedua-dua tali pinggang ketika dipasang sepenuhnya.

Imej
Imej

Langkah 2: Memilih Motor Yang Tepat

Sudah tentu, memilih motor yang betul sangat penting di sini. Bahagian utamanya ialah mereka perlu cukup kuat untuk dapat mengubah kubus Rubik. Satu-satunya masalah di sini ialah tidak ada pengeluar kubus Rubik yang memberikan penarafan tork. Oleh itu, saya harus membuat improvisasi dan melakukan pengukuran saya sendiri.

Secara amnya tork ditentukan oleh daya yang diarahkan secara tegak lurus ke kedudukan titik putaran pada jarak r:

Imej
Imej
Imej
Imej

Oleh itu, jika saya dapat mengukur daya yang dikenakan pada kubus, saya dapat mengira daya kilas. Yang betul-betul saya buat. Saya mengepit kubus saya ke rak dengan cara yang hanya satu pihak dapat bergerak. Seutas tali diikat di sekeliling kubus dan beg terpasang di bahagian bawah. Sekarang yang tinggal hanyalah perlahan-lahan menambah berat di dalam beg sehingga kubus berpusing. Oleh kerana kekurangan berat yang tepat, saya menggunakan kentang dan mengukurnya selepas itu. Bukan kaedah paling saintifik tetapi kerana saya tidak berusaha mencari daya kilas minimum, ia cukup mencukupi.

Imej
Imej

Saya melakukan pengukuran tiga kali dan mengambil nilai tertinggi untuk selamat. Berat yang dihasilkan adalah 0.52 kg. Oleh kerana Sir Isaac Newton, kita tahu bahawa Force sama dengan pecutan massa.

Imej
Imej

Pecutan, dalam kes ini, adalah pecutan graviti. Jadi tork yang diperlukan diberikan oleh

Imej
Imej

Memasukkan semua nilai, termasuk separuh pepenjuru kubus Rubik, akhirnya mengungkapkan daya kilas yang diperlukan.

Imej
Imej

Saya menggunakan motor stepper yang mampu menggunakan hingga 0.4Nm yang mungkin berlebihan, tetapi saya mahu selamat.

Langkah 3: Membina Pangkalan

Pangkalannya terdiri daripada kotak kayu yang sangat sederhana dan menempatkan semua elektronik yang diperlukan. Ia dilengkapi palam untuk menghidupkan dan mematikan mesin, LED untuk menunjukkan apakah dihidupkan, port USB B dan soket untuk bekalan kuasa dipasang. Ia dibina menggunakan papan lapis 15mm, beberapa skru dan sedikit gam.

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

Langkah 4: Memasang Perkakasan

Sekarang dengan semua bahagian yang diperlukan, termasuk pangkalan, Q-bot siap dipasang. Bahagian tersuai dicetak 3D dan disesuaikan jika diperlukan. Anda boleh memuat turun semua fail CAD di hujung ible ini. Pemasangan termasuk memasang semua bahagian 3D yang dicetak dengan bahagian yang dibeli, memanjangkan kabel motor dan memasang semua bahagian ke pangkal. Di samping itu, saya meletakkan lengan di sekitar kabel motor, hanya untuk kelihatan sedikit lebih kemas, dan menambahkan penyambung JST ke hujungnya.

Untuk mengetengahkan kepentingan asas yang saya bina, berikut adalah gambaran sebelum dan selepas penampilan pemasangan. Menambah segalanya dapat membuat perbezaan yang besar.

Imej
Imej
Imej
Imej

Langkah 5: Elektronik

Bagi elektronik, projeknya agak mudah. Terdapat bekalan kuasa 12V utama, yang dapat memberikan arus hingga 3A, yang menggerakkan motor. Modul step-down digunakan untuk menyalakan Arduino dengan selamat dan perisai khas untuk Arduino direka untuk menempatkan semua pemandu motor stepper. Pemandu menjadikan kawalan motor lebih mudah. Memandu motor stepper memerlukan urutan kawalan yang spesifik tetapi dengan menggunakan pemandu motor kita hanya perlu menghasilkan denyutan tinggi untuk setiap langkah motor akan berpusing. Di samping itu, beberapa penyambung jst ditambahkan ke perisai untuk memudahkan penyambungan motor. Perisai untuk Arduino dibina dengan kuat di atas sekeping papan wangi dan setelah memastikan semuanya berfungsi sebagaimana mestinya ia dihasilkan oleh jlc pcb.

Inilah sebelum dan selepas prototaip dan pcb yang dihasilkan.

Imej
Imej
Imej
Imej

Langkah 6: Antaramuka Perisian & Siri

Q-Bot terbahagi kepada dua bahagian. Di satu pihak terdapat perkakasan yang dikendalikan oleh Arduino, di sisi lain ada perisian yang mengira jalan penyelesaian untuk kubus berdasarkan perebutan semasa. Firmware yang berjalan di Arduino ditulis oleh saya sendiri tetapi untuk memastikan panduan ini pendek, saya tidak akan membincangkan butiran mengenainya di sini. Sekiranya anda ingin melihatnya dan bermain-main dengannya, pautan ke git repositori saya akan disediakan di akhir dokumen ini. Perisian yang mengira penyelesaiannya dijalankan pada mesin windows dan ditulis oleh rakan saya, sekali lagi pautan ke kod sumbernya boleh didapati di hujung ible ini. Kedua-dua bahagian berkomunikasi menggunakan antara muka bersiri yang ringkas. Ia mengira penyelesaian berdasarkan algoritma dua fasa Kociemba. Perisian penyelesaian menghantar arahan yang terdiri daripada dua bait ke penyelesai dan menunggu untuk mengembalikan ‘ACK’. Dengan cara ini pemecah dapat diuji dan disahpijat menggunakan monitor bersiri yang ringkas. Set arahan lengkap boleh didapati di bawah.

Imej
Imej

Perintah untuk menghidupkan setiap motor untuk satu langkah adalah jalan keluar untuk masalah di mana beberapa stepper akan melakukan lompatan kecil secara acak setelah dihidupkan. Untuk mengimbanginya, motor dapat disesuaikan dengan kedudukan awal sebelum proses penyelesaian.

Langkah 7: Kesimpulannya

Setelah lapan bulan berkembang, bersumpah, memukul papan kekunci dan menari Q-bot akhirnya berada di titik di mana Rubik's Cube pertama berjaya diselesaikan. Perebutan kubus harus dimasukkan secara manual ke dalam perisian kawalan, tetapi semuanya berjalan lancar.

Saya menambahkan beberapa mount untuk kamera web beberapa minggu kemudian dan kolej saya menyesuaikan perisian untuk membaca kiub secara automatik dari gambar yang diambil. Namun, ini belum diuji dengan baik dan masih memerlukan beberapa penambahbaikan.

Imej
Imej

Sekiranya arahan ini mendorong minat anda, jangan ragu dan mula membina versi Q-bot anda sendiri. Mungkin kelihatan menakutkan pada mulanya, tetapi sangat berbaloi dan jika saya dapat melakukannya, boleh juga anda.

Sumber:

Kod Sumber Firmware:

github.com/Axodarap/QBot_firmware

Kod Sumber perisian kawalan

github.com/waldhube16/Qbot_SW

Disyorkan: