विषयसूची:

प्रोस्थेटिक आर्म मायोसेंसर के साथ काम कर रहा है: 8 कदम
प्रोस्थेटिक आर्म मायोसेंसर के साथ काम कर रहा है: 8 कदम

वीडियो: प्रोस्थेटिक आर्म मायोसेंसर के साथ काम कर रहा है: 8 कदम

वीडियो: प्रोस्थेटिक आर्म मायोसेंसर के साथ काम कर रहा है: 8 कदम
वीडियो: Robotics & Artificial intelligence || रोबोटिक्स और आर्टिफिशियल इंटेलिजेंस 2024, नवंबर
Anonim
Image
Image

यह परियोजना कटे हुए लोगों के लिए कृत्रिम भुजा का विकास है। इस परियोजना का लक्ष्य उन लोगों के लिए एक किफायती कृत्रिम अंग का निर्माण करना है जो एक पेशेवर का खर्च नहीं उठा सकते।

चूंकि यह परियोजना अभी भी प्रोटोटाइप चरण पर है, यह हमेशा बेहतर हो सकता है क्योंकि अभी के लिए यह केवल हथेली को खोल और बंद कर सकता है ताकि सामान पकड़ने में सक्षम हो! फिर भी, यह एक DIY कृत्रिम हाथ है जिसे घर पर या स्थानीय फैब लैब में किया जा सकता है।

चरण 1: आवश्यक सामग्री, उपकरण और मशीनें

मशीनें:

  1. थ्री डी प्रिण्टर
  2. लेजर कटर
  3. डेस्कटॉप सीएनसी मशीन

उपकरण:

  1. मछली का जाल
  2. 3 मिमी फिलामेंट
  3. ड्रिल
  4. सुपर गोंद
  5. छेद सरौता
  6. मल्टीमीटर
  7. टांका स्टेशन
  8. मशीन योग्य मोम
  9. सिलिकॉन मोल्ड के लिए

सामग्री:

  1. ताम्र पत्र
  2. 1x ATMEGA328P-AU
  3. 1x 16 मेगाहर्ट्ज क्रिस्टल
  4. 1x 10k रोकनेवाला
  5. 2x 22pF कैपेसिटर
  6. 1x 10uF संधारित्र
  7. 1x 1uF संधारित्र
  8. 1x 0.1uF संधारित्र
  9. 1x मायोसेंसर
  10. 5x माइक्रो सर्वो मोटर्स
  11. 1x अरुडिनो यूएनओ

सॉफ्टवेयर:

  1. अरुडिनो आईडीई
  2. फ्यूजन360
  3. कुरा
  4. गिद्ध
  5. तार से पुष्ट किया हुआ फ़ीता

चरण 2: 2डी और 3डी डिजाइन

2डी और 3डी डिजाइन
2डी और 3डी डिजाइन
2डी और 3डी डिजाइन
2डी और 3डी डिजाइन
2डी और 3डी डिजाइन
2डी और 3डी डिजाइन

3डी डिजाइन

पहला कदम प्रोस्थेटिक बांह में जाने वाले इलेक्ट्रॉनिक्स को ध्यान में रखते हुए प्रोस्थेटिक बांह की उंगलियों, हथेली और अग्रभाग को डिजाइन करना था। ईमानदार होने के लिए, मैंने ओपन सोर्स इनमोव प्रोजेक्ट के आधार के रूप में उपयोग किया और मैंने वहां से शुरुआत की।

हथेली डिजाइन करने के लिए काफी कठिन हिस्सा है क्योंकि उंगलियों के बीच अलग-अलग अनुपात होना चाहिए। इसलिए:

उंगलियां: मैंने इनमोव प्रोजेक्ट से उंगलियां डाउनलोड कीं।

हथेली:

  1. मैंने पहले हथेली के लेआउट को स्केच किया और उसे बाहर निकाला।
  2. फिर मैंने स्केच, कट कमांड और पट्टिका कमांड का उपयोग करके उंगली और अग्रभाग के कनेक्शन के लिए छेद बनाए।
  3. उसके बाद, मुझे मछली पकड़ने की रेखाओं को पार करने में सक्षम होने के लिए ट्यूब बनाना पड़ा ताकि मैं मोटरों के माध्यम से उंगलियों को नियंत्रित कर सकूं।
  4. अंत में, हथेली के अंदर छेद जोड़ना पड़ा ताकि मछली पकड़ने की रेखा खींचे जाने पर हथेली को बंद करना संभव हो।

प्रकोष्ठ:

  1. विभिन्न विमानों में, मैंने दो रेखाचित्र बनाए और दीर्घवृत्त कमांड का उपयोग किया। मैंने वांछित आकार बनाने के बाद मचान कमांड का उपयोग किया।
  2. इसके बाद, इसे खोखला बनाने के लिए शेल कमांड का उपयोग किया गया और इसे आधे में काटने के लिए स्प्लिट कमांड का उपयोग किया गया ताकि मैं इसमें डिजाइन कर सकूं और जब मैं अपने इलेक्ट्रॉनिक्स को अंदर कर रहा हूं, तो सबसे अच्छी पहुंच के लिए।
  3. कलाई के पास एक स्केच भी बनाया गया था, जिसे बाहर निकाला गया और मुख्य अग्रभाग से जोड़ा गया ताकि वह हथेली से जुड़ सके।
  4. प्रकोष्ठ के अंदर डिजाइन करने की दृश्यता होने के कारण, मैंने उन पांच मोटरों के आयामों में एक स्केच बनाया, जिनका मैं उपयोग कर रहा हूं, प्रत्येक उंगली के लिए एक, और मेरा पीसीबी (मुद्रित सर्किट बोर्ड) जिसका मैं उपयोग कर रहा हूं। मैंने तब तक उन्हें तब तक बाहर निकाला जब तक वे वांछित ऊंचाई तक नहीं पहुंच गए और बैकस्पेस का उपयोग करके सिलेंडर के पीछे के अनावश्यक हिस्सों को हटा दिया।
  5. अंत में, बोल्ट के लिए उद्घाटन को इस तरह से डिजाइन किया गया था, जो समग्र डिजाइन पर इतना दिखाई नहीं दे रहा है, ताकि ऊपर की तरह समान आदेशों का उपयोग करके अग्रभाग को बंद किया जा सके।

डिज़ाइन को पूरा करते हुए, मैंने प्रत्येक बॉडी का चयन किया और इसे एक.stl फ़ाइल के रूप में डाउनलोड किया और I 3D ने उन्हें अलग से प्रिंट किया।

2डी डिजाइन

जैसा कि मैं चाहता था कि मेरी मछली पकड़ने की लाइनें अलग हो जाएं, जबकि वे मोटरों द्वारा संचालित की जा रही हों, मैंने उनके लिए मार्गदर्शक स्लॉट बनाने का फैसला किया। इसके लिए, मुझे वास्तव में कुछ भी नया डिज़ाइन नहीं करना था, लेकिन जब मैं फोरआर्म बनाने के लिए लॉफ्ट कमांड का उपयोग करता था तो छोटे अंडाकार का उपयोग करता था।

मैंने लेज़र कटर का उपयोग करने के बाद इसके स्केच को.dxf फ़ाइल के रूप में निर्यात किया। अपना मनचाहा आकार पाने के बाद, मैंने उस स्लॉट के अंदर 0.8 मिमी के छेद ड्रिल किए जो मुझे आवश्यक लगे।

चरण 3: 3डी प्रिंटिंग

3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग

प्रत्येक stl फ़ाइल को निर्यात करने के बाद, मैंने उंगलियों, हथेली और प्रकोष्ठ के विभिन्न भागों का.gcode उत्पन्न करने के लिए Cura का उपयोग किया। उपयोग की गई सेटिंग्स को ऊपर की तस्वीरों में दिखाया गया है। 3डी मुद्रित भागों की सामग्री पीएलए है।

चरण 4: मोल्डिंग और कास्टिंग

मोल्डिंग और कास्टिंग
मोल्डिंग और कास्टिंग
मोल्डिंग और कास्टिंग
मोल्डिंग और कास्टिंग
मोल्डिंग और कास्टिंग
मोल्डिंग और कास्टिंग

हथेली की ढलाई का उद्देश्य कृत्रिम हाथ की मजबूत पकड़ है क्योंकि पीएलए फिसलन भरा हो सकता है।

3डी डिजाइन

  1. हथेली के पहले से मौजूद स्केच का उपयोग करते हुए, मैंने आर्क कमांड का उपयोग करके अपनी हथेली की तरह तरह के वृत्त डिजाइन करके उसकी नकल करने की कोशिश की।
  2. इसके बाद, मैंने उन्हें अलग-अलग ऊंचाइयों पर निकाला और अंदर के "मंडलियों" के किनारों को चिकना करने के लिए पट्टिका कमांड का उपयोग किया।
  3. फिर, मैंने अपने मशीनी मोम के समान आयामों के साथ एक बॉक्स डिज़ाइन किया और मैंने अपने डिज़ाइन के नकारात्मक को कंबाइन कमांड में कट का उपयोग करके वहां रखा।

सीएएम प्रक्रिया

डेस्कटॉप सीएनसी मशीन का उपयोग करके डिजाइन तैयार होने के बाद, मुझे उसके लिए जीकोड जेनरेट करना पड़ा। मेरे मामले में, मैं रोलाण्ड MDX-40 सीएनसी मशीन का उपयोग कर रहा था!

  1. सबसे पहले, मैंने Fusion360 के CAM वातावरण में प्रवेश किया।
  2. फिर, मैंने सेटअप मेनू पर एक "नया सेटअप" चुना।
  3. मैंने सही पैरामीटर चुना (चित्र देखें) और ओके दबाया।
  4. अगला, 3डी मेनू के तहत, मैंने अनुकूली समाशोधन को चुना और मेरे द्वारा उपयोग किए गए टूल को सम्मिलित करने के बाद सही मापदंडों का चयन किया जैसा कि चित्रों में दिखाया गया है।
  5. अंत में, मैंने अनुकूली समाशोधन को चुना और पोस्ट प्रक्रिया पर क्लिक किया। मैंने सुनिश्चित किया कि यह रोलाण्ड मशीन mdx-40 के लिए था और gcode प्राप्त करने के लिए ठीक क्लिक किया।
  6. उसके बाद, मैंने मशीन का उपयोग करके अपने डिजाइन के अनुसार मोम के ब्लॉक को पिसाई किया।

सिलिकॉन कास्टिंग

  1. सबसे पहले, मैंने मिश्रण अनुपात, पॉट लाइफ और डिमोल्ड समय को ध्यान में रखते हुए डेटाशीट (सामग्री पर पाया गया लिंक) का पालन करते हुए, सिलिकॉन के दो समाधानों को ध्यान से मिश्रित किया ताकि कोई हवाई बुलबुले न हो।
  2. फिर, मैंने इसे सबसे निचले बिंदु से अपने सांचे में डाला, जिससे यह सुनिश्चित हो गया कि संपर्क बिंदु स्थिर है और हवा के बुलबुले से बचने के लिए डाले गए घोल का व्यास जितना संभव हो उतना पतला था।
  3. अपने सांचे में सिलिकॉन डालने के बाद, मुझे यह सुनिश्चित करना था कि अंदर कोई हवाई बुलबुले न हों, इसलिए मैंने एक तिरछी कील के साथ एक ड्रिल का उपयोग करके मोल्ड को कांप दिया।
  4. अंत में, जैसा कि मैं इसे अपने डिजाइन में करना भूल गया था, मैंने अपने सिलिकॉन में छिद्रों को तैयार होने के बाद, छेद वाले सरौता का उपयोग करके, इस तरह से छेद किया कि वे उन छेदों से मेल खाते हैं जो हथेली की सतह पर थे।

चरण 5: इलेक्ट्रॉनिक्स डिजाइन और उत्पादन

इलेक्ट्रॉनिक्स डिजाइन और उत्पादन
इलेक्ट्रॉनिक्स डिजाइन और उत्पादन
इलेक्ट्रॉनिक्स डिजाइन और उत्पादन
इलेक्ट्रॉनिक्स डिजाइन और उत्पादन
इलेक्ट्रॉनिक्स डिजाइन और उत्पादन
इलेक्ट्रॉनिक्स डिजाइन और उत्पादन

अपने बोर्ड को डिजाइन करने और माइक्रोकंट्रोलर के पिन में क्या चल रहा है, इसे समझने के लिए, मुझे इसकी डेटशीट पढ़नी पड़ी। बेस पीसीबी के रूप में, मैंने माइक्रो सतशक्त का उपयोग किया और फिर मैंने इसे अपने सिस्टम की जरूरतों के अनुसार संशोधित किया।

जैसा कि सतशक्त एक DIY arduino- आधारित बोर्ड है, मैं इसे arduino के साथ अपने भागों के कनेक्शन के लिए अपनी खोजों के अनुसार संशोधित कर सकता हूं। तो, मायोसेंसर एक GND पिन, एक VCC पिन और एक एनालॉग पिन का उपयोग करके arduino से जुड़ता है। जबकि, एक सर्वो मोटर एक GND पिन, एक VCC पिन और एक PWM पिन का उपयोग करता है। इसलिए, मुझे बोर्ड की शक्ति, एक एनालॉग और पांच पीडब्लूएम पिनों को ध्यान में रखते हुए कुल छह जीएनडी और वीसीसी पिनों को उजागर करना पड़ा। इसके अलावा, मुझे बोर्ड की प्रोग्रामिंग (जो MISO, MOSI, SCK, RST, VCC और GND हैं) के लिए पिन को उजागर करने के लिए ध्यान में रखना था।

मैंने जो कदम उठाए वे थे:

  1. सबसे पहले, मैंने माइक्रो-सतशकिट की ईगल फाइलें डाउनलोड कीं।
  2. इसके बाद, मैंने ईगल का उपयोग करके अपनी आवश्यकताओं के अनुसार माइक्रो-सतशकिट को संशोधित किया। ईगल का उपयोग करने के तरीके पर एक गाइड यहां और यहां पाया जा सकता है।
  3. अपने बोर्ड को रूट करने के बाद, मैंने इसे एक पीएनजी फ़ाइल के रूप में निर्यात किया और जीआईएमपी का उपयोग करके इसका आंतरिक और बाहरी पथ तैयार किया। ऐसा कैसे करें, इसके बारे में अधिक जानकारी यहां पाई जा सकती है।

मेरे बोर्ड के आंतरिक और बाहरी पथों को पीएनजी के रूप में रखने के बाद, यह रोलाण्ड एमडीएक्स -40 डेस्कटॉप सीएनसी मशीन में मिल करने में सक्षम होने के लिए उनमें से जीकोड उत्पन्न करने का समय है।.gcode की पीढ़ी के लिए मैंने फैब मॉड्यूल का इस्तेमाल किया। सेटिंग्स जिन्हें फैब मॉड्यूल में सेट किया जाना चाहिए और यहां पाया जाना चाहिए।

अंत में, मैंने अपने ईगल बोर्ड के अनुसार अपनी जरूरत की हर चीज को मिला दिया। योजनाबद्ध और टांका लगाने वाले बोर्ड की तस्वीर ऊपर पाई जा सकती है।

Arduino UNO का उपयोग करने के बजाय अपना खुद का PCB बोर्ड बनाने का कारण वह स्थान है जिसे मैं अपने बोर्ड का उपयोग करते समय बचा रहा हूं।

चरण 6: विधानसभा

सभा
सभा
सभा
सभा
सभा
सभा

तो, उंगलियों के छपने के बाद:

  1. मुझे अंदर के छेदों को 3.5 मिमी व्यास की ड्रिल और बाहरी छेदों को 3 मिमी व्यास की ड्रिल से ड्रिल करना था। अंदर के छेद का मतलब है कि जब हिस्से जुड़े होते हैं तो वह अंदर और बाहर के छेद से होता है, जो हिस्सा जुड़ा होता है वह बाहर से होता है।
  2. उसके बाद मुझे पहली उंगली से दूसरी और तीसरी को चौथी उंगली से सुपरग्लू करना पड़ा।
  3. उसके बाद, मैंने 3 मिमी व्यास वाले फिलामेंट का उपयोग करके छोटे छिद्रों के माध्यम से भागों 1 + 2 को 3 + 4 के साथ 5 के साथ जोड़ा।
  4. अंत में, उंगलियों को हथेली से और फिर अग्रभाग के साथ इकट्ठा करने के लिए तैयार किया गया था।

तो, यह मछली पकड़ने की रेखा को उंगलियों से पार करने का समय था।

एक रेखा उंगली के पिछले हिस्से से उंगली-हथेली कनेक्टर पर पाइप के माध्यम से और अग्रभाग तक जाती है और दूसरी रेखा उंगली के सामने की ओर से हथेली के अंदर और अग्र भाग तक जाती है।

एक विशेष नोट मछली पकड़ने की रेखा को लकड़ी के एक टुकड़े के माध्यम से पारित करना है जिसमें इसके व्यास के साथ एक छेद है और एक गाँठ बनाओ। नहीं तो जब रेखा खींची जाती है, तो वह उंगली से नीचे जा सकती है, जो मेरे साथ हुआ, चाहे मैंने कितनी भी गांठें बना ली हों।

  • मछली पकड़ने की रेखा को उंगलियों से गुजरने के बाद, हथेली और अग्रभाग को कुछ 3D प्रिंटेड बॉट बोल्ट से जोड़ा जाना चाहिए,
  • मैंने उन्हें अलग करने के लिए लेजर कट होल स्लॉट के माध्यम से फिर से लाइनों को पारित किया और फिर उन्हें सर्वो मोटर्स से जोड़ा।
  • मछली पकड़ने की रेखा को सर्वो की सही स्थिति से जोड़ना थोड़ा चुनौतीपूर्ण है। लेकिन, मैंने जो किया वह उंगली की चरम स्थिति को लेना और उसे सर्वो की चरम स्थिति से जोड़ना था।
  • सही स्थिति मिलने के बाद, मैंने सर्वो के लिए विशेष स्लॉट में छेद ड्रिल किया और सर्वो को सही स्थानों पर खराब कर दिया ताकि यह सुनिश्चित हो सके कि दो सर्वो दूसरे से थोड़ा ऊपर उठे थे, अन्यथा वे अपने ऑपरेशन के दौरान टकरा जाएंगे।

चरण 7: प्रोग्रामिंग

प्रोग्रामिंग
प्रोग्रामिंग

प्रोग्राम लिखने से पहले, मुझे संशोधित माइक्रो-सतशकिट को प्रोग्राम करने योग्य बनाना था। ऐसा करने के लिए, मुझे नीचे दिए गए चरणों का पालन करना था:

  1. Arduino Uno को पीसी से कनेक्ट करें।
  2. टूल्स के तहत सही पोर्ट और Arduino Uno बोर्ड का चयन करें।
  3. फ़ाइल> उदाहरण के तहत, "ArduinoISP" स्केच ढूंढें और खोलें।
  4. स्केच को Arduino पर अपलोड करें।
  5. पीसी से Arduino को डिस्कनेक्ट करें।
  6. चित्र में योजनाबद्ध का पालन करते हुए बोर्ड को Arduino से कनेक्ट करें।
  7. Arduino को पीसी से कनेक्ट करें।
  8. "Arduino/Genuino Uno" बोर्ड और "Arduino as ISP" प्रोग्रामर का चयन करें।
  9. >टूल्स > बर्न बूटलोडर पर क्लिक करें।
  10. बूटलोडर सफलतापूर्वक हो जाने के बाद, हम अपना प्रोग्राम लिख सकते हैं:

// उस पुस्तकालय सहित जो मैंने सर्वो मोटर्स के लिए उपयोग किया था

#include #include SoftwareSerial mySerial(7, 8); #define MYO_PIN A0 int sensorValue; फ्लोट वोल्टेज; // मेरे सर्वो VarSpeedServo सर्वो 1 के लिए एक नाम नियुक्त करें; वरस्पीड सर्वो सर्वो२; वरस्पीड सर्वो सर्वो3; वरस्पीड सर्वो सर्वो4; वरस्पीड सर्वो सर्वो5; # PINKY 5 को परिभाषित करें # PINKY_PIN 10 को परिभाषित करें #RINGFINGER 4 को परिभाषित करें #RINGFINGER_PIN 9 को परिभाषित करें #MIDDLE 3 को परिभाषित करें #MIDDLE_PIN 3 को परिभाषित करें #INDEX 2 को परिभाषित करें #INDEX_PIN 5 को परिभाषित करें); // वह पिन जिसे मैंने अपनी मोटर सर्वो1.अटैच (THUMB_PIN) से जोड़ा है; सर्वो2.अटैच (INDEX_PIN); सर्वो3.अटैच (MIDDLE_PIN); सर्वो4.अटैच (RINGFINGER_PIN); सर्वो5.अटैच (PINKY_PIN); डिफ़ॉल्ट स्थिति (थंब, 40); डिफ़ॉल्ट स्थिति (इंडेक्स, 40); डिफ़ॉल्ट स्थिति (मध्य, 40); डिफ़ॉल्ट स्थिति (रिंगफिंगर, 40); डिफ़ॉल्ट स्थिति (पिंकी, 40); mySerial.begin (९६००); mySerial.print ("आरंभ कर रहा है …"); } शून्य लूप () {सेंसरवैल्यू = एनालॉग रीड (ए 0); वोल्टेज = सेंसरवैल्यू * (5.0 / 1023.0); mySerial.println (वोल्टेज); देरी (100); अगर (वोल्टेज> 1) {क्लोजपोजिशन (पिंकी, 60); क्लोजपोजिशन (रिंगफिंगर, 60); क्लोजपोजिशन (मध्य, 60); क्लोजपोजिशन (इंडेक्स, 60); क्लोजपोजिशन (थंब, 60); } और {ओपनपोजिशन (पिंकी, 60); ओपनपोजिशन (रिंगफिगर, 60); ओपनपोजिशन (मध्य, 60); ओपनपोजिशन (इंडेक्स, 60); ओपनपोजिशन (थंब, 60); } } शून्य डिफ़ॉल्ट स्थिति (uint8_t उंगली, uint8_t _speed) {अगर (उंगली == पिंकी) सर्वो 5.लिखें (90, _गति, सत्य); और अगर (उंगली == रिंगफिंगर) सर्वो ४.राइट (७०, _स्पीड, सच); और अगर (उंगली == मध्य) सर्वो 3.लिखें (20, _गति, सत्य); और अगर (उंगली == INDEX) सर्वो २.लिखें (२०, _गति, सत्य); और अगर (उंगली == अंगूठे) सर्वो १.लिखें (२०, _गति, सत्य); } शून्य बंद स्थिति (uint8_t उंगली, uint8_t _speed) {अगर (उंगली == पिंकी) सर्वो 5.लिखें (180, _गति, सत्य); और अगर (उंगली == रिंगफिंगर) सर्वो ४.लिखें (१८०, _गति, सच); और अगर (उंगली == मध्य) सर्वो ३.लिखें (१८०, _गति, सत्य); और अगर (उंगली == सूचकांक) सर्वो २.लिखें (१८०, _गति, सच); और अगर (उंगली == अंगूठे) सर्वो १.अटैच (१८०, _गति, सच); } शून्य खुली स्थिति (uint8_t उंगली, uint8_t _speed) {अगर (उंगली == पिंकी) सर्वो 5.लिखें (0, _गति, सत्य); और अगर (उंगली == रिंगफिंगर) सर्वो4.लिखें (0, _गति, सत्य); और अगर (उंगली == मध्य) सर्वो 3.लिखें (0, _गति, सत्य); और अगर (उंगली == सूचकांक) सर्वो २.लिखें (0, _गति, सत्य); और अगर (उंगली == अंगूठे) सर्वो 1.लिखें (0, _गति, सत्य); }//प्रोग्राम लिखने के बाद हम इसे बोर्ड पर अपलोड करते हैं>स्केच>प्रोग्रामर का उपयोग करके अपलोड करें //अब आप अपने arduino से अपने माइक्रो सतशक्त को अनवायर कर सकते हैं और इसे पावर बैंक //और वॉयला के माध्यम से पावर कर सकते हैं !! आपके पास कृत्रिम भुजा है

सिफारिश की: