Съдържание:

Протезна ръка, работеща с миосензор: 8 стъпки
Протезна ръка, работеща с миосензор: 8 стъпки

Видео: Протезна ръка, работеща с миосензор: 8 стъпки

Видео: Протезна ръка, работеща с миосензор: 8 стъпки
Видео: 40 отборных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #1 2024, Ноември
Anonim
Image
Image

Този проект е разработването на протеза за ампутирани хора. Целта на този проект е създаването на достъпна протезна ръка за хора, които не могат да си позволят професионална.

Тъй като този проект все още е на фаза прототипиране, той винаги може да бъде по -добър, тъй като засега може само да отваря и затваря дланта, за да може да грабва неща! Независимо от това, това е протеза на ръката, която може да се направи у дома или в местна лаборатория.

Стъпка 1: Необходими материали, инструменти и машини

Машини:

  1. 3D принтер
  2. Лазерен нож
  3. Настолна CNC машина

Инструменти:

  1. Корда
  2. 3 мм нишка
  3. Пробивна машина
  4. Супер лепило
  5. Клещи за отвори
  6. Мултиметър
  7. Поялна станция
  8. Обработваем восък
  9. Форми от силиций

Материали:

  1. Меден лист
  2. 1x ATMEGA328P-AU
  3. 1x 16MHz кристал
  4. 1x 10k резистор
  5. 2x 22pF кондензатори
  6. 1x 10uF кондензатор
  7. 1x 1uF кондензатор
  8. 1x 0.1uF кондензатор
  9. 1x Миосензор
  10. 5x микро серво мотори
  11. 1x Arduino UNO

Софтуер:

  1. Arduino IDE
  2. Fusion360
  3. Кура
  4. орел
  5. GIMP

Стъпка 2: 2D и 3D дизайн

2D и 3D дизайн
2D и 3D дизайн
2D и 3D дизайн
2D и 3D дизайн
2D и 3D дизайн
2D и 3D дизайн

3D дизайн

Първата стъпка беше да се проектират пръстите, дланта и предмишницата на протезната ръка, като се вземе предвид електрониката, която ще влезе в протезната ръка. Честно казано, използвах като база проекта inmoov с отворен код и започнах оттам.

Дланта е доста трудна за проектиране, тъй като пръстите трябва да имат различни съотношения помежду си. Така:

Пръсти: Изтеглих пръстите от проекта inmoov.

Палма:

  1. Първо скицирах оформлението на дланта и го екструдирах.
  2. След това направих дупки за връзките на пръста и предмишницата, използвайки скици, командата cut и командата file.
  3. След това трябваше да направя тръби, за да мога да предам въдиците, за да мога да контролирам пръстите чрез двигателите.
  4. И накрая, вътре в дланта трябваше да се добавят дупки, така че затварянето на дланта да е възможно при издърпване на въдицата.

Предмишницата:

  1. В различни равнини създадох две скици и използвах командата елипса. Използвах командата loft след, за да създам желаната форма.
  2. След това командата shell беше използвана, за да я направи куха, а командата split да я разреже наполовина, за да мога да проектирам в нея и за най -добра достъпност, когато монтирам електрониката си вътре.
  3. Направена е и скица близо до китката, екструдирана и съединена с основната предмишница, така че да може да се свърже с дланта.
  4. Имайки видимост да проектирам вътре в предмишницата, създадох скица в размерите на петте двигателя, които щях да използвам, по един за всеки пръст, и моята печатна платка (печатна платка), която щях да използвам. След това ги екструдирах, докато достигнат желаната височина и изтрих ненужните части в задната част на цилиндъра, използвайки backspace.
  5. И накрая, отворите за болтове са проектирани по начин, който не е толкова видим в цялостния дизайн, за да може предмишницата да бъде затворена с помощта на подобни команди, както по -горе.

Завършвайки дизайна, избрах всяко тяло и го изтеглих като.stl файл и ги отпечатах 3D отделно.

2D дизайн

Тъй като исках моите въдици да бъдат разделени, докато се управляват от двигателите, реших да направя направляващи слотове за тях. За това не трябваше да проектирам нищо ново, а да използвам по -малката елипса, когато използвах командата loft за създаване на предмишницата.

Експортирах скицата му като.dxf файл, след като използвах лазерния нож. След като получих желаната форма, пробих отвори с размери 0,8 мм вътре в слота, които намерих за необходими.

Стъпка 3: 3D печат

3D печат
3D печат
3D печат
3D печат
3D печат
3D печат
3D печат
3D печат

След експортирането на всеки stl файл използвах Cura за генериране на.gcode на различните части на пръстите, дланта и предмишницата. Използваните настройки са илюстрирани на снимките по -горе. Материалът на 3D отпечатаните части е PLA.

Стъпка 4: Формоване и леене

Формоване и леене
Формоване и леене
Формоване и леене
Формоване и леене
Формоване и леене
Формоване и леене

Целта на хвърлянето на дланта е протезната ръка да има по -силен захват, тъй като PLA може да бъде хлъзгава.

3D дизайн

  1. Използвайки вече съществуващата скица на дланта, аз се опитах да имитирам нашата длан, като проектирах някакви кръгове към нея с помощта на командата arc.
  2. След това ги екструдирах на различни височини и използвах командата за филе, за да изгладя ръбовете на вътрешните "кръгове".
  3. След това проектирах кутия със същите размери като моя обработваем восък и поставих негатива на моя дизайн там, като използвам изрязването в командата за комбиниране.

CAM процес

След като дизайнът беше готов за фрезоване с помощта на настолна CNC машина, трябваше да генерирам gcode за това. В моя случай използвах CNC машина Roland MDX-40!

  1. Първо влязох в CAM средата на Fusion360.
  2. След това избрах „нова настройка“в менюто за настройка.
  3. Избрах правилните параметри (вижте снимките) и натиснах ок.
  4. След това под менюто 3D избрах адаптивно изчистване и избрах правилните параметри, след като вмъкнах инструмента, който използвах, както е показано на снимките.
  5. Накрая избрах адаптивното изчистване и щракнах върху процеса на публикуване. Уверих се, че е за машината roland mdx-40 и щракнах добре, за да получа gcode.
  6. След това фрезовах блока от восък според моя дизайн с помощта на машината.

Леене на силиций

  1. Първо, внимателно смесих двата разтвора на силиций, за да не причинява въздушни мехурчета, следвайки листа с данни (връзката е намерена в материалите), като взех предвид съотношението на смесване, времето на работа и времето за демонтиране.
  2. След това го изсипах във формата си от най -ниската точка, като се уверих, че контактната точка остава постоянна и диаметърът на излятия разтвор е възможно най -тънък, за да се избегнат въздушни мехурчета.
  3. След като влях силиция в моята форма, трябваше да се уверя, че вътре няма въздушни мехурчета, затова треперех формата с помощта на бормашина с наклонен пирон.
  4. И накрая, тъй като забравих да го направя в моя дизайн, пробих дупки в моя силиций, след като той беше готов, с помощта на клещите за отвори, така че да съвпадат с дупките, които бяха на повърхността на дланта.

Стъпка 5: Проектиране и производство на електроника

Проектиране и производство на електроника
Проектиране и производство на електроника
Проектиране и производство на електроника
Проектиране и производство на електроника
Проектиране и производство на електроника
Проектиране и производство на електроника

За да проектирам дъската си и да разбера какво се случва в щифтовете на микроконтролера, трябваше да прочета листа с данни към него. Като базова печатна платка използвах микро сатшакита и след това го модифицирах според нуждите на моята система.

Тъй като satshakit е платка, базирана на arduino, направи си сам, бих могъл да я променя според моите търсения за връзки на моите части с arduino. И така, миосензорът се свързва с arduino с помощта на един GND щифт, един VCC щифт и един аналогов щифт. Като има предвид, че един серво мотор използва един GND щифт, един VCC щифт и един PWM щифт. Така че трябваше да изложа общо шест GND и VCC пина, като се има предвид захранването на платката, един аналогов и пет PWM пина. Също така трябваше да взема предвид, за да изложа пиновете за програмиране на дъската (които са MISO, MOSI, SCK, RST, VCC и GND).

Стъпките, които предприех, бяха:

  1. Първо изтеглих файловете на орела от микросатшакита.
  2. След това промених микросатшакита според нуждите си с помощта на Eagle. Ръководство за това как да използвате Eagle можете да намерите тук и тук.
  3. След като вкорених дъската си, я експортирах като-p.webp" />

След като вътрешните и външните пътища на дъската ми като png, е време да генерираме gcode от тях, за да можем да ги мелим в настолната cnc машина на roland mdx-40. За генерирането на.gcode използвах fab модули. Настройките, които трябва да бъдат зададени в модулите fab и да бъдат намерени тук.

И накрая, запоявах всичко необходимо според дъската на орела. Снимката на схемата и споената платка може да се намери по -горе.

Причината да направя своя собствена платка за печатни платки вместо да използвам Arduino UNO е пространството, което спестявам, когато използвам собствена платка.

Стъпка 6: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

И така, след отпечатване на пръстите:

  1. Трябваше да пробивам вътрешните отвори с бормашина с диаметър 3,5 мм, а външните с бормашина с диаметър 3 мм. Вътрешните отвори означават частта, че когато частите са свързани, тя е от вътрешния и външния отвор, частта, която, когато е свързана, е отвън.
  2. След това трябваше да залепя първо с втория пръст и третия с четвъртия.
  3. След това свързах части 1+2 с 3+4 с 5 през малките отвори, използвайки нишка с диаметър 3 мм.
  4. И накрая, пръстите бяха готови за сглобяване с дланта и след това с предмишницата.

И така, беше време да прекараме въдицата през пръстите.

Едната линия преминава от задната страна на пръста през тръбата на съединителя за пръст-длан и към предмишницата, а другата линия преминава от предната страна на пръста до отвора от вътрешната страна на дланта и до предмишницата

Специална забележка е да прекарате въдицата през парче дърво, което има дупка с диаметъра му и да направите възел. В противен случай при издърпване на линията може да слезе надолу по пръста, което ми се случи независимо колко възли съм направил.

  • След преминаване на въдицата през пръстите, дланта и предмишницата трябва да бъдат свързани чрез някои болтове с 3D отпечатани ботове,
  • Прекарах линиите отново през отвора за лазерно изрязване, за да ги отделя и след това ги свързах със серво моторите.
  • Прикрепването на въдицата към правилната позиция на серво е малко предизвикателство. Но това, което направих, беше да заема крайните позиции на пръста и да го свържа с крайното положение на сервото.
  • След като намерих правилните позиции, пробих дупки в специалните слотове за сервомоторите и завинтвах сервомоторите на правилните места, като се уверя, че два от сервомоторите са леко повдигнати от другите, в противен случай те ще се сблъскат по време на работата си.

Стъпка 7: Програмиране

Програмиране
Програмиране

Преди да напиша програмата, трябваше да накарам модифицирания микро-сатшакит да бъде програмиран. За да направя това, трябваше да следвам стъпките по -долу:

  1. Свържете Arduino Uno към компютъра.
  2. Изберете правилния порт и дъската Arduino Uno под инструменти.
  3. Под> Файл> Примери, намерете и отворете скицата "ArduinoISP".
  4. Качете скицата в Arduino.
  5. Изключете Arduino от компютъра.
  6. Свържете платката с Arduino, като следвате схемата на снимката.
  7. Свържете Arduino към компютъра.
  8. Изберете дъската „Arduino/Genuino Uno“и програмиста „Arduino като ISP“.
  9. Щракнете върху, за да> Инструменти> Записване на зареждащо устройство.
  10. След като буутлоудъра е успешно извършен, можем да напишем нашата програма:

// включително библиотеката, която използвах за серво моторите

#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; плаващо напрежение; // назначавам име на моето серво VarSpeedServo servo1; VarSpeedServo servo2; VarSpeedServo servo3; VarSpeedServo servo4; VarSpeedServo серво5; #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 #defindeTUMP_MINP); // щифта, към който монтирах мотора 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 ("Инициализиране …"); } void loop () {sensorValue = analogRead (A0); напрежение = стойност на сензора * (5,0 / 1023,0); mySerial.println (напрежение); забавяне (100); if (напрежение> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (СРЕДНА, 60); closePosition (INDEX, 60); closePosition (THUMB, 60); } else {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (СРЕДНА, 60); openPosition (ИНДЕКС, 60); openPosition (THUMB, 60); }} void defaultPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (90, _speed, true); else if (finger == RINGFINGER) servo4.write (70, _speed, true); else if (finger == MIDDLE) servo3.write (20, _speed, true); else if (finger == INDEX) servo2.write (20, _speed, true); else if (finger == THUMB) servo1.write (20, _speed, true); } void closePosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (180, _speed, true); else if (finger == RINGFINGER) servo4.write (180, _speed, true); else if (finger == MIDDLE) servo3.write (180, _speed, true); else if (finger == INDEX) servo2.write (180, _speed, true); else if (finger == THUMB) servo1.attach (180, _speed, true); } void openPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (0, _speed, true); else if (finger == RINGFINGER) servo4.write (0, _speed, true); else if (finger == MIDDLE) servo3.write (0, _speed, true); else if (finger == INDEX) servo2.write (0, _speed, true); else if (finger == THUMB) servo1.write (0, _speed, true); } // След като напишем програмата, я качваме на дъската чрез> Sketch> Качване с помощта на програмист // Сега можете да разкачите своя микро сатшакит от вашия arduino и да го захранвате чрез банката за захранване // И ето го !! Имате протезна ръка

Препоръчано: