विषयसूची:

Arduino और PC द्वारा नियंत्रित रोबोटिक आर्म: 10 कदम
Arduino और PC द्वारा नियंत्रित रोबोटिक आर्म: 10 कदम

वीडियो: Arduino और PC द्वारा नियंत्रित रोबोटिक आर्म: 10 कदम

वीडियो: Arduino और PC द्वारा नियंत्रित रोबोटिक आर्म: 10 कदम
वीडियो: Gesture-Controlled Servo with Python and Arduino #electronics #arduinotraining 2024, नवंबर
Anonim
Image
Image
परियोजना के पीछे सिद्धांत
परियोजना के पीछे सिद्धांत

उद्योग में रोबोटिक हथियारों का व्यापक रूप से उपयोग किया जाता है। चाहे वह विधानसभा संचालन के लिए हो, आईएसएस (इंटरनेशनल स्पेस स्टेशन) पर डॉकिंग के लिए वेल्डिंग या यहां तक कि एक का भी उपयोग किया जाता है, वे काम में इंसानों की मदद करते हैं या वे पूरी तरह से इंसान की जगह लेते हैं। मैंने जो आर्म बनाया है वह रोबोटिक आर्म का छोटा प्रतिनिधित्व है जिसे चलती वस्तुओं के लिए इस्तेमाल किया जाना चाहिए। इसे arduino pro mini द्वारा नियंत्रित किया जाता है जिसमें सर्वो को नियंत्रित करने के लिए पहले से ही अंतर्निहित पुस्तकालय है। सर्वो को पीडब्लूएम (पल्स चौड़ाई मॉडुलन) द्वारा नियंत्रित किया जाता है जिसे प्रोग्राम करना मुश्किल नहीं है लेकिन यह पुस्तकालय इसे आसान बनाता है। उपयोगकर्ता उन सर्वो को पोटेंशियोमीटर द्वारा नियंत्रित कर सकते हैं जिन्हें वोल्टेज डिवाइडर के रूप में या पीसी पर प्रोग्राम से कार्य करने के लिए डिज़ाइन किया गया है जो सर्वो मोटर्स को नियंत्रित करने के लिए 4 स्लाइडर्स का उपयोग करता है।

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

चरण 1: परियोजना के पीछे सिद्धांत

परियोजना के पीछे सिद्धांत
परियोजना के पीछे सिद्धांत

Arduino इस तरह से बहुत अच्छा है कि यह काम करने के लिए मुफ्त पुस्तकालय प्रदान करता है। इस परियोजना के लिए मैंने लाइब्रेरी Servo.h का उपयोग किया है जो सर्वो को नियंत्रित करना इतना आसान बनाता है।

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

सर्वो को नियंत्रित करने के लिए मैंने पोटेंशियोमीटर का उपयोग किया जो वोल्टेज डिवाइडर के रूप में कार्य करता है। Arduino बोर्डों में कई एनालॉग/डिजिटल कन्वर्टर्स हैं जिनका उपयोग मैंने प्रोजेक्ट के लिए किया था। मूल रूप से arduino पोटेंशियोमीटर पर मध्य पिन पर वोल्टेज की निगरानी कर रहा है और अगर यह एक तरफ वोल्टेज को घुमाता है तो यह 0 वोल्ट (मान = 0) है और दूसरी तरफ यह 5 वोल्ट (मान = 1023) है। यह मान तब 0 - 1023 से 0 - 180 की सीमा तक बढ़ाया जाता है और फिर इसे पहले से उल्लिखित कार्य के लिए पास किया जाता है।

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

चरण 2: पीसीबी डिजाइन करना

पीसीबी डिजाइनिंग
पीसीबी डिजाइनिंग
पीसीबी डिजाइनिंग
पीसीबी डिजाइनिंग
पीसीबी डिजाइनिंग
पीसीबी डिजाइनिंग

मैंने 2 PCB डिज़ाइन किए - एक मुख्य नियंत्रण के लिए जहाँ arduino है और सर्वो के लिए पिन और दूसरे पर पोटेंशियोमीटर हैं। 2 पीसीबी का कारण यह है कि मैं रोबोटिक आर्म को सुरक्षित दूरी से नियंत्रित करना चाहता था। दोनों सर्किट दी गई लंबाई के केबल से जुड़े हुए हैं - मेरे मामले में 80 सेमी।

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

चरण 3: पीसीबी बनाना

पीसीबी बनाना
पीसीबी बनाना
पीसीबी बनाना
पीसीबी बनाना
पीसीबी बनाना
पीसीबी बनाना

पीसीबी बनाने के लिए मेरा सुझाव है कि आप इसे पढ़ें।

मैंने ग्लॉसी पेपर विधि पर आयरन का उपयोग किया और इसने बहुत अच्छा काम किया।

फिर मैंने पीसीबी पर भागों को मिलाया। आप देख सकते हैं कि मैंने arduino सॉकेट का उपयोग किया है कि भविष्य में मुझे इसकी आवश्यकता होगी।

चरण 4: आर्म डिजाइन करना

आर्म डिजाइनिंग
आर्म डिजाइनिंग
आर्म डिजाइनिंग
आर्म डिजाइनिंग
आर्म डिजाइनिंग
आर्म डिजाइनिंग

यह किसी भी तरह से इस परियोजना को बनाने का सबसे कठिन हिस्सा नहीं था।

पूरा सेटअप 8 भागों से बना है जहां 4 भाग नहीं चल रहे हैं - पोटेंशियोमीटर के लिए बॉक्स और आधार जहां आर्डिनो स्थित है - और अन्य चार हाथ ही हैं। मैं अधिक विस्तार में नहीं जाऊंगा सिवाय इसके कि डिजाइन बहुत सहज और किसी तरह से सरल है। यह मेरे कस्टम पीसीबी और सर्वो को फिट करने के लिए डिज़ाइन किया गया है जिसे मैं भागों की सूची में शामिल करूंगा।

चरण 5: भागों को प्रिंट करना

भागों की छपाई
भागों की छपाई
भागों की छपाई
भागों की छपाई
भागों की छपाई
भागों की छपाई

पुर्जे प्रूसा प्रिंटर पर छपे थे। कुछ चेहरों को थोड़ा सा जमीन और छेद ड्रिल किए गए गर्त की आवश्यकता होती है। साथ ही सहायक खंभों को भी हटाना होगा।

चरण 6: यह सब एक साथ रखना

यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें
यह सब एक साथ डालें

इस चरण में जैसा कि शीर्षक कहता है, मैंने यह सब एक साथ रखा है।

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

अगले चरण के रूप में मैंने दोनों बोर्डों को जोड़ने के लिए फ्लैट रिबन केबल बनाया।

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

फिर, शिकंजा का उपयोग करके मैंने नीचे के सर्वो को बॉक्स के नीचे से जोड़ दिया।

उसके बाद मैंने बॉक्स के ऊपरी हिस्से को नीचे के हिस्से पर रखा और उसी तरह पोटेंशियोमीटर बॉक्स के साथ मैंने इसे 4 स्क्रू से सुरक्षित किया।

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

और अंतिम चरण के रूप में मैंने बक्सों के नीचे कुछ टेप लगा दिए क्योंकि अन्यथा वे फिसल रहे होंगे।

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

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

मैंने पहले ही उल्लेख किया है कि परियोजना के पीछे सिद्धांत में कार्यक्रम कैसे काम करता है, लेकिन मैं इसे और भी अधिक तोड़ने जा रहा हूं।

इसलिए शुरुआत में हमें कुछ वेरिएबल्स को परिभाषित करने की आवश्यकता है। अधिकतर इसे 4 बार कॉपी किया जाता है क्योंकि हमारे पास 4 सर्वो हैं और मेरी राय में प्रोग्राम को थोड़ा छोटा करने के लिए अधिक जटिल तर्क बनाना अनावश्यक है।

इसके बाद शून्य सेटअप है जहां सर्वो के पिन परिभाषित किए गए हैं।

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

कार्यक्रम का अंतिम भाग सीरियल पोर्ट से डेटा पढ़ता है और यह तय करता है कि भेजे गए डेटा के आधार पर क्या करना है।

कोड को पूरी तरह से समझने के लिए, मेरा सुझाव है कि आप आधिकारिक arduino वेबसाइटों पर जाएँ।

चरण 8: पायथन में प्रोग्रामिंग

पायथन में प्रोग्रामिंग
पायथन में प्रोग्रामिंग
पायथन में प्रोग्रामिंग
पायथन में प्रोग्रामिंग
पायथन में प्रोग्रामिंग
पायथन में प्रोग्रामिंग

इस परियोजना का यह हिस्सा जरूरी नहीं है लेकिन मुझे लगता है कि यह केवल इस परियोजना को और अधिक मूल्य देता है।

पायथन कई पुस्तकालय प्रदान करता है जो उपयोग करने के लिए स्वतंत्र हैं लेकिन इस परियोजना में मैं केवल टिंकर और सीरियल का उपयोग कर रहा हूं। Tkinter का उपयोग GUI (ग्राफिकल यूजर इंटरफेस) और सीरियल के लिए किया जाता है जैसा कि इसके नाम से पता चलता है कि इसका उपयोग सीरियल कम्युनिकेशन के लिए किया जाता है।

यह कोड 4 स्लाइडर के साथ GUI बनाता है जिसका न्यूनतम मान 0 और अधिकतम 180 है। यह आपके लिए संकेत हो सकता है कि यह डिग्री में है और प्रत्येक स्लाइडर को एक सर्वो को नियंत्रित करने के लिए प्रोग्राम किया गया है। यह कार्यक्रम बल्कि सरल है - यह मूल्य लेता है और इसे arduino पर भेजता है। लेकिन जिस तरह से यह भेजता है वह दिलचस्प है। यदि आप पहले सर्वो के मान को 123 डिग्री में बदलना चुनते हैं तो यह arduino मान 1123 पर भेजता है। भेजे गए प्रत्येक नंबर की पहली संख्या बता रही है कि कौन सा सर्वो नियंत्रित होने वाला है। Arduino में कोड है जो इसे डिकोड कर सकता है और सही सर्वो को स्थानांतरित कर सकता है।

चरण 9: भागों की सूची

भागों की सूची
भागों की सूची
  • Arduino प्रो मिनी 1 टुकड़ा
  • सर्वो FS5106B 1 टुकड़ा
  • सर्वो फ़ुताबा एस३००३ २ पीस
  • पिन हैडर 2x5 1 टुकड़ा
  • पिन हैडर 1x3 6 पीस
  • संधारित्र 220uF 3 टुकड़े
  • माइक्रो सर्वो FS90 1 पीस
  • कनेक्टर AWP-10 2 टुकड़े
  • कनेक्टर FC681492 1 टुकड़ा
  • स्विच P-B100G1 1 टुकड़ा
  • सॉकेट 2x14 1 टुकड़ा
  • TTL-232R-5v - कनवर्टर 1 टुकड़ा
  • पोटेंशियोमीटर B200K 4 पीस
  • और कई और पेंच, पैड और नट

चरण 10: अंतिम विचार

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

सिफारिश की: