Mundarija:

Miyosensor bilan ishlaydigan protez qo'l: 8 qadam
Miyosensor bilan ishlaydigan protez qo'l: 8 qadam

Video: Miyosensor bilan ishlaydigan protez qo'l: 8 qadam

Video: Miyosensor bilan ishlaydigan protez qo'l: 8 qadam
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Iyun
Anonim
Image
Image

Bu loyiha amputatsiya qilingan odamlar uchun protez qo'lni ishlab chiqishdir. Loyihaning maqsadi - professional qo'lini olmaydigan odamlar uchun arzon protez qo'lini yaratish.

Bu loyiha hali ham prototiplash bosqichida bo'lgani uchun, har doim ham yaxshi bo'lishi mumkin, chunki hozircha faqat kaftni ochish va yopish mumkin, u narsalarni ushlab olishi mumkin! Shunga qaramay, bu uyda yoki mahalliy fab laboratoriyasida bajariladigan DIY protez qo'l.

1 -qadam: Kerakli materiallar, asboblar va mashinalar

Mashinalar:

  1. 3D printer
  2. Lazerli kesuvchi
  3. Ish stoli CNC mashinasi

Asboblar:

  1. Baliq ovlash liniyasi
  2. 3 mm filament
  3. Matkap
  4. Super yopishtiruvchi
  5. Teshik qisqichlari
  6. Multimetr
  7. Lehimlash stantsiyasi
  8. Qayta ishlanadigan mum
  9. Formalar uchun silikon

Materiallar:

  1. Mis varaq
  2. 1x ATMEGA328P-AU
  3. 1x 16 MGts kristalli
  4. 1x 10k qarshilik
  5. 2x 22pF kondansatörler
  6. 1x10uF kondansatör
  7. 1x 1uF kondansatör
  8. 1x 0,1uF kondansatör
  9. 1 x Myosensor
  10. 5x mikro servo motorlar
  11. 1 ta Arduino UNO

Dasturiy ta'minot:

  1. Arduino IDE
  2. Fusion360
  3. Kura
  4. Burgut
  5. GIMP

2 -qadam: 2D va 3D dizayni

2D va 3D dizayni
2D va 3D dizayni
2D va 3D dizayni
2D va 3D dizayni
2D va 3D dizayni
2D va 3D dizayni

3D dizayn

Birinchi qadam, protez qo'lning barmoqlari, kaftlari va bilaklarini, protez qo'liga tushadigan elektronikani hisobga olgan holda tuzish edi. Rostini aytsam, men ochiq manbali inmoov loyihasini asos sifatida ishlatganman va shu erdan boshlaganman.

Kaftni loyihalash juda qiyin, chunki barmoqlar orasidagi nisbat har xil bo'lishi kerak. Shunday qilib:

Barmoqlar: Inmoov loyihasidan barmoqlarni yukladim.

Kaft:

  1. Men avval kaftning sxemasini chizdim va uni ekstrudirovka qildim.
  2. Keyin men eskizlar, kesish va fileto buyrug'i yordamida barmoq va bilakning ulanishi uchun teshiklar qildim.
  3. Shundan so'ng, men barmoqlarni dvigatellar orqali boshqarish uchun baliq ovlash liniyalaridan o'tib ketishim uchun quvurlar yasashim kerak edi.
  4. Nihoyat, kaftning ichiga teshiklar qo'shilishi kerak edi, shunda baliq ovlash chizig'i tortilganda kaftning yopilishi mumkin edi.

Bilak:

  1. Turli tekisliklarda men ikkita eskiz yaratdim va ellips buyrug'idan foydalandim. Men kerakli shaklni yaratish uchun loft buyrug'ini ishlatganman.
  2. Shundan so'ng, qobiq buyrug'i uni ichi bo'sh qilib qo'yish uchun ishlatilgan va men uni ikkiga bo'lishim kerak edi, shunda men o'zim dizayn qila olaman va elektron qurilmani ichkariga o'rnatganimda eng qulay foydalanish uchun.
  3. Shuningdek, bilak yaqinida eskiz yasalgan, u ekstrudirovka qilingan va kaft bilan bog'lanishi uchun asosiy bilak bilan biriktirilgan.
  4. Bilak ichida dizaynni ko'rish imkoniga ega bo'lib, men ishlatadigan beshta dvigatelning o'lchamlarini, har bir barmog'imdan bittasini va men foydalanadigan tenglikni (bosilgan elektron platani) yaratdim. Keyin men ularni kerakli balandlikka yetguncha siqib chiqardim va orqadagi bo'sh joy yordamida silindrning orqa qismidagi keraksiz qismlarni o'chirdim.
  5. Nihoyat, murvatlarning teshiklari bilakni yuqoridagi kabi buyruqlar yordamida yopilishi uchun umumiy dizaynda ko'rinmaydigan qilib yaratilgan.

Dizaynni tugatgandan so'ng, men har bir tanani tanladim va uni.stl fayli sifatida yukladim va men ularni 3D -da alohida chop etdim.

2D dizayn

Men baliq ovlash liniyalarini dvigatellar boshqarayotgan paytda ajratilishini xohlaganim uchun, men ular uchun yo'naltiruvchi uyalar yasashga qaror qildim. Buning uchun men, albatta, yangi narsa ishlab chiqishga hojat yo'q edi, lekin bilagini yaratish uchun loft buyrug'idan foydalanganda kichikroq ellipsni ishlatardim.

Men lazerni ishlatganimdan so'ng uning eskizini.dxf fayli sifatida eksport qildim. Men kerakli shaklga ega bo'lganimdan so'ng, men kerakli teshikning ichida 0,8 mm teshik ochdim.

3 -qadam: 3D bosib chiqarish

3D bosib chiqarish
3D bosib chiqarish
3D bosib chiqarish
3D bosib chiqarish
3D bosib chiqarish
3D bosib chiqarish
3D bosib chiqarish
3D bosib chiqarish

Har bir stl faylini eksport qilgandan so'ng, men barmoqlar, kaft va bilakning turli qismlarining.gcode -ni yaratish uchun Cura -dan foydalandim. Amaldagi sozlamalar yuqoridagi rasmlarda ko'rsatilgan. 3D bosilgan qismlarning materiali - PLA.

4 -qadam: quyish va quyish

Kalıplama va quyma
Kalıplama va quyma
Kalıplama va quyma
Kalıplama va quyma
Kalıplama va quyma
Kalıplama va quyma

Xurmo quyilishining maqsadi - protez qo'lni mustahkamroq ushlab turishi, chunki PLA silliq bo'lishi mumkin.

3D dizayn

  1. Oldindan mavjud bo'lgan kaftning eskizidan foydalanib, men kamon buyrug'i yordamida qandaydir doiralar yasab, kaftimizni taqlid qilishga urindim.
  2. Shundan so'ng, men ularni turli balandliklarda siqib chiqardim va fileto buyrug'i yordamida ichki "doiralar" ning qirralarini tekisladim.
  3. Keyin men ishlov beriladigan mumi bilan bir xil o'lchamdagi qutini loyihalashtirdim va kombayn buyrug'idagi kesish yordamida o'z dizaynimning salbiyini qo'ydim.

CAM jarayoni

Dizaynni CNC ish stoli yordamida frezalashga tayyor bo'lgandan so'ng, men buning uchun gcode yaratishim kerak edi. Menimcha, men Roland MDX-40 CNC mashinasidan foydalanardim!

  1. Birinchidan, men Fusion360 CAM muhitiga kirdim.
  2. Keyin men sozlash menyusida "yangi sozlash" ni tanladim.
  3. Men to'g'ri parametrlarni tanladim (rasmlarga qarang) va OK tugmasini bosdim.
  4. Keyinchalik, 3D menyusi ostida men moslashtiruvchi tozalashni tanladim va rasmda ko'rsatilgandek ishlatilgan asbobni kiritgandan so'ng to'g'ri parametrlarni tanladim.
  5. Nihoyat, men moslashuvchan tozalashni tanladim va post jarayonini bosdim. Men mdx-40 roland mashinasi ekanligiga ishonch hosil qildim va gcode olish uchun OK tugmasini bosdim.
  6. Shundan so'ng, men mashinadan foydalanib, dizaynim bo'yicha mum blokini maydaladim.

Silikon quyish

  1. Birinchidan, men silikonning ikkita eritmasini havo pufakchalari chiqmasligi uchun ehtiyotkorlik bilan aralashtirdim, ma'lumotlar varag'i (materiallarda ko'rsatilgan havola), aralashtirish nisbati, qozonning ishlash muddati va demontaj vaqtini hisobga olgan holda.
  2. Keyin, havo pufakchalari paydo bo'lishining oldini olish uchun, uni aloqa nuqtasi o'zgarmasligiga va quyilgan eritmaning diametri iloji boricha yupqa ekanligiga ishonch hosil qilish uchun uni eng past nuqtadan qolipga quydim.
  3. Silikonni qolipga quyganimdan so'ng, ichkarida havo pufakchalari yo'qligiga ishonch hosil qilishim kerak edi, shuning uchun men qiya tirnoqli matkap yordamida qolib titrab ketdim.
  4. Nihoyat, men o'z dizaynimda buni qilishni unutganim uchun, men tayyor bo'lgandan so'ng, kremniyimga teshik qisqichlari yordamida kaft yuzasidagi teshiklarga mos keladigan tarzda teshik ochdim.

5 -qadam: Elektronika dizayni va ishlab chiqarilishi

Elektronika dizayni va ishlab chiqarilishi
Elektronika dizayni va ishlab chiqarilishi
Elektronika dizayni va ishlab chiqarilishi
Elektronika dizayni va ishlab chiqarilishi
Elektronika dizayni va ishlab chiqarilishi
Elektronika dizayni va ishlab chiqarilishi

Mening taxtamni loyihalash va mikrokontrolder pimlarida nima bo'layotganini tushunish uchun men uning ma'lumotlar jadvalini o'qishim kerak edi. Asosiy PCB sifatida men mikro satshakitdan foydalandim va keyin uni tizim ehtiyojlarimga qarab o'zgartirdim.

Satshakit-bu DIY arduino-ga asoslangan taxta, men uni qismlarimni arduino bilan bog'lanishini qidirishimga ko'ra o'zgartirishim mumkin edi. Shunday qilib, miyosensor arduino -ga bitta GND, bitta VCC va bitta analog pin yordamida ulanadi. Holbuki, bitta servo dvigatelda bitta GND pin, bitta VCC va bitta PWM pin ishlatiladi. Shunday qilib, men plataning quvvatini hisobga olgan holda, bitta analog va beshta PWM pinini hisobga olgan holda, jami oltita GND va VCC pinlarini ochishim kerak edi. Bundan tashqari, men taxtani dasturlash uchun pinlarni (MISO, MOSI, SCK, RST, VCC va GND) ochib berishni hisobga olishim kerak edi.

Men qilgan qadamlar:

  1. Birinchidan, micro-satshakitning burgut fayllarini yukladim.
  2. Keyin, men Eagle yordamida mikro-satshakitni o'z ehtiyojlarimga qarab o'zgartirdim. Eagle -dan foydalanish bo'yicha qo'llanmani bu erda va bu erda topish mumkin.
  3. Kengashni payvand qilgandan so'ng, men uni-p.webp" />

Kengashimning ichki va tashqi yo'llarini-p.webp

Oxir -oqibat, men burgut taxtasiga ko'ra, kerak bo'lgan hamma narsani lehimladim. Sxematik va lehimli taxtaning rasmini yuqorida topish mumkin.

Arduino UNO -ni ishlatish o'rniga shaxsiy PCB taxtasini yasashimga sabab, men o'z taxtamdan foydalanganda tejaydigan joyim.

6 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

Shunday qilib, barmoqlar bosilgandan so'ng:

  1. Men 3,5 mm diametrli matkap bilan ichki teshiklarni, 3 mm diametrli matkap bilan burg'ulashim kerak edi. Ichki teshiklar - bu qismlar ulanganda, u ichki va tashqi teshikdan, ulangan qismi esa tashqi tomondan.
  2. Shundan so'ng men birinchi barmog'imni ikkinchi barmog'im bilan, uchinchisini to'rtinchi barmog'im bilan yopishtirishim kerak edi.
  3. Shundan so'ng, men diametri 3 mm bo'lgan filament yordamida kichik teshiklar orqali 1+2 qismlarini 3+4 bilan 5 ga uladim.
  4. Nihoyat, barmoqlar kaft bilan, keyin bilak bilan yig'ilishga tayyor edi.

Shunday qilib, baliq ovlash chizig'ini barmoqlar orasidan o'tkazish vaqti keldi.

Bir chiziq barmoqning orqa tarafidan barmoq-kaft ulagichidagi trubadan o'tib, bilakka, ikkinchi chiziq esa barmoqning old qismidan kaftning ichki qismidagi teshikka va bilakka o'tdi

Alohida eslatma - baliq ovlash chizig'ini diametri teshik bo'lgan yog'och bo'lagidan o'tkazib, tugun yasash. Aks holda, chiziq tortilganda, men qancha tugun yasagan bo'lsam ham, barmog'imdan pastga tushishi mumkin.

  • Baliq ovlash chizig'i barmoqlardan o'tgandan so'ng, kaft va bilakni 3D bosilgan botlarning boltlari bilan bog'lash kerak,
  • Men chiziqlarni ajratish uchun yana lazerli kesilgan teshik uyasidan o'tdim va keyin ularni servo motorlarga uladim.
  • Baliq chizig'ini servoning to'g'ri holatiga ulash biroz qiyin. Lekin men qilgan ishim - barmoqning o'ta pozitsiyasini egallab, uni servoning o'ta holatiga ulash edi.
  • To'g'ri pozitsiyalarni topganimdan so'ng, men servolarning maxsus uyalariga teshik ochdim va servolarni kerakli joylarga burab qo'ydim, shunda ikkita servo boshqasidan bir oz ko'tarilgan, aks holda ular ish paytida to'qnashib ketadi.

7 -qadam: dasturlash

Dasturlash
Dasturlash

Dasturni yozishdan oldin, men o'zgartirilgan mikro-satshakitni dasturlash imkoniyatiga ega bo'lishim kerak edi. Buning uchun men quyidagi amallarni bajarishim kerak edi:

  1. Arduino Uno -ni kompyuterga ulang.
  2. Asboblar ostida to'g'ri portni va Arduino Uno kartasini tanlang.
  3. > Fayl> Misollar ostida "ArduinoISP" eskizini toping va oching.
  4. Eskizni Arduino -ga yuklang.
  5. Arduino -ni kompyuterdan uzing.
  6. Rasmdagi sxema bo'yicha taxtani Arduino bilan ulang.
  7. Arduino -ni kompyuterga ulang.
  8. "Arduino/Genuino Uno" taxtasi va "Arduino provayder sifatida" dasturini tanlang.
  9. > Asboblar> Bootloader -ni yoqish -ni bosing.
  10. Bootloader muvaffaqiyatli bajarilgandan so'ng, biz o'z dasturimizni yozishimiz mumkin:

// shu jumladan men servo motorlar uchun ishlatgan kutubxona

#include #include SoftwareSerial mySerial (7, 8); #MYO_PIN A0 int sensorValue ni belgilang; suzuvchi kuchlanish; // mening servoimga VarSpeedServo servo1 nomini belgilang; VarSpeedServo servo2; VarSpeedServo servo3; VarSpeedServo servo4; VarSpeedServo servo5; #PINKY 5 ni belgilang #PINKY_PIN 10ni aniqlang #RINGFINGERni aniqlang 4 #RINGFINGER_PINni 9ni aniqlang #O'RTA 3ni aniqlang #MIDDLE_PIN 3ni aniqlang #2ni aniqlang INDEX_PINni 5 ta belgilang); // dvigatel servo1.attach (THUMB_PIN) biriktirilgan pin; servo2.attach (INDEX_PIN); servo3.attach (MIDDLE_PIN); servo4.attach (RINGFINGER_PIN); servo5.attach (PINKY_PIN); defaultPosition (THUMB, 40); defaultPosition (INDEX, 40); defaultPosition (O'rta, 40); defaultPosition (RINGFINGER, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print ("Boshlanmoqda …"); } void loop () {sensorValue = analogRead (A0); kuchlanish = sensorValue * (5.0 / 1023.0); mySerial.println (kuchlanish); kechikish (100); if (kuchlanish> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (O'rta, 60); closePosition (INDEX, 60); closePosition (THUMB, 60); } else {openPosition (PINKY, 60); ochiq pozitsiya (RINGFIGER, 60); ochiq pozitsiya (O'rta, 60); openPosition (INDEX, 60); ochiq pozitsiya (THUMB, 60); }} void defaultPosition (uint8_t barmoq, uint8_t _speed) {if (barmoq == PINKY) servo5.write (90, _ tezlik, rost); else if (barmoq == RINGFINGER) servo4.write (70, _ tezlik, rost); else if (barmoq == ORTA) servo3.write (20, _ tezlik, rost); else if (barmoq == INDEX) servo2.write (20, _ tezlik, rost); else if (barmoq == THUMB) servo1.write (20, _ tezlik, rost); } void closePosition (uint8_t barmoq, uint8_t _speed) {if (barmoq == PINKY) servo5.write (180, _ tezlik, rost); else if (barmoq == RINGFINGER) servo4.write (180, _ tezlik, rost); else if (barmoq == ORTA) servo3.write (180, _ tezlik, rost); else if (barmoq == INDEX) servo2.write (180, _ tezlik, rost); else if (barmoq == THUMB) servo1.attach (180, _ tezlik, rost); } void openPosition (uint8_t barmoq, uint8_t _speed) {if (barmoq == PINKY) servo5.write (0, _ tezlik, rost); else if (barmoq == RINGFINGER) servo4.write (0, _ tezlik, rost); else if (barmoq == ORTA) servo3.write (0, _ tezlik, rost); else if (barmoq == INDEX) servo2.write (0, _ tezlik, rost); else if (barmoq == THUMB) servo1.write (0, _ tezlik, rost); } // Dasturni yozgandan so'ng, biz uni "Sketch> Programmer yordamida yuklash" orqali taxtaga yuklaymiz // Endi siz mikro satshakitni arduino -dan ajratib, quvvat banki orqali quvvatlantirishingiz mumkin // Va voila !! Sizda protez qo'l bor

Tavsiya: