Turinys:

Dantų protezavimas su miojutikliu: 8 žingsniai
Dantų protezavimas su miojutikliu: 8 žingsniai

Video: Dantų protezavimas su miojutikliu: 8 žingsniai

Video: Dantų protezavimas su miojutikliu: 8 žingsniai
Video: Kai trūksta kelių dantų. Straumann| AIK.LT 2024, Lapkritis
Anonim
Image
Image

Šis projektas yra amputuotų žmonių rankos protezo kūrimas. Šio projekto tikslas yra sukurti prieinamą protezavimo ranką žmonėms, kurie negali sau leisti profesionalios.

Kadangi šis projektas vis dar yra prototipų kūrimo etape, jis visada gali būti geresnis, nes kol kas jis gali tik atidaryti ir uždaryti delną, kad galėtų paimti daiktus! Nepaisant to, tai yra „pasidaryk pats“protezas, kurį galima padaryti namuose ar vietinėje fabrike.

1 žingsnis: reikalingos medžiagos, įrankiai ir mašinos

Mašinos:

  1. 3D spausdintuvas
  2. Lazerinis pjoviklis
  3. Stalinis CNC staklės

Įrankiai:

  1. Žvejybos linija
  2. 3 mm gija
  3. Grąžtas
  4. Super klijai
  5. Skylių replės
  6. Multimetras
  7. Litavimo stotis
  8. Apdirbamas vaškas
  9. Silicio formos

Medžiagos:

  1. Vario lakštas
  2. 1x ATMEGA328P-AU
  3. 1x 16MHz krištolas
  4. 1x 10k rezistorius
  5. 2x 22pF kondensatoriai
  6. 1x 10uF kondensatorius
  7. 1x 1uF kondensatorius
  8. 1x 0,1uF kondensatorius
  9. 1x Myosensor
  10. 5x mikro servo varikliai
  11. 1x „Arduino UNO“

Programinė įranga:

  1. „Arduino IDE“
  2. 360
  3. Cura
  4. Erelis
  5. GIMP

2 žingsnis: 2D ir 3D dizainas

2D ir 3D dizainas
2D ir 3D dizainas
2D ir 3D dizainas
2D ir 3D dizainas
2D ir 3D dizainas
2D ir 3D dizainas

3D dizainas

Pirmasis žingsnis buvo suprojektuoti protezo rankos pirštus, delną ir dilbį, atsižvelgiant į elektroniką, kuri patenka į protezo ranką. Jei atvirai, aš kaip pagrindą naudojau atviro kodo „inmoov“projektą ir pradėjau nuo to.

Delną yra gana sunku suprojektuoti, nes pirštų tarpusavio santykis turėtų būti skirtingas. Taigi:

Pirštai: atsisiunčiau pirštus iš projekto „inmoov“.

Delnas:

  1. Pirmiausia nubraižiau delno išdėstymą ir išspaudžiau.
  2. Tada aš padariau skyles piršto ir dilbio jungtims, naudodamas eskizus, supjaustymo komandą ir filė komandą.
  3. Po to aš turėjau pagaminti vamzdelius, kad galėčiau praleisti meškerę, kad galėčiau valdyti pirštus per variklius.
  4. Galiausiai delno viduje reikėjo įdėti skyles, kad traukiant meškerę būtų galima uždaryti delną.

Dilbis:

  1. Skirtingose plokštumose sukūriau du eskizus ir panaudojau elipsės komandą. Aš panaudojau palėpės komandą, norėdamas sukurti norimą formą.
  2. Po to „shell“komanda buvo naudojama tuščiaviduriai, o „split“- perpjauti ją per pusę, kad galėčiau ją suprojektuoti ir užtikrinti geriausią prieinamumą, kai montuoju savo elektroniką viduje.
  3. Prie riešo taip pat buvo padarytas eskizas, išspaustas ir sujungtas su pagrindiniu dilbiu, kad jis galėtų prisijungti prie delno.
  4. Turėdamas matomumą projektuoti dilbio vidų, aš sukūriau eskizą pagal penkių naudojamų variklių matmenis, po vieną kiekvienam pirštui, ir savo naudojamą PCB (spausdintinę plokštę). Tada juos išspaudžiau, kol jie pasiekė pageidaujamą aukštį, ir ištryniau nereikalingas dalis cilindro gale, naudodamas atgalinį klavišą.
  5. Galiausiai, angos varžtams buvo suprojektuotos taip, kad nebūtų taip matomos bendroje konstrukcijoje, kad dilbį būtų galima uždaryti naudojant panašias komandas, kaip aprašyta aukščiau.

Baigdamas dizainą, pasirinkau kiekvieną korpusą ir atsisiunčiau jį kaip.stl failą, o 3D atspausdinau atskirai.

2D dizainas

Kadangi norėjau, kad mano žvejybos linijos būtų atskirtos, kol jas valdo varikliai, nusprendžiau joms padaryti kreipiančias angas. Norėdami tai padaryti, man tikrai nereikėjo kurti nieko naujo, bet naudoti mažesnę elipsę, kai dilbiui sukurti panaudojau palėpės komandą.

Aš panaudojau lazerinį pjaustytuvą jo eskizą kaip.dxf failą. Gavęs norimą formą, aš išgręžiau 0,8 mm skylutes lizdo viduje, kurias maniau esant būtinas.

3 žingsnis: 3D spausdinimas

3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas

Eksportavęs kiekvieną stl failą, naudodama „Cura“sugeneravau skirtingų pirštų dalių, delno ir dilbio.gcode. Naudojami nustatymai pavaizduoti aukščiau esančiose nuotraukose. 3D spausdintų dalių medžiaga yra PLA.

4 žingsnis: liejimas ir liejimas

Liejimas ir liejimas
Liejimas ir liejimas
Liejimas ir liejimas
Liejimas ir liejimas
Liejimas ir liejimas
Liejimas ir liejimas

Delno liejimo tikslas yra, kad rankos protezas būtų stipresnis, nes PLA gali būti slidi.

3D dizainas

  1. Naudodamas jau turimą delno eskizą, bandžiau imituoti mūsų delną, sukurdamas tam tikrus apskritimus, naudodami komandą arc.
  2. Po to juos išspaudžiau skirtingais aukščiais ir naudoju komandą filė, kad išlygintų vidinių „apskritimų“kraštus.
  3. Tada suprojektavau dėžę, kurios matmenys yra tokie pat, kaip ir mano apdirbamo vaško, ir įdėjau savo dizaino negatyvą, naudodami komandą „Combo“.

CAM procesas

Paruošęs dizainą frezuoti naudojant stalinį CNC staklę, turėjau sugeneruoti tam gcode. Mano atveju aš naudojau CNC mašiną Roland MDX-40!

  1. Pirmiausia patekau į „Fusion360“CAM aplinką.
  2. Tada sąrankos meniu pasirinkau „naują sąranką“.
  3. Aš pasirinkau tinkamus parametrus (žr. Nuotraukas) ir paspaudžiau gerai.
  4. Toliau, 3D meniu, pasirinkau adaptacinį išvalymą ir tinkamus parametrus, įdėjęs įrankį, kurį naudoju, kaip parodyta paveikslėliuose.
  5. Galiausiai pasirinkau adaptacinį kliringą ir spustelėjau paskelbimo procesą. Įsitikinau, kad tai skirta „Roland“mašinai mdx-40, ir spustelėjau „Gerai“, kad gaučiau „gcode“.
  6. Po to aš mašiną išmaliau vaško bloką pagal savo projektą.

Silicio liejimas

  1. Pirmiausia atsargiai sumaišiau du silicio tirpalus, kad nesusidarytų oro burbuliukų, vadovaudamasi duomenų lapu (nuoroda rasta ant medžiagų), atsižvelgiant į maišymo santykį, tinkamumo naudoti laiką ir išardymo laiką.
  2. Tada, norėdamas išvengti oro burbuliukų, supyliau jį į savo formą iš žemiausio taško ir įsitikinau, kad kontaktinis taškas išlieka pastovus, o supilto tirpalo skersmuo yra kuo plonesnis.
  3. Įmetęs silicį į savo formą, turėjau įsitikinti, kad viduje nėra oro burbuliukų, todėl drebėjau pelėsiu, naudodami grąžtą su įstrižine vinimi.
  4. Galiausiai, kai pamiršau tai padaryti savo dizaino srityje, po to, kai jis buvo paruoštas, aš padariau skylutes į silicį, naudodamas skylių reples, taip, kad jos atitiktų skylutes, esančias delno paviršiuje.

5 žingsnis: Elektronikos projektavimas ir gamyba

Elektronikos projektavimas ir gamyba
Elektronikos projektavimas ir gamyba
Elektronikos projektavimas ir gamyba
Elektronikos projektavimas ir gamyba
Elektronikos projektavimas ir gamyba
Elektronikos projektavimas ir gamyba

Norėdami suprojektuoti savo plokštę ir suprasti, kas vyksta mikrovaldiklio smeigtukuose, turėjau perskaityti jos duomenų lapą. Kaip pagrindinę PCB aš naudoju „micro satshakit“, tada pakeičiau jį pagal savo sistemos poreikius.

Kadangi „satshakit“yra „pasidaryk pats“arduino pagrindu pagaminta plokštė, galėčiau ją modifikuoti pagal savo dalių jungčių paieškas su arduino. Taigi, miojutiklis jungiasi prie arduino naudojant vieną GND kaištį, vieną VCC kaištį ir vieną analoginį kaištį. Tuo tarpu vienas servo variklis naudoja vieną GND kaištį, vieną VCC kaištį ir vieną PWM kaištį. Taigi, iš viso turėjau atskleisti šešis GND ir VCC kaiščius, atsižvelgiant į plokštės maitinimą, vieną analoginį ir penkis PWM kaiščius. Be to, turėjau atsižvelgti į lentos programavimo kaiščius (kurie yra MISO, MOSI, SCK, RST, VCC ir GND).

Žingsniai, kurių ėmiausi, buvo šie:

  1. Pirmiausia atsisiunčiau „micro-satshakit“erelio failus.
  2. Tada aš pakeičiau „micro-satshakit“pagal savo poreikius, naudodamas „Eagle“. „Eagle“naudojimo vadovą rasite čia ir čia.
  3. Įsišaknijęs savo lentą, aš jį eksportavau kaip-p.webp" />

Po to, kai mano plokštės vidiniai ir išoriniai keliai yra png, atėjo laikas sugeneruoti jų gcode, kad būtų galima juos frezuoti „roland mdx-40“darbalaukio cnc mašinoje.. Gcode generavimui naudojau fab modulius. Nustatymai, kurie turėtų būti nustatyti fab moduliuose ir kuriuos rasite čia.

Galiausiai pagal savo erelio lentą lituodavau viską, ko man reikėjo. Schemos ir lituotos lentos paveikslėlį rasite aukščiau.

Priežastis, kodėl vietoj „Arduino UNO“gaminu savo PCB plokštę, yra vieta, kurią sutaupau naudodamas savo plokštę.

6 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Taigi, atspausdinus pirštus:

  1. Teko gręžti vidines skyles 3,5 mm skersmens grąžtu, o išorines - 3 mm skersmens grąžtu. Viduje esančios skylės reiškia tą dalį, kad kai dalys yra sujungtos, ji yra iš vidinės ir išorinės angos, o dalis, kuri prijungus yra iš išorės.
  2. Po to turėjau superklijuoti pirmąjį antruoju pirštu, o trečiąjį - ketvirtu pirštu.
  3. Po to per mažas skyles sujungiau 1+2 dalis su 3+4 su 5, naudodami 3 mm skersmens giją.
  4. Galiausiai pirštai buvo paruošti surinkti delnu, o po to - dilbiu.

Taigi, atėjo laikas praleisti meškerę per pirštus.

Viena linija ėjo nuo užpakalinės piršto pusės per vamzdelį ant piršto ir delno jungties ir iki dilbio, o kita linija-nuo priekinės piršto pusės iki skylės vidinėje delno dalyje ir prie dilbio

Ypatinga pastaba - praleisti meškeriojimo liniją per medžio gabalą, kuriame yra skylė su jo skersmeniu, ir padaryti mazgą. Priešingu atveju, kai traukiama linija, ji gali nusileisti žemyn pirštu, kas nutiko man, nesvarbu, kiek mazgų padariau.

  • Po to, kai meškerė buvo perbraukta per pirštus, delnas ir dilbis turėtų būti sujungti kai kuriais 3D atspausdintais varžtais,
  • Aš vėl praleidau linijas per lazeriu išpjautą skylių angą, kad jas atskirtų, ir tada prijungiau jas prie servo variklių.
  • Pritvirtinti meškerę tinkamoje servo padėtyje yra šiek tiek sudėtinga. Bet aš padariau tai, kad paėmiau kraštines piršto pozicijas ir prijungiau jį prie kraštutinės servo padėties.
  • Suradęs teisingas padėtis, aš išgręžiau skyles į specialias servo angas ir prisukau servoservis į reikiamas vietas, įsitikindamas, kad du servo servetėlės yra šiek tiek pakeltos nuo kitų, kitaip jos susidurs veikimo metu.

7 žingsnis: programavimas

Programavimas
Programavimas

Prieš rašydamas programą, turėjau padaryti, kad būtų galima užprogramuoti modifikuotą „micro-satshakit“. Norėdami tai padaryti, turėjau atlikti šiuos veiksmus:

  1. Prijunkite „Arduino Uno“prie kompiuterio.
  2. Po įrankiais pasirinkite tinkamą prievadą ir „Arduino Uno“plokštę.
  3. Skiltyje> Failas> Pavyzdžiai raskite ir atidarykite eskizą „ArduinoISP“.
  4. Įkelkite eskizą į „Arduino“.
  5. Atjunkite „Arduino“nuo kompiuterio.
  6. Prijunkite plokštę prie „Arduino“vadovaudamiesi paveikslėlyje pateikta schema.
  7. Prijunkite „Arduino“prie kompiuterio.
  8. Pasirinkite „Arduino/Genuino Uno“plokštę ir „Arduino as ISP“programuotoją.
  9. Spustelėkite> Įrankiai> Įrašyti įkrovos tvarkyklę.
  10. Sėkmingai atlikę įkrovos tvarkyklę, galime parašyti savo programą:

// įskaitant biblioteką, kurią naudoju servo varikliams

#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; plūdės įtampa; // paskirti pavadinimą mano servo 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 THUMP_INFIN); // smeigtukas, prie kurio prijungiau variklio servo1.attach (THUMB_PIN); servo2.attach (INDEX_PIN); servo3.attach (MIDDLE_PIN); servo4.attach (RINGFINGER_PIN); servo5.attach (PINKY_PIN); defaultPosition (THUMB, 40); defaultPosition (INDEX, 40); defaultPosition (MIDDLE, 40); defaultPosition (RINGFINGER, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print („Inicijuojama…“); } void loop () {sensorValue = analogRead (A0); įtampa = sensorValue * (5.0 / 1023.0); mySerial.println (įtampa); vėlavimas (100); if (įtampa> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (VIDURIS, 60); closePosition (INDEX, 60); „ClosePosition“(NUORODA, 60); } else {openPosition (PINKY, 60); „openPosition“(RINGFIGER, 60); openPosition (MIDDLE, 60); „openPosition“(INDEKSAS, 60); openPosition (THUMB, 60); }} void defaultPosition (uint8_t pirštas, uint8_t _speed) {if (pirštas == PINKY) servo5.write (90, _speed, true); else if (pirštas == RINGFINGER) servo4.write (70, _speed, true); else if (pirštas == MIDDLE) servo3.write (20, _speed, true); else if (pirštas == INDEKSAS) servo2.write (20, _speed, true); else if (pirštas == THIMB) servo1.write (20, _speed, true); } void closePosition (uint8_t pirštas, uint8_t _speed) {if (pirštas == PINKY) servo5.write (180, _speed, true); else if (pirštas == RINGFINGER) servo4.write (180, _speed, true); else if (pirštas == MIDDLE) servo3.write (180, _speed, true); else if (pirštas == INDEKSAS) servo2.write (180, _speed, true); else if (pirštas == THIMB) servo1.attach (180, _speed, true); } void openPosition (uint8_t pirštas, uint8_t _speed) {if (pirštas == PINKY) servo5.write (0, _speed, true); else if (pirštas == RINGFINGER) servo4.write (0, _speed, true); else if (pirštas == MIDDLE) servo3.write (0, _speed, true); else if (pirštas == INDEKSAS) servo2.write (0, _speed, true); else if (pirštas == THIMB) servo1.write (0, _speed, true); } // Parašę programą, įkeliame ją į lentą naudodami> Eskizas> Įkelti naudojant programuotoją // Dabar galite atjungti savo „micro satshakit“iš savo „arduino“ir įjungti jį per maitinimo banką // Ir voila !! Jūs turite protezuotą ranką

Rekomenduojamas: