Isi kandungan:

Lengan prostetik Bekerja dengan Myosensor: 8 Langkah
Lengan prostetik Bekerja dengan Myosensor: 8 Langkah

Video: Lengan prostetik Bekerja dengan Myosensor: 8 Langkah

Video: Lengan prostetik Bekerja dengan Myosensor: 8 Langkah
Video: Lengan Prostetik Robotika Untuk Disabilitas | Kabar Dunia tvOne 2024, November
Anonim
Image
Image

Projek ini adalah pengembangan lengan prostetik untuk orang yang diamputasi. Matlamat projek ini adalah penciptaan lengan prostetik yang berpatutan untuk orang yang tidak mampu menggunakan profesional.

Oleh kerana projek ini masih dalam fasa prototaip, ia akan menjadi lebih baik kerana sekarang ia hanya dapat membuka dan menutup telapak tangan yang dapat mengambil barang! Walaupun begitu, ini adalah lengan prostetik DIY yang boleh dilakukan di rumah atau di makmal fab tempatan.

Langkah 1: Bahan, Alat dan Mesin Diperlukan

Mesin:

  1. Pencetak 3D
  2. Pemotong Laser
  3. Mesin CNC Desktop

Alat:

  1. Pancing
  2. Filamen 3mm
  3. Gerudi
  4. Superglue
  5. Tang lubang
  6. Multimeter
  7. Stesen Pematerian
  8. Lilin yang boleh dimesin
  9. Silikon untuk acuan

Bahan:

  1. Lembaran tembaga
  2. 1x ATMEGA328P-AU
  3. Kristal 1x 16MHz
  4. Perintang 1x 10k
  5. Kapasitor 2x 22pF
  6. Kapasitor 1x 10uF
  7. Kapasitor 1x 1uF
  8. Kapasitor 1x 0.1uF
  9. 1x Myosensor
  10. Motor servo mikro 5x
  11. 1x Arduino UNO

Perisian:

  1. Arduino IDE
  2. Fusion360
  3. Cura
  4. Helang
  5. GIMP

Langkah 2: Reka Bentuk 2D & 3D

Reka Bentuk 2D & 3D
Reka Bentuk 2D & 3D
Reka Bentuk 2D & 3D
Reka Bentuk 2D & 3D
Reka Bentuk 2D & 3D
Reka Bentuk 2D & 3D

Reka Bentuk 3D

Langkah pertama adalah merancang jari, telapak tangan dan lengan bawah lengan prostetik dengan mengambil kira elektronik yang akan masuk di lengan prostetik. Sejujurnya, saya menggunakan asas projek inmoov sumber terbuka dan saya bermula dari sana.

Telapak tangan adalah bahagian yang sukar untuk dirancang kerana jari harus mempunyai nisbah yang berbeza di antara mereka. Jadi:

Jari: Saya memuat turun jari dari projek inmoov.

Telapak tangan:

  1. Saya mula-mula merangka susun atur telapak tangan dan mengusirnya.
  2. Kemudian saya membuat lubang untuk sambungan jari dan lengan bawah menggunakan lakaran, perintah potong dan perintah fillet.
  3. Selepas itu, saya harus membuat tiub agar saya dapat melewati tali pancing sehingga saya dapat mengawal jari melalui motor.
  4. Terakhir, lubang harus ditambahkan di dalam telapak tangan sehingga penutupan telapak tangan dapat dilakukan ketika tali pancing ditarik.

Lengan:

  1. Dalam pesawat yang berbeza, saya membuat dua lakaran dan menggunakan perintah elips. Saya menggunakan perintah loft selepas untuk membuat bentuk yang diinginkan.
  2. Setelah itu, perintah shell digunakan untuk membuatnya berlubang dan perintah split untuk memotongnya sehingga saya dapat merancang di dalamnya dan untuk aksesibilitas terbaik ketika saya memasang elektronik saya di dalamnya.
  3. Sketsa juga dibuat di dekat pergelangan tangan, diekstrusi dan disambungkan dengan lengan bawah sehingga boleh bersambung dengan telapak tangan.
  4. Mempunyai keterlihatan untuk merancang di dalam lengan bawah, saya membuat lakaran dalam dimensi lima motor yang akan saya gunakan, satu untuk setiap jari, dan PCB (papan litar bercetak) yang akan saya gunakan. Saya kemudian mengekstrusi mereka sehingga mencapai ketinggian yang diingini dan memadam bahagian yang tidak diperlukan di bahagian belakang silinder menggunakan ruang belakang.
  5. Terakhir, bukaan untuk bolt dirancang, dengan cara yang tidak begitu terlihat pada keseluruhan reka bentuk, agar lengan bawah dapat ditutup menggunakan perintah yang serupa seperti di atas.

Selesai reka bentuk, saya memilih setiap badan dan memuat turunnya sebagai fail.stl dan saya 3D mencetaknya secara berasingan.

Reka Bentuk 2D

Oleh kerana saya mahu tali pancing saya dipisahkan semasa mereka dikendalikan oleh motor, saya memutuskan untuk membuat slot panduan untuk mereka. Untuk ini, saya tidak semestinya merancang sesuatu yang baru tetapi menggunakan elips yang lebih kecil ketika saya menggunakan perintah loteng untuk membuat lengan bawah.

Saya mengeksport lakarannya sebagai fail.dxf setelah saya menggunakan pemotong laser. Selepas bentuk yang saya mahukan, saya menggerudi lubang 0.8mm di dalam slot yang saya rasa perlu.

Langkah 3: Percetakan 3D

Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D

Setelah mengeksport setiap fail stl, saya menggunakan Cura untuk menghasilkan kod.g dari pelbagai bahagian jari, telapak tangan dan lengan bawah. Tetapan yang digunakan digambarkan pada gambar di atas. Bahan bahagian bercetak 3D adalah PLA.

Langkah 4: Moulding dan Casting

Pengacuan dan Pemutus
Pengacuan dan Pemutus
Pengacuan dan Pemutus
Pengacuan dan Pemutus
Pengacuan dan Pemutus
Pengacuan dan Pemutus

Tujuan penutupan telapak tangan adalah agar lengan prostetik mempunyai cengkaman yang lebih kuat kerana PLA mungkin licin.

Reka Bentuk 3D

  1. Dengan menggunakan lakaran telapak tangan yang sudah ada, saya cuba meniru telapak tangan kami dengan merancang jenis bulatan ke arahnya menggunakan arahan busur.
  2. Selepas itu, saya mengekstrusi mereka pada ketinggian yang berbeza dan menggunakan arahan fillet untuk melicinkan tepi "bulatan" bahagian dalam.
  3. Kemudian, saya merancang kotak dengan dimensi yang sama dengan lilin mesin saya dan saya meletakkan negatif reka bentuk saya di sana menggunakan potongan pada perintah gabungan.

Proses CAM

Setelah reka bentuk siap digiling menggunakan mesin CNC desktop, saya terpaksa menghasilkan gcode untuk itu. Dalam kes saya, saya menggunakan mesin CNC Roland MDX-40!

  1. Pertama, saya memasuki persekitaran CAM Fusion360.
  2. Kemudian, saya memilih "persediaan baru" pada menu persediaan.
  3. Saya memilih parameter yang tepat (lihat gambar) dan menekan ok.
  4. Seterusnya, di bawah menu 3D, saya memilih penjelasan adaptif dan memilih parameter yang tepat setelah memasukkan alat yang saya gunakan seperti yang ditunjukkan dalam gambar.
  5. Terakhir, saya memilih penjelasan adaptif dan mengklik proses pengeposan. Saya memastikannya untuk mesin roland mdx-40 dan mengklik ok untuk mendapatkan gcode.
  6. Selepas itu, saya menggiling blok lilin mengikut reka bentuk saya menggunakan mesin.

Melemparkan Silikon

  1. Pertama, saya mencampurkan dua larutan silikon dengan berhati-hati agar tidak menyebabkan gelembung udara, mengikuti lembaran data (pautan yang terdapat pada bahan), dengan mengambil kira nisbah pencampuran, jangka hayat periuk dan masa demould.
  2. Kemudian, saya mencurahkannya ke dalam acuan saya dari titik terendah untuk memastikan titik kontak tetap stabil dan diameter larutan yang dicurahkan setipis mungkin, untuk mengelakkan gelembung udara.
  3. Setelah memasukkan silikon ke dalam acuan saya, saya harus memastikan tidak ada gelembung udara di dalamnya, jadi saya menggeletar acuan menggunakan gerudi dengan paku serong.
  4. Terakhir, kerana saya lupa melakukannya dalam reka bentuk saya, saya menebuk lubang ke dalam silikon saya setelah siap, menggunakan tang lubang, dengan cara yang sesuai dengan lubang yang terdapat di permukaan telapak tangan.

Langkah 5: Reka Bentuk dan Pengeluaran Elektronik

Reka Bentuk dan Pengeluaran Elektronik
Reka Bentuk dan Pengeluaran Elektronik
Reka Bentuk dan Pengeluaran Elektronik
Reka Bentuk dan Pengeluaran Elektronik
Reka Bentuk dan Pengeluaran Elektronik
Reka Bentuk dan Pengeluaran Elektronik

Untuk merancang papan saya dan memahami apa yang berlaku di pin mikrokontroler, saya harus membaca lembaran data daripadanya. Sebagai PCB asas, saya menggunakan satshakit mikro dan kemudian saya mengubahnya mengikut keperluan sistem saya.

Oleh kerana satshakit adalah papan berasaskan arduino DIY, saya dapat mengubahnya mengikut carian untuk sambungan bahagian saya dengan arduino. Oleh itu, myosensor menyambung ke arduino menggunakan satu pin GND, satu pin VCC dan satu pin analog. Manakala, satu motor servo menggunakan satu pin GND, satu pin VCC dan satu pin PWM. Oleh itu, saya terpaksa mendedahkan enam pin GND dan VCC dengan mengambil kira kuasa papan, satu analog dan lima pin PWM. Juga, saya harus mempertimbangkan untuk mendedahkan pin untuk pengaturcaraan papan (yang MISO, MOSI, SCK, RST, VCC dan GND).

Langkah yang saya ambil adalah:

  1. Pertama, saya memuat turun fail helang mikro-satshakit.
  2. Seterusnya, saya mengubahsuai micro-satshakit mengikut keperluan saya menggunakan Eagle. Panduan cara menggunakan Eagle boleh didapati di sini dan di sini.
  3. Setelah meng-rooting papan saya, saya mengeksportnya sebagai fail-p.webp" />

Setelah mempunyai jalan dalaman dan luaran papan saya sebagai png, sudah tiba masanya untuk menghasilkan gcode mereka agar dapat mengolahnya di mesin cnc desktop roland mdx-40. Untuk penjanaan kod.g saya menggunakan modul fab. Tetapan yang harus ditetapkan dalam modul fab dan terdapat di sini.

Terakhir, saya menyolder semua yang saya perlukan mengikut papan helang saya. Gambar skema dan papan pemateri boleh didapati di atas.

Sebab untuk membuat Papan PCB saya sendiri dan bukannya menggunakan Arduino UNO adalah ruang yang saya simpan ketika menggunakan papan saya sendiri.

Langkah 6: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Oleh itu, setelah jari dicetak:

  1. Saya terpaksa menggerudi lubang dalam dengan gerudi diameter 3.5mm dan lubang luar dengan gerudi diameter 3mm. Lubang di dalam bermaksud bahagian bahawa apabila bahagian-bahagiannya disambungkan adalah dari lubang dalam dan luar, bahagian yang apabila disambungkan adalah dari luar.
  2. Selepas itu saya perlu membuat superglue pertama dengan jari kedua dan yang ketiga dengan jari keempat.
  3. Selepas itu, saya menghubungkan bahagian 1 + 2 dengan 3 + 4 dengan 5 melalui lubang kecil menggunakan filamen dengan diameter 3mm.
  4. Akhir sekali, jari-jari itu siap dipasang dengan telapak tangan dan kemudian dengan lengan bawah.

Jadi, sudah tiba masanya untuk melewati pancing melalui jari.

Satu garis bergerak dari sebelah belakang jari melalui paip pada penyambung telapak tangan dan ke lengan bawah dan garis lain bergerak dari bahagian depan jari ke lubang di bahagian dalam telapak tangan dan ke lengan bawah

Catatan khas adalah melewati tali pancing melalui sekeping kayu yang mempunyai lubang kepadanya dengan diameternya dan membuat simpulan. Jika tidak apabila garisan ditarik, ia mungkin jatuh ke jari, yang berlaku kepada saya tidak kira berapa banyak simpulan yang saya buat.

  • Setelah tali pancing melewati jari, telapak tangan dan lengan bawah harus disambungkan oleh beberapa baut bot cetak 3D,
  • Saya melewati garis lagi melalui slot lubang potong laser untuk memisahkannya dan kemudian menghubungkannya ke motor servo.
  • Memasang pancing ke kedudukan yang betul servo agak mencabar. Tetapi, apa yang saya lakukan ialah mengambil kedudukan jari yang ekstrem dan menghubungkannya ke posisi servo yang paling ekstrem.
  • Setelah saya menjumpai kedudukan yang betul, saya menggerudi lubang ke slot khas untuk servo dan memusingkan servo ke tempat yang betul memastikan bahawa dua servo itu sedikit tinggi dari yang lain, jika tidak, mereka akan bertembung semasa operasi mereka.

Langkah 7: Pengaturcaraan

Pengaturcaraan
Pengaturcaraan

Sebelum menulis program, saya harus membuat micro-satshakit yang diubahsuai dapat diprogramkan. Untuk melakukan itu, saya harus mengikuti langkah-langkah di bawah:

  1. Sambungkan Arduino Uno ke komputer.
  2. Pilih port yang betul dan papan Arduino Uno di bawah alat.
  3. Di bawah> Fail> Contoh, cari dan buka lakaran "ArduinoISP".
  4. Muat naik lakaran ke Arduino.
  5. Putuskan sambungan Arduino dari komputer.
  6. Sambungkan papan dengan Arduino mengikuti skema dalam gambar.
  7. Sambungkan Arduino ke komputer.
  8. Pilih papan "Arduino / Genuino Uno" dan pengaturcara "Arduino sebagai ISP".
  9. Klik ke> Alat> Burn Bootloader.
  10. Setelah bootloader berjaya dilakukan, kami dapat menulis program kami:

// termasuk perpustakaan yang saya gunakan untuk motor servo

#include #include SoftwareSerial mySerial (7, 8); #tentukan MYO_PIN A0 int sensorValue; voltan apungan; // lantik nama untuk servo saya VarSpeedServo servo1; VarSpeedServo servo2; VarSpeedServo servo3; VarSpeedServo servo4; VarSpeedServo servo5; #define PINKY 5 #define PINKY_PIN 10 #define RINGFINGER 4 #define RINGFINGER_PIN 9 #define MIDDLE 3 #define MIDDLE_PIN 3 #define INDEX 2 #define INDEX_PIN 5 #define THUMB 1 #define THUMB_); // pin yang saya pasangkan servo1.attach motor saya (THUMB_PIN); servo2.attach (INDEX_PIN); servo3.attach (MIDDLE_PIN); servo4.attach (RINGFINGER_PIN); servo5.attach (PINKY_PIN); kedudukan lalai (THUMB, 40); defaultPosition (INDEX, 40); defaultPosition (MIDDLE, 40); defaultPosition (RINGFINGER, 40); kedudukan lalai (PINKY, 40); mySerial.begin (9600); mySerial.print ("Memulakan…"); } gelung void () {sensorValue = analogRead (A0); voltan = sensorValue * (5.0 / 1023.0); mySerial.println (voltan); kelewatan (100); jika (voltan> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (TENGAH, 60); closePosition (INDEX, 60); closePosition (THUMB, 60); } lain {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (TENGAH, 60); openPosition (INDEX, 60); openPosition (THUMB, 60); }} batal defaultPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (90, _speed, true); lain jika (jari == RINGFINGER) servo4.write (70, _speed, true); lain jika (jari == TENGAH) servo3.write (20, _speed, true); lain jika (jari == INDEX) servo2.write (20, _speed, true); lain jika (jari == THUMB) servo1.write (20, _speed, true); } batal tutupPosisi (jari uint8_t, uint8_t _speed) {if (jari == PINKY) servo5.write (180, _speed, true); lain jika (jari == RINGFINGER) servo4.write (180, _speed, true); lain jika (jari == MIDDLE) servo3.write (180, _speed, true); lain jika (jari == INDEX) servo2.write (180, _speed, true); lain jika (jari == THUMB) servo1.attach (180, _speed, true); } batal openPosition (jari uint8_t, uint8_t _speed) {if (jari == PINKY) servo5.write (0, _speed, true); lain jika (jari == RINGFINGER) servo4.write (0, _speed, true); lain jika (jari == MIDDLE) servo3.write (0, _speed, true); lain jika (jari == INDEX) servo2.write (0, _speed, true); lain jika (jari == THUMB) servo1.write (0, _speed, true); } // Setelah menulis program, kami memuat naiknya ke papan dengan> Sketsa> Muat naik menggunakan Programmer // Sekarang anda boleh melepaskan satshakit mikro dari arduino anda dan menghidupkannya melalui power bank // Dan voila !! Anda mempunyai lengan palsu

Disyorkan: