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

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Komponen dan Perlengkapan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Pendahuluan

Saya suka robot arm. Saya suka bahwa Anda hanya butuh beberapa bagian mekanik sederhana, beberapa servo atau motor dan perangkat lunak yang baik dan Anda dapat mendapatkan perangkat yang tidak hanya spektakuler dan menyenangkan tetapi sebenarnya sangat berguna. Saya ingin membuat satu sejak saya memiliki kursus robotika yang saya sukai sangat.

Anda dapat banyak hal ketika Anda membuat robot arm, jadi saya pikir ini adalah proyek tingkat menengah yang bagus untuk memperdalam pengetahuan Anda dalam robotika. Mari kita mulai!

Robot Arm

Anda dapat membeli robot arm dari sekitar 20$. Untuk bereksperimen, saya ingin memulai dengan yang lebih murah. Nanti saya akan membangun atau membeli robot arm yang lebih serius tetapi untuk saat ini saya akan bekerja pada robot arm DIY 25$ ini dari Banggood.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Ini adalah robot arm 4DoF (Derajat Kebebasan), di mana 3 servo digunakan untuk gerakan dan satu untuk efektor (saya menyebutnya gripper dalam proyek). Itu berarti gripper dapat dipindahkan ke posisi mana pun di area tertentu tetapi sudutnya tidak dapat diubah. Ini adalah keterbatasan yang signifikan, tetapi ini masih baik untuk saat ini dan masih baik untuk banyak hal.

Kit DIY datang dengan 4 servo, jadi sebenarnya Anda mendapatkan setiap komponen untuk membangun robot arm kecuali pengontrol. Servo ini tidak buruk, tetapi saya lebih memilih yang ini:

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana
Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Servo ini lebih cepat dari yang biru dan ini menggunakan gigi logam bukan plastik.

Bagian robot datang dalam 4 lembar plastik. Anda harus melepas bagian dari lembar ini.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Kit robot arm terdiri dari banyak bagian. Saya merekomendasikan Anda untuk menonton video berikut. Dalam video ini seorang pria Rusia sedang membangun jenis robot arm yang sama. Bagian pembangunan dimulai pada 7:43.

Saya mendapatkan tautan pada paket tentang cara membangun robot arm, tetapi kualitasnya sangat rendah baik dalam gambar maupun instruksi. Video itu jauh lebih baik. Mungkin Anda dapat mengetahui apa itu apa, tetapi jika Anda melakukan ini Anda akan akhirnya terjebak dalam lingkaran assembly, disassembly, reassembly yang hampir tak terbatas.

Hati-hati sangat-sangat ketika Anda memasukkan servo. Desain ini dengan jenis plastik ini cenderung mudah pecah ketika Anda mengeratkan baut. Ketekunan baut yang optimal juga penting di beberapa bagian lain dari robot. Buat terlalu rapat dan Anda tidak dapat memindahkan segmen robot arm dengan servo.

Setelah beberapa pembangunan, Anda akan akhirnya memiliki robot arm Anda sendiri.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Servo penempatan memiliki kabel yang cukup panjang, tetapi gripper membutuhkan kabel yang jauh lebih panjang. Saya membongkar servo tersebut, mencabut kabel lama dan saya menggunakan kabel yang setidaknya dua kali lebih panjang.

Otak

Baiklah, robot arm siap, tetapi kemungkinan besar Anda ingin mengendalikannya dengan cara apa pun. Saya membutuhkan mikrokontroler untuk itu dan saya memilih Arduino 101 saya untuk pekerjaan ini.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Ini adalah papan Arduino resmi tunggal yang menggunakan mikrokontroler Intel (Intel Curie). Ini memiliki giroskop dan akselerometer bawaan. Ini juga memiliki Bluetooth, jadi itu meninggalkan saya kemungkinan untuk mengontrol robot melalui BLE di masa depan. Fitur sangat berguna lainnya dari papan ini adalah cara komunikasi serial bekerja. Tidak seperti sebagian besar Arduino, serial USB dan UART pada pin 1 dan 0 (TX dan RX) tidak sama. Ini memiliki manfaatnya seperti saya tidak perlu melepaskan sirkuit komunikasi lain dari pin 0 dan 1 saat saya memrogram ulang Arduino. Ini juga berguna untuk tujuan debugging.

Jika Anda ingin menggunakan serial port USB maka Anda harus menggunakan 'Serial' dan jika Anda ingin menggunakan pin GPIO0 dan GPIO1 maka Anda memiliki 'Serial1'

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Arduino 101 memiliki 4 GPIO yang mampu PWM (GPIO3, GPIO5, GPIO6 dan GPIO9) dan saya menggunakan semuanya untuk mengontrol servo.

Komunikasi

Robot arm saya dapat dikendalikan melalui serial (Serial1 untuk spesifik). Saya menggunakan modul komunikasi terbaru saya, WIZ750SR untuk tujuan ini.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Ini adalah modul Ethernet kecil dengan MCU Cortex-M0. Dalam fungsionalitas dasarnya ini adalah modul Serial ke Ethernet, tetapi Anda dapat dengan mudah memrogram ulang modul untuk memenuhi kebutuhan Anda. Anda dapat mengubah papan ini menjadi papan I2C ke Ethernet jika Anda ingin.

Fitur yang sangat keren adalah server TCP papan (atau klien). Menggunakan server TCP, Anda dapat mengontrol Arduino dari jarak jauh, sama seperti yang Anda lakukan melalui serial USB, tetapi dari mana saja di dunia! Di sisi Arduino ini sepenuhnya transparan. Anda tidak perlu menambahkan kode tambahan apa pun ke skets Anda untuk menggunakan modul ini.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Saya juga memiliki papan evaluasi WIZ750SR-TTL-EVB. Saya dapat memasang daya WIZ750SR dan memiliki port USB debug, tetapi saya tidak menggunakannya kecuali beberapa bereksperimen awal.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Kedua Arduino 101 dan WIZ750SR menggunakan 3.3V dan oleh karena itu saya tidak perlu menggunakan level shifting untuk pin TX dan RX. Arduino juga memasang daya modul Ethernet dari pasokan dayanya. Sirkuitnya sangat sederhana dan Anda dapat menemukannya di bagian Skematik proyek ini. Servo memiliki pasokan daya 5V sendiri.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Menyiapkan Modul

Untuk menggunakan papan ini Anda harus mengonfigurasinya terlebih dahulu. Saya tidak akan mendokumentasikan bagian ini lagi karena para pemilik WIZnet sudah melakukannya di sini dan Anda dapat yakin bahwa Anda selalu mendapatkan dokumentasi terbaru di sana.

Dokumentasinya hebat tetapi saya memiliki beberapa informasi yang baik untuk diketahui dan saya mengalami beberapa (yang sudah teratasi) masalah yang layak dibagikan.

Pertama, Anda dapat memasang daya papan dari port USB papan evaluasi, selain itu, port ini digunakan terutama untuk debugging dan flashing. Saya yakin bahwa Anda tidak dapat berkomunikasi dengan server TCP WIZ750SR menggunakan port USB, tetapi Anda akan menerima informasi debug jika Anda terhubung ke port COM ini. Ini menyebabkan saya kebingungan pada awalnya karena saya tidak tahu apa yang harus saya harapkan.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Kedua, jika LED biru menyala saat WIZ750SR terhubung ke jaringan Anda, maka papan Anda harus berfungsi dengan benar, lanjutkan dengan Configuration Tool, seharusnya menemukan papan.

Masalah terbesar saya terjadi pada titik ini saat saya mencoba mencari perangkat di Configuration Tool. Pada kali pertama bekerja dengan luar biasa, tetapi kemudian saya tidak punya waktu jadi saya berhenti di sana. Setelah dua minggu saya mencoba lagi, tetapi tidak dapat menemukan papan lagi di bawah berbagai OS dan komputer di berbagai jaringan.

Saya melakukan reflash melalui port USB debug papan evaluasi dengan firmware terbaru dan itu berhasil. PC Windows saya masih tidak dapat menemukannya, tetapi versi Python di Ubuntu dapat. Saya tidak yakin apa masalahnya, tetapi langkah-langkah ini akhirnya memecahkan masalah saya. Setelah berhasil mengonfigurasi WIZ750SR, PC Windows saya juga dapat menemukannya lagi jadi saya melanjutkan pekerjaan.

Seperti yang saya baca, VM dengan adapter jaringan virtual mereka juga dapat mengacaukan pencarian, jadi jika Anda mengalami masalah dengan pencarian Anda harus melihat itu.

Alat yang bagus untuk menguji komunikasi TCP adalah NetCat. Menggunakan perangkat lunak ini Anda dapat terhubung ke server TCP pada WIZ750SR. Setelah Anda menginstal NetCat gunakan perintah ini untuk terhubung:

nc [tcp_server_ip] [tcp_server_port] 

Setelah itu Anda dapat langsung mengirim dan menerima data dari WIZ750SR. Saya menggunakan alat ini banyak.

Gerak dari A ke B

Untuk menggerakkan robot arm, Anda harus memberitahu pengontrol apa yang Anda inginkan. Cara termudah adalah langsung memperbarui semua sudut servo. Memperbarui sudut sendi dapat dilakukan dengan beberapa coba dan kesalahan dan itu sebenarnya bisa berfungsi dengan baik.

Dalam proyek robot arm saya selanjutnya saya akan menggunakan kinematika balik untuk mengontrol robot arm dengan koordinat dunia, tetapi untuk saat ini saya akan mengontrol robot hanya menggunakan sudut sendi.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Kecepatan sistem adalah poin kunci di sini. Servo sangat cepat tetapi mereka masih membutuhkan waktu untuk mencapai posisi yang diterima. Di sisi lain, kabel jumper tidak suka gerakan yang sangat cepat, jadi saya harus melambatkan hal-hal. Baik pada bagian perangkat keras dan perangkat lunak.

Saya melakukan ini dengan membuat perhitungan jalur untuk sistem dan memasukkan penundaan. Ketika Anda mengirim sudut sendi baru untuk robot arm, Anda harus menyediakan parameter tambahan: kecepatan (mDelay). Dasarnya Anda memberitahu pengontrol robot arm waktu minimum langkah loop. Kalkulator jalur akan menghitung ukuran langkah opsional untuk setiap servo penempatan. Itu berarti semua servo akan mencapai tujuan mereka pada waktu yang hampir sama dan kecepatan tergantung pada penundaan. Hasilnya adalah gerakan linear yang sangat halus dan mulus setiap kali.

Efektor bekerja dengan cara yang berbeda. Dasarnya hanya dapat memiliki keadaan terbuka atau tertutup (dengan 3 tingkat kekuatan tertutup berbeda), tanpa transisi halus. Tentu saja Anda akan ingin meraih objek secepat mungkin, sementara bergerak harus halus dan bagus.

Saat ini ada 2 jenis perintah dalam sistem ini. Berikut adalah contoh untuk keduanya:

Aplikasi Android untuk Kontrol Jarak Jauh

Baiklah, jadi pada titik ini saya dapat mengontrol robot arm dari mana saja di dunia, tetapi saya harus menuliskan setiap perintah baru secara manual. Ini tidak menyenangkan dengan cara ini. Saya membutuhkan cara yang lebih ramah pengguna untuk mengontrol robot arm, jadi saya membuat aplikasi Android untuk melakukan itu.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Aplikasi memiliki klien TCP, jadi dapat terhubung langsung ke server TCP WIZ750SR. Robot arm tidak menyimpan plot untuk gerakan lama dan masa depan. Ia hanya tahu posisi tujuan saat ini. Itu berarti aplikasi tidak akan hanya mengirim seluruh plot gerakan ke robot arm, tetapi akan secara berkala mengirim posisi baru ke robot arm, berdasarkan umpan balik posisi. Jika Anda menutup aplikasi atau terputus dari WIZ750SR, maka robot arm akan berhindgerger begitu mencapai posisi terakhir yang diterima.

Setelah Anda terhubung ke robot arm, Anda akan tiba di layar Konfigurasi. Ini berisi 3 halaman. Pertama adalah Run (selanjutnya lebih lanjut), yang kedua adalah Init dan yang ketiga adalah Loop. Init dan Loop pada dasarnya sama, perbedaanya satu-satunya adalah tempat mereka menyimpan posisi.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Layar berisi 4 seek bar dan tombol gripper selain tombol simpan. Slider ini digunakan untuk mengatur posisi dan kecepatan gerakan, sementara tombol gripper digunakan untuk membuka atau menutup efektor. Semua perubahan seketika, jadi Anda akan melihat posisi baru pada robot arm segera, namun Anda harus klik tombol simpan untuk menambahkannya ke plot. Berikut adalah demonstrasi singkat tentangnya:

Jika Anda mengubah baik keadaan gripper maupun posisi robot arm, maka itu akan disimpan sebagai dua perintah yang berbeda. Perintah gripper pertama dan kemudian perintah posisi.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Seperti yang Anda dugar, eksekusi plot akan dimulai dengan init. Init dan loop bekerja sama seperti fungsi setup dan loop Arduino. Init bagus untuk gerakan yang tidak akan diulang lagi. Setelah perintah init selesai, perintah loop akan mengikuti. Perintah loop akan diulang selamanya, atau setidaknya sampai Anda menghentikan plot. Jika Anda tidak memerlukan loop atau init, Anda hanya biarkan bidang tersebut kosong.

Bidang-bidang ini adalah bidang EditText, berarti Anda dapat mengedit atau menghapus isinya dengan mudah. Jika Anda tidak ingin menggunakan slider Anda dapat menulis perintah secara manual. Anda juga dapat menyalin dan menempel plot. Aplikasi akan mengingat plot terakhir yang Anda jalankan untuk digunakan nanti.

Baris pertama di bawah "Konfigurasi" digunakan sebagai umpan balik visual untuk pengujian. Bagian kiri menunjukkan posisi tujuan terbaru untuk robot arm (S - terkirim), sementara bidang kanan adalah posisi saat ini (R - diterima). Aplikasi akan mengirim posisi tujuan baru ke robot arm begitu posisi tujuan dan posisi saat ini sama.

Seperti yang Anda lihat, ketika hanya ada init, robot arm berhenti segera setelah menyelesaikan perintah init.

Dengan aplikasi saya, Anda dapat melakukan beberapa hal, tetapi ada banyak kemungkinan untuk perbaikan di masa depan. Saya berencana untuk menggunakan fungsi, kontrol bersyarat, loop dengan argumen, dll dalam plot.

Jika Anda ingin membangun robot yang serupa, Anda dapat menemukan baik kode Arduino dan aplikasi Robot Arm Controller di bagian Kode proyek ini.

Hasil

Saya menggunakan baik perintah init dan loop dan itu memungkinkan saya untuk melakukan beberapa tugas yang cukup kompleks. Berikut adalah video tentang bagaimana robot arm saya menyiapkan beberapa bebek karet (init) lalu mulai memindahkannya satu per satu di sekitar dirinya, selamanya (loop).

Seperti yang Anda lihat jika Anda mempertimbangkan bahwa ini adalah robot arm yang sangat murah dengan keterbatasan perangkat keras yang serius, gerakannya sangat halus, berkelanjutan dan akurat.

Kesimpulan

Perangkat lunak saya bekerja sangat baik dan di masa depan saya pasti akan bekerja untuk meningkatkan robot arm ini, atau saya akan membangun yang lebih canggih. Saya mencapai semuanya yang saya rencanakan untuk proyek ini dan tanpa masalah pemblokiran yang serius.

Arduino 101 bagus untuk tujuan ini. Keterbatasan tunggal papan adalah hanya 4 GPIO yang mampu PWM. Ini mungkin menjadi masalah di masa depan jika saya membangun robot arm baru dengan lebih banyak derajat kebebasan, tetapi serial USB terpisah dan serial GPIO sangat berguna selama pengembangan dan papan ini juga dapat menyediakan banyak daya komputasi.

Saya pikir aplikasi Android adalah ide yang bagus, namun saya akan harus membuatnya lebih andal, ramah pengguna dan meningkatkan fungsionalitasnya. Ini versi alpha saat ini.

WIZ750SR adalah kejutan yang sangat menyenangkan. Saya takut saya akan mengalami lebih banyak masalah dengan papan ini, tetapi setelah konfigurasi, itu bekerja dengan sempurna. Ini sepenuhnya transparan dan saya nol masalah dengannya. Ini adalah perangkat yang sangat mudah digunakan dan modul Ethernet terbaik yang pernah saya gunakan dengan mikrokontroler saya.

Bekerja dengan robot arm sangat menyenangkan, jadi saya pasti akan mempelajari lebih banyak tentang itu dan kemudian membagikan pengetahuan saya dengan Anda di masa depan! Terima kasih telah membaca!

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Kode

Arduino Web Editor

Anda dapat menggunakan Arduino Web Editor untuk mengakses dan langsung mengunggah kode Arduino proyek saya

Kode Arduino dan Android

https://github.com/abysmalsb/Robot-Arm-Controller

Skematik

Saat ini sistem menggunakan dua sumber daya terpisah. Satu dari port USB Arduino dan sumber 5V lain yang digunakan untuk menggerakkan servo.

Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana

Proses manufaktur

  1. Membuat Robot Raspberry Pi yang Dikontrol Bluetooth dengan Umpan Balik Suara
  2. Robot yang Dikontrol Gestur dengan Raspberry Pi
  3. Membangun Robot Dikontrol Ucapan dengan Windows 10 IoT Core pada Raspberry Pi 2
  4. Membangun Robot Raspberry Pi Dikontrol Wi‑Fi dengan Python – Panduan Langkah demi Langkah
  5. ROObockey: Robot Hoki Jalan Pintar Dikontrol Jarak Jauh dengan Bantuan Presisi
  6. Robot SCARA Dual Lengan: Solusi Assembly dan Produksi Canggih
  7. MeArm Robot Arm V1.0 – Buat Lengan Robot Berbasis Arduino & Raspberry Pi
  8. Kendalikan LED dengan Alexa melalui Raspberry Pi – Panduan Langkah demi Langkah yang Mudah
  9. Kit Lengan Robot 6-DoF Berbasis Arduino dengan Pengendali Nunchuk
  10. Membangun Robot Kendali Suara dengan Arduino Nano