Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Tangki yang Sepenuhnya Dicetak 3D:Bangun Platform Robot Terlacak Serbaguna

Dalam tutorial saya akan menunjukkan kepada Anda bagaimana saya membuat kendaraan terlacak yang dikendalikan radio, atau platform robot atau tank, apa saja. Saya merancang benda ini dari awal agar dapat dicetak sepenuhnya secara 3D sehingga Anda dapat dengan mudah mencetak semuanya dan membuatnya sendiri.

Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini.

Ikhtisar

Tujuan saya dalam proyek ini adalah membuat platform serbaguna yang dapat melintasi berbagai jenis medan dan dapat digunakan untuk berbagai aplikasi. Pilihan terbaik untuk itu adalah dengan menggunakan sistem trek berkelanjutan. Treknya mendistribusikan bobot kendaraan pada area permukaan yang lebih luas sehingga memberikan cengkeraman yang sangat baik dan mengurangi kemungkinan terjebak di tanah lunak, lumpur, atau salju.

Platform robot dapat melaju dengan cukup baik di lumpur dan sayang sekali saya tidak sempat mengujinya di salju. Saya harap saya akan melakukannya di beberapa video mendatang di mana saya berencana memasang lengan robot atau menara. Dengan lengan robot di atas platform, kita dapat melakukan berbagai tugas seperti mengambil dan memindahkan sesuatu, atau kita dapat meletakkan kamera di sana dan menggunakannya untuk inspeksi visual dan sebagainya. Atau misalnya, kita bisa membuat turret yang bisa menembakkan panah NERF dan dikombinasikan dengan pencahayaan LED sederhana namun keren yang sudah saya pasang di platform ini, kita bisa bersenang-senang bermain dengannya.

Untuk suspensi, saya menggunakan sistem suspensi Christie yang telah digunakan di tangki selama bertahun-tahun. Dengan pengaturan ini setiap roadwheel memiliki suspensi tersendiri atau pegas dan peredam kejut.

Hal ini memungkinkan kendaraan berjalan mulus di medan yang tidak rata dan memanjat rintangan sambil menjaga permukaan kontak yang baik antara trek dan medan.

Untuk mengendalikan tangki cetak 3D, saya menggunakan RC Transmitter komersial murah yang mengirimkan perintah ke platform.

Pada platform saya memiliki penerima RC yang sesuai yang menerima perintah dan mengirimkannya ke mikrokontroler. Otak dari platform ini adalah papan berbasis mikrokontroler Atmega2560 dan untuk menghubungkan semuanya dengan mudah, saya membuat PCB khusus yang dapat dipasang dengan mudah di atas papan.

Namun demikian, sekarang bersiaplah karena saya akan memandu Anda melalui seluruh proses pembuatan platform robot ini, mulai dari desain, pencetakan 3D, perakitan, penyambungan komponen elektronik, dan pemrograman mikrokontroler.

Rancang Platform Robot

Platform robot ini saya rancang menggunakan SOLIDWORKS yang juga menjadi sponsor video ini.

— Bagian bersponsor  

“Perlu dicatat di sini bahwa alat desain kelas profesional dan terdepan di industri ini kini tersedia untuk semua pembuat dengan harga yang sangat murah, hanya $99 per tahun atau $9,99 per bulan. Benar sekali, 3D PENGALAMAN SOLIDWORKS for Makers sangat cocok untuk siapa pun yang mempelajari keahlian ini, membuat proyek DIY, dan banyak lagi.

Penawaran ini mencakup 3D PENGALAMAN SOLIDWORKS Professional, alat CAD yang paling banyak diminta dalam penawaran ini dan dijalankan secara lokal di PC Anda. Anda dapat menyimpan file secara lokal atau di cloud dengan 3D Platform PENGALAMAN.

“xDesign”, CAD berbasis browser, Anda dapat menggunakannya dengan 3D PENGALAMAN SOLIDWORKS, atau sendiri. Ini bagus untuk membuat model di mana saja, kapan saja, dan di perangkat apa pun. 

“xShape”, CAD bentuk bebas berbasis browser yang mudah digunakan untuk pemodelan permukaan di perangkat apa pun.

“Visualisasikan Terhubung”, buat gambar, animasi, konten web interaktif, dan lainnya dengan kualitas foto dengan mudah untuk mengesankan pemirsa Anda.

“NC Shop Floor Programmer”, CAM untuk strategi pemesinan cerdas untuk milling 3-sumbu dan EDM kawat dalam paket yang mudah digunakan. 

Klik tautan di bawah, dan Anda akan mendapatkan diskon spesial 20% – sehingga Anda dapat mulai menghasilkan yang terbaik hari ini! Terima kasih banyak kepada SOLIDWORKS yang telah mensponsori dan mendukung konten pendidikan seperti ini. ” 

Beli Sekarang: http://www.solidworks.com/makers20

Pelajari lebih lanjut: https://discover.solidworks.com/3dexperience-solidworks-makers

— Kembali ke topik —

Izinkan saya menjelaskan bagaimana saya membuat desain platform robot. Parameter masukan pertama untuk desain adalah peredam kejut RC yang saya miliki dan dimensinya.

Saya punya 8 buah yang berarti akan ada 4 roda jalan di setiap sisinya, dan panjangnya 41mm jika diperpanjang dengan travel 11mm. Berdasarkan dimensi ini, saya ingin mendapatkan jarak gerak vertikal yang lebih besar untuk roda jalan, jadi saya membuat mekanisme yang memberi saya jarak gerak vertikal 16mm untuk roda jalan.

Maksud saya, saya bisa mendapatkan jarak tempuh yang lebih jauh jika saya menggerakkan sambungan peredam kejut dan sambungan roda jalan lebih dekat ke titik putar sambungan roda jalan, namun kemudian saya akan kehilangan kekuatan pegas, atau saya memerlukan pegas yang lebih kuat untuk menahan platform dengan benar.

Saya melakukan beberapa simulasi sederhana dengan SOLIDWORKS untuk memeriksa gaya reaksi terhadap pegas dengan mekanisme berbeda, jadi saya memilih mekanisme ini yang juga memberikan kekompakan keseluruhan yang baik.

Jika kita melihat lebih dekat pada roadwheel depan, kita dapat melihat bagaimana ia terhubung dengan roda idler yang memberikan ketegangan dinamis pada lintasan. Saat roadwheel naik, lingkar track semakin mengecil sehingga ketegangan mengendur.

Dengan hubungan ini di sini, ketika hal itu terjadi, roda idler didorong ke depan untuk mengencangkan track. Dengan sambungan ini kita juga dapat mengencangkan track secara statis, dengan menyetel baut dan mur jarak ini.

Di bagian belakang terdapat sproket yang terdiri dari tiga bagian. Ia memiliki penggandeng poros dan bagian kiri dan kanan sproket yang dihubungkan semuanya dengan tiga baut M3.

Dimensi kunci pada sproket ini adalah pitch karena harus sesuai dengan pitch lintasan. Pitch di sini adalah 11mm dan saya memilih sproket yang memiliki 12 gigi sehingga memberi saya diameter pitch sproket sekitar 42mm.

Pitch 11mm sebenarnya ditentukan oleh desain track link. Tujuan saya membuat tautan trek adalah dibuat sekompak mungkin dan dapat dihubungkan dengan tautan berikutnya hanya dengan satu bagian atau pin tambahan, sekaligus cukup kuat untuk dibuat dengan printer 3D.

Selain itu, saat melakukan pencetakan 3D, saya ingin menghindari penggunaan bahan pendukung apa pun pada bagian tersebut, yang sebenarnya berhasil saya capai dengan desain ini.

Untuk menghubungkan track link satu sama lain, saya berencana menggunakan pin dengan diameter 2mm, jadi saya dimensikan satu sisi menjadi 2mm agar pas, dan sisi lainnya 2,3mm, agar longgar sehingga track link dapat berputar dengan bebas.

Gigi sproket masuk ke dalam bukaan ini di mana pin track link dibentuk dengan diameter 8,8 mm, sedangkan diameter sproket adalah 9,1 mm agar longgar agar dapat berfungsi dengan baik.

Setelah semua bagian ini ditentukan, saya menggambar sketsa di lingkungan perakitan, kontur tertutup di sekitar sproket, roda idler, dan roda jalan.

Kemudian saya menggunakan sketsa ini dengan fitur Pola Komponen Rantai SOLIDWORKS untuk menghasilkan semua link track di sepanjang kontur tersebut.

Saya merancang platform robot lainnya, alas tempat segala sesuatunya terhubung, sisi-sisi yang menampung beberapa LED dan penutup atas, dengan gaya yang menurut saya terlihat modern dan keren. Karena dimensi keseluruhan platform ini lebih besar daripada kebanyakan printer 3D, sekitar 400mm kali 300mm, saya membagi semua bagian menjadi dua bagian, sehingga kami dapat mencetaknya di hampir semua printer 3D. Mereka dihubungkan bersama dengan beberapa braket dan baut M3.

Untuk merakit seluruh platform robot, kita memerlukan berbagai baut dan mur M3 dan M4, serta beberapa sisipan dan bantalan berulir. Anda dapat menemukan daftar lengkap semua komponen yang diperlukan untuk proyek ini di bawah pada bagian perakitan.

File Unduhan Model 3D dan STL

Anda bisa mendapatkan model 3D platform tank/robot RC ini, serta file STL untuk Pencetakan 3D dari Cults3D.

Pencetakan 3D

Saat mencetak 3D, untuk mendapatkan bagian cetakan 3D yang akurat secara dimensi, kita harus menggunakan pengaturan Ekspansi Horizontal dan Ekspansi Lubang Horisontal di perangkat lunak pengiris kami. Jika kita membiarkan pengaturan ini secara default, dimensi luar cetakan serta lubangnya biasanya lebih kecil dari model aslinya.

Saya mengatur Ekspansi Horisontal ke 0,02 mm dan Ekspansi Horisontal Lubang ke 0,04 mm. Tentu saja, Anda harus melakukan beberapa tes cetakan untuk melihat nilai apa yang akan memberikan hasil terbaik pada Printer 3D Anda. Kami memerlukan dimensi komponen yang akurat agar mudah dirakit satu sama lain dan dengan komponen lain seperti bantalan dan baut.

Saat mencetak track link secara 3D, saya menggunakan rakit sebagai perekat pelat, karena permukaan kontaknya dengan pelat alas agak kecil dan mungkin tidak menempel dengan baik jika daya rekat alas pada printer Anda tidak begitu baik. Apalagi saat mencetak dalam jumlah besar, lebih aman menggunakan rakit.

Merakit Tangki Cetak 3D – Platform Robot Terlacak

Oke, jadi di sini saya memiliki semua bagian cetakan 3D untuk platform robot. Sejujurnya butuh waktu cukup lama untuk mencetak semuanya.

Misalnya, setiap bagian dasar memerlukan waktu sekitar 22 jam untuk dicetak, dan seluruh 156 tautan trek memerlukan waktu sekitar 96 jam untuk dicetak. Kira-kira kita memerlukan waktu 200 jam untuk mencetak semuanya. Untungnya, saya punya dua printer 3D, jadi butuh waktu sekitar 100 jam.

Daftar bagian

Berikut daftar komponen yang diperlukan untuk merakit proyek platform robot tangki Cetak 3D ini. Daftar komponen elektronik dapat ditemukan di bawah pada bagian diagram rangkaian artikel.

Pengungkapan:Ini adalah tautan afiliasi. Sebagai Rekanan Amazon, saya memperoleh penghasilan dari pembelian yang memenuhi syarat.

Saya mulai dengan merakit pangkalan. Seperti yang saya katakan, ini terdiri dari dua bagian yang akan disambung satu sama lain menggunakan beberapa braket serta baut dan mur M3.

Untuk mengencangkan braket samping, saya menggunakan sisipan berulir M3, panjang 5 mm, yang masuk ke dinding samping alas. Dengan begitu, bagian luar tembok akan bersih tanpa baut dan mur sehingga rel bisa lewat di dekatnya.

Lalu, saya kencangkan braket untuk memasang peredam kejut pada tempatnya menggunakan beberapa baut M3.

Selanjutnya, saya memasang bantalan di mana lengan roda jalan akan berputar. Bantalan tersebut memiliki diameter luar 13mm dan diameter dalam 4mm dan kami membutuhkan dua bantalan untuk setiap roda jalan.

Sebagai peniti saya menggunakan baut M4 dengan panjang 30mm. Kita perlu menempatkan mesin cuci di antara bantalan dan lengan dan mengencangkannya dari dalam dengan mur yang dapat mengunci sendiri. Kita harus hati-hati mengencangkan sambungan ini, jangan terlalu kencang, tapi juga jangan terlalu longgar.

Selanjutnya kita bisa memasang peredam kejut. Kami mengamankannya di tempatnya menggunakan baut M1.4 yang disertakan dengan paketnya.

Saya tidak punya obeng kecil itu, jadi saya menggunakan tang untuk mengencangkan bautnya. Sejauh ini tampaknya mekanisme tersebut bekerja dengan sempurna.

Selanjutnya, kita bisa memasang roadwheel di ujung bawah lengan. Roadwheel dibuat dua bagian untuk menghindari pencetakan dengan bahan pendukung. Mungkin bisa dicetak satu bagian, tapi saya belum coba bagaimana hasilnya.

Dengan cara ini kita harus menghubungkan kedua bagian tersebut, dan saya memutuskan untuk menggunakan batang baja 2 mm untuk tujuan itu, batang baja yang sama yang akan saya gunakan untuk menghubungkan jalur lintasan bersama-sama. Ini sebenarnya adalah batang kuningan yang digunakan untuk pengelasan, yang agak lunak dan dapat dengan mudah dipotong sesuai ukuran hanya dengan tang. 

Saya memasukkan tiga batang dengan panjang sekitar 23mm untuk setiap roda, dan kemudian memasang juga dua bantalan yang sama yang saya gunakan sebelumnya di kedua sisi roda. Sekali lagi, seperti sebelumnya, dengan menggunakan baut M4, ring, dan mur pengunci otomatis, saya mengencangkan roda jalan pada tempatnya.

Roda harus dapat berputar dengan bebas tanpa adanya permainan pada porosnya. 

Sekarang kita hanya perlu mengulangi proses ini untuk roadwheel lainnya. Sedangkan untuk roadwheel depannya, kami memiliki lengan yang sedikit berbeda yang memiliki tuas yang akan memberikan tegangan dinamis pada lintasan, namun pemasangannya sama.

Selanjutnya kita bisa merakit mekanisme roda idler. Terdiri dari tiga bagian cetakan 3D, beberapa baut, dan mur jarak.

Sebelum memasang tautan pertama pada tempatnya, kita harus menambahkan mur pengunci otomatis M4 di sisi belakang, yang nantinya akan kita pasangkan roda idler.

Saya menggunakan batang tembaga 2 mm yang sama dengan pin untuk sambungan ini. Sekarang pada tautan kedua di sisi roda idler, kita dapat mengencangkan satu mur jarak M3 sepanjang 15 mm dengan bantuan baut M3.

Di sisi lain kami memasang baut M3 sepanjang 20mm dan mur, yang akan masuk ke mur jarak. Dengan pengaturan ini sekarang kita dapat mengatur jarak antara roda idler dan lengan roda jalan raya sehingga kita dapat mengencangkan lintasan baik secara statis maupun dinamis. Kemudian kita cukup mengamankan roda idler di tempatnya dengan baut M4, sehingga sistem tegangan ini telah selesai serta seluruh sistem suspensi.

Baiklah, selanjutnya kita bisa merakit sproketnya dan untuk itu kita perlu memasang motornya terlebih dahulu. Saya merancang platform dasar untuk menerima motor dengan diameter 37mm dengan sumbu tengah atau offset.

Kita dapat memasang motor DC 12V apa pun dengan RPM mulai dari 20 hingga 1000 RPM, tentu saja tergantung pada aplikasi platform robotnya, tetapi kita akan membicarakannya nanti di video. Motor diamankan di tempatnya dengan enam baut M3. 

Untuk memasang sproket ke poros motor, pertama-tama kita perlu menyiapkan coupler poros, atau memasang beberapa sisipan berulir di dalamnya.

Kemudian kita dapat memasukkan coupler pada tempatnya dan mengencangkannya dengan sekrup grub M3.

Kedua bagian sproket tersebut kemudian dimasukkan dan diamankan menggunakan tiga baut M3.

Jadi di sini kita telah menyelesaikan platform drive train dan sekarang saatnya bersenang-senang merakit trek. Benar sekali, menurut saya merakit treknya cukup menyenangkan.

Berikut ini adalah tampilan lebih dekat pada tautan trek, sehingga kita dapat melihat betapa sederhana dan bersihnya tautan tersebut.

Mereka langsung siap digunakan dari printer 3D karena kami tidak menggunakan dukungan apa pun saat mencetaknya secara 3D. Kami hanya membutuhkan pin 2mm untuk menghubungkannya. Seperti yang sudah saya katakan, kita bisa dengan mudah mendapatkannya dari batang las kuningan 2mm.

Lubang luar pada sambungannya sangat rapat sehingga kita perlu menggunakan tenaga untuk memasukkannya tetapi itu akan memastikan bahwa lubang tersebut tidak akan terlepas. Lubang bagian dalam pada tautan bersifat longgar sehingga memastikan rotasi bebas di antara tautan trek.

Sekarang, kita hanya perlu membuat secangkir teh atau kopi dan menikmati pembuatannya selama beberapa jam. Anda menyadari kesenangannya setelah Anda menghubungkan beberapa di antaranya dan melihat betapa kerennya lagu tersebut. Kami membutuhkan total 78 tautan trek untuk merakit satu trek. Dalam hal panjang batang, kita memerlukan sekitar 3,5m untuk setiap lintasan, karena panjang setiap pin harus sekitar 43mm.

Setelah track siap, kita cukup membungkusnya di sekitar sproket, roda jalan, dan roda idler, dan menutup loop dengan pin 2mm lainnya di lokasi tersebut. Kita dapat mencatat di sini bahwa dengan 78 track link, ketegangan trek sudah pas, meskipun roadwheel terakhir bergerak sedikit ke atas.

Hal ini sebenarnya terjadi karena pegasnya tidak cukup kuat. Kita bisa sedikit mengatur tegangan pegas dengan menyetel mur pada peredam kejut ini, meski sekali lagi itu belum cukup. Oleh karena itu, saya memutuskan untuk mengganti pegas asli yang disertakan dengan peredam kejut, menjadi pegas yang lebih kuat.

Mengganti pegas cukup mudah, kita hanya perlu membuka salah satu ujung peredam kejut, memasukkan pegas yang lebih kuat, dan memasang kembali batangnya. Pegas yang saya punya sedikit lebih lebar dari aslinya, jadi saya harus menggunakan mesin cuci M4 di bagian bawah. Sekarang pegas ini memiliki kekuatan yang cukup untuk menahan roda jalan di tempatnya saat memasang trek dengan 78 link. 

Saya akhirnya mengganti pegas pada semua peredam kejut, karena saya menyadari bahwa pegas tersebut tidak akan cukup kuat untuk menahan beban seluruh platform. Ini melengkapi keseluruhan sistem penggerak platform yang menurut saya ternyata cukup bagus.

Jika diperlukan, kini kita dapat menyetel tegangan track dengan mur jarak pada roda idler. Tentu saja, tidak apa-apa jika treknya sedikit longgar agar dapat berfungsi dengan baik. Bagian atas track yang kendor ditopang pada braket peredam kejut. 

Saya menghubungkan motor ke listrik untuk memeriksa cara kerjanya. Bagi saya itu tampak sempurna. Sungguh menyenangkan melihat sesuatu yang Anda buat dengan banyak bagian cetakan 3D beraksi. 

Tentunya, kita harus mengulangi prosedur yang sama untuk merakit sisi lainnya. Setelah ini selesai, platform robot sudah 80% selesai. Selanjutnya, saya akan memasang panel samping yang sebagian besar ada di sini untuk tampilan visual.

Kami mengamankannya di tempatnya dengan bantuan beberapa braket dan baut M3. Di bagian atas, buka penutup yang akan menutupi platform. Untuk video kali ini saya desain seperti ini hanya untuk tampilan visualnya saja.

Seperti yang saya sebutkan sebelumnya, di beberapa video mendatang, saya berencana menambahkan lengan robot atau menara di atas platform ini, yang berarti saya harus mendesain bagian atasnya dengan tepat.

Elektronik – Diagram Sirkuit Platform Robot

Sekarang kita dapat melanjutkan ke bagian elektronik dari proyek ini. Seperti yang saya katakan, saya akan menggunakan board berbasis mikrokontroler ATmega2560.

Anda bisa mendapatkan komponen yang dibutuhkan untuk proyek ini dari tautan di bawah ini:

Pengungkapan:Ini adalah tautan afiliasi. Sebagai Rekanan Amazon, saya memperoleh penghasilan dari pembelian yang memenuhi syarat.

Untuk menggerakkan kedua motor tersebut saya akan menggunakan dua driver motor DC DRV8871 yang mendukung kontrol PWM dan arus puncak hingga 3,6A. Tegangan pengoperasian motor DC adalah 12V, dan kami akan memberi daya pada semuanya dengan baterai LiPo 3S dengan daya sekitar 12V. Saya juga menyertakan pengatur tegangan 5V, IC LM350, agar memiliki suplai 5V khusus untuk penggunaan lain di masa mendatang, misalnya, untuk menghubungkan motor servo ke dalamnya. Dalam video ini kita akan menggunakan 5V ini untuk memberi daya pada receiver RC dan beberapa LED.

LED yang saya gunakan untuk proyek ini adalah LED 5mm sederhana berwarna putih dan merah. Saya mengaturnya sebagai berikut:

Di bagian belakang kami memiliki dua LED merah di setiap sisi sebagai Lampu Belakang, dan di depan tiga LED Putih di setiap sisi sebagai lampu depan. Selain itu, terdapat enam buah LED di penutup atas sebagai lampu High beam. Agar LED ini menyala dengan baik kita memerlukan rangkaian yang sesuai yang mencakup resistor untuk membatasi arus. Saya menggabungkan koneksinya baik secara paralel maupun seri.

Misalnya untuk lampu depan, saya menggunakan dua jalur paralel dengan tegangan 12V untuk menyalakan 6 LED, 3 di setiap sisi kiri dan kanan, yang dihubungkan secara seri. Menurut tegangan dan arus maju LED, saya menghitung nilai resistor yang diperlukan untuk setiap saluran, dan itu adalah 150 Ohm untuk kasus ini. Untuk mengaktifkan LED, saya menggunakan beberapa transistor NPN serba guna dengan daya 200mA.

Terakhir, saya membuat pembagi tegangan sederhana yang akan saya gunakan untuk memonitor tegangan baterai. Sederhananya, 12V dari baterai diturunkan menjadi di bawah 5V sehingga dapat masuk ke input analog di mikrokontroler. Dalam program ini kita dapat menerjemahkan nilainya kembali ke nilai tegangan sebenarnya dan mengirimkannya dari penerima RC ke pemancar RC di mana kita dapat melihat nilainya di layar.

Desain PCB Khusus

Saya sebenarnya mendapatkan koneksi yang cukup banyak, jadi untuk menghindari kekacauan saya harus merancang PCB khusus untuk proyek ini.

PCB tersebut akan kompatibel dengan board berbasis mikrokontroler ATmega2560 untuk langsung dipasang di atasnya.

Saya menyertakan pengatur tegangan 3.3V dan koneksi untuk modul transceiver NRF24L01 jika kita ingin mengontrol platform dengan modul itu. Juga, saya menyertakan rel 12V, dan rel 5V dan 6V dengan koneksi pin digital yang diatur untuk menghubungkan motor servo ke sana. Rel 6V dapat diberi daya dengan konverter buck eksternal.

Saya memesan PCB dari PCBWay. Di sini kita cukup 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 putih. Anda dapat menemukan dan mengunduh Gerber dari komunitas berbagi proyek PCBWay yang melaluinya Anda juga dapat memesan PCB secara langsung.

Anda juga dapat mengunduh file Gerber di sini:

Namun demikian, setelah beberapa hari PCB tiba. Kualitas PCBnya bagus, dan semuanya sama persis seperti desainnya.

Merakit PCB cukup mudah karena semuanya diberi label. Saya mulai dengan menyolder pin header di bagian bawah PCB, untuk koneksi ATmega2560 dan kemudian dilanjutkan dengan sisi atas. Untuk kenyamanan, pertama-tama kita harus menyolder komponen yang lebih kecil, seperti resistor dan transistor, lalu komponen yang lebih besar seperti LED dan konektor daya.

Saya menggunakan pin header untuk semua koneksi, karena memberikan fleksibilitas untuk melakukan perubahan jika ada sesuatu yang tidak berfungsi dengan baik. Saya tidak menyolder konektor untuk konverter buck eksternal dan relnya, serta pengatur tegangan 3.3V, karena saya tidak akan menggunakannya sekarang. Saya sangat suka betapa bagus dan bersihnya PCB ini dengan warna putih ini. 

Menyelesaikan Perakitan Tangki Cetak 3D

Oke, pertama-tama kita kencangkan papan mikrokontroler dengan beberapa baut M3, lalu di atasnya dipasang PCB khusus.

Sekarang saatnya memasang LED. Mereka akan dipasang di panel samping dengan bantuan dudukan yang menampung LED 5mm. Seperti yang dijelaskan dalam skema, kita harus menyolder setiap baris LED secara seri.

Di katoda terdapat kabel hitam dan di anoda terdapat kabel merah. Kami memasukkan kabel ini melalui lubang kecil di panel samping yang mengarah ke PCB.

Bagian dudukan LED dirancang agar pas dengan panel samping sehingga setelah dipasang pada tempatnya, tampilannya bagus dan bersih.

LED high beam ditempatkan langsung di sampul depan atas.

Untuk menyambungkan LED, saya menyolder konektor dupont male XH2.54mm pada PCB, jadi saya harus memasang konektor dupont betina yang sesuai ke kabel. Kami memerlukan tang crimping untuk dompet itu, tetapi pada saat membuat proyek ini saya tidak membawanya.

Saya menggunakan tang kecil biasa untuk melakukan pekerjaan itu, dan sambungannya baik-baik saja. Setiap jalur LED harus masuk ke konektor yang sesuai yang diberi label pada PCB.

Sedangkan untuk motornya, saya tidak memiliki konektor yang sesuai jadi saya menyolder kabelnya langsung ke motor tersebut. Sambungan motor masuk ke papan driver DRV8871 dan kemudian ke PCB.

Untuk komunikasi radio saya menggunakan pemancar dan penerima FLYSKY RC yang harganya sangat terjangkau dan berfungsi dengan baik.

Untuk menghubungkan receiver ke mikrokontroler, kita dapat menggunakan kabel lompat. Penerima berkomunikasi dengan mikrokontroler melalui I-BUS dan port serial, jadi kita hanya memerlukan tiga kabel, VCC, GND, dan pin Sinyal.

Jika kita ingin mengirim data kembali dari receiver ke transmitter, dalam hal ini untuk memonitor tegangan baterai, kita juga perlu menghubungkan sensor I-BUS receiver ke port serial lain. 

Terakhir, kita bisa menghubungkan baterai LiPo. Tergantung pada baterainya kita perlu memiliki konektor yang sesuai. Ini masuk ke konektor 12V dan tepat di sebelahnya kami memiliki konektor ON/OFF yang akan menyambungkan sakelar untuk menghidupkan dan mematikan daya platform.

Harap dicatat di sini bahwa sebelum menyalakan papan, pertama-tama kita harus melepaskan penerima RC dari daya dan menyesuaikan tegangan variabel IC LM350 ke 5V menggunakan pemangkas.

Sekarang kita hanya perlu memasang penutup belakang atas pada tempatnya, dan proyek ini selesai. 

Memprogram Platform Robot

Sekarang kita harus memprogram platform tank/robot cetak 3D. Berikut kode Arduino untuk platform robot ini.

/*
 3D Printed Tracked Robot Platform - Arduino Code
 by Dejan, www.HowToMechatronics.com
 Libraries:
 IBusBM: https://github.com/bmellink/IBusBM
*/
#include <IBusBM.h>
#define motorLeft_IN1 4
#define motorLeft_IN2 5
#define motorRight_IN1 6
#define motorRight_IN2 7
IBusBM IBus;
IBusBM IBusSensor;
int ch0, ch1, ch6, ch8 = 0;
int motorSpeed, steeringValue, leftMotorSpeed, rightMotorSpeed = 0;
int ledBlinkPeriod = 50;
int isOn = LOW;
unsigned long time_now = 0;
void setup() {
 Serial.begin(115200);
 IBus.begin(Serial1, IBUSBM_NOTIMER); // Servo iBUS
 IBusSensor.begin(Serial2, IBUSBM_NOTIMER); // Sensor iBUS
 IBusSensor.addSensor(IBUSS_INTV); // add voltage sensor
 // DC motors control - set them stationary
 // Left track
 digitalWrite(motorLeft_IN1, LOW); // PWM value
 digitalWrite(motorLeft_IN2, LOW); // Forward
 // Right track
 digitalWrite(motorRight_IN1, LOW); // PWM value
 digitalWrite(motorRight_IN2, LOW); // Forward
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
}
void loop() {
 // Reading the data comming from the RC Transmitter
 IBus.loop();
 // ch0 - left and right; ch1 - forward and backward;
 ch0 = IBus.readChannel(0); // ch0 - left and right;
 ch1 = IBus.readChannel(1); // ch1 - forward and backward;
 ch6 = IBus.readChannel(6); // ch6 - Headlights
 ch8 = IBus.readChannel(8); // ch8 - High beam
 // convert the incoming date into suitable PWM value
 steeringValue = map(ch0, 1000, 2000, -185, 185); // 0 to 185 range because then I add +70 in order to avoid low PWM values as to motors won't start if so
 motorSpeed = map(ch1, 1000, 2000, -185, 185);
 motorSpeed = abs(motorSpeed);
 leftMotorSpeed = 70 + motorSpeed + steeringValue; // 70 + (0-185) + (0 - 185 ) = 70 - 255 so this range from 70 to 255 is used as PWM value
 rightMotorSpeed = 70 + motorSpeed - steeringValue;
 leftMotorSpeed = constrain(leftMotorSpeed, 0, 255); // constrain the PWM value from 0 to 255
 rightMotorSpeed = constrain(rightMotorSpeed, 0, 255);
 // if PWM is lower than 72, set PWM value to 0
 if (leftMotorSpeed < 72) {
 leftMotorSpeed = 0;
 }
 if (rightMotorSpeed < 72) {
 rightMotorSpeed = 0;
 }
 // if right joystick goes up > move forward
 if (ch1 > 1510 && ch1 < 2000) {
 analogWrite(motorLeft_IN1, leftMotorSpeed); // PWM input
 digitalWrite(motorLeft_IN2, LOW); // Direction - Forward
 analogWrite(motorRight_IN1, rightMotorSpeed); // PWM input
 digitalWrite(motorRight_IN2, LOW); // Direction - Forward
 }
 // if right joystick goes down > move backward
 if (ch1 > 1000 && ch1 < 1420) {
 digitalWrite(motorLeft_IN1, LOW); // Direction - Backward
 analogWrite(motorLeft_IN2, leftMotorSpeed); // PWM input
 digitalWrite(motorRight_IN1, LOW); // Direction - Backward
 analogWrite(motorRight_IN2, rightMotorSpeed); // PWM input
 }
 // if right joystick is in the middle, don't move
 if (ch1 > 1420 && ch1 < 1520) {
 if (leftMotorSpeed < 75 && rightMotorSpeed < 75) {
 digitalWrite(motorLeft_IN1, LOW);
 digitalWrite(motorLeft_IN2, LOW);
 digitalWrite(motorRight_IN1, LOW);
 digitalWrite(motorRight_IN2, LOW);
 }
 // if right joystick move just left or right, without going up or down, move the tank left or right (only 1 motor move)
 else {
 analogWrite(motorLeft_IN1, leftMotorSpeed); // PWM input
 digitalWrite(motorLeft_IN2, LOW); // Direction - Forward
 analogWrite(motorRight_IN1, rightMotorSpeed); // PWM input
 digitalWrite(motorRight_IN2, LOW); // Direction - Forward
 }
 }
 // LEDs control
 // Headlights and Taillights LEDs control
 if (ch6 > 1500) {
 digitalWrite(47, HIGH);
 digitalWrite(48, HIGH);
 }
 else {
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 }
 // High beam LEDs control
 if (ch8 == 1500) {
 digitalWrite(46, HIGH);
 }
 // If rocker switch in position 3 (2ooo value) - flasing with the high beam LEDs
 else if (ch8 == 2000) {
 if (millis() >= time_now + ledBlinkPeriod) {
 time_now += ledBlinkPeriod;
 if (isOn == HIGH) {
 isOn = LOW;
 }
 else {
 isOn = HIGH;
 }
 digitalWrite(46, isOn);
 }
 }
 else {
 digitalWrite(46, LOW);
 }
 // Monitor the battery voltage
 int sensorValue = analogRead(A0);
 float voltage = sensorValue * (5.00 / 1023.00) * 3.02; // Convert the reading values from 5v to suitable 12V
 // Send battery voltage value to transmitter
 IBusSensor.loop();
 IBusSensor.setSensorMeasurement(1, voltage * 100);
}Code language: PHP (php)

Ikhtisar kode

Jadi, dengan menggunakan perpustakaan IBusBM kita membaca data yang masuk dari RC Transmitter.

// Reading the data comming from the RC Transmitter
 IBus.loop();
 // ch0 - left and right; ch1 - forward and backward;
 ch0 = IBus.readChannel(0); // ch0 - left and right;
 ch1 = IBus.readChannel(1); // ch1 - forward and backward;
 ch6 = IBus.readChannel(6); // ch6 - Headlights
 ch8 = IBus.readChannel(8); // ch8 - High beamCode language: JavaScript (javascript)

Joystick kanan, saluran 0 dan 1 digunakan untuk mengontrol gerakan platform, dua sakelar rocker, saluran 6 dan 8 untuk mengontrol LED.

Kami mengonversi data yang masuk menjadi nilai yang sesuai untuk kontrol PWM motor DC, yaitu dari 0 hingga 255.

// convert the incoming date into suitable PWM value
 steeringValue = map(ch0, 1000, 2000, -185, 185); // 0 to 185 range because then I add +70 in order to avoid low PWM values as to motors won't start if so
 motorSpeed = map(ch1, 1000, 2000, -185, 185);
 motorSpeed = abs(motorSpeed);
 leftMotorSpeed = 70 + motorSpeed + steeringValue; // 70 + (0-185) + (0 - 185 ) = 70 - 255 so this range from 70 to 255 is used as PWM value
 rightMotorSpeed = 70 + motorSpeed - steeringValue;
 leftMotorSpeed = constrain(leftMotorSpeed, 0, 255); // constrain the PWM value from 0 to 255
 rightMotorSpeed = constrain(rightMotorSpeed, 0, 255);Code language: JavaScript (javascript)

Kami mengirimkan nilai PWM ke driver dan motor menggunakan fungsi analogWrite() dengan tepat.

// if right joystick goes up > move forward
 if (ch1 > 1510 && ch1 < 2000) {
 analogWrite(motorLeft_IN1, leftMotorSpeed); // PWM input
 digitalWrite(motorLeft_IN2, LOW); // Direction - Forward
 analogWrite(motorRight_IN1, rightMotorSpeed); // PWM input
 digitalWrite(motorRight_IN2, LOW); // Direction - Forward
 }Code language: JavaScript (javascript)

Secara keseluruhan, kodenya tidak terlalu rumit karena platform robot itu sendiri tidak memiliki fungsi yang rumit.

Menguji Robot Cetak 3D – Platform Robot Terlacak

Setelah kami mengunggah kodenya, kami dapat menyalakan platform robot dan Pemancar RC untuk mengujinya. Pada tampilan pemancar kita dapat melihat tegangan baterai LiPo, serta tegangan penerima dan pemancar.

Dan di sanalah kita memilikinya. Dengan menggunakan joystick yang tepat, kita dapat mengontrol pergerakan platform. Dengan sakelar rocker kiri kami mengontrol lampu depan dan LED lampu belakang, dan dengan sakelar rocker 3 arah kanan kami mengontrol LED sinar tinggi. LED sinar tinggi memiliki dua mode, selalu menyala dan mode berkedip. 

Kita dapat mencatat di sini bahwa motor yang saya pasang sebenarnya agak kurang bertenaga untuk platform ini.

Kita dapat melihat bahwa joystick harus berada hampir di atas agar trek dapat mulai bergerak. Ditambah lagi, saya dapat menghentikan lintasan dengan sangat mudah menggunakan tangan saya. Sistem suspensi dan lintasannya sendiri menyebabkan banyak ketegangan dan hambatan pada motor. Motor ini memiliki kecepatan 888RPM yang bagus dalam hal kecepatan, tetapi motor ini lebih kecil, dengan nilai di bawah 500mA.

Jadi, saya menggantinya dengan motor lain yang lebih besar yang saya miliki tetapi sebenarnya hasil yang saya dapatkan hampir sama. Meskipun motor ini lebih bertenaga, pengurangan kecepatannya lebih kecil, atau RPMnya lebih tinggi yaitu 1280, jadi saya mendapatkan hasil yang sama.  

Sebenarnya mereka tidak seburuk itu. Platform robot berjalan cukup baik dengan mereka.

Sejujurnya, sangat menyenangkan mengendarai mobil ini, terutama dengan LED yang berkedip dan membuat terbakar atau donat. 

Namun, kesenangan itu tidak bertahan lama ketika saya membawanya keluar, ia berhenti bekerja dengan sangat cepat. Masalahnya adalah motornya kurang bertenaga, tapi juga desain lintasannya. Kotoran dengan mudah menumpuk di tempat gigi sproket berada.

Jadi, saya desain ulang agar memiliki bukaan di sisi lain agar kotoran bisa melewatinya. Saya juga membuat sproket sedikit lebih kecil, dengan mengimbanginya sebesar 0,2 mm, agar lebih longgar antara sproket dan track. 

Saya memasang kembali semuanya dengan pembaruan ini dan platform sekarang mampu digunakan di luar ruangan. Padahal motor yang kurang bertenaga kembali menjadi masalah. Platformnya semakin bertumpuk dari waktu ke waktu dan tidak bisa menanjak. Jadi, saran saya adalah mendapatkan motor yang tidak lebih dari 500 RPM, dan menjadi motor yang lebih kuat dengan arus pengenal minimal 1A atau 2A. 

Saya sebenarnya mencoba platform dengan motor yang lebih kuat. Kecepatannya hanya 20 RPM yang jelas terlalu lambat untuk bersenang-senang dan melakukan donat, tetapi platformnya sekarang seperti tank sungguhan. Ini benar-benar bisa dibawa kemana saja.

Motor 20 RPM cukup bertenaga untuk melewati rintangan apa pun. Mereka sangat lambat, tapi mungkin baik-baik saja untuk beberapa aplikasi tertentu. Saran saya adalah jika kita memerlukan kecepatan lebih lambat untuk motor dengan sekitar 50 RPM, dan untuk kecepatan lebih cepat, sekitar 500 RPM.

Saya harap Anda menikmati video ini dan mempelajari sesuatu yang baru. Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah dan jangan lupa berlangganan untuk pembaruan di masa mendatang dan periksa Koleksi Proyek Arduino saya.


Proses manufaktur

  1. Yang Perlu Anda Ketahui Tentang Mesin Penggiling Silinder
  2. Balon
  3. Ubin Keramik
  4. Konsep Dasar Korosi Besi dan Baja
  5. Faktor-faktor yang mempengaruhi laju Coke dalam Blast Furnace
  6. Apa yang Membuat Kami Kembali Menggunakan Bahan Alami dalam Desain Produk?
  7. Memahami proses ekstrusi
  8. Golf Cart
  9. Penghitung Waktu Mundur Arduino
  10. Pengantar pemotongan kawat