Daftar Isi:

Mikro Pendidikan DIY: Robot bit: 8 Langkah (dengan Gambar)
Mikro Pendidikan DIY: Robot bit: 8 Langkah (dengan Gambar)

Video: Mikro Pendidikan DIY: Robot bit: 8 Langkah (dengan Gambar)

Video: Mikro Pendidikan DIY: Robot bit: 8 Langkah (dengan Gambar)
Video: Tonton Sampai Habis !!! Belajar Arduino Di Jamin Bisa 2024, Juli
Anonim
Mikro Pendidikan DIY: Robot bit
Mikro Pendidikan DIY: Robot bit
Mikro Pendidikan DIY: Robot bit
Mikro Pendidikan DIY: Robot bit

Instruksi ini akan menunjukkan kepada Anda cara membuat robot yang relatif mudah diakses, mampu, dan murah. Tujuan saya dalam merancang robot ini adalah untuk mengusulkan sesuatu yang kebanyakan orang mampu, bagi mereka untuk mengajarkan ilmu komputer dengan cara yang menarik atau untuk mempelajarinya.

Setelah Anda membuat robot ini, Anda dapat menikmati berbagai sensor dan aktuatornya untuk melakukan hal-hal dasar tetapi juga cukup canggih tergantung pada versi yang Anda buat (saya akan menyediakan dua versi). Dengan robot ini Anda memberikan mata (pandangan 180 °!) dan kaki (dengan gerakan yang tepat mungkin!) ke mikro:bit sementara mikro:bit memberi Anda fitur hebat seperti matriks LED, komunikasi radio, komunikasi bluetooth, akselerometer, compas, tetapi juga akses ke semua itu dengan MicroPython atau dengan bahasa pemrograman visual yang mirip dengan awal (sebenarnya juga dalam C++ dan javascript tetapi saya menemukan itu kurang cocok untuk pendidikan).

Saya juga akan mengerjakan instruksi ini sehingga saya dapat mengatur pembaca dan pembuat di jalur untuk menemukan lebih banyak tentang robotika seluler, elektronik, desain, dan pemotongan kayu. Untuk melakukannya, saya merancang semuanya se-modular mungkin. Misalnya saya tidak akan menggunakan lem apa pun untuk memungkinkan perakitan dan pembongkaran dengan bebas, membuat peningkatan serta debugging lebih mudah. Saya juga akan membuat langkah-langkah setahap demi setahap, sehingga Anda dapat secara progresif memahami apa yang terjadi, memeriksa apakah semuanya berfungsi sebagaimana mestinya dan mencapai akhir dengan robot yang berfungsi.

Langkah 1: Mengumpulkan Potongan

Mengumpulkan Potongan
Mengumpulkan Potongan

Untuk proyek ini, beruang minimum yang Anda perlukan adalah:

  • Kayu MDF setebal 5 mm dan pemotong laser untuk kerangkanya
  • 1x18650 baterai lithium, 1x pelindung baterai untuk energi dan interupsi
  • 1xMicro: Bit card dan 1xMicro: bit extension board untuk otak (walaupun keduanya dapat diganti dengan mudah oleh Arduino)
  • Motor stepper 2x28BYJ-5V, driver motor stepper 2xA4988 dan papan pengembangan 2x untuk memasang driver untuk kaki
  • 1x TOF10120 dan 1x Mini 9g motor Servo untuk mataBeberapa kabel dan sekrup
  • 1x roda universal, tinggi = 15mm

Di antara itu, hanya tiga bagian yang tidak standar, oleh karena itu berikut adalah tautan untuk menemukannya: temukan papan ekstensi yang saya gunakan di sini (tetapi saya sarankan Anda menggunakan yang ini untuk versi robot yang rapi. Anda harus melakukannya hampir tidak mengubah desain dan itu akan membuat pengkabelan lebih sederhana dengan header bengkok perempuan-perempuan), pelindung baterai di sini, dan roda universal di sini.

Idealnya Anda juga memiliki disposisi Anda:

  • Sebuah multimeter
  • Papan tempat memotong roti
  • Sebuah besi solder

Bagi mereka serta pemotong laser, periksa apakah Anda punya fablab di sekitar tempat Anda! Itu adalah tempat yang bagus untuk bertemu dengan beberapa pembuat inspirasi!

Langkah 2: Mempersiapkan Kaki

Mempersiapkan Kaki
Mempersiapkan Kaki
Mempersiapkan Kaki
Mempersiapkan Kaki
Mempersiapkan Kaki
Mempersiapkan Kaki
Mempersiapkan Kaki
Mempersiapkan Kaki

Misi pertama Anda, jika Anda menerimanya, adalah membuat motor stepper kami berputar menggunakan mikro:bit sebagai pengontrol! Mengapa motor stepper? Saya bisa menggunakan motor DC dengan reduksi tetapi saya mencobanya dan saya merasa sulit untuk mendapatkan motor murah untuk berjalan pada kecepatan rendah. Saya juga berpikir bahwa akan menyenangkan untuk mengetahui dengan tepat pada kecepatan berapa roda saya berputar. Untuk alasan tersebut motor stepper adalah pilihan terbaik.

Jadi sekarang, bagaimana cara mengendalikan motor 28BYJ menggunakan driver 4988? Jawabannya… agak panjang. Saya tidak berhasil membuatnya pas dengan instruksi ini, jadi saya membuat yang lain hanya untuk tujuan ini yang akan Anda temukan di sini. Saya mengundang Anda untuk mengikuti langkah-langkah itu sampai akhir dengan pembuatan papan prototipe kecil berukuran 26x22mm dengan lubang 2x2mm 17 mm untuk memasangnya di sisi seperti yang ditunjukkan pada gambar di atas (Perhatikan bahwa seperti yang dinyatakan dalam artikel referensi kabel kuning di sebelah kiri mencuat hanya untuk mengingatkan Anda untuk menyolder SLP dan RST bersama-sama).

Setelah membuatnya bekerja dengan satu motor dengan papan prototipe, saya juga mendesain PCB saya sendiri untuk membuat segalanya sedikit lebih rapi. Saya melampirkan file easyEDA yang sesuai. Ini adalah file txt tetapi Anda masih dapat membukanya dengan platform pengeditan online gratis easyEDA.

Langkah 3: Saya Melihat Cahaya !! (Opsional)

Aku Melihat Cahaya!! (Opsional)
Aku Melihat Cahaya!! (Opsional)
Aku Melihat Cahaya!! (Opsional)
Aku Melihat Cahaya!! (Opsional)
Aku Melihat Cahaya!! (Opsional)
Aku Melihat Cahaya!! (Opsional)

Jika Anda hanya ingin membangun dan tidak lebih, lompat ke paragraf sebelum paragraf terakhir dari langkah ini untuk melihat bagaimana menghubungkan TOF10120 ke mikro:bit. Jika tidak ditindaklanjuti.

Karena mikro:bit kami tidak dilengkapi dengan kamera atau sensor jarak, itu membuatnya agak buta untuk aplikasi robotika seluler apa pun. Itu datang dengan pemancar dan reseptor radio yang memungkinkan kita membangun kerangka di atas apa yang sudah kita miliki dan mendapatkan robot yang dikendalikan dari jarak jauh. Tapi bukankah bagus untuk membuat robot kita otonom? Ya itu akan! Jadi mari kita lihat bagaimana menuju ke sana.

Yang kami minati sekarang adalah melengkapi robot kami dengan sensor, agar robot kami memperoleh beberapa informasi tentang lingkungannya. Ada banyak jenis sensor yang tersedia, tetapi di sini kita akan fokus pada sensor jarak. Ketika saya merancang robot ini, tujuan saya adalah agar robot tidak menabrak apa pun, oleh karena itu saya ingin merasakan rintangan. Untuk ini ada juga beberapa opsi. Yang pertama, sangat sederhana, bisa menggunakan bumper, tetapi saya menemukan informasi tentang lingkungan agak terbatas. Di sisi lain, Anda bisa memikirkan untuk menambahkan kamera (atau Lidar atau kinect!). Saya suka kamera, visi komputer, dan semua hal itu, tetapi sayangnya Micro:bit tidak mendukung itu (kita harus menggunakan raspberry Pi untuk mendukung perangkat semacam itu, bukan mikro:bit atau Arduino).

Jadi apa dukungan micro:bit yang ada di antara kamera dan bumper? Ada sensor aktif kecil yang mengirim cahaya ke lingkungan dan memeriksa apa yang diterima untuk mendapatkan beberapa informasi tentang dunia. Yang saya sudah tahu adalah GP2Y0A41SK0F yang menggunakan metode triangulasi untuk memperkirakan jarak ke rintangan. Namun saya bertanya-tanya apakah saya dapat menemukan sesuatu yang lebih baik, jadi saya melakukan riset dan akhirnya saya menemukan TOF10120 (dan GY-VL53L0XV2 tetapi saya belum menerimanya:(). Ini artikel yang bagus untuk Anda temukan. Pada dasarnya sensor ini memancarkan sinyal infra merah yang dipantulkan pada rintangan dan kemudian menerima cahaya yang dipantulkan. Bergantung pada waktu yang dibutuhkan cahaya untuk bolak-balik, sensor dapat memperkirakan jarak rintangan (maka nama TOF = waktu penerbangan). Untuk ukurannya yang kecil, jangkauan jarak dan kebutuhan daya, saya memutuskan untuk menggunakan TOF10120.

Sementara ide pertama saya adalah meletakkan tiga di robot (satu di depan dan dua di samping), tahun baru Cina dan pandemi COVID-19 tidak menginginkannya seperti itu karena tampaknya menyebabkan masalah dengan pengiriman. Jadi karena saya terbatas pada satu TOF10120, yang ingin saya lihat di samping juga dan bahwa saya memiliki beberapa motor servo tergeletak di sekitar, saya memutuskan untuk memasang sensor saya pada servo. Jadi ada dua hal yang hilang sekarang: bagaimana cara menggunakan TOF10120 dengan micro:bit ? Dan pertanyaan yang sama dengan servo.

Untungnya mikro:bit dilengkapi dengan protokol komunikasi I2C dan itu membuat hidup kita sangat mudah: pasang kabel merah ke 3.3V, hitam ke ground, hijau ke SCL dan biru ke SDA dan itu saja untuk bagian perangkat keras. Untuk software, saya anjurkan Anda untuk membaca sedikit tentang komunikasi I2C dan mencoba kode python yang saya lampirkan di micro:bit. Program itu akan mencetak Anda jarak yang diukur oleh sensor pada REPL (Read Evaluate Print Loop). Itu dia. Kami baru saja melihat mikro:bit kami.

Sekarang mari kita putar lehernya jika Anda mengizinkan saya melanjutkan analogi saya dengan anatomi hewan. Satu-satunya pemikiran yang kita perlukan adalah menggerakkan motor servo dengan mikro:bit. Bagian ini semakin panjang jadi saya hanya akan memberi Anda tautan ini yang memiliki semua informasi yang Anda perlukan dan kode yang saya gunakan untuk mengujinya. Jika Anda mau, saya juga menambahkan kode sederhana untuk mengontrol servo menggunakan pin0. Jangan lupa untuk menyalakan servo Anda dengan 5V dan bukan 3.3V.

Langkah 4: Meretas Perisai Baterai

Meretas Perisai Baterai
Meretas Perisai Baterai
Meretas Perisai Baterai
Meretas Perisai Baterai
Meretas Perisai Baterai
Meretas Perisai Baterai

Sekarang setelah aktuator dan sensor kami siap, saatnya untuk melihat sistem manajemen baterai. Bagi Anda untuk mempelajari lebih lanjut tentang pelindung baterai yang saya pilih, saya sarankan Anda untuk membaca artikel ini. Saya merasa sangat jelas dan dapat diakses. Dari artikel ini kita dapat melihat banyak keuntungan dari pelindung baterai ini, tetapi ada satu kelemahan penting yang tidak ingin saya terima: sakelar ON/OFF hanya mempengaruhi output USB. Ini berarti bahwa jika Anda mematikan sakelar, semua pin 3.3V dan 5V lainnya akan diberi daya. Akibatnya, saat kami menggunakan pin tersebut untuk robot kami, sakelar tidak akan melakukan apa pun…

Tetapi saya ingin dapat mematikan robot saya untuk tidak mengosongkan baterai saya dengan sia-sia, jadi saya harus meretas pelindung baterai. Itu tidak akan cantik, tetapi itu berhasil dan tidak ada biaya. Oleh karena itu saya ingin sakelar untuk membuka atau menutup rangkaian sehingga mengisolasi sel baterai saya dari pelindung baterai. Saya tidak memiliki peralatan untuk menyentuh PCB, tetapi saya memiliki potongan plastik di sekelilingnya. Jadi sekarang bayangkan saya memotong sepotong plastik sehingga bisa muat di salah satu ujung sel baterai saya di pelindung seperti pada gambar pertama di atas. Sirkuit sekarang terbuka dan baterai saya disimpan dengan aman.

Ya, tapi saya tidak mau harus membuka robot untuk mengakses pelindung baterai untuk memasang dan melepas potongan plastik ini! Mudah: dapatkan sakelar dan rekatkan dua kotak kecil aluminium ke masing-masing kabel yang terhubung ke sakelar. Sekarang rekatkan kedua keping aluminium itu ke potongan plastik agar kedua keping aluminium itu terisolasi satu sama lain dan agar aluminium terpapar ke bagian luar sistem Anda. Biasanya itu harus dilakukan. Masukkan kreasi baru Anda ke pelindung baterai di sebelah sel, dan sakelar akan memungkinkan Anda untuk membuka atau menutup sirkuit yang terhubung ke sel.

Satu hal terakhir: untuk memudahkan merakit dan membongkar robot, saya akan menyarankan Anda untuk menyolder header perempuan pada pelindung baterai. Dengan cara ini Anda dapat dengan mudah memasang dan mencabut apa yang Anda buat dengan motor dan drivernya.

Langkah 5: Desain dan Pemotongan 3D

Desain dan Pemotongan 3D
Desain dan Pemotongan 3D
Desain dan Pemotongan 3D
Desain dan Pemotongan 3D

Satu-satunya hal yang hilang sekarang adalah membangun struktur yang akan menyatukan semua komponen kita. Untuk melakukan ini, saya menggunakan platform online tinkercad. Ini adalah lingkungan yang sangat bagus untuk melakukan beberapa CAD dasar yang cukup sering untuk merancang sesuatu untuk pemotong laser.

Setelah beberapa waktu berpikir, sudah waktunya untuk bermain-main. Untuk melakukannya, saya mulai mengumpulkan model 3D dari berbagai bagian yang saya miliki (pertama-tama menjaga servo dan TOF keluar dari persamaan). Itu termasuk baterai dan pelindung, motor stepper dan driver motor, dan tentu saja mikro:bit dengan papan ekstensinya. Saya melampirkan semua model 3D yang sesuai sebagai file stl. Untuk memudahkan prosesnya, saya memutuskan untuk membuat robot saya simetris. Akibatnya saya bermain-main dengan hanya setengah dari robot dan mencapai desain yang ditunjukkan pada gambar di atas.

Dari sini beberapa versi menjadi hidup, dari mana saya memilih dua:

  • Satu cukup rapi, tanpa sensor jarak, yang memungkinkan tidak ada kabel yang muncul. Meskipun tidak otonom, versi ini masih dapat diprogram melalui bluetooth melalui iPad misalnya, atau dapat diprogram untuk dikontrol menggunakan sinyal radio yang misalnya dapat dikirim oleh mikro:bit lain seperti yang ditunjukkan dalam video di atas.
  • Salah satu yang kurang rapi yang memungkinkan untuk melangkah lebih jauh ke dalam robotika seluler karena memungkinkan untuk menangkap jarak rintangan dengan tampilan 180° berkat sensor jarak yang dibangun di atas motor servo.

Untuk membangun ini, buka Fablab favorit Anda dan gunakan pemotong laser yang Anda temukan untuk memotong model pilihan Anda: yang pertama sesuai dengan file design1_5mmMDF.svg dan design1_3mmMDF yang masing-masing sesuai dengan bagian yang akan dipotong di MDF 5mm kayu dan yang dipotong dari yang 3mm; yang kedua sesuai dengan file design2_5mmMDF.svg. Atur kontur hitam yang akan dipotong dan yang merah untuk diukir.

Catatan tambahan: Saya menambahkan pola merah hanya untuk membuatnya lebih segar. Ini adalah fungsi pengisian Hilbert yang saya buat menggunakan kode python terlampir.

Langkah 6: Memasang Binatang

Memasang Binatang
Memasang Binatang
Memasang Binatang
Memasang Binatang
Memasang Binatang
Memasang Binatang

Langkah-langkah yang saya ikuti untuk memasang robot versi pertama adalah sebagai berikut (gambar biasanya harus dalam urutan yang benar):

  1. Lepaskan tutup biru motor dan potong sedikit untuk membuat kabel mencuat dari bagian belakang motor.
  2. Pasang motor di setiap sisi menggunakan sekrup dan baut M2.
  3. Pasang papan prototipe di sisi menggunakan lubang 2x2mm dan beberapa sekrup dan baut.
  4. Pasang driver A4988 dan rekatkan kabel motor agar tetap rapi.
  5. Pasang roda universal di bawah bagian bawah dan tambahkan sisi-sisinya.
  6. Pasang papan ekstensi mikro:bit di bagian atas.
  7. Pasang bagian bawah penutup depan fleksibel.
  8. Pasang pelindung baterai dan hubungkan semuanya (untuk melakukannya, karena saya masih menunggu pengiriman papan ekstensi yang saya inginkan dan saya hanya memiliki satu dengan header perempuan mencuat, saya mendaur ulang kabel IDE dari komputer lama untuk dikelola tidak ada kabel saya yang menempel di papan untuk menutupi semua ini dengan penutup depan yang dapat dilipat). Meskipun kode yang saya berikan sangat mudah untuk diadaptasi, untuk menggunakannya secara langsung, Anda harus menghubungkan STEP kiri ke pin 2, STEP kanan ke pin 8, DIR kiri ke pin 12, DIR kanan ke pin 1.
  9. Masukkan micro:bit ke dalam ekstensi.
  10. Uji apakah semuanya berfungsi dengan MoveTest.py sebelum melangkah lebih jauh.
  11. Pasang sakelar di bagian atas dan letakkan bit plastik di sebelah sel lithium.
  12. Kencangkan bagian atas penutup depan.
  13. Pasang bagian belakang, dan selesai! Fiuh! Saya tidak mengharapkan banyak langkah! Jauh lebih mudah untuk memikirkannya dan melakukannya daripada menjelaskannya dengan kata-kata! (Dan saya yakin masih akan ada informasi yang hilang!)

Jika Anda sedang membangun versi kedua dengan sensor jarak, maka:

  1. Ikuti instruksi di atas. Satu-satunya perbedaan adalah Anda harus menambahkan beberapa spacer M2 di langkah 7 (walaupun itu yang saya lakukan tetapi tidak wajib), abaikan langkah 8 dan langkah 13 (karena tidak ada penutup depan)
  2. Pasang motor servo dengan sekrup M2 dan sambungkan VCC dan GND servo langsung pada 5V pelindung baterai, dan sambungkan input pengontrol ke pin 0 mikro:bit.
  3. Pasang dua potong kayu yang akan dipasang di atas servo dengan sekrup, kencangkan sensor TOF pada ini serta potongan plastik putih yang disertakan dengan servo.
  4. Pasang unit terakhir ini pada servo dan hubungkan sensor menggunakan I2C mikro:bit seperti yang dijelaskan pada langkah 3.

Langkah 7: Program

Itu dia ! Anda memiliki robot yang dapat diprogram baik dalam micro:python atau dalam makecode. Saya lampirkan di sini beberapa contoh kode yang saya gunakan untuk membuat video di atas:

  • Contoh 1: Letakkan radioControl.py pada mikro:bit robot dan ReadAccelero.py pada mikro:bit lain untuk mengontrol robot menggunakan kemiringan mikro:bit kedua.
  • Contoh 2: Letakkan Autonomous.py pada versi 2 robot yang akan menjelajahi lingkungan.

Itu hanyalah contoh dasar yang dapat Anda gunakan untuk melangkah lebih jauh. Misalnya saya sangat menyukai pelokalan dan pemetaan simultan, dan biasanya ada semua yang Anda butuhkan di versi 2 robot ini untuk melakukan itu ! Meskipun satu kelemahan besar bagi saya untuk melakukan proyek semacam itu adalah bahwa driver PWM mikro:bit adalah driver perangkat lunak yang menggunakan pengatur waktu yang sama untuk semua saluran, artinya semua PWM yang kami atur harus memiliki frekuensi yang sama (yang merupakan sesuatu yang saya lakukan tidak tahu kapan saya menulis kode sampel meskipun saya mendeteksi sesuatu yang aneh ketika saya menulis Autonomous.py).

Langkah 8: Melangkah Lebih Jauh

Jangan ragu untuk meningkatkan desain, selesaikan beberapa masalah yang tidak saya lihat. Misalnya saya ingin akhirnya:

  • Tambahkan sensor IR di bagian bawah robot untuk mendeteksi apakah tanahnya hitam atau putih atau mencapai ujung meja saya.
  • Ubah sistem manajemen baterai karena saya belum puas dengannya. Memang, saat ini, untuk mengisi ulang baterai, robot harus dibongkar untuk mengeluarkan sel atau pelindung baterai… Oleh karena itu, saya berencana untuk: 1. menambahkan konektor mini-USB di bagian belakang robot yang saya 'll terhubung ke pelindung baterai, sehingga saya dapat mengisi ulang; 2. Buat lubang di bagian bawah untuk melihat LED dari pelindung baterai untuk melihat saat pengisian selesai.
  • Periksa apakah ada cara yang dapat diterima untuk mengeluarkan PWM dengan frekuensi yang berbeda.
  • Cobalah VL53L0XV2 untuk menggantikan TOF10120 karena ini bisa menjadi pilihan yang lebih murah yang akan membuatnya dapat diakses oleh lebih banyak orang. Meskipun saya membaca lebih lanjut tentang sensor ini dan tampaknya perusahaan yang membuat ini dengan murah sengaja membuatnya sangat sulit untuk ditangani…
  • Uji desain yang berbeda untuk roda agar lebih tahan lama (Saat ini saya berharap jika saya memasukkan dan mengeluarkan roda berkali-kali, kayu akan semakin rusak. Jika saya membuat kayu lebih elastis dengan memodifikasi desain, saya mungkin bisa bertahan lebih lama)

Terima kasih banyak kepada orang-orang dari tim Mobile robotika (sekarang bagian dari laboratorium Biorobotics) EPFL yang banyak membantu saya memperluas pengetahuan saya tentang elektronik dan mekanik!

Direkomendasikan: