Daftar Isi:
- Langkah 1: Teori Dibalik Proyek
- Langkah 2: Merancang PCB
- Langkah 3: Membuat PCB
- Langkah 4: Merancang Lengan
- Langkah 5: Mencetak Bagian
- Langkah 6: Menyatukan Semuanya
- Langkah 7: Pemrograman Arduino
- Langkah 8: Pemrograman dengan Python
- Langkah 9: Daftar Bagian
- Langkah 10: Pikiran Terakhir
Video: Lengan Robot Dikendalikan oleh Arduino dan PC: 10 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Lengan robot banyak digunakan dalam industri. Baik itu untuk operasi perakitan, pengelasan atau bahkan digunakan untuk docking di ISS (International Space Station), membantu manusia dalam bekerja atau menggantikan manusia secara total. Lengan yang saya buat adalah representasi yang lebih kecil dari lengan robot yang seharusnya digunakan untuk memindahkan objek. Hal ini dikendalikan oleh arduino pro mini yang telah built-in library untuk mengontrol servos. Servo dikendalikan oleh PWM (Pulse Width Modulation) yang tidak sulit untuk diprogram tetapi perpustakaan ini membuatnya lebih mudah. Pengguna dapat mengontrol servos tersebut dengan potensiometer yang dirancang untuk bertindak sebagai pembagi tegangan atau dari program di PC yang menggunakan 4 slider untuk mengendalikan motor servo.
Untuk proyek ini saya harus mendesain PCB kustom saya dan membuatnya, membuat model lengan 3D dan menulis kode yang mengontrol semuanya. Di atasnya saya mengkodekan program tambahan dengan python yang mengirimkan sinyal ke arduino yang berhasil memecahkan kode sinyal itu dan memindahkan servos ke posisi yang telah ditetapkan pengguna.
Langkah 1: Teori Dibalik Proyek
Arduino sangat bagus karena menawarkan perpustakaan gratis untuk digunakan. Untuk proyek ini saya menggunakan library Servo.h yang membuat pengontrolan servo menjadi lebih mudah.
Motor servo dikendalikan oleh PWM -Pulse Width Modulation- yang berarti bahwa untuk mengontrol servo Anda perlu membuat pulsa tegangan pendek. Servo dapat memecahkan kode panjang sinyal ini dan memutar ke posisi tertentu. Dan di sinilah saya menggunakan perpustakaan yang telah disebutkan. Saya tidak harus menghitung panjang sinyal sendiri tetapi saya menggunakan fungsi perpustakaan yang saya hanya melewati parameter dalam derajat dan itu membuat sinyal.
Untuk mengendalikan servos saya menggunakan potensiometer yang bertindak sebagai pembagi tegangan. Papan Arduino memiliki beberapa konverter analog/digital yang saya gunakan untuk proyek ini. Pada dasarnya arduino memonitor tegangan pada pin tengah pada potensiometer dan jika berputar ke satu sisi tegangan di atasnya adalah 0 Volt (nilai = 0) dan di sisi lain 5 Volt (nilai = 1023). Nilai ini kemudian diskalakan dari rentang 0 - 1023 hingga 0 - 180 dan kemudian diteruskan ke fungsi yang telah disebutkan.
Topik lainnya adalah komunikasi serial dengan arduino yang akan saya bahas secara singkat. Pada dasarnya program yang ditulis pada PC mengirimkan nilai yang dipilih oleh pengguna, arduino dapat memecahkan kodenya dan memindahkan servo ke posisi tertentu
Langkah 2: Merancang PCB
Saya merancang 2 PCB - satu untuk kontrol utama di mana Arduino dan pin untuk servos dan yang kedua adalah potensiometer. Alasan untuk 2 PCB adalah karena saya ingin mengontrol lengan robot dari jarak yang aman. Kedua sirkuit dihubungkan dengan kabel dengan panjang tertentu - dalam kasus saya 80 cm.
Untuk sumber daya saya memilih adaptor eksternal karena servos yang saya gunakan mengkonsumsi lebih banyak daya daripada yang dapat disediakan oleh arduino. Seperti yang Anda lihat, ada beberapa kapasitor yang belum saya sebutkan. Mereka adalah kapasitor yang digunakan untuk penyaringan. Seperti yang Anda ketahui sekarang, motor servo dikendalikan oleh impuls pendek. Impuls tersebut dapat membuat tegangan suplai menjadi turun dan potensiometer yang sebelumnya berkisar 0-5 volt sekarang memiliki jangkauan yang lebih kecil. Itu berarti tegangan pada pin tengah berubah dan arduino mendapatkan nilai ini dan mengubah posisi motor servo masuk. Hal ini dapat berlangsung selamanya dan menyebabkan osilasi yang tidak diinginkan yang dapat dihilangkan oleh beberapa kapasitor yang paralel dengan suplai.
Langkah 3: Membuat PCB
Untuk membuat PCB saya sarankan Anda untuk membaca ini.
Saya menggunakan metode Iron on Glossy paper dan hasilnya bagus.
Kemudian saya menyolder bagian-bagian pada PCB. Anda dapat melihat bahwa saya menggunakan soket arduino jika saya membutuhkannya di masa mendatang.
Langkah 4: Merancang Lengan
Ini sama sekali bukan bagian tersulit dalam membuat proyek ini.
Seluruh pengaturan dibuat dari 8 bagian di mana 4 bagian tidak bergerak - kotak untuk potensiometer dan alas tempat arduino berada - dan empat lainnya adalah lengan itu sendiri. Saya tidak akan membahas banyak detail kecuali bahwa desainnya cukup intuitif dan dalam beberapa hal sederhana. Ini dirancang agar sesuai dengan PCB dan servo khusus saya yang akan saya sertakan dalam daftar bagian.
Langkah 5: Mencetak Bagian
Bagian dicetak pada printer Prusa. Beberapa permukaan perlu digiling sedikit dan lubang dibor. Tiang penyangga juga harus dicopot.
Langkah 6: Menyatukan Semuanya
Dalam langkah ini seperti yang dikatakan judul, saya menggabungkan semuanya.
Pada awalnya saya menyolder kabel pada potensiometer dan kemudian kabel tersebut pada PCB. Potensiometer pas dengan lubang dan saya menempelkan PCB dengan panas pada pilar yang dicetak di bagian bawah kotak. Anda dapat mengebor lubang di papan dan ke dalam kotak, tetapi saya menemukan bahwa menempelkannya lebih dari cukup. Kemudian saya menutup kedua bagian kotak dan mengencangkannya pada posisinya dengan 4 sekrup yang sesuai dengan lubang yang saya rancang.
Sebagai langkah selanjutnya saya membuat kabel pita datar untuk menghubungkan kedua papan.
Di kotak utama saya menyolder kabel dari pin konektor VCC ke sakelar dan kemudian ke papan Vcc dan dari papan GND ke GND konektor. Kemudian saya menempelkan konektor di tempatnya dan menempel pada pilar. Konektor pas ke dalam lubang sehingga tidak perlu lem panas.
Kemudian, dengan menggunakan sekrup saya memasang servo bawah ke bagian bawah kotak.
Setelah itu saya memasang bagian atas kotak di bagian bawah dan sama seperti kotak potensiometer saya kencangkan dengan 4 sekrup.
Bagian selanjutnya sedikit rumit tetapi saya berhasil menyatukan sisa lengan dengan berbagai mur dan bantalan dan itu tidak sekencang yang saya harapkan karena saya merancang beberapa toleransi antar bagian, jadi lebih mudah untuk bekerja dengannya.
Dan sebagai langkah terakhir saya meletakkan beberapa selotip di bagian bawah kotak karena jika tidak mereka akan meluncur.
Langkah 7: Pemrograman Arduino
Saya telah menyebutkan bagaimana program bekerja secara teori di balik proyek, tetapi saya akan memecahnya lebih jauh lagi.
Jadi pada awalnya kita perlu mendefinisikan beberapa variabel. Sebagian besar disalin 4 kali karena kami memiliki 4 servos dan menurut saya tidak perlu membuat logika yang lebih rumit hanya untuk membuat program sedikit lebih pendek.
Selanjutnya ada pengaturan kosong di mana pin servos ditentukan.
Lalu ada void loop - bagian dari program yang mengulang tanpa batas. Pada bagian ini program mengambil nilai dari skala potensiometer dan memasukkannya ke dalam output. Tetapi ada satu masalah bahwa nilai dari potensiometer sedikit melonjak sehingga saya perlu menambahkan filter yang membuat rata-rata 5 nilai terakhir dan kemudian mengeluarkan output. Ini mencegah goyangan yang tidak diinginkan.
Bagian terakhir dari program membaca data dari port serial dan memutuskan apa yang harus dilakukan berdasarkan data yang dikirim.
Untuk memahami kode sepenuhnya, saya sarankan Anda mengunjungi situs resmi arduino.
Langkah 8: Pemrograman dengan Python
Bagian dari proyek ini tidak perlu tetapi saya pikir itu hanya memberi nilai lebih pada proyek ini.
Python menawarkan banyak perpustakaan yang gratis untuk digunakan tetapi dalam proyek ini saya hanya menggunakan tkinter dan serial. Tkinter digunakan untuk GUI (Graphical User Interface) dan serial seperti namanya digunakan untuk komunikasi serial.
Kode ini membuat GUI dengan 4 slider yang memiliki nilai minimum 0 dan maksimum 180. Ini mungkin petunjuk bagi Anda bahwa itu dalam derajat dan setiap slider diprogram untuk mengontrol satu servo. Program ini agak sederhana - ia mengambil nilai dan mengirimkannya ke arduino. Tapi cara penyampaiannya menarik. Jika Anda memilih untuk mengubah nilai servo pertama ke 123 derajat, ia mengirim ke nilai arduino 1123. Angka pertama dari setiap nomor yang dikirim menunjukkan servo mana yang akan dikontrol. Arduino memiliki kode yang dapat memecahkan kode ini dan memindahkan servo yang tepat.
Langkah 9: Daftar Bagian
- Arduino Pro Mini 1 buah
- Servo FS5106B 1 buah
- Servo Futaba S3003 2 buah
- Pin header 2x5 1 buah
- Pin header 1x3 6 buah
- Kapasitor 220uF 3 buah
- Micro Servo FS90 1 buah
- Konektor AWP-10 2 buah
- Konektor FC681492 1 buah
- Beralih P-B100G1 1 buah
- Soket 2x14 1 buah
- TTL-232R-5v - konverter 1 buah
- Potensiometer B200K 4 buah
- dan masih banyak lagi sekrup, bantalan, dan mur
Langkah 10: Pikiran Terakhir
Terima kasih telah membaca ini dan saya harap setidaknya saya telah memotivasi Anda. Ini adalah proyek besar pertama saya yang saya buat sendiri tanpa menyalin barang dari internet dan posting instruksi pertama. Saya tahu bahwa lengan dapat ditingkatkan tetapi saya puas dengan itu untuk saat ini. Semua bagian dan kode sumber gratis, Anda dipersilakan untuk menggunakannya dan mengubahnya dengan cara apa pun yang Anda inginkan. Jika Anda memiliki pertanyaan, jangan ragu untuk menanyakannya di bagian komentar. Anda juga dapat melihat videonya, kualitasnya tidak bagus tetapi menunjukkan fungsionalitas proyek.
Direkomendasikan:
Robot Lengan Mekanik 4 DOF Dikendalikan oleh Arduino: 6 Langkah
4 DOF Robot Lengan Mekanik Dikendalikan oleh Arduino: Baru-baru ini saya membeli set ini di aliexpress, tetapi saya tidak dapat menemukan instruksi yang cocok untuk model ini. Jadi akhirnya membangunnya hampir dua kali dan melakukan banyak eksperimen untuk mengetahui sudut pemasangan servo yang tepat. Dokumentasi yang masuk akal adalah dia
Rolling Robot Dengan ESP32 Thing dan Driver TB6612FNG, Dikendalikan oleh Android Melalui BLE: 11 Langkah
Rolling Robot Dengan ESP32 Thing dan Driver TB6612FNG, Dikendalikan oleh Android Melalui BLE: Halo semuanyaIni adalah instruksi pertama saya. Robot bergulir (dijuluki Raidho - dari rune yang dikaitkan dengan gerakan) berdasarkan ESP32 Thing, TB6612 FNG, dan BLE. Salah satu bagian yang mungkin tampak aneh adalah foto-foto tersebut bukan dari proses pembuatan
Lengan Robot Dikendalikan oleh Sarung Tangan: 6 Langkah (dengan Gambar)
Lengan Robot Dikendalikan oleh Sarung Tangan: Tujuan: Dapatkan pengalaman, dan keterampilan memecahkan masalah dengan membuat proyek untuk diselesaikan Garis Besar- Gunakan sarung tangan untuk terhubung melalui arduino untuk mengontrol "lengan" robotik 3-D yang dicetak. Setiap sambungan pada lengan cetak 3-D memiliki servo yang
Menggambar Lengan yang Dikendalikan oleh Suara - Arduino School Project: 4 Langkah (dengan Gambar)
Menggambar Lengan yang Dikendalikan oleh Suara - Proyek Sekolah Arduino: Ini adalah pertama kalinya saya bekerja dengan Arduino, dan bekerja dengan sesuatu seperti ini, jadi maaf jika saya membuat kesalahan! Saya mendapat ide ini ketika saya memikirkan hobi saya, yaitu menggambar dan musik. Jadi saya mencoba menggabungkan keduanya menjadi ini! Sebuah sel
Tangan Robot Nirkabel Dikendalikan oleh Gestur dan Suara: 7 Langkah (dengan Gambar)
Tangan Robot Nirkabel Dikendalikan oleh Gesture dan Suara: Pada dasarnya ini adalah proyek kuliah kami dan karena kurangnya waktu untuk mengirimkan proyek ini, kami lupa untuk mengambil gambar beberapa langkah. Kami juga merancang kode yang dapat digunakan untuk mengontrol tangan robot ini menggunakan gerakan dan suara pada saat yang bersamaan tetapi karena l