Мазмұны:
- 1 -қадам: Қажетті материалдар, құралдар мен машиналар
- 2 -қадам: 2D және 3D дизайны
- 3 -қадам: 3D басып шығару
- 4 -қадам: қалыптау және құю
- 5 -қадам: Электрониканың дизайны мен өндірісі
- 6 -қадам: құрастыру
- 7 -қадам: бағдарламалау
Бейне: Миосенсормен жұмыс жасайтын протездік қол: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-31 10:21
Бұл жоба - ампутацияланған адамдарға протездік қолды жасау. Бұл жобаның мақсаты - кәсіби қолы жетпейтін адамдар үшін қол жетімді протез қолын жасау.
Бұл жоба әлі де прототиптік сатыда болғандықтан, ол әрқашан жақсы болуы мүмкін, себебі ол тек алақанды аша алады және жабады, ол заттарды ұстай алады! Соған қарамастан, бұл үйде немесе жергілікті зертханада жасалуы мүмкін DIY протездік қолы.
1 -қадам: Қажетті материалдар, құралдар мен машиналар
Машиналар:
- 3D принтері
- Лазерлік кескіш
- Жұмыс үстеліндегі CNC машинасы
Құралдар:
- Балық аулау желісі
- 3 мм жіп
- Бұрғылау
- Супер желім
- Тескіш қысқыштар
- Мультиметр
- Дәнекерлеу станциясы
- Өңделетін балауыз
- Пішіндерге арналған кремний
Материалдар:
- Мыс парағы
- 1x ATMEGA328P-AU
- 1х 16 МГц кристалл
- 1х 10 к резистор
- 2x 22pF конденсаторлар
- 1x 10uF конденсатор
- 1x 1uF конденсатор
- 1x 0.1uF конденсатор
- 1x миосенсор
- 5x микросерво қозғалтқыштары
- 1x Arduino UNO
Бағдарламалық қамтамасыз ету:
- Arduino IDE
- 360
- Кура
- Бүркіт
- GIMP
2 -қадам: 2D және 3D дизайны
3D дизайны
Алғашқы қадам протездік қолдың саусақтарын, алақандары мен білектерін протездік қолда болатын электрониканы ескере отырып құрастыру болды. Шынымды айтсам, мен ашық көзі inmoov жобасын негіз ретінде қолдандым және мен сол жерден бастадым.
Алақанның дизайны өте қиын, себебі саусақтардың арақатынасы әр түрлі болуы керек. Сонымен:
Саусақтар: саусақтарды inmoov жобасынан жүктедім.
Пальма:
- Мен алдымен алақанның макетін сызып, оны экструдирледім.
- Содан кейін мен саусақ пен білектің қосылымдары үшін тесіктерді эскиздер, кесу және филе командасы арқылы жасадым.
- Осыдан кейін, мен саусақтарымды қозғалтқыштар арқылы басқара алатындай етіп, балық аулау жолдарынан өтуім үшін түтіктер жасауым керек болды.
- Ақырында, алақанның ішіне тесік салу керек болды, сонда балық аулау сызығы тартылған кезде алақанның жабылуы мүмкін болды.
Білек:
- Әр түрлі жазықтықта мен екі эскиз құрдым және эллипс командасын қолдандым. Мен қалаған пішінді жасау үшін loft пәрменін қолдандым.
- Қабық пәрмені оны қуыс ету үшін, ал бөлу пәрмені оны екіге бөлу үшін пайдаланылды, сонда мен электрониканы ішке орнатқанда қол жетімділікті қамтамасыз ете аламын.
- Білектің жанында эскиз жасалды, оны экструдирледі және алақанмен байланыстыратындай етіп негізгі білекпен біріктірді.
- Білек ішіне жобалаудың көрінуі болғандықтан, мен қолданатын бес қозғалтқыштың, әр саусағымның біреуі мен мен қолданатын ПХД (баспа тақтасы) өлшемінде эскиз жасадым. Содан кейін мен оларды қажетті биіктікке жеткенше экструдирледім және цилиндрдің артқы жағындағы қажет емес бөлшектерді артқа бос орынмен өшірдім.
- Ақырында, болттарға арналған саңылаулар жалпы конструкцияда онша көрінбейтін етіп жасалған, білек жоғарыдағы ұқсас командалар көмегімен жабылады.
Дизайнды аяқтай отырып, мен әр корпусты таңдап, оны.stl файлы ретінде жүктеп алдым, мен оларды 3D -де бөлек басып шығардым.
2D дизайны
Мен балық аулау желілерін қозғалтқыштар басқарып тұрған кезде бөліп алуды қалағандықтан, мен оларға бағыттаушы слоттар жасауды шештім. Бұл үшін маған жаңа нәрсе жасаудың қажеті болмады, бірақ мен білекті жасау үшін лофт командасын қолданған кезде кішірек эллипсті қолдандым.
Мен лазерлік кескішті қолданғаннан кейін оның нобайын.dxf файлы ретінде экспорттадым. Мен қалаған пішінді алғаннан кейін, мен қажет деп тапқан тесіктің ішінде 0,8 мм тесіктер бұрғыладым.
3 -қадам: 3D басып шығару
Әрбір stl файлын экспорттағаннан кейін мен саусақтардың, алақан мен білектің әр түрлі бөліктерінің.gcode кодын жасау үшін Cura қолдандым. Қолданылатын параметрлер жоғарыдағы суреттерде көрсетілген. 3D басып шығарылған бөлшектердің материалы - PLA.
4 -қадам: қалыптау және құю
Пальманы құюдың мақсаты - протездік қолдың қатты ұсталуы, себебі PLA тайғақ болуы мүмкін.
3D дизайны
- Алақанның бұрыннан бар эскизін қолдана отырып, мен доғаның пәрменін қолдана отырып, шеңбердің түрін құрып, алақанымызға еліктеуге тырыстым.
- Содан кейін мен оларды әр түрлі биіктікте шығардым және ішкі «шеңберлердің» шеттерін тегістеу үшін филе командасын қолдандым.
- Содан кейін мен өңделетін балауыздың өлшемдері бар қорапты жасадым және комбинация пәрменіндегі кесу арқылы дизайнның теріс жағын қойдым.
CAM процесі
Дизайнды жұмыс үстеліндегі CNC машинасы арқылы фрезерлеуге дайын болғаннан кейін, мен бұл үшін кодты жасауым керек болды. Менің жағдайда мен Roland MDX-40 CNC машинасын қолдандым!
- Алдымен мен Fusion360 CAM ортасына кірдім.
- Содан кейін мен орнату мәзірінен «жаңа қондырғыны» таңдадым.
- Мен дұрыс параметрлерді таңдадым (суреттерді қараңыз) және OK түймесін басыңыз.
- Әрі қарай, 3D мәзірінде мен бейімделетін клирингті таңдадым және суретте көрсетілгендей мен қолданған құралды енгізгеннен кейін дұрыс параметрлерді таңдадым.
- Ақырында, мен бейімделетін клирингті таңдап, пост -процесті нұқтым. Мен бұл mandx-40 roland машинасы екеніне көз жеткіздім және gcode алу үшін OK түймесін бастым.
- Осыдан кейін мен машинаның көмегімен дизайнға сәйкес балауыз блогын фрезерледім.
Кремний құю
- Біріншіден, мен кремнийдің екі ерітіндісін ауа көпіршіктері пайда болмау үшін мұқият араластырдым, араластыру коэффициентін, ыдыстың қызмет ету мерзімін және өңдеуді ескере отырып, мәліметтер парағына сәйкес (материалдардан табылған сілтеме).
- Содан кейін, мен ауа көпіршіктерін болдырмау үшін, байланыс нүктесінің тұрақты болуын және құйылған ерітіндінің диаметрі мүмкіндігінше жұқа болуын қамтамасыз ету үшін оны ең төменгі нүктеден қалыпқа құйдым.
- Кремнийді қалыпқа құйғаннан кейін, менде ауа көпіршіктері жоқ екеніне көз жеткізуім керек еді, сондықтан мен қиғаш шегесі бар бұрғы көмегімен қалыптан дірілдеп кеттім.
- Ақырында, мен дизайнды жасауды ұмытып кеткендіктен, мен кремнийді дайын болғаннан кейін тесіктерді пайдаланып, алақанның бетіндегі тесіктерге сәйкес келетін етіп тесіп алдым.
5 -қадам: Электрониканың дизайны мен өндірісі
Менің тақтаны жобалау және микроконтроллердің түйреуіштерінде не болып жатқанын түсіну үшін мен оның мәліметтер парағын оқуым керек болды. Негізгі ПХД ретінде мен микро сатшакит қолдандым, содан кейін оны жүйенің қажеттіліктеріне сәйкес өзгерттім.
Сатшакит-бұл ардуиноға негізделген DIY тақтасы болғандықтан, мен оны бөлшектерімнің arduino-мен байланысын іздеуге сәйкес өзгерте аламын. Сонымен, миосенсор ардуиноға бір GND түйреуішін, бір VCC түйреуішін және бір аналогты істікті қолданады. Ал бір серво қозғалтқышы бір GND істікшесін, бір VCC түйреуішін және бір PWM түйреуішін пайдаланады. Сонымен, мен тақтаның қуатын ескере отырып, GND және VCC алты түйреуішін, бір аналогты және бес PWM түйреуішін ашуым керек болды. Сондай -ақ, мен тақтаны бағдарламалауға арналған түйреуіштерді (MISO, MOSI, SCK, RST, VCC және GND) ашу үшін ескеруім керек болды.
Мен жасаған қадамдар:
- Алдымен микро сатшакиттің бүркіт файлдарын жүктедім.
- Содан кейін мен Eagle көмегімен микро-сатшакитті өз қажеттіліктеріме қарай өзгерттім. Бүркітті пайдалану бойынша нұсқаулықты мына жерден және осы жерден табуға болады.
- Тақтаны жойғаннан кейін мен оны-p.webp" />
Менің тақтайшамның ішкі және сыртқы жолдарын-p.webp
Ақырында, мен бүркіт тақтасына сәйкес қажеттінің бәрін дәнекерледім. Схема мен дәнекерленген тақтаның суретін жоғарыдан табуға болады.
Arduino UNO -ны пайдаланудың орнына жеке ПХД тақтасын жасауымның себебі - мен өз тақтамды қолданған кезде үнемдейтін кеңістік.
6 -қадам: құрастыру
Сонымен, саусақтар басылғаннан кейін:
- Маған ішкі тесіктерді диаметрі 3,5 мм бұрғымен, ал сыртқы тесіктерді диаметрі 3 мм бұрғымен бұрғылауға тура келді. Ішкі саңылаулар бөліктерді қосқанда оның ішкі және сыртқы тесіктен болатынын білдіреді, ал қосылатын бөлігі сырттан.
- Осыдан кейін маған бірінші саусақпен, үшіншісін төртінші саусақпен жабыстыруға тура келді.
- Осыдан кейін мен диаметрі 3 мм болатын жіп арқылы кішкене тесіктер арқылы 1+2 бөліктерін 3+4 -пен 5 -ке жалғадым.
- Соңында саусақтар алақанмен, содан кейін білекпен жинауға дайын болды.
Сонымен, балық аулау сызығын саусақтардан өткізу уақыты келді.
Бір сызық саусақтың артқы жағынан саусақ-алақан қосқышындағы құбыр арқылы өтіп, білекке, ал екінші сызық саусақтың алдыңғы жағынан алақанның ішкі жағындағы тесікке және білекке дейін өтті
Ерекше ескерту - балық аулау сызығын диаметрі тесік болатын ағаштан өткізу және түйін жасау. Әйтпесе, сызық тартылған кезде, ол қанша түйін жасасам да, менімен болған саусақпен төмен түсуі мүмкін.
- Балық аулау сызығы саусақтардан өткеннен кейін, алақан мен білекті 3D басылған боттардың бірнеше болттарымен жалғау керек,
- Мен сызықтарды қайтадан ажырату үшін лазерлік тесік ұясынан өткіздім, содан кейін оларды серво қозғалтқыштарына жалғадым.
- Балық аулау сызығын серваның дұрыс орнына бекіту біршама қиын. Бірақ мен саусақтың шеткі позицияларын алып, оны серваның шеткі жағдайына қосу болды.
- Дұрыс позицияларды тапқаннан кейін мен сервоға арналған арнайы слоттарға тесіктер бұрғылап, сервалардың екеуінің басқалардан сәл жоғары көтерілгеніне көз жеткізу үшін керуендерді қажетті жерлерге бұрап қойдым, әйтпесе олар жұмыс кезінде соқтығысады.
7 -қадам: бағдарламалау
Бағдарламаны жазбас бұрын, мен өзгертілген микро сатшакит бағдарламаланатын етіп жасауым керек болды. Ол үшін төмендегі қадамдарды орындауым керек болды:
- Arduino Uno -ны компьютерге қосыңыз.
- Құралдар астында дұрыс портты және Arduino Uno тақтасын таңдаңыз.
- > Файл> Мысалдар астынан «ArduinoISP» эскизін тауып ашыңыз.
- Эскизді Arduino -ға жүктеңіз.
- Arduino -ны компьютерден ажыратыңыз.
- Тақтаны Arduino көмегімен суреттегі схемаға сәйкес қосыңыз.
- Arduino -ны компьютерге қосыңыз.
- «Arduino/Genuino Uno» тақтасын және «Arduino ISP ретінде» бағдарламашысын таңдаңыз.
- > Құралдар> Bootloader жазуды таңдаңыз.
- Жүктеуші сәтті аяқталғаннан кейін біз өз бағдарламамызды жаза аламыз:
// соның ішінде мен серво қозғалтқыштары үшін пайдаланған кітапхананы
#include #include SoftwareSerial mySerial (7, 8); #MYO_PIN A0 int sensorValue анықтаңыз; өзгермелі кернеу; // менің servo VarSpeedServo servo1 атауын тағайындаңыз; VarSpeedServo servo2; VarSpeedServo servo3; VarSpeedServo servo4; VarSpeedServo servo5; #PINKY 5 анықтаңыз #PINKY_PIN 10 анықтау); // менің мотор 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); кернеу = sensorValue * (5.0 / 1023.0); mySerial.println (кернеу); кешіктіру (100); if (кернеу> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (MIDDLE, 60); closePosition (INDEX, 60); closePosition (THUMB, 60); } else {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (MIDDLE, 60); openPosition (INDEX, 60); openPosition (THUMB, 60); }} void defaultPosition (uint8_t саусақ, uint8_t _speed) {if (саусақ == PINKY) servo5.write (90, _жылдамдық, шындық); else if (саусақ == ҚОҢЫРАУ) servo4.write (70, _жылдамдық, шындық); else if (саусақ == ОРТА) servo3.write (20, _ жылдамдық, ақиқат); else if (саусақ == INDEX) servo2.write (20, _жылдамдық, шындық); else if (саусақ == THUMB) servo1.write (20, _жылдамдық, шындық); } void closePosition (uint8_t саусақ, uint8_t _speed) {if (саусақ == PINKY) servo5.write (180, _жылдамдық, шындық); else if (саусақ == ҚОҢЫРАУ) servo4.write (180, _жылдамдық, шындық); else if (саусақ == ОРТА) servo3.write (180, _ жылдамдық, ақиқат); else if (саусақ == INDEX) servo2.write (180, _жылдамдық, шындық); else if (саусақ == THUMB) servo1.attach (180, _ жылдамдық, ақиқат); } void openPosition (uint8_t саусақ, uint8_t _speed) {if (саусақ == PINKY) servo5.write (0, _жылдамдық, шындық); else if (саусақ == ҚОҢЫРАУ) servo4.write (0, _ жылдамдық, ақиқат); else if (саусақ == ОРТА) servo3.write (0, _ жылдамдық, ақиқат); else if (саусақ == INDEX) servo2.write (0, _жылдамдық, шындық); else if (саусақ == THUMB) servo1.write (0, _ жылдамдық, ақиқат); } // Бағдарламаны жазғаннан кейін біз оны> Sketch> Programmer арқылы жүктеу арқылы тақтаға жүктейміз // Енді сіз микро сатшакитіңізді ардуинодан ажыратып, оны қуат банкі арқылы қосуға болады // And voila !! Сізде протездік қолыңыз бар
Ұсынылған:
Raspberry Pi Zero жұмыс жасайтын ағаштан жасалған LED дисплейі: 11 қадам (суреттермен)
Raspberry Pi Zero жұмыс жасайтын ағаштан жасалған ойын -сауық дисплейі: Бұл жоба 20x10 пиксельді WS2812 өлшемді 78x35 см жарықдиодты дисплейді іске қосады, оны қонақ бөлмесінде ретро ойындарын ойнау үшін оңай орнатуға болады. Бұл матрицаның бірінші нұсқасы 2016 жылы салынған және оны көптеген адамдар қайта жасаған. Бұл экспозиция
Батареямен жұмыс жасайтын шағын CRT осциллографы: 7 қадам (суреттермен)
Батареямен жұмыс істейтін шағын CRT осциллографы: Сәлеметсіз бе! Бұл нұсқаулықта мен сізге батареямен жұмыс істейтін шағын CRT осциллографын жасауды көрсетемін. Осциллограф - электроникамен жұмыс жасаудың маңызды құралы; Сіз барлық сигналдарды тізбекте өтіп жатқанын көре аласыз және ақаулықтарды жою
3D басып шығарылған протездік қол 4 қадамда!: 4 қадам
3D басып шығарылған протездік қол 4 қадамда!: Бұл жоба - мен жасаған протездік қол, мен протездеу және 3D басып шығару туралы қосымша білімді іздеуге тырысамын. Бұл ең жақсы жоба болмаса да, тәжірибе жинаудың және оны жасауды үйренудің тамаша тәсілі
Батареямен жұмыс жасайтын қозғалыспен жұмыс істейтін жарықдиодты шам: 4 қадам
Батареямен жұмыс жасайтын жарықдиодты шам: егер сіз сымды қосуға болмайтын жерге жарық қойғыңыз келсе, бұл сізге қажет болуы мүмкін
Серво басқарылатын протездік қол: 8 қадам
Серво басқарылатын протездік қол: Сәлеметсіз бе, мен оны ұстап тұру үшін серво басқаратын протезді жасаймын. Мен оң қолымды жасаймын, бірақ мен сол алақанды басып шығару үшін файлдарды қостым. Жинау сол және оң қол үшін бірдей