Buat Replika Rover Mars Perseverance Berbasis Arduino Sendiri – Panduan Langkah demi Langkah
Dalam tutorial ini saya akan menunjukkan bagaimana saya membuat replika Rover Mars Perseverance. Tentu saja, terinspirasi oleh rover asli yang saat ini menjelajahi Mars, saya merancang rover ini dengan cara sehingga semua orang yang mencintai teknologi ini, siswa, pembuat, penggemar mekatronika atau robotika, dan seterusnya, dapat dengan mudah mengikuti instruksi dalam video ini dan membuat Rover Mars mereka sendiri.
Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini.
Ringkasan
Mari kita lihat fitur utama rover ini. Ia menggunakan sistem penangga rocker-bogie yang memungkinkan rober berjalan dengan mulus di medan yang tidak rata dan memanjat rintangan, seperti batu, yang berukuran hingga dua kali diameter roda sambil menjaga semua enam roda dalam kontak dengan tanah sepanjang waktu. Setiap roda memiliki motor DC independen yang mengemudikan rover ke depan atau ke belakang.
Empat roda sudut memiliki motor servo pemutar individual. Untuk memutar rover secara efisien dan menghindari gelinding ban saat berkembang di lingkar, kita mengimplementasikan geometri pemutar Ackermann. Dengan geometri ini kita dapat menghitung kecepatan dan sudut setiap roda tergantung pada radius belok.
Ini berarti bahwa, saat berbelok, roda pemutar dalam akan memiliki sudut yang lebih besar dibandingkan roda luar. Pada saat yang sama, roda dalam akan memiliki kecepatan yang lebih lambat dibandingkan roda luar.
Untuk mengontrol rover, saya menggunakan pengendali RC komersial murah yang mengirim perintah ke rover. Di rover saya memiliki penerima RC yang sesuai yang menerima perintah dan mengirimkannya ke papan Arduino. Ya, otak dari Rover Mars ini sebenarnya adalah papan Arduino MEGA dan untuk menghubungkan semuanya dengan mudah saya membuat PCB khusus yang dapat dengan mudah diletakkan di atas papan Arduino MEGA.
Rover juga dilengkapi kamera FPV yang terletak di unit kamera. Kamera ini dikontrol menggunakan stepper dan motor servo dan saya menerima video waktu nyata di smartphone.
Saya ingin mencatat di sini bahwa banyak bagian sebenarnya tidak fungsional, atau hanya ada untuk mencocokkan penampilan rover asli. Selain itu, lengan robot hilang, tetapi saya berencana untuk membuat lengan dan menambahkan lebih banyak fungsi ke rover ini di video mendatang.
Namun, sekarang mari saya bimbing Anda melalui proses pembuatannya, mulai dari merancang rover, menghubungkan komponen elektronik dan memprogram papan Arduino.
Model 3D Rover Mars DIY
Saya merancang Rover Mars ini menggunakan 3D EXPERIENCE Solidworks yang sebenarnya adalah sponsor video ini.
3DEXPERIECE Solidworks adalah versi Solidworks dengan kemampuan cloud yang kita dapatkan melalui platform 3DEXPERIECE. Di sini semuanya bekerja melalui cloud, sehingga Anda atau siapa pun dari tim Anda dapat memiliki akses ke data atau model kapan saja, dari mana saja di dunia. Platform 3DEXPERIECE juga mencakup banyak aplikasi produktivitas dan manajemen data yang berguna.
Misalnya, aplikasi Project Planning adalah cara yang bagus untuk mengorganisir tugas Anda, menetapkan batas waktu dan melacak kemajuan Anda. Dengan aplikasi 3D Markup, Anda dapat melihat, menjelajahi dan mencatat catatan model dari perangkat apa pun, seperti notebook, tablet atau bahkan smartphone.
Ada juga pemodel 3D terpisah berbasis cloud yang disebut SOLIDWORKS xDesign, yang berjalan di dalam browser Anda. Ini dapat digunakan bersama dengan Solidworks atau secara mandiri dan sangat bagus untuk memodel, di mana saja, kapan saja dan di perangkat apa pun.
Namun, mungkin berita paling menarik untuk banyak di antara kalian di sini adalah bahwa mulai dari setengah kedua tahun ini, akan ada versi pembuat 3DEXPERIECE Solidworks yang dapat Anda dapatkan hanya dengan $99 per tahun. Terima kasih besar kepada Solidworks atas sponsor konten pendidikan seperti ini.
Jika Anda ingin mengetahui apakah SOLIDWORKS dan platform 3DEXPERIENCE dapat bekerja untuk Anda, periksa tautan berikut di bawah.
Coba 3DEXPERIENCE secara gratis dengan tautan khusus saya: www.solidworks.com/HTMTryNow
Pelajari lebih lanjut tentang 3DEXPERIENCE SOLIDWORKS: www.solidworks.com/HTMLearnMore
3DEXPERIENCE SOLIDWORKS for Makers: www.solidworks.com/htm
Oke, jadi mari kita kembali ke model dan jelaskan bagaimana saya datang dengan desain ini. Tujuan saya untuk rover ini adalah sebagian besar bagian dapat dicetak 3D. Jadi, semua yang Anda lihat di sini dapat dicetak 3D bahkan pada printer 3D dengan meja cetak lebih kecil. Roda gigi GT2 juga dapat dicetak 3D. Saya menggunakan desain parametrik untuk membuatnya, sehingga jika diperlukan kita dapat dengan mudah mengubah ukurannya. Kita hanya perlu mengubah jumlah gigi, dan semua dimensi akan secara otomatis diperbarui untuk membuat roda gigi berukuran yang tepat.
Saya mengambil 3 gambar dari tampilan depan, atas, dan samping rover dan mengimpornya ke Solidworks. Saya ingin ukuran roda 130mm diameter, jadi saya menskalakan gambar sesuai dimensi ini.
Kemudian dari sini saya mengambil semua dimensi kunci, seperti lebar, panjang, tinggi, jarak antara roda, dimensi untuk sistem penangga rocker-bogie dan seterusnya.
Sekarang sesuai dengan dimensi ini dan motor DC dan servo yang saya rencanakan untuk digunakan, saya merancang bagian rover dengan cara sehingga dapat dengan mudah dicetak 3D dan dirangka sambil mencoba menjaga penampilan semir mungkin dengan aslinya.
Untuk sistem penangga rocker-bogie saya menggunakan profil aluminium bundar 20mm, sedangkan untuk kerangka dasar saya menggunakan profil aluminium slot T 20mm.
Anda dapat menemukan dan mengundah model 3D ini, serta menjelajahi di browser Anda di Thangs.
Dan berikut ini adalah file STL yang dibutuhkan untuk 3D Printing:
3D Printing Bagian Replika Rover Mars
Untuk 3D printing bagian-bagian saya menggunakan printer 3D Creality CR-10 lama saya serta CR-10 V3 baru. Jika Anda ingin mencetak roda dengan bahan fleksibel Anda pasti memerlukan printer dengan extruder langsung sama seperti CR-10 V3.
Kedua printer 3D ini memberikan kualitas cetak yang bagus sambil tetap terjangkau. Jika Anda tertarik, berikut ini adalah tautan ke mereka sehingga Anda dapat memeriksa mereka:
Lihat juga: Osiloskop Terbaik untuk Pemula dan Pembuat – Update 2021
Saat 3D printing bagian-bagian, penting untuk menggunakan fitur Horizontal Expansion di perangkat lunak pemotong Anda. Saya menggunakan nilai –0.1mm. Fitur ini mengkompensasi peregangan filamen saat mencetak.
Jika tidak digunakan, misalnya, jika bagian memiliki lubang dengan diameter 20mm, lubang pada bagian hasil cetak 3D sebenarnya akan sekitar 19.8mm dan kita tidak akan dapat merakitnya.
Namun, berikut ini adalah semua bagian hasil cetak 3D.
Untuk jujurnya agak gila berapa banyak cetakan yang ada, tetapi itu satu-satunya cara untuk mendapatkan penampilan unik rover. Namun, Anda dapat memotong waktu cetak menjadi separuh jika Anda memilih untuk mencetak hanya bagian fungsional dari rover ini.
Daftar Bagian untuk Rover Mars DIY
Berikut adalah daftar komponen yang dibutuhkan untuk merakit Rover Mars DIY ini. Daftar untuk komponen elektronik dapat ditemukan di bawah di bagian diagram rangkaian artikel.
Profil aluminium slot T 20x20mm ………..Amazon / Banggood / AliExpress
Bout M3 berbagai panjang ………………………… Amazon / Banggood / AliExpress
4 x Horn Servo …………………………………………. Amazon / Banggood / AliExpress
Kami juga memerlukan berbagai panjang bout M4, M5 dan M6. Anda dapat memeriksa daftar lengkap bout dan dempat yang dibutuhkan di bawah.
Anda juga dapat mendapatkan bout dan dempat dari toko keras lokal Anda.
Merakit Rover
Baiklah, sekarang kita dapat mulai merakit rover. Pertama, kita perlu menyiapkan profil aluminium. Saya menggunakan bor logam tangan untuk memotongnya sesuai ukuran.
Kami membutuhkan 10 profil slot T untuk dasar dan 8 profil bundar untuk sistem penangga rocker-bogie dengan dimensi berikut.
Untuk merakit kerangka profil slot T kami menggunakan bracket sudut slot T yang sesuai dan beberapa bout dan dempat. Setelah kita memiliki kerangka atas dan bawah siap, kita dapat menyelesaikan dasar dengan memasukkan bagian cetak 3D sendi rocker di sisi, dan beberapa bracket cetak 3D di depan dan belakang. Untuk memasangnya di tempatnya kita memerlukan bout M3 dan dempat slot T.
Untuk sendi rocker saya menggunakan bout dan dempat M5. Jarak dari profil depan ke sendi rocker perlu 134mm.
Merakit Sistem Penangga Rocker-bogie
Selanjutnya, kita dapat memasukkan bantalan utama untuk sistem penangga rocker-bogie di tempatnya. Kemudian, kita memiliki poros sendi rocker yang akan dipasang ke dasar menggunakan bout M8.
Poros memiliki slot tempat kita dapat memasukkan dempat M8 yang digunakan untuk memasangnya ke dasar. Lubang poros berukuran 7.5mm sehingga kita memiliki koneksi yang rapat antara bout dan poros. Dengan cara ini kita sebenarnya memperkuat poros cetak 3D karena bout itu sendiri akan menanggung sebagian beban rover. Ini adalah bagian yang paling tegang dari keseluruhan rangkaian karena seluruh beban rover didukung oleh poros rocker. Cara kita mencetak bagian-bagian ini sangat penting untuk kekuatannya.
Saya awalnya mencetak poros ini dengan cara yang lebih mudah, di mana tidak perlu bahan pendukung, tetapi cetakan gagal.
Dengan cara ini gaya tekanan utama bekerja pada lapisan yang tidak begitu kuat, tetapi jika kita mencetak bagian secara samping, di mana gaya tekanan akan bekerja pada kontur dinding, bagian akan jauh lebih kuat dan tidak akan gagal.
Namun, sekarang kita akan melanjutkan dengan merakit sistem penangga rocker-bogie bersama dengan sendi roda dan pemegang motor, dan nanti kita akan memasang sub-rangkaian ini ke poros rocker.
Lubang bagian tempat profil bundar 20mm masuk dirancang untuk memiliki pasangan yang rapat, jadi dalam beberapa kasus kita perlu menggunakan gerigi atau kertas penggosok agar pas.
Sekarang untuk merakit bagian-bagian ini dengan benar, kita perlu membuat lubang di profil bundar pada lokasi yang tepat. Untuk tujuan ini, pertama kita akan menandai garis lurus pada profil.
Selanjutnya, kita dapat memasukkan profil ke dalam bagian cetak 3D dengan garis tanda melalui lubang bagian. Kemudian kita dapat menandai lokasi tempat kita perlu membuat lubang profil di kedua sisi bagian tersebut.
Di sisi berlawanan profil, kita perlu mengulangi prosedur yang sama.
Saya membuat lubang menggunakan bor 2.5mm, dan kemudian menggunakan bout M3 saya membuat giri di profil yang akan kita gunakan untuk mengepatkan bagian.
Profil aluminium lebih lunak daripada bout jadi mudah untuk membuat giri dengan bout itu sendiri. Mengikuti metode ini untuk membuat lubang sangat penting sehingga pada akhirnya semua bagian ditempatkan sebagaimana mestinya relatif satu sama lain.
Untuk sendi bogie kita juga menggunakan dua bantalan dan bout M8.
Setelah kita menyelesaikan pengaturan sistem penangga rocker-bogie kita dapat melanjutkan dengan merakit sendi roda pemutar. Bagian sendi roda pemutar terdiri dari dua bagian yang dibout bersama.
Untuk sendi sebenarnya atau koneksi antara bagian pemegang servo dan bagian pemegang motor DC kita menggunakan dua bantalan dan bout M6.
Di sisi atas atau kepala bout kita perlu memasang horn servo dan kita melakukannya dengan bantuan penabung 3D cetak ini dan beberapa bout M3.
Penabung memiliki slot segi enam melalui mana gerakan servo akan ditransfer ke bout. Di sisi bawah kita dapat memasang bagian lain dari sendi.
Kami mengamankan koneksi ini dengan dempat M6. Ini menyelesaikan sendi roda pemutar, meskipun nanti saya akan menyadari bahwa kita sebenarnya perlu menambahkan dempat M6 lagi di bawah dan mengencangkannya ke dempat lain.
Kita perlu melakukan ini karena gerakan dari servo ditransfer ke bagian pemegang motor DC menggunakan dempat itu sendiri, dan jika tidak diencangkan dengan dempat lain seluruh sendi akan longgar.
Tentu saja, kita menggunakan metode yang sama untuk merakit sisi lainnya. Namun, kita dapat mencatat di sini bahwa meskipun beberapa bagian terlihat identik, mereka bukan bagian yang sama tetapi sebenarnya adalah cermin.
Selanjutnya, kita perlu memasukkan sub-rangkaian ini ke poros sendi rocker di kerangka dasar atau chassis. Sebelum kita melakukan itu, kita perlu memasukkan beberapa insert busa tembaga di poros.
Menggunakan pemanas solder, kita dapat dengan mudah memasukkannya di tempatnya, dan jadi kita mendapatkan lubang giri yang bagus dan andal untuk mengamankan sub-rangkaian penangga. Kita membutuhkan empat bout M4 untuk tujuan itu.
Setelah kita memasangnya di kedua sisi, kita dapat melihat bahwa chassis jatuh atau berputar bebas. Jadi, kita sebenarnya kehilangan sesuatu agar sistem penangga rocker-bogie bekerja dengan baik, dan itu adalah diferensial.
Dengan diferensial, kedua rocker terhubung satu sama lain dan chassis rover. Dengan konfigurasi ini, ketika satu sisi berputar, sisi lain berputar ke arah berlawanan sehingga memberikan kontak roda yang setara.
Chassis akan memiliki sudut kemiringan rata dari kedua rocker.
Berikut adalah semua bagian yang dibutuhkan untuk merakit diferensial.
Karena batang diferensial cukup panjang, saya membuatnya dari tiga potongan yang dibout bersama sehingga kita dapat mencetaknya bahkan pada printer 3D yang lebih kecil. Batang diferensial akan berpusat di tengah chassis dengan sendi yang terdiri dari dua bantalan dan bout M8.
Untuk menghubungkan diferensial dengan rocker, kita memerlukan sendi ujung batang bola. Saya menggunakan sendi ujung batang bola M8 dan kita juga membutuhkan batang bersulut M8 dengan panjang 50mm. Batang bersulut masuk ke dalam bagian cetak 3D yang memiliki dempat M8 di satu sisi, dan di sisi lain masuk ke dalam sendi ujung batang bola.
Di sini kita perlu menyesuaikan jarak antara link diferensial cetak 3D dan sendi ujung yang perlu sekitar 20mm agar chassis tetap horizontal. Untuk menghubungkan link diferensial dengan tuas rocker, kita menggunakan dua bantalan dan bout M5.
Kami mengulangi prosedur ini untuk sisi lain juga dan dengan ini sistem penangga rocker-bogie kami selesai. Ketika satu sisi naik, sisi lain turun dan sebaliknya.
Ini memberikan semua roda dalam kontak dengan tanah sepanjang waktu. Chassis hanya bergerak setengah dari gerakan kaki, atau chassis memiliki sudut kemiringan rata dari kedua rocker.
Lihat juga: Operasi Otomatis Platform Lengan Robot Arduino dan Roda Mecanum
Merakit Motor untuk Rover Mars
Baiklah, jadi selanjutnya kita dapat melanjutkan dengan memasang motor DC. Motor yang saya gunakan berdiameter 37mm, beroperasi pada 12V dan memiliki gearbox dengan keluaran 50RPM.
Meskipun saya kemudian menyadari bahwa 50RPN terlalu banyak untuk rover ini, jadi saya akan menyarankan memilih versi 20 atau 10 RPM.
Untuk memasang roda ke motor, saya membuat penabung poros ini.
Di sini kita perlu memasang insert busa M3 yang akan digunakan untuk mengamankan penabung ke poros, dan juga dempat M4 untuk mengamankan roda ke penabung. Saat memasukkan dempat, kita juga harus menambahkan beberapa lem agar tetap kokoh di tempatnya, atau gunakan insert busa sebagai gantinya.
Selanjutnya, kita dapat memasang roda. Roda terdiri dari dua bagian. Satu adalah roda yang saya cetak dengan filamen fleksibel, tetapi tidak harus demikian, dan yang lain adalah lingkungan yang dicetak dengan PLA normal.
Lingkungan memiliki slot yang pas dengan roda sehingga daya dari motor ditransfer ke roda. Kita dapat menambahkan beberapa titik lem di slot agar lebih aman. Terakhir, kita dapat memasang roda ke penabung poros atau motor DC menggunakan 4 bout M4.
Baiklah, jadi selanjutnya kita dapat memasang motor servo pemutar. Saya menggunakan servo digital berdaya tinggi dengan torsi 25kgcm dan tegangan operasi dari 4.8 hingga 6.8V. Untuk mengamankan servo di tempatnya, kita menggunakan empat bout M3 yang masuk ke insert busa M3 di bagian pemegang servo cetak 3D.
Merakit Unit Kamera
Selanjutnya, kita dapat merakit unit kamera. Untuk pemutar kamera saya memutuskan untuk menggunakan motor stepper NEMA 17, tetapi Anda dapat mengubahnya dan menggunakan motor jenis lain di sini.
Gerakan motor ditransfer ke bagian atas menggunakan batang bersulut M5 yang terhubung ke motor dengan penabung poros cetak 3D, dan di sisi lain kita menggunakan bantalan dan dua dempat untuk mengamankan batang bersulut ke elemen bergerak. Untuk memiring kamera saya menggunakan servo yang sama dengan yang kita gunakan untuk roda pemutar.
Banyak bagian di sini di unit kamera tidak fungsional dan hanya ada untuk mencocokkan penampilan rover asli. Untuk merakit bagian-bagian ini, kita membutuhkan berbagai bout M3 dan beberapa insert busa.
Namun, saya juga akan memasang kamera FPV nyata di sini. Saya membuat pemegang khusus untuknya sehingga saya dapat memasangnya pada perumahan unit kamera. Kamera mudah diakses dari atas yang kita tutup dengan tutup snap-fit. Berikut adalah penampilan akhir unit kamera.
Saya memasang seluruh sub-rangkaian kamera ini di pojok kanan depan chassis.
Pada titik ini, kita dapat melanjutkan dengan merakit sisa bagian cetak 3D, yang sebenarnya tidak fungsional tetapi hanya untuk mencocokkan penampilan rover asli, atau menghubungkan komponen elektronik dan menjalankan rover. Saya memutuskan untuk merakit semua bagian cetak 3D terlebih dahulu dan kemudian melakukan elektronik.
Merakit Sisa Rover
Sama seperti yang saya katakan, bagian berikutnya hanya untuk mencocokkan penampilan rover jadi saya tidak akan membahas secara rinci cara merakitnya. Anda dapat melihat bagaimana semuanya perlu dihubungkan dari model 3D.
Saya sebenarnya telah mengeluarkan banyak usaha merancang bagian ini, memperhatikan detail agar semuanya terlihat bagus.
Bagian ini juga cukup besar dan membutuhkan waktu untuk dicetak 3D.
Berikut adalah pandangan cepat bagaimana saya memasangnya.
Dua panel atas terakhir di tengah rover dirancang untuk snap-fit di rover.
Mereka sebenarnya akan bertindak sebagai hood yang dapat dengan mudah dilepas karena komponen elektronik akan terletak di area ini.
Pemegang komponen elektronik terbuat dari dua bagian cetak 3D yang dibout bersama dan itu pergi ke kerangka bawah chassis.
Elektronik
Baiklah, jadi sekarang kita dapat melanjutkan dengan elektronik. Pertama, kita perlu mengukur seberapa banyak kabel yang kita butuhkan untuk setiap motor. Saya menyolder kabel secara langsung pada motor karena saya tidak memiliki konektor motor yang tepat. Saya menggunakan tabur katun untuk mengisolasi konektor.
Dengan bantuan beberapa kawat zip, kita dapat memandu dan menjaga kabel agar rapi.
Untuk motor servo kita dapat menggunakan kabel ekstensi servo untuk memperpanjang kabel ke kompartemen elektronik. Bagian pemegang elektronik memiliki slot melalui mana kita dapat melewatkan kabel untuk menuju tengah rover.
Secara keseluruhan, saya kira pemasangan kabel keluar cukup rapi dengan kabel yang melewati bagian-bagian yang terlihat.
Lihat juga: Robot SCARA | Cara Membuat Robot Berbasis Arduino Anda Sendiri
Diagram Rangkaian Rover Mars DIY
Mari kita lihat diagram rangkaian rover ini sekarang, dan lihat bagaimana semuanya perlu dihubungkan.
Anda dapat mendapatkan komponen yang dibutuhkan untuk proyek ini dari tautan di bawah:
Motor DC 12V 37mm …….……………….…
Servo Digital 25kg …………………………….
Penggerak Motor DC DRV8871 ……………….
Motor Stepper – NEMA 17…………………
Penggerak Stepper A4988………………..…..…
Arduino MEGA…………………….…..………
Konverter DC-DC Buck …………………….
Baterai LiPo 3S ………………………..………..
Konektor XT60 ………………………………
Penerima RC FLYSKY …………………..
Kamera FPV dan Pemancar Video …. Amazon / Banggood / AliExpress
Penerima FPV menurut pilihan Anda
Untuk mengemudikan enam motor DC, kita menggunakan enam penggerak motor DC DRV8871 yang mendukung kontrol PWM dan hingga 3,6A arus puncak. Tegangan operasi motor DC adalah 12V, dengan arus terpantau 1A dan arus stalling 3A. Untuk memberikan daya ke rover saya menggunakan baterai LiPo 3S yang menyediakan sekitar 12V.
Servo di sisi lain membutuhkan dari 4,8 hingga 6,8V, jadi oleh karena itu kita membutuhkan konverter DC-to-DC yang akan mengonversi 12V menjadi 6V. Konverter perlu dapat menangani sekitar 8A arus, karena servo yang kita gunakan cukup kuat dan memiliki arus stalling sekitar 2A. Untuk mengemudikan motor stepper unit kamera, kita dapat menggunakan penggerak stepper A4988 atau DR8825. Menggunakan dua resistansi kita dapat membuat pembagi tegangan sederhana melalui mana kita dapat memantau tegangan baterai.
Penerima RC diberi daya dengan 6 volt dari konverter buck, dan kamera FPV serta pemancar video-nya diberi daya dengan 12V dari baterai.
PCB Khusus
Untuk menjaga komponen elektronik tetap terorganisir saya merancang PCB khusus untuk Rover Mars DIY ini.
PCB ini sebenarnya akan bertindak sebagai Arduino MEGA shield karena kita akan dapat menghubungkannya secara langsung di atas papan Arduino MEGA. Selain penggerak motor, saya menyertakan regulator tegangan 3,3V dan koneksi khusus NRF24L01 jika Anda ingin mengontrol rover menggunakan modul itu, serta koneksi untuk sensor DHT22, kompas, I2C, komunikasi serial, 12V, 5V, 3,3V dan koneksi GND. Sebenarnya, saya memfutureproof PCB ini untuk meningkatkan fungsionalitas rover.
Saya memesan PCB dari PCBWay. Di sini kita dapat dengan mudah mengunggah file Gerber, memilih properti PCB kita, dan memesannya dengan harga yang wajar.
Saya tidak mengubah properti default apa pun kecuali warna PCB yang saya pilih menjadi biru agar cocok dengan papan Arduino. Anda dapat mengundah file Gerber di bawah ini, atau dari komunitas berbagi proyek PCBWay melalui mana Anda juga dapat langsung memesan PCB.
Berikut adalah tempat Anda dapat mengundah file Gerber untuk PCB Rover Mars DIY ini:
Namun, setelah beberapa hari PCB tiba. Kualitas PCB bagus, dan semuanya sama persis seperti dalam desain.
Merakit PCB cukup sederhana karena semuanya dilabeli. Saya mulai dengan menyolder pin header di bagian bawah PCB, untuk koneksi Arduino MEGA dan kemudian melanjutkan ke sisi atas. Saya sebenarnya menggunakan pin header untuk semua koneksi, karena itu memberikan fleksibilitas untuk melakukan perubahan jika sesuatu tidak berfungsi dengan baik. Saya tidak menyolder regulator tegangan 3,3V serta beberapa pin Arduino bebas, karena saya tidak akan menggunakannya sekarang bagaimanapun.
Setelah selesai merakit PCB saya mengamankan papan Arduino ke bagian pemegang elektronik menggunakan dua bout dan menambahkan PCB padanya.
Kemudian saya menghubungkan setiap motor ke penggeraknya dan meletakkannya di tempatnya di PCB. Servo pergi ke pin servo yang sesuai, serta penggerak stepper yang untuknya saya menggunakan satu jumper untuk memilih resolusi langkah 1/8.
Untuk komunikasi radio saya menggunakan penerima dan pengendali RC FLYSKY yang sangat terjangkau dan bekerja dengan baik.
Untuk menghubungkan penerima ke Arduino, kita dapat menggunakan kabel ekstensi servo karena kita membutuhkan tiga kabel, VCC, GND dan pin Sinyal. Penerima berkomunikasi dengan Arduino melalui I-BUS dan port serial. Jika kita ingin mengirim data kembali dari penerima ke pengendali, dalam kasus kita untuk memantau tegangan baterai, kita juga perlu menghubungkan sensor I-BUS penerima ke port serial Arduino lainnya.
Konverter buck diamankan di tempatnya menggunakan dua bout, dan untuk mengamankan baterai LiPo saya menggunakan dua karet kawat sehingga dengan cara itu saya dapat dengan mudah melepas baterai untuk pengisian daya.
Sakut daya pergi ke panel kanan belakang rover. Saya menggunakan kabel 20-gauge untuk koneksi ini karena arus yang mengalir melaluinya mungkin mencapai beberapa ampere saat rover sepenuhnya terlibat. Pastikan Anda memeriksa kembali koneksi Anda dengan kabel ini karena jika Anda menghubungkan sesuatu dengan salah Anda mungkin akan menyebabkan kebakaran.
Terakhir, kita dapat menghubungkan kamera FPV ke sumber daya 12V dan menghubungkan kabel sinyal video ke pemancar video yang juga perlu diberi daya dengan 12V. Dengan ini kita selesai dengan elektronik.
Kita dapat menempatkan kembali panel penutup di tempatnya dan kita selesai dengan Rover Mars DIY ini. Sebenarnya, kita hampir selesai, karena kita perlu memberikan nyawa pada mesin ini sekarang, atau memprogram Arduino.
Memprogram Rover Mars DIY – Kode Arduino
Di sini Anda dapat mengundah kode Arduino untuk proyek Rover Mars DIY ini:
Ringkasan Kode
Jadi, menggunakan perpustakaan IBusBM kita membaca data masuk dari pengendali RC.
// Reading the data comming from the RC Transmitter IBus.loop(); ch0 = IBus.readChannel(0); ch1 = IBus.readChannel(1); ch2 = IBus.readChannel(2); ch3 = IBus.readChannel(3); ch6 = IBus.readChannel(6);Code language: Arduino (arduino)
Kemudian kita mengonversi nilai-nilai ini menjadi nilai radius belok ke kanan, radius belok ke kiri dan kecepatan rover dari 0 hingga 100%.
// Convertign the incoming data // Steering right if (ch0 > 1515) { r = map(ch0, 1515, 2000, 1400, 600); // turining radius from 1400mm to 600mm } // Steering left else if (ch0 < 1485) { r = map(ch0, 1485, 1000, 1400, 600); // turining radius from 600mm to 1400mm } // Rover speed in % from 0 to 100 s = map(ch2, 1000, 2000, 0, 100); // rover speed from 0% to 100%Code language: Arduino (arduino)
Kita menggunakan nilai radius belok “r” untuk menghitung sudut roda pemutar serta kecepatan roda.
void calculateMotorsSpeed() { // if no steering, all wheels speed is the same - straight move if (ch0 > 1485 && ch0 < 1515) { speed1 = speed2 = speed3 = s; } // when steering, wheels speed depend on the turning radius value else { // Outer wheels, furthest wheels from turning point, have max speed // Due to the rover geometry, all three outer wheels should rotate almost with the same speed. They differe only 1% so we asume they are the same. speed1 = s; // Inner front and back wheels are closer to the turing point and have lower speeds compared to the outer speeds speed2 = s * sqrt(pow(d3, 2) + pow((r - d1), 2)) / (r + d4); // Inner middle wheel is closest to the turning point, has the lowest speed speed3 = s * (r - d4) / (r + d4); } // speed value from 0 to 100% to PWM value from 0 to 255 speed1PWM = map(round(speed1), 0, 100, 0, 255); speed2PWM = map(round(speed2), 0, 100, 0, 255); speed3PWM = map(round(speed3), 0, 100, 0, 255); } void calculateServoAngle() { // Calculate the angle for each servo for the input turning radius "r" thetaInnerFront = round((atan((d3 / (r + d1)))) * 180 / PI); thetaInnerBack = round((atan((d2 / (r + d1)))) * 180 / PI); thetaOuterFront = round((atan((d3 / (r - d1)))) * 180 / PI); thetaOuterBack = round((atan((d2 / (r - d1)))) * 180 / PI); }Code language: Arduino (arduino)
Seperti yang saya sebutkan sebelumnya, kita menggunakan geometri pemutar Ackerman untuk menghitungnya. Nilai-nilai ini kemudian digunakan untuk mengontrol servo menggunakan perpustakaan ServoEasing yang memberikan gerakan servo yang lebih halus.
Untuk mengontrol motor DC menggunakan fungsi analogWrite() yang sebenarnya mengirim sinyal PWM ke penggerak motor DC.
// Motor Wheel 1 - Left Front analogWrite(motorW1_IN1, speed2PWM); // PWM value digitalWrite(motorW1_IN2, LOW); // ForwardCode language: Arduino (arduino)
Secara keseluruhan, kode tidak begitu rumit karena rover itu sendiri tidak memiliki fungsi yang rumit. Namun, saya berencana di video mendatang untuk menambahkan lebih banyak fungsi ke rover ini, seperti navigasi GPS, berbagai sensor, lengan robot, mekanisme pengumpulan tanah dan seterusnya.
Saya harap Anda menikmati proyek ini dan mempelajari sesuatu yang baru. Silakan tanyakan pertanyaan apa pun di bagian komentar di bawah dan periksa Koleksi Proyek Arduino saya.