Daftar Isi:

RoboGlove: 12 Langkah (dengan Gambar)
RoboGlove: 12 Langkah (dengan Gambar)

Video: RoboGlove: 12 Langkah (dengan Gambar)

Video: RoboGlove: 12 Langkah (dengan Gambar)
Video: Largest Arm Veins Ever?! 💪 #shorts 2024, Juli
Anonim
RoboSarung Tangan
RoboSarung Tangan

Kami adalah sekelompok mahasiswa ULB, Université Libre de Bruxelles. Proyek kami terdiri dari pengembangan sarung tangan robot yang mampu menciptakan kekuatan cengkeraman yang membantu orang meraih sesuatu.

SARUNG TANGAN

Sarung tangan memiliki sambungan kawat yang menghubungkan jari ke beberapa motor servo: sebuah kawat dipasang ke ujung jari dan ke servo, jadi ketika servo berputar, kawat ditarik dan jari ditekuk. Dengan cara ini, dengan mengontrol cengkeraman yang dilakukan oleh pengguna melalui beberapa sensor tekanan di ujung jari, kami dapat menggerakkan motor dengan cara yang terkontrol dan membantu cengkeraman dengan menekuk jari secara proporsional dengan putaran motor dan jadi untuk menggulung kabel. Dengan cara ini kita harus dapat mengizinkan orang yang lemah untuk memegang benda atau membantu bahkan orang yang dalam kondisi fisiologis untuk memegang benda dan menyimpannya tanpa usaha apa pun.

DESAIN

Model telah dikembangkan untuk membuat gerakan tangan sebebas mungkin. Faktanya, kami hanya mencetak 3D bagian yang benar-benar diperlukan yang kami perlukan untuk menghubungkan kabel, motor, dan jari.

Kami memiliki kubah atas yang dicetak di PLA pada setiap jari: ini adalah bagian terminal di mana kabel harus dihubungkan dan harus memberikan perlindungan pada sensor tekanan yang dipasang di dalam. Sensor tekanan direkatkan, dengan lem panas, di antara ekstremitas PLA dan sarung tangan.

Kemudian kami memiliki dua cincin cetak 3D, per jari, yang merupakan panduan untuk kabel. Jempol adalah satu-satunya jari yang hanya memiliki satu cincin tercetak. Ada satu kawat per jari, dilipat dua di ujung jari. Kedua bagian melewati dua pemandu bagian kubah dan di kedua cincin: mereka dimasukkan langsung ke dalam lubang yang kami buat di luar cincin ini. Kemudian mereka disatukan menjadi roda yang terhubung langsung ke motor. Roda telah direalisasikan untuk dapat melilitkan kabel: karena motor kami memiliki putaran yang tidak lengkap (lebih rendah dari 180 °) kami menyadari roda untuk menarik kabel untuk jarak 6 sentimeter yang merupakan jarak diperlukan untuk benar-benar menutup tangan.

Kami juga telah mencetak dua pelat untuk memperbaiki motor servo dan arduino ke lengan. Sebaiknya potong kayu atau plastik kaku dengan pemotong laser.

Langkah 1: Daftar Belanja

Daftar belanja
Daftar belanja
Daftar belanja
Daftar belanja
Daftar belanja
Daftar belanja

Sarung tangan dan kabel:

1 sarung tangan yang ada (harus bisa dijahit)

Jeans tua atau kain kaku lainnya

Kabel nilon

Tabung polietilen densitas rendah (Diameter: 4mm Tebal: 1mm)

Elektronik:

Arduino Uno

1 Baterai 9V + 9V Dudukan baterai

1 saklar elektronik

1 papan luncur

3 motor servo (1 per jari)

3 baling-baling (disediakan dengan servos)

4 Baterai AA + 4 Dudukan Baterai AA

3 sensor tekanan (1 per jari)

3 resistor 330 ohm (1 per jari)

6 kabel listrik (2 per sensor)

Sekrup, mur dan fiksasi:

4 M3 10mm panjang (untuk memperbaiki Arduino)

2 M2.5 12mm panjang (untuk memperbaiki dudukan baterai 9V)

6 kacang yang sesuai

6 M2 10mm panjang (2 per servo untuk memperbaiki roda ke servos)

12 ikatan kabel kecil (untuk memperbaiki pelat dan sakelar)

7 ikatan kabel besar (2 per motor dan 1 untuk 4 dudukan baterai AA)

Alat yang Digunakan:

Printer 3D (Ultimaker 2)

Bahan untuk menjahit

Pistol lem panas

Opsional: pemotong laser

Langkah 2: Siapkan Struktur yang Dapat Dipakai

Siapkan Struktur yang Dapat Dipakai
Siapkan Struktur yang Dapat Dipakai

Struktur yang dapat dikenakan telah dibuat dengan beberapa pakaian: dalam kasus kami, kami menggunakan sarung tangan biasa untuk tukang listrik dan kain jeans untuk struktur di sekitar pergelangan tangan. Mereka dijahit bersama.

Tujuannya adalah untuk memiliki struktur wearable yang fleksibel.

Strukturnya harus lebih kuat dari sarung tangan wol biasa karena harus dijahit.

Kami membutuhkan struktur yang dapat dikenakan di sekitar pergelangan tangan untuk menahan pemasok daya dan aktuator, dan kami membutuhkannya agar stabil, jadi kami memilih untuk membuat penutupnya dapat disesuaikan dengan menerapkan pita Velcro (pita berperekat otomatis) ke pergelangan jins.

Beberapa batang kayu dijahit di bagian dalam untuk membuat jeans lebih kaku.

Langkah 3: Siapkan Bagian Fungsional

Siapkan Bagian Fungsional
Siapkan Bagian Fungsional

Bagian kaku diwujudkan melalui pencetakan 3D di PLA dari file.stl dalam deskripsi:

Finger Ring x5 (dengan skala berbeda: 1x skala 100%, 2x skala 110%, 2x skala 120%);

Jari Ekstremitas x3 (dengan skala berbeda: 1x skala 100%, 1x skala 110%, 1x skala 120%);

Roda untuk motor x3

Untuk bagian jari, sisik yang berbeda diperlukan karena ukuran setiap jari dan phalanx yang berbeda.

Langkah 4: Perbaiki Sensor ke Ekstremitas

Perbaiki Sensor ke Ekstremitas
Perbaiki Sensor ke Ekstremitas

Sensor tekanan pertama-tama disolder ke kabel kabel.

Mereka kemudian direkatkan dengan menggunakan pistol lem di dalam ekstremitas jari: sejumlah kecil lem ditempatkan di dalam ekstremitas, di sisi dengan dua lubang, kemudian sensor segera diterapkan dengan bagian aktif (bulat) di lem (taruh piezoelektrik menghadap bagian dalam struktur dan bagian plastik langsung pada lem). Kabel kabel harus melewati bagian atas jari ke punggungnya, agar kabel listrik berjalan di bagian belakang tangan.

Langkah 5: Perbaiki Bagian Cetakan 3D ke Sarung Tangan

Perbaiki Bagian Cetakan 3D ke Sarung Tangan
Perbaiki Bagian Cetakan 3D ke Sarung Tangan

Semua bagian kaku (ekstremitas, cincin) harus dijahit ke sarung tangan untuk diperbaiki.

Untuk menempatkan cincin dengan benar, pertama-tama kenakan sarung tangan dan coba kenakan cincin, satu per phalanx, tanpa menyentuhnya selama penutupan tangan. Kira-kira, cincin pada telunjuk akan dipasang 5mm di atas pangkal jari dan 17 hingga 20mm di atas yang pertama. Mengenai jari tengah, cincin pertama kira-kira 8 hingga 10mm di atas pangkal jari, dan cincin kedua sekitar 20mm di atas jari pertama. Untuk ibu jari, presisi yang dibutuhkan sangat rendah, karena tidak berisiko mengganggu cincin lainnya, jadi cobalah untuk menerapkannya pada sarung tangan yang sudah usang, buat garis pada sarung tangan di tempat yang Anda inginkan. cincin sehingga Anda bisa menjahitnya.

Mengenai menjahit, tidak diperlukan teknik atau kemampuan khusus. Dengan jarum, benang jahit berputar di sekitar cincin, melewati permukaan sarung tangan. Langkah 3-4mm antara dua lubang di sarung tangan sudah membuat fiksasi yang cukup kuat, tidak perlu membuat jahitan yang sangat padat.

Teknik yang sama diterapkan untuk memperbaiki ekstremitas: bagian atas ekstremitas berlubang untuk membuat jarum lewat dengan mudah, jadi hanya bentuk seperti salib di bagian atas jari yang harus dijahit ke sarung tangan.

Kemudian pemandu polietilen harus diperbaiki juga, dengan mengikuti tiga kriteria:

ujung distal (menghadap jari) harus menghadap ke arah jari, untuk menghindari gesekan tinggi dengan kawat nilon yang akan masuk ke dalamnya;

ujung distal harus cukup jauh agar tidak mengganggu penutupan tangan (sekitar 3cm lebih rendah dari pangkal jari sudah cukup baik, 4 sampai 5cm untuk ibu jari);

tabung harus melewati satu sama lain sesedikit mungkin, untuk mengurangi sebagian besar seluruh sarung tangan dan mobilitas setiap tabung

Mereka diperbaiki dengan menjahitnya ke sarung tangan dan pergelangan tangan, dengan teknik yang sama seperti di atas.

Untuk menghindari risiko meluncur melalui jahitan, beberapa lem ditambahkan di antara tabung dan sarung tangan.

Langkah 6: Siapkan Roda untuk Servos

Siapkan Roda untuk Servos
Siapkan Roda untuk Servos

Kami menggunakan roda yang dirancang khusus, digambar dan dicetak 3D sendiri untuk proyek ini (file.stl dalam deskripsi).

Setelah roda dicetak, kita harus memperbaikinya ke baling-baling servo dengan memasang sekrup (sekrup M2, 10mm). Karena lubang baling-baling lebih kecil dari diameter 2mm dengan memasang M2, tidak diperlukan mur.

3 baling-baling dapat diterapkan pada setiap servo.

Langkah 7: Perbaiki Motor ke Lengan

Perbaiki Motor ke Lengan
Perbaiki Motor ke Lengan

Langkah ini terdiri dari pemasangan motor ke lengan; untuk melakukan itu kami harus mencetak plakat PLA tambahan untuk mendapatkan dukungan.

Sebenarnya motor tidak bisa dipasang langsung ke lengan karena roda, yang diperlukan untuk menarik kabel, bisa terhalang saat bergerak karena sarung tangan. Jadi kami mencetak plakat PLA 3D dengan dimensi 120x150x5 mm.

Kemudian kami memperbaiki plakat ke sarung tangan kami dengan beberapa ikatan kabel: kami membuat beberapa lubang di sarung tangan hanya menggunakan gunting, lalu kami membuat lubang di plakat plastik dengan bor dan menyatukan semuanya. Empat lubang ke dalam plakat diperlukan di tengah, di antara perimeternya, untuk melewati ikatan kabel. Mereka dibuat dengan bor. Ini berada di bagian tengah dan bukan di sisi pelat untuk dapat menutup jeans di sekitar lengan tanpa pelat menghalanginya karena pelat tidak fleksibel.

Kemudian lubang lain juga dibor ke plakat plastik untuk memperbaiki motor. Motor dipasang dengan dua ikatan kabel bersilangan. Beberapa lem ditambahkan di sisi mereka untuk memastikan fiksasi.

Motor harus diletakkan sedemikian rupa sehingga roda tidak saling mengganggu. Jadi ada pemisahan di sisi kiri dan kanan tangan: dua di satu sisi, dengan roda berputar ke arah yang berlawanan dan satu di sisi yang lain.

Langkah 8: Kode di Arduino

Kode di Arduino
Kode di Arduino

Kode telah dikembangkan dengan cara yang sederhana: untuk menggerakkan atau tidak motor. Servo digerakkan hanya jika pembacaan melebihi nilai tertentu (diperbaiki dengan coba-coba karena kepekaan masing-masing sensor tidak persis sama). Ada dua kemungkinan pembengkokan, rendah untuk gaya rendah dan sepenuhnya untuk gaya kuat. Setelah jari ditekuk, tidak ada kekuatan pengguna yang diperlukan untuk menjaga jari pada posisi sebenarnya. Alasan penerapan ini adalah karena jika tidak disebutkan bahwa jari perlu menerapkan gaya secara terus-menerus pada sensor dan sarung tangan tidak memberikan keuntungan apa pun. Untuk melepaskan tekukan jari, gaya baru perlu diterapkan pada sensor tekanan, bertindak sebagai perintah berhenti.

Kita dapat membagi kode menjadi tiga bagian:

Sensor dimulai:

Pertama-tama kami menginisialisasi tiga variabel integer: reading1, reading2, reading3 untuk setiap sensor. Sensor dimasukkan ke input analog A0, A2, A4. Setiap variabel untuk pembacaan diatur seperti:

  • reading1 dimana tertulis nilai read pada input A0,
  • reading2 dimana tertulis nilai read pada input A2,
  • reading3 dimana tertulis nilai read pada input A4

Dua ambang ditetapkan dengan jari yang sesuai dengan dua posisi aktuasi servos. Ambang batas ini berbeda untuk setiap jari karena gaya yang diterapkan tidak sama untuk setiap jari dan sensitivitas ketiga sensor tidak persis sama.

Motor init:

Tiga variabel char (save1, save2, save3), satu untuk setiap motor diinisialisasi pada 0. Kemudian ke dalam pengaturan kami menentukan pin di mana kami memasang motor masing-masing: pin 9, pin 6 dan pin 3 untuk servo1, servo2, servo3; semua diinisialisasi pada nilai 0.

Kemudian servo digerakkan melalui perintah servo.write() yang mampu memperbaiki sudut yang diterima sebagai input pada servo. Juga melalui percobaan dan kesalahan, dua sudut yang baik, yang diperlukan untuk menekuk jari dalam dua posisi yang sesuai dengan pegangan kecil dan pegangan besar, ditemukan.

Karena satu motor perlu berputar ke arah yang berlawanan karena fiksasinya, titik awalnya bukanlah nol tetapi sudut maksimum dan berkurang ketika gaya diterapkan untuk dapat berputar ke arah yang berlawanan.

Tautan antara sensor dan motor:

Pilihan save1, save2, save3 dan reading1, reading2, reading3 tergantung pada penyolderan. Tetapi untuk setiap jari, sensor dan motor yang terkait harus memiliki nomor yang sama.

Kemudian di loop, jika kondisi digunakan untuk menguji apakah jari sudah dalam posisi membungkuk atau tidak dan apakah tekanan diterapkan atau tidak pada sensor. Ketika sensor mengembalikan nilai, gaya perlu diterapkan tetapi dua kasus berbeda mungkin terjadi:

  • Jika jari belum ditekuk, membandingkan nilai yang dikembalikan oleh sensor ke ambang batas, sudut yang sesuai diterapkan ke servo.
  • Jika jari sudah ditekuk, berarti pengguna ingin melepaskan tekukan dan kemudian sudut awal diterapkan ke servos.

Hal ini dilakukan untuk setiap motor.

Kemudian kami menambahkan penundaan 1000 ms untuk menghindari pengujian nilai sensor yang terlalu sering. Jika nilai tunda yang terlalu kecil diterapkan, berisiko membuka kembali tangan secara langsung setelah menutupnya jika gaya diterapkan selama waktu yang lebih lama daripada waktu tunda.

Semua proses untuk satu sensor disajikan dalam diagram alir di atas.

KODE SELURUH

#termasuk Servo servo1; Servo servo2; Servo servo3; int membaca1; int membaca2; int membaca3; char simpan1 = 0; // servo mulai pada keadaan 0, keadaan tidur char save2 = 0; char save3 = 0; void setup(void) { Serial.begin(9600); servo2.attach (9); //servo pada pin digital 9 servo2.write(160); //titik awal untuk servo servo1.attach(6); //servo pada pin digital 6 servo1.write(0); //titik awal untuk servo servo3.attach(3); //servo pada pin digital 3 servo3.write(0); //titik awal untuk servo

}

void loop(void) { read1 = analogRead(A0); //terlampir ke analog 0 reading2 = analogRead(A2); //terlampir ke analog 2 reading3 = analogRead(A4); //terlampir ke analog 4

// if (membaca2 >= 0) { Serial.print("Nilai sensor = "); // Contoh perintah yang digunakan untuk kalibrasi ambang sensor pertama

// Serial.println(membaca2); } //else { Serial.print("Nilai sensor = "); Serial.println(0); }

if (membaca1 > 100 dan save1 == 0){ // jika sensor mendapat nilai tinggi dan tidak dalam keadaan tidur save1 = 2; } // menuju state 2 else if (reading1 > 30 dan save1 == 0){ // jika sensor mendapat nilai sedang dan tidak dalam keadaan sleep save1 = 1; } // harus menyatakan 1 else if (reading1 > 0){ // jika nilainya bukan nol dan tidak ada kondisi sebelumnya yang benar save1 = 0;} // pergi ke keadaan tidur

if (save1 == 0) { servo1.write(160); } // lepaskan else if(save1 == 1){ servo1.write(120); } // sudut tarikan sedang yang lain{ servo1.write(90); } // sudut tarikan maksimum

if (reading2 > 10 dan save2 == 0){ // sama dengan servo 1 save2 = 2; } else if (reading2 > 5 dan save2 == 0){ save2 = 1; } else if (membaca2 > 0){ save2 = 0;}

if (save2 == 0) { servo2.write(0); } else if(save2 == 1){ servo2.write(40); } else{ servo2.write(60); }

if (reading3 > 30 dan save3 == 0){ // sama dengan servo 1 save3 = 2; } else if (membaca3 > 10 dan save3 == 0){ save3 = 1; } else if (bacaan3 > 0){ save3 = 0;}

if (save3 == 0) { servo3.write(0); } else if(save3 == 1){ servo3.write(40); } else{ servo3.write(70); } penundaan(1000); } // tunggu sebentar

Langkah 9: Perbaiki Arduino, Baterai, dan Veroboard ke Lengan

Perbaiki Arduino, Baterai, dan Veroboard ke Lengan
Perbaiki Arduino, Baterai, dan Veroboard ke Lengan
Perbaiki Arduino, Baterai, dan Veroboard ke Lengan
Perbaiki Arduino, Baterai, dan Veroboard ke Lengan

Pelat lain dicetak di PLA untuk dapat memperbaiki dudukan baterai dan arduino.

Pelat memiliki dimensi: 100x145x5mm.

Empat lubang hadir untuk memasang arduino dan dua untuk memasang dudukan baterai 9V. Sebuah lubang dibuat pada dudukan baterai 6V dan di pelat untuk menggunakan pengikat kabel untuk menyatukannya. Beberapa lem ditambahkan untuk memastikan fiksasi dudukan ini. Sakelar dipasang dengan dua ikatan kabel kecil.

Ada juga empat lubang yang digunakan untuk memperbaiki pelat pada jeans menggunakan pengikat kabel.

Veroboard diletakkan di arduino seperti perisai.

Langkah 10: Hubungkan Elektronik

Hubungkan Elektronik
Hubungkan Elektronik

Sirkuit disolder pada veroboard seperti yang dilaporkan dalam skema di atas.

Arduino memiliki baterai 9V sebagai suplai dan sakelar terhubung di antara ini untuk dapat mematikan Arduino. Baterai 6V diperlukan untuk motor servo yang membutuhkan banyak arus dan pin ketiga servo terhubung di pin 3, 6 dan 9 untuk mengontrolnya dengan PWM.

Setiap sensor dihubungkan di satu sisi oleh 5V Arduino dan di sisi lain oleh resistor 330 ohm yang terhubung ke ground dan pin A0, A2 dan A4 untuk mengukur tegangan.

Langkah 11: Tambahkan Kabel Nilon

Tambahkan Kabel Nilon
Tambahkan Kabel Nilon

Kabel nilon dibuat melewati kedua lubang pada ujung dan cincin seperti yang terlihat pada gambar, kemudian kedua bagian kawat akan masuk ke dalam pemandu polietilen dan tetap bersama sampai ujung pemandu, ke motor. Panjang kabel ditentukan pada titik ini, mereka harus cukup panjang untuk melingkari begitu roda servo dengan jari-jari lurus.

Mereka dipasang pada roda dengan simpul melewati dua lubang kecil yang ada pada file.stl dan dengan lem panas untuk stabilisasi tambahan.

Langkah 12: Nikmati

Ini bekerja seperti yang diharapkan.

Pada dorongan pertama ia menekuk jari dan pada dorongan kedua melepaskannya. Tidak ada gaya yang diperlukan ketika jari-jari ditekuk.

Namun demikian tiga masalah yang tersisa:

- Kita harus berhati-hati untuk membuat impuls lebih pendek dari 1 detik untuk menggerakkan servos jika tidak, kabel segera dilepaskan setelah menarik seperti yang dijelaskan pada langkah 8 tentang kode Arduino.

- Bagian plastik sedikit terpeleset sehingga kami menambahkan lem panas di ujungnya untuk menambah gesekan.

- Jika beban berat ada di jari sensor akan selalu bernilai besar sehingga servo akan terus berputar.

Direkomendasikan: