Sisällysluettelo:

Proteesivarsi, joka toimii myosensorilla: 8 vaihetta
Proteesivarsi, joka toimii myosensorilla: 8 vaihetta

Video: Proteesivarsi, joka toimii myosensorilla: 8 vaihetta

Video: Proteesivarsi, joka toimii myosensorilla: 8 vaihetta
Video: SCP-1 461 Дом Worm (Класс объекта: Евклид) 2024, Marraskuu
Anonim
Image
Image

Tämä projekti on kehittää proteesivarsi amputoiduille ihmisille. Tämän projektin tavoitteena on luoda edullinen proteesi käsivarsille ihmisille, joilla ei ole varaa ammattimaiseen.

Koska tämä projekti on vielä prototyyppivaiheessa, se voi aina olla parempi, sillä toistaiseksi se voi vain avata ja sulkea kämmenen, jotta se voi tarttua tavaroihin! Siitä huolimatta se on DIY -proteesi, joka voidaan tehdä kotona tai paikallisessa fab -laboratoriossa.

Vaihe 1: Tarvittavat materiaalit, työkalut ja koneet

Koneet:

  1. 3D tulostin
  2. Laserleikkuri
  3. CNC -työpöytäkone

Työkalut:

  1. Siima
  2. 3mm filamentti
  3. Porata
  4. Pikaliima
  5. Reikäpihdit
  6. Yleismittari
  7. Juotosasema
  8. Työstettävä vaha
  9. Silicon muotteille

Materiaalit:

  1. Kuparilevy
  2. 1x ATMEGA328P-AU
  3. 1x 16MHz Crystal
  4. 1x 10k vastus
  5. 2x 22pF kondensaattorit
  6. 1x 10uF kondensaattori
  7. 1x 1uF kondensaattori
  8. 1x 0,1uF kondensaattori
  9. 1x myosensori
  10. 5x mikropalvelut
  11. 1x Arduino UNO

Ohjelmisto:

  1. Arduino IDE
  2. Fuusio 360
  3. Cura
  4. Kotka
  5. LINKUTTAA

Vaihe 2: 2D- ja 3D -suunnittelu

2D- ja 3D -suunnittelu
2D- ja 3D -suunnittelu
2D- ja 3D -suunnittelu
2D- ja 3D -suunnittelu
2D- ja 3D -suunnittelu
2D- ja 3D -suunnittelu

3D -suunnittelu

Ensimmäinen askel oli suunnitella proteesivarren sormet, kämmen ja kyynärvarret ottaen huomioon proteesivarteen menevä elektroniikka. Ollakseni rehellinen, käytin pohjana avoimen lähdekoodin inmoov -projektia ja aloitin sieltä.

Kämmen on melko vaikea suunnitella, koska sormien tulisi olla eri suhteissa. Niin:

Sormet: Latasin sormet inmoov -projektista.

Kämmen:

  1. Hahmottelin ensin kämmenen asettelun ja puristin sen.
  2. Sitten tein reiät sormen ja kyynärvarren liitoksille luonnosten, leikkauskomennon ja fileekomennon avulla.
  3. Sen jälkeen minun piti tehdä putkia, jotta voisin ohittaa siimat, jotta voin hallita sormia moottorien kautta.
  4. Lopuksi kämmenen sisään oli lisättävä reikiä, jotta kämmenen sulkeminen oli mahdollista siimaa vedettäessä.

Kyynärvarsi:

  1. Eri tasoilla tein kaksi luonnosta ja käytin ellipsikomentoa. Käytin loft -komentoa halutun muodon luomiseen.
  2. Sen jälkeen shell -komentoa käytettiin tekemään siitä ontto ja split -komennolla leikata se kahtia, jotta voin suunnitella sen ja parhaan saavutettavuuden, kun asennan elektroniikkaani sisään.
  3. Luonnos tehtiin myös ranteen läheisyyteen, suulakepuristettiin ja liitettiin pää kyynärvarren kanssa, jotta se voi yhdistää kämmenen.
  4. Näkyvyyden suunnittelussa kyynärvarren sisällä tein luonnoksen niiden viiden moottorin mitoista, joita käyttäisin, yhden kutakin sormea varten ja käyttämäni PCB: n (painettu piirilevy). Puristin niitä sitten, kunnes ne saavuttivat halutun korkeuden, ja poistin tarpeettomat osat sylinterin takaa käyttämällä askelpalautinta.
  5. Lopuksi ruuvien aukot suunniteltiin tavalla, joka ei ole niin näkyvissä kokonaissuunnittelussa, jotta kyynärvarsi voidaan sulkea käyttämällä samanlaisia komentoja kuin edellä.

Suunnittelun viimeistelyn jälkeen valitsin jokaisen rungon ja latasin sen.stl -tiedostoksi ja 3D -tulostin ne erikseen.

2D -muotoilu

Koska halusin, että siimat erotetaan toisistaan moottorien käytön aikana, päätin tehdä niille ohjausaukot. Tätä varten minun ei todellakaan tarvinnut suunnitella mitään uutta, vaan käyttää pienempää ellipsiä, kun käytin loft -komentoa kyynärvarren luomiseen.

Vienin sen luonnoksen.dxf -tiedostona laserleikkurin käytön jälkeen. Halutun muodon saavuttamisen jälkeen porasin reikään 0,8 mm reikää, jonka löysin tarpeelliseksi.

Vaihe 3: 3D -tulostus

3D -tulostus
3D -tulostus
3D -tulostus
3D -tulostus
3D -tulostus
3D -tulostus
3D -tulostus
3D -tulostus

Kun olen vienyt jokaisen stl -tiedoston, käytin Curaa luomaan sormien, kämmenen ja kyynärvarren eri osien.gcode. Käytetyt asetukset on kuvattu yllä olevissa kuvissa. 3D -tulostettujen osien materiaali on PLA.

Vaihe 4: Muotoilu ja valu

Muotoilu ja valu
Muotoilu ja valu
Muotoilu ja valu
Muotoilu ja valu
Muotoilu ja valu
Muotoilu ja valu

Kämmenen valun tarkoituksena on, että proteesivarsi saa vahvemman otteen, koska PLA voi olla liukas.

3D -suunnittelu

  1. Käyttäen olemassa olevaa kämmenpiirrosta yritin jäljitellä kämmentämme suunnittelemalla sille ympyröitä kaarikomennolla.
  2. Sen jälkeen puristin ne eri korkeuksille ja tasoitin filee -komennolla sisäisten "ympyröiden" reunat.
  3. Sitten suunnittelin laatikon, jonka mitat olivat samat kuin työstettävällä vahallani ja laitoin suunnitteluni negatiivin yhdistämiskomennon leikkauksen avulla.

CAM -prosessi

Kun malli oli valmis jauhamaan työpöydän CNC -koneella, minun piti luoda gcode sitä varten. Minun tapauksessani käytin Roland MDX-40 CNC -konetta!

  1. Ensin tulin Fusion360: n CAM -ympäristöön.
  2. Sitten valitsin asetusvalikosta "uuden asennuksen".
  3. Valitsin oikeat parametrit (katso kuvat) ja painin ok.
  4. Seuraavaksi valitsin 3D -valikon mukautuvan tyhjennyksen ja valitsin oikeat parametrit käyttämäni työkalun asettamisen jälkeen, kuten kuvissa näkyy.
  5. Lopuksi valitsin mukautuvan tyhjennyksen ja napsautin postitusprosessia. Varmistin sen olevan roland-koneen mdx-40 ja napsautin ok saadakseni gcode-koodin.
  6. Sen jälkeen jyrsin vahalohkon suunnitteluni mukaan koneella.

Silikonin valu

  1. Ensin sekoitin kaksi piin liuosta huolellisesti, jotta ne eivät aiheuta ilmakuplia.
  2. Sitten kaatoin sen muottiin alimmasta kohdasta varmistaen, että kosketuspiste pysyi vakiona ja kaadetun liuoksen halkaisija oli mahdollisimman ohut ilmakuplien välttämiseksi.
  3. Piin valamisen jälkeen muottiin minun piti varmistaa, ettei sisällä ole ilmakuplia, joten vapisin muotista poralla, jossa oli vino naula.
  4. Lopuksi, kun unohdin tehdä sen suunnittelussani, löin reikää piiini sen valmistuttua käyttäen reikäpihtejä siten, että ne vastaavat kämmenen pinnalla olevia reikiä.

Vaihe 5: Elektroniikan suunnittelu ja tuotanto

Elektroniikan suunnittelu ja tuotanto
Elektroniikan suunnittelu ja tuotanto
Elektroniikan suunnittelu ja tuotanto
Elektroniikan suunnittelu ja tuotanto
Elektroniikan suunnittelu ja tuotanto
Elektroniikan suunnittelu ja tuotanto

Jotta voisin suunnitella levyn ja ymmärtää, mitä mikrokontrollerin nastoissa tapahtuu, minun piti lukea sen tietolomake. Peruspiirilevynä käytin micro satshakitia ja muutin sitä sitten järjestelmäni tarpeiden mukaan.

Koska satshakit on DIY-arduino-pohjainen levy, voisin muokata sitä osieni ja arduino-yhteyksien välisen haun perusteella. Niinpä myosensori muodostaa yhteyden arduinoon yhdellä GND -nastalla, yhdellä VCC -nastalla ja yhdellä analogisella tapilla. Yksi servomoottori käyttää yhtä GND -tappia, yhtä VCC -tappia ja yhtä PWM -nastaa. Joten minun piti paljastaa yhteensä kuusi GND- ja VCC -nastaa ottaen huomioon levyn virta, yksi analoginen ja viisi PWM -nastaa. Lisäksi minun oli otettava huomioon paljastamaan levyn ohjelmointitapit (joita ovat MISO, MOSI, SCK, RST, VCC ja GND).

Otamani askeleet olivat:

  1. Ensin latasin micro-satshakitin kotkatiedostot.
  2. Seuraavaksi muutin micro-satshakitia tarpeitteni mukaan Eaglen avulla. Eaglen käyttöopas löytyy täältä ja täältä.
  3. Juuri levyn juurtumisen jälkeen vienin sen-p.webp" />

Kun korttini sisäiset ja ulkoiset polut on otettu png-muotoon, on aika luoda niiden gcode, jotta voin jauhaa sen roland mdx-40 -pöytäkoneella.. Gcode -sukupolven luomiseen käytin fab -moduuleja. Asetukset, jotka pitäisi tehdä fab -moduuleissa ja jotka löytyvät täältä.

Lopuksi juotin kaiken tarvitsemani kotkalevyn mukaan. Kuva kaaviosta ja juotetusta kartongista löytyy yllä.

Syy tehdä oma piirilevy Arduino UNO: n sijasta on tila, jonka säästän käyttäessäni omaa levyäni.

Vaihe 6: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Joten sormien tulostamisen jälkeen:

  1. Minun piti porata sisäreiät halkaisijaltaan 3,5 mm: n poralla ja ulkoreiät 3 mm: n poralla. Sisäreiät tarkoittavat sitä osaa, että kun osat on kytketty, se on sisä- ja ulkoreiästä, osa, joka kun se on kytketty, on ulkopuolelta.
  2. Sen jälkeen minun piti liimata ensin ensimmäisellä toisella sormella ja kolmannella neljännellä.
  3. Sen jälkeen liitin osat 1+2 ja 3+4 ja 5 pienien reikien läpi käyttämällä filamenttia, jonka halkaisija on 3 mm.
  4. Lopuksi sormet olivat valmiita koottavaksi kämmenellä ja sitten kyynärvarrella.

Joten oli aika siirtää siima sormien läpi.

Yksi viiva kulki sormen takapuolelta sormi-kämmenliittimen putken läpi ja kyynärvarrelle ja toinen viiva sormen etupuolelta kämmenen sisäpuolella olevaan reikään ja kyynärvarsi

Erityinen huomautus on viedä siima puukappaleen läpi, jossa on reikä halkaisijaltaan, ja tehdä solmu. Muuten, kun siimaa vedetään, se voi mennä sormesta alas, mikä tapahtui minulle riippumatta siitä, kuinka monta solmua tein.

  • Kun siima on vedetty sormien läpi, kämmen ja kyynärvarsi on yhdistettävä 3D -tulostetuilla bottipulteilla,
  • Vedin linjat uudelleen laserleikatun reiän aukon läpi erottaaksesi ne ja liitin ne sitten servomoottoreihin.
  • Siiman kiinnittäminen servon oikeaan asentoon on hieman haastavaa. Mutta mitä tein oli ottaa sormen ääriasennot ja kytkeä se servon ääriasentoon.
  • Kun olin löytänyt oikeat asennot, porasin reikiä servojen erityisiin rakoihin ja ruuvain servot oikeisiin paikkoihin varmistaen, että kaksi servoa oli hieman koholla muista, muuten ne törmäsivät käytön aikana.

Vaihe 7: Ohjelmointi

Ohjelmointi
Ohjelmointi

Ennen ohjelman kirjoittamista minun piti tehdä muutettu micro-satshakit ohjelmoitavaksi. Tätä varten minun täytyi suorittaa seuraavat vaiheet:

  1. Liitä Arduino Uno tietokoneeseen.
  2. Valitse oikea portti ja Arduino Uno -levy työkalujen alta.
  3. Etsi ja avaa "ArduinoISP" -luonnos kohdasta> Tiedosto> Esimerkkejä.
  4. Lataa luonnos Arduinolle.
  5. Irrota Arduino tietokoneesta.
  6. Liitä levy Arduinoon kuvan kaavion mukaisesti.
  7. Liitä Arduino tietokoneeseen.
  8. Valitse "Arduino/Genuino Uno" -kortti ja "Arduino ISP" -ohjelmoija.
  9. Napsauta> Työkalut> Burn Bootloader.
  10. Kun käynnistyslatain on suoritettu onnistuneesti, voimme kirjoittaa ohjelmamme:

// mukaan lukien kirjasto, jota käytin servomoottoreissa

#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; kelluva jännite; // nimeä servolleni nimi 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_PINBIN); // nasta, johon kiinnitin moottorini servo1.attach (THUMB_PIN); servo2.attach (INDEX_PIN); servo3.attach (MIDDLE_PIN); servo4.attach (RINGFINGER_PIN); servo5.attach (PINKY_PIN); defaultPosition (peukalo, 40); defaultPosition (INDEX, 40); defaultPosition (KESKI, 40); defaultPosition (RINGFINGER, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print ("Alustetaan…"); } void loop () {sensorValue = analogRead (A0); jännite = anturin arvo * (5,0 / 1023,0); mySerial.println (jännite); viive (100); if (jännite> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (KESKI, 60); closePosition (INDEX, 60); closePosition (peukalo, 60); } else {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (KESKI, 60); openPosition (INDEKSI, 60); openPosition (peukalo, 60); }} void defaultPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (90, _speed, true); else if (sormi == RINGFINGER) servo4.write (70, _nopeus, tosi); else if (sormi == KESKI) servo3.write (20, _nopeus, tosi); else if (sormi == INDEKSI) servo2.write (20, _nopeus, tosi); else if (sormi == THUMB) servo1.write (20, _speed, true); } void closePosition (uint8_t sormi, uint8_t _speed) {if (sormi == PINKY) servo5.write (180, _speed, true); else if (sormi == RINGFINGER) servo4.write (180, _nopeus, tosi); else if (sormi == KESKI) servo3.write (180, _nopeus, tosi); else if (sormi == INDEKSI) servo2.write (180, _nopeus, tosi); else if (sormi == THUMB) servo1.attach (180, _nopeus, tosi); } void openPosition (uint8_t sormi, uint8_t _speed) {if (sormi == PINKY) servo5.write (0, _speed, true); else if (sormi == RINGFINGER) servo4.write (0, _nopeus, tosi); else if (sormi == KESKI) servo3.write (0, _nopeus, tosi); else if (sormi == INDEKSI) servo2.write (0, _nopeus, tosi); else if (sormi == THUMB) servo1.write (0, _speed, true); } // Ohjelman kirjoittamisen jälkeen lataamme sen taululle valitsemalla> Luonnos> Lataa ohjelmoijalla // Nyt voit irrottaa mikro -satshakittisi arduino -laitteestasi ja käyttää sitä virtapankin kautta // Ja voila !! Sinulla on proteesi

Suositeltava: