विषयसूची:

Arduino रोबोटिक आर्म: 5 कदम
Arduino रोबोटिक आर्म: 5 कदम

वीडियो: Arduino रोबोटिक आर्म: 5 कदम

वीडियो: Arduino रोबोटिक आर्म: 5 कदम
वीडियो: Arduino DIY MeArm 4DOF Wooden Robotics Robot Arm Kit + SG90 / MG90s Servo Motor 2024, नवंबर
Anonim
Image
Image
Arduino रोबोटिक आर्म
Arduino रोबोटिक आर्म
Arduino रोबोटिक आर्म
Arduino रोबोटिक आर्म

चूंकि यह मेरे Arduino स्टार्टर किट के 15 ट्यूटोरियल्स के बाद मेरा पहला प्रोजेक्ट है, इसका वास्तविक उद्देश्य कुछ आलोचकों, सुझावों, सुझावों, विचारों को किसी ऐसे व्यक्ति से प्राप्त करना है जो मुझसे अधिक जानता है।

यह प्रोजेक्ट एक रोबोटिक आर्म के बारे में है, जिसमें 4 डॉफ़ और एक ग्रिप है। शालीनता से कम बजट के साथ: संरचना को एक दोस्त द्वारा काटा गया है, 4 सर्वोस 30 €, 2 जॉयस्टिक 4 €, बोल्ट स्क्रू आदि 10 € से कम के लिए और बाकी सभी (Arduino, तार, ग्रिप सर्वो आदि) थे।) पहले से ही मेरे स्टार्टर किट में शामिल था। कुल ४०-४५ € के लिए, जो लगभग ४५-५० यूएस डॉलर हैं (एक मी-आर्म किट की समान कीमत, लेकिन हे, इसे खुद बनाना मजेदार था (और एक बार में कुछ गड़बड़ करना) और मशीन की तरह निर्देशों का पालन नहीं करना)।

चूँकि यह मेरी पहली परियोजना थी और शिक्षाप्रद थी, इसलिए मैंने ''पहली बार लेखक'' और कुछ अन्य प्रतियोगिताओं में प्रवेश किया, इसलिए यदि आप इसे पसंद करते हैं, तो इसे वोट करें:)

चरण 1: डिजाइनिंग और संयोजन:

पहले मुझे एक संरचना की आवश्यकता थी: यह निश्चित रूप से सबसे लंबा हिस्सा था। चूंकि मैं किसी और से प्रोजेक्ट को कॉपी और पेस्ट नहीं करना चाहता था, इसलिए मैंने एक प्रोजेक्ट को संदर्भ के रूप में लिया और मैंने (और कुछ और कुशल सहपाठियों ने वास्तव में मुझे बचाया) हमारी आवश्यकताओं के अनुसार इसे संशोधित करना शुरू कर दिया (विभिन्न टोक़, वजन और आयाम, आदि के साथ अलग-अलग सर्वो)। मुझे इसे कई बार बनाना पड़ा, उनमें से प्रत्येक ने मुझे कुछ गलत पाया, और हमें कुछ टुकड़ों को फिर से काटना पड़ा और पुनः प्रयास करना पड़ा। यदि आप इसका उपयोग करना चाहते हैं तो मैंने.dxf फ़ाइल संलग्न की है। तब मुझे इलेक्ट्रॉनिक्स खरीदना पड़ा:अधिकांश भाग मानक थे, सर्वो को चुनना कठिन हिस्सा था। मैंने अंगूठे के नियम के साथ आवश्यक टोक़ की गणना की, बाद में मैंने अधिक सटीक गणना की कोशिश की और मुझे पता चला कि मैंने इसे थोड़ा अधिक कर दिया होगा। जाहिरा तौर पर 6 किग्रा/सेमी दूसरे सर्वो (आधार से) के लिए पर्याप्त होता, और मेरा 9-11 किग्रा/सेमी प्रदान करता है। खैर, यह मुझे कुछ सुरक्षा देता है और 2 किलो तक भार लोड करने का मौका देता है (जो असंभव है, लेकिन मुझे यह पसंद है कि मैं इसे तकनीकी रूप से कर सकता हूं)। मैं अलग-अलग सर्वो भी खरीद सकता था, बेस से दूर जाते समय घटते टॉर्क के साथ, लेकिन एक ही विक्रेता से समान सर्वो खरीदना अब तक का सबसे सस्ता विकल्प था। बिजली की आपूर्ति: Arduino निश्चित रूप से सर्वो के लिए पर्याप्त नहीं था, क्योंकि प्रत्येक mg995 ड्रॉ 350mA और माइक्रोसर्वो 9g कुल 350*4 +100 = 1500mA के लिए 100mA खींचता है। इसलिए मैंने एक चार्जर (6V 1.5A) को बचाया और उसमें दो जम्पर तारों को मिलाया। (यदि आप में से कुछ को कुछ वास्तविक निर्देशों की आवश्यकता हो, तो बस टिप्पणियों में पूछें, और मैं चरण-दर-चरण बनाने की पूरी कोशिश करूंगा। गाइड) सामग्री की सूची: - संरचना- M5x7cm पेंच x5, m5 बोल्ट x15 (आधार) - M3x16mm पेंच x18 * - M3x20mm पेंच x13 * - M3 बोल्ट x40 * - M3x8cm पेंच x3 - क्लैंप (अन्यथा यह गिर जाएगा) - 3 डॉवेल- Arduino (या इसे नियंत्रित करने के लिए कुछ और, इसमें कम से कम 5 PWM होना चाहिए) - 5-6V और कम से कम 1.5A की आपूर्ति करने के लिए कुछ - 3x ps2 जैसी जॉयस्टिक- 4x TowerPro mg995 सर्वो- 1x TowerPro 9g माइक्रोसर्वो (पकड़ के लिए)) - बहुत सारे जम्पर तार - ब्रेडबोर्ड * (मैंने जल्दी से इकट्ठा और जुदा करने में सक्षम होने के लिए बोल्ट और स्क्रू का इस्तेमाल किया, अन्यथा आप उनमें से लगभग सभी को लकड़ी के स्क्रू से बदल सकते थे)

चरण 2: कोड:

विचार यह है कि प्रत्येक सर्वो को ps2-जैसे जॉयस्टिक के दो अक्षों में से एक के साथ नियंत्रित किया जाए। प्रत्येक जॉयस्टिक में y और x अक्ष दोनों के लिए अलग-अलग "बाकी मान" (0-1023 के बीच का मान जब यह अभी भी है) लग रहा था। एक समस्या थी, क्योंकि अंतर केवल छोटा था (623 पर y पर शून्य था) और मैं 0-1023 से डिग्री में बदलने के लिए मानचित्र फ़ंक्शन का उपयोग करना चाहता था। लेकिन मानचित्र फ़ंक्शन सोचता है कि शेष मान 1023/2 है। जैसे ही मैं Arduino पर स्विच करता हूं, जो हर सर्वो को ले जाता है, अच्छा नहीं है। मैं मैन्युअल रूप से रीडिंग वैल्यू और प्रत्येक अलग रेस्ट वैल्यू (जिसे मैंने हर जॉयस्टिक के लिए अलग से गणना की) के बीच अंतर ढूंढकर इसे प्राप्त करने में कामयाब रहा, फिर कोड को छोटा और स्मार्ट बनाएं, मैंने उसे सेटअप फ़ंक्शन में बाकी मानों को पढ़ा और उन्हें कुछ चरों में सहेजा। नया एल्गोरिदम वृद्धि को डिग्री में परिवर्तित करने पर निर्भर करता है, लेकिन मैं अपने वेतन वृद्धि के लिए बहुत कम मात्रा में डिग्री चाहता था, इसलिए मुझे इसे स्थिरांक के लिए विभाजित करना पड़ा: मैंने कई मूल्यों की कोशिश की, जब तक कि मैं अंतिम 200 के साथ नहीं आया (मैं इस मान को वांछित में मैन्युअल रूप से बदलने के लिए एक पोटेंशियोमीटर जोड़ सकता हूं)। बाकी कोड सुंदर मानक है जो मुझे लगता है, भले ही वृद्धि की गणना को एक अलग फ़ंक्शन के अंदर रखना अधिक सुरुचिपूर्ण हो।

चरण 3: इलेक्ट्रॉनिक्स:

इलेक्ट्रॉनिक्स
इलेक्ट्रॉनिक्स

वायरिंग वही है जैसा कि चित्र या फ्रिटिंग फ़ाइल में दिखाया गया है: पिन को सर्वो सिग्नल: 5-6-9-10-11 और जॉयस्टिक अक्ष से एनालॉग पिन: A0-A1-A2-A3-A4 बड़ी समस्या जिसमें मैं भाग गया यह था कि जॉयस्टिक की आपूर्ति Arduino द्वारा की जानी थी, न कि उस चार्जर द्वारा जो मैं सर्वो के लिए उपयोग करता हूं। अन्यथा सर्वो बस बेतरतीब ढंग से आगे और पीछे चलते हुए पागल हो जाएगा। मुझे लगता है कि ऐसा इसलिए हो सकता है, क्योंकि अगर मैं उन्हें चार्जर के साथ आपूर्ति करता हूं, तो Arduino संभावित अंतर को ठीक से नहीं बता पाएगा जब मैं उन्हें स्थानांतरित करता हूं, लेकिन फिर: मैं इलेक्ट्रॉनिक्स के लिए बहुत नया हूं इसलिए यह सिर्फ एक अनुमान है। ब्रेडबोर्ड के माध्यम से Arduino ग्राउंड और चार्जर ग्राउंड को जोड़ने से यादृच्छिक और अप्रत्याशित आंदोलनों को रोकने में मदद मिली, जॉयस्टिक की आपूर्ति के समान कारण के लिए मुझे लगता है।

चरण 4: वर्तमान में सुधार जारी है:

वर्तमान में सुधार जारी है
वर्तमान में सुधार जारी है

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

चरण 5: भविष्य में सुधार:

इसलिए, मैं इसके परिणाम से काफी संतुष्ट हूं और यह देखते हुए कि मैं इलेक्ट्रॉनिक्स के लिए पूरी तरह से नया हूं, कुछ नहीं उड़ा रहा था या खुद को पहले से ही एक बड़ी जीत थी। जैसा कि मैंने शुरुआत में कहा था, भविष्य में सुधार के लिए कोई भी विचार, सॉफ्टवेयर और दोनों हार्डवेयर, स्वागत से अधिक है! अब तक मैंने इस बारे में सोचा: १। जॉयस्टिक की "संवेदनशीलता" को संशोधित करने के लिए पोटेंशियोमीटर।2। नया कोड उसे कुछ आंदोलनों को "रिकॉर्ड" करने और उन्हें फिर से करने के लिए (शायद मानव इनपुट से तेज और छोटा) 3। किसी प्रकार का दृश्य/दूरी/आवाज इनपुट और जॉयस्टिक का उपयोग किए बिना किसी वस्तु को प्राप्त करने में सक्षम होना। ज्यामितीय आंकड़े खींचने में सक्षम होने के नाते कोई अन्य विचार? कृपया किसी भी सुझाव के साथ टिप्पणी करने के लिए स्वतंत्र महसूस करें। धन्यवाद

सिफारिश की: