विषयसूची:

सॉर्टर बिन - अपने ट्रैश का पता लगाएं और सॉर्ट करें: 9 कदम
सॉर्टर बिन - अपने ट्रैश का पता लगाएं और सॉर्ट करें: 9 कदम

वीडियो: सॉर्टर बिन - अपने ट्रैश का पता लगाएं और सॉर्ट करें: 9 कदम

वीडियो: सॉर्टर बिन - अपने ट्रैश का पता लगाएं और सॉर्ट करें: 9 कदम
वीडियो: सिर्फ 1 सैकेण्ड में बड़ा या छोटा भिन्न पता करे। 2024, जुलाई
Anonim
Image
Image
यह काम किस प्रकार करता है
यह काम किस प्रकार करता है

क्या आपने कभी किसी ऐसे व्यक्ति को देखा है जो रीसाइक्लिंग नहीं कर रहा है या इसे खराब तरीके से कर रहा है?

क्या आपने कभी ऐसी मशीन की कामना की है जो आपके लिए पुनर्चक्रण कर सके?

हमारे प्रोजेक्ट को पढ़ते रहें, आपको इसका पछतावा नहीं होगा!

सॉर्टर बिन दुनिया में रीसाइक्लिंग में मदद करने की स्पष्ट प्रेरणा वाली एक परियोजना है। जैसा कि सर्वविदित है, पुनर्चक्रण की कमी हमारे ग्रह में गंभीर समस्याएं पैदा कर रही है, जैसे कच्चे माल का गायब होना और समुद्री संदूषण, अन्य।

इस कारण से, हमारी टीम ने एक छोटे पैमाने पर एक परियोजना विकसित करने का निर्णय लिया है: एक सॉर्टर बिन जो सामग्री धातु या गैर-धातु के आधार पर कचरे को अलग-अलग प्राप्तकर्ताओं में अलग करने में सक्षम है। भविष्य के संस्करणों में, उस सॉर्टर बिन को बड़े पैमाने पर एक्सट्रपलेशन किया जा सकता है, जिससे कचरे को विभिन्न प्रकार की सामग्री (लकड़ी, प्लास्टिक, धातु, कार्बनिक…) में विभाजित किया जा सकता है।

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

अगले खंडों में, इस परियोजना को चरण दर चरण समझाया जाएगा।

चरण 1: यह कैसे काम करता है

यह काम किस प्रकार करता है
यह काम किस प्रकार करता है
यह काम किस प्रकार करता है
यह काम किस प्रकार करता है

सॉर्टर बिन को उपयोगकर्ता के लिए काम को अपेक्षाकृत आसान बनाने के लिए डिज़ाइन किया गया है: कचरे को ऊपरी प्लेट में रखे छेद के माध्यम से पेश किया जाना है, पीले बटन को दबाया जाना है और प्रक्रिया शुरू होती है, कचरे के साथ एक में समाप्त होता है प्राप्तकर्ताओं की। लेकिन अब सवाल यह है कि… यह प्रक्रिया आंतरिक रूप से कैसे काम कर रही है?

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

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

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

चरण 2: सामग्री का बिल (बीओएम)

मशीनी भागों:

  • नीचे की संरचना के लिए खरीदे गए हिस्से

    • धातु संरचना [लिंक]
    • ग्रे बॉक्स [लिंक]
  • थ्री डी प्रिण्टर

    सभी मुद्रित भागों के लिए पीएलए (अन्य सामग्रियों का भी उपयोग किया जा सकता है, जैसे एबीएस)

  • लेजर काटने की मशीन

    • एमडीएफ 3 मिमी
    • प्लेक्सीग्लस 4 मिमी
  • रैखिक असर सेट [लिंक]
  • रैखिक असर [लिंक]
  • दस्ता [लिंक]
  • दस्ता धारक (x2) [लिंक]

इलेक्ट्रॉनिक पुर्ज़े:

  • मोटर

    रैखिक स्टेपर मोटर नेमा 17 [लिंक]

  • बैटरी

    12 वी बैटरी [लिंक]

  • सेंसर

    • 2 अल्ट्रासोनिक सेंसर HC-SR04 [लिंक]
    • 2 आगमनात्मक सेंसर LJ30A3-15 [लिंक]
  • microcontroller

    1 आर्डिनो यूएनओ बोर्ड

  • अतिरिक्त घटक

    • DRV8825 चालक
    • 3 एल ई डी: लाल, हरा और नारंगी
    • 1 बटन
    • कुछ कूदने वाले तार, तार और सोल्डरिंग प्लेट
    • ब्रेड बोर्ड
    • यूएसबी केबल (Arduino-PC कनेक्शन)
    • संधारित्र: 100uF

चरण 3: यांत्रिक डिजाइन

Image
Image
यांत्रिक रूपरेखा
यांत्रिक रूपरेखा
यांत्रिक रूपरेखा
यांत्रिक रूपरेखा

पिछली तस्वीरों में विधानसभा के सभी हिस्सों को दिखाया गया है।

यांत्रिक डिजाइन के लिए, सॉलिडवर्क्स का उपयोग सीएडी कार्यक्रम के रूप में किया गया है। असेंबली के विभिन्न हिस्सों को उस निर्माण विधि को ध्यान में रखते हुए डिजाइन किया गया है जिसे वे निर्मित करने जा रहे हैं।

लेजर कट भागों:

  • एमडीएफ 3 मिमी

    • खंभे
    • ऊपर की प्लेट
    • अल्ट्रासोनिक सेंसर समर्थन
    • आगमनात्मक सेंसर समर्थन
    • कचरा पेटी
    • बैटरी सपोर्ट
    • ब्रेडबोर्ड और Arduino समर्थन
  • प्लेक्सीग्लस 4 मिमी

    मंच

3 डी प्रिंटेड भाग:

  • स्तंभों का आधार
  • स्टेपर मोटर से रैखिक गति संचरण तत्व
  • स्टेपर मोटर और असर का समर्थन करता है
  • बकवास बॉक्स के लिए दीवार निर्धारण भागों

इन भागों में से प्रत्येक के निर्माण के लिए, उस उद्देश्य के लिए उपयोग की जाने वाली मशीन के आधार पर. STEP फाइलों को सही प्रारूप में आयात किया जाना चाहिए। इस मामले में,.dxf फ़ाइलों का उपयोग लेज़र कट मशीन के लिए और.gcode फ़ाइलों का 3D प्रिंटर (अल्टीमेकर 2) के लिए किया गया है।

इस परियोजना का यांत्रिक संयोजन इस खंड में संलग्न. STEP फ़ाइल में पाया जा सकता है।

चरण 4: इलेक्ट्रॉनिक्स (घटक विकल्प)

इस खंड में, उपयोग किए गए इलेक्ट्रॉनिक घटकों का संक्षिप्त विवरण और घटक विकल्पों की व्याख्या की जाएगी।

Arduino UNO बोर्ड (माइक्रोकंट्रोलर के रूप में):

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

मोटर (रैखिक स्टेपर मोटर नेमा 17):

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

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

DRV8825 चालक:

इस बोर्ड का उपयोग बाइपोलर स्टेपर मोटर को नियंत्रित करने के लिए किया जाता है। इसमें एक समायोज्य वर्तमान नियंत्रण है जो आपको एक पोटेंशियोमीटर के साथ-साथ छह अलग-अलग चरण प्रस्तावों के साथ अधिकतम वर्तमान आउटपुट सेट करने की अनुमति देता है: पूर्ण-चरण, आधा-चरण, 1/4-चरण, 1/8-चरण, 1/16- चरण, और 1/32-चरण (हमने अंततः पूर्ण-चरण का उपयोग किया क्योंकि हमें माइक्रोस्टेपिंग पर जाने की कोई आवश्यकता नहीं मिली, लेकिन इसका उपयोग अभी भी आंदोलन की गुणवत्ता में सुधार के लिए किया जा सकता है)।

अल्ट्रासोनिक सेंसर:

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

यद्यपि इस सेंसर का आउटपुट एक मान (दूरी) है, यह निर्धारित करने के लिए कि कोई वस्तु मौजूद है या नहीं, हम परिवर्तन करते हैं

आगमनात्मक सेंसर:

फैराडे के नियम के आधार पर, यह गैर-संपर्क इलेक्ट्रॉनिक निकटता सेंसर की श्रेणी में आता है। हमने उन्हें ऑब्जेक्ट को सपोर्ट करने वाले plexiglass प्लेटफॉर्म के नीचे मूविंग बॉक्स के नीचे रखा। उनका लक्ष्य डिजिटल आउटपुट (0/1) देने वाली धातु और गैर-धातु वस्तु के बीच अंतर करना है।

एल ई डी (हरा, पीला, लाल):

उनका मिशन उपयोगकर्ता के साथ संवाद करना है:

-ग्रीन एलईडी ऑन: रोबोट किसी वस्तु की प्रतीक्षा कर रहा है।

-रेड एलईडी ऑन: मशीन काम कर रही है, आप कोई वस्तु नहीं फेंक सकते।

-पीला एलईडी चालू: एक वस्तु का पता चला है।

12 वी बैटरी या 12 वी पावर स्रोत + 5 वी यूएसबी पावर:

सेंसर और स्टेपर मोटर को पावर देने के लिए वोल्टेज स्रोत की आवश्यकता होती है। Arduino को पावर देने के लिए 5V पावर स्रोत की आवश्यकता होती है। यह 12V बैटरी के माध्यम से किया जा सकता है लेकिन Arduino के लिए एक अलग 5V पावर स्रोत होना सबसे अच्छा है (जैसे कि USB केबल और फ़ोन एडॉप्टर किसी पावर स्रोत या कंप्यूटर से जुड़ा हुआ है)।

समस्याएं जो हमें मिलीं:

  • आगमनात्मक सेंसर का पता लगाने, हमें वांछित सटीकता नहीं मिली क्योंकि कभी-कभी एक धातु की वस्तु खराब स्थिति में नहीं होती है। यह 2 सीमाओं के कारण है:

    • वर्गाकार मंच के भीतर सेंसर द्वारा कवर किया गया क्षेत्र इसके 50% से कम का प्रतिनिधित्व करता है (इसलिए छोटी वस्तु का पता नहीं लगाया जा सकता है)। इसे हल करने के लिए हम ७०% से अधिक क्षेत्र को कवर करने के लिए ३ या ४ आगमनात्मक सेंसर का उपयोग करने की सलाह देते हैं।
    • सेंसर का पता लगाने की दूरी 15 मिमी तक सीमित है, इसलिए हमने खुद को एक बढ़िया plexiglass प्लेटफॉर्म का उपयोग करने के लिए मजबूर पाया। यह अजीब आकार वाली वस्तुओं का पता लगाने की एक और सीमा भी हो सकती है।
  • अल्ट्रासोनिक डिटेक्शन: फिर से, एक जटिल तरीके से आकार की वस्तुएं समस्याएं देती हैं क्योंकि सेंसर द्वारा उत्सर्जित सिग्नल बुरी तरह से परावर्तित होता है और बाद में सेंसर की तुलना में बाद में वापस आ जाता है।
  • बैटरी: हमारे पास बैटरी द्वारा दिए गए करंट को नियंत्रित करने में कुछ समस्याएँ हैं और इसे हल करने के लिए हमने अंततः एक शक्ति स्रोत का उपयोग किया। हालाँकि, अन्य समाधान जैसे डायोड का उपयोग किया जा सकता है।

चरण 5: इलेक्ट्रॉनिक्स (कनेक्शन)

इलेक्ट्रॉनिक्स (कनेक्शन)
इलेक्ट्रॉनिक्स (कनेक्शन)
इलेक्ट्रॉनिक्स (कनेक्शन)
इलेक्ट्रॉनिक्स (कनेक्शन)

यह खंड पूरी तरह से लगाए गए विभिन्न घटकों की तारों को दिखाता है। यह यह भी दिखाता है कि प्रत्येक घटक Arduino पर किस पिन से जुड़ा है।

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

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

यह खंड बिन छँटाई मशीन के पीछे प्रोग्रामिंग तर्क की व्याख्या करेगा।

कार्यक्रम को 4 चरणों में विभाजित किया गया है, जो इस प्रकार हैं:

  1. सिस्टम प्रारंभ करें
  2. वस्तुओं की उपस्थिति की जाँच करें
  3. वर्तमान वस्तु का प्रकार जांचें
  4. बॉक्स ले जाएँ

प्रत्येक चरण के विस्तृत विवरण के लिए, नीचे देखें:

चरण 1 प्रणाली आरंभ करें

एलईडी पैनल (3) - कैलिब्रेटिंग एलईडी (लाल) हाई, रेडी एलईडी (हरा) लो, ऑब्जेक्ट प्रेजेंट (पीला) लो सेट करें

चेक स्टेपर मोटर प्रारंभिक स्थिति में है

  • साइड से बॉक्स की दीवार की दूरी मापने के लिए अल्ट्रासोनिक सेंसर टेस्ट चलाएं

    • प्रारंभिक स्थिति == 0 >> रेडी एलईडी हाई और कैलिब्रेटिंग एलईडी लो के मूल्यों को अपडेट करें -> चरण 2
    • प्रारंभिक स्थिति!= 0 >> अल्ट्रासोनिक सेंसर का डिजिटल रीड वैल्यू और सेंसर के मूल्यों के आधार पर:

      • मोटर मूविंग एलईडी हाई का अद्यतन मूल्य।
      • रन मूव बॉक्स जब तक दोनों अल्ट्रासोनिक सेंसर का मान <थ्रेशोल्ड मान न हो।

प्रारंभिक स्थिति का अद्यतन मूल्य = 1 >> एलईडी रेडी हाई और मोटर मूविंग लो और कैलिब्रेटिंग लो का अपडेट वैल्यू >> चरण 2

चरण 2

वस्तुओं की उपस्थिति की जाँच करें

अल्ट्रासोनिक ऑब्जेक्ट डिटेक्शन चलाएँ

  • वर्तमान वस्तु == 1 >> वस्तु का अद्यतन मूल्य एलईडी उच्च >> चरण 3
  • वस्तु मौजूद == 0 >> कुछ न करें

चरण 3

वर्तमान वस्तु का प्रकार जांचें

इंडक्टिव सेंसर डिटेक्शन चलाएँ

  • आगमनात्मक अवस्था = 1 >> चरण 4
  • आगमनात्मक अवस्था = 0 >> चरण 4

चरण 4

बॉक्स ले जाएँ

मोटर ऑपरेशन चलाएं

  • आगमनात्मक स्थिति == 1

    मोटर मूविंग एलईडी हाई को अपडेट करें >> मोटर को बाईं ओर ले जाएं, (प्रारंभिक स्थिति अपडेट करें = 0) देरी करें और दाईं ओर वापस जाएं >> चरण 1

  • आगमनात्मक स्थिति == 0

    मोटर मूविंग एलईडी हाई को अपडेट करें >> मोटर को दाएं घुमाएं, (प्रारंभिक स्थिति = 0 अपडेट करें), देरी करें और बाएं वापस जाएं >> चरण 1

कार्यों

जैसा कि प्रोग्रामिंग लॉजिक से देखा जा सकता है, प्रोग्राम एक विशिष्ट लक्ष्य के साथ कार्यों को निष्पादित करके काम करता है। उदाहरण के लिए, पहला कदम उस सिस्टम को इनिशियलाइज़ करना है जिसमें "चेक स्टेपर मोटर प्रारंभिक स्थिति में है" फ़ंक्शन शामिल है। दूसरा चरण तब वस्तु की उपस्थिति की जाँच करता है जो अपने आप में एक अन्य कार्य है ("अल्ट्रासोनिक ऑब्जेक्ट डिटेक्शन" फ़ंक्शन)। इत्यादि।

चरण 4 के बाद, प्रोग्राम पूरी तरह से निष्पादित हो गया है और फिर से चलने से पहले चरण 1 पर वापस आ जाएगा।

मुख्य निकाय में उपयोग किए जाने वाले कार्यों को नीचे परिभाषित किया गया है।

वे क्रमशः हैं:

  • आगमनात्मक परीक्षण ()
  • मूवबॉक्स (आगमनात्मक स्थिति)
  • अल्ट्रासोनिकऑब्जेक्ट डिटेक्शन ()

// जांचें कि वस्तु धात्विक है या नहीं

बूल इंडक्टिवटेस्ट () {अगर (डिजिटल रीड (इंडक्टिवस्विच राइट) == 1 || डिजिटल रीड (इंडक्टिवस्विच लेफ्ट == 0)) {रिटर्न ट्रू; अन्य {वापसी झूठी; } } शून्य मूवबॉक्स (बूल इंडक्टिवस्टेट) {// बॉक्स बाईं ओर जाता है जब धातु का पता लगाया जाता है और इंडक्टिवस्टेट = ट्रू अगर (इंडक्टिवस्टेट == 0) {स्टेपर। मूव टू (स्टेप्स); // यादृच्छिक स्थिति के परीक्षण के लिए समाप्त करने के लिए stepper.runToPosition (); देरी (1000); stepper.moveTo(0); stepper.runToPosition (); देरी (1000); } और अगर (inductiveState == 1) { stepper.moveTo(-steps); // यादृच्छिक स्थिति के परीक्षण के लिए समाप्त करने के लिए stepper.runToPosition (); देरी (1000); stepper.moveTo(0); // यादृच्छिक स्थिति के परीक्षण के लिए समाप्त करने के लिए stepper.runToPosition (); देरी (1000); } } बूलियन अल्ट्रासोनिकऑब्जेक्ट डिटेक्शन () { लंबी अवधि 1, दूरी 1, अवधि टेम्प, दूरी टेम्प, औसत दूरी 1, औसत दूरी टेम्प, औसत दूरी ओलंपियन 1; // लंबी दूरी तय करने के लिए माप की संख्या को परिभाषित करेंमैक्स = 0; लंबी दूरी न्यूनतम = 4000; लंबी दूरी कुल = 0; के लिए (इंट आई = 0; आई डिस्टेंसमैक्स) {डिस्टेंसमैक्स = डिस्टेंसटेम्प; } अगर (डिस्टेंसटेम्प < डिस्टेंसमिन) { डिस्टेंसमिन = डिस्टेंसटेम्प; } डिस्टेंसटोटल+= डिस्टेंसटेम्प; } सीरियल.प्रिंट ("सेंसर1 मैक्सडिस्टेंस"); सीरियल.प्रिंट (डिस्टेंसमैक्स); Serial.println ("मिमी"); Serial.print ("Sensor1 minDistance"); सीरियल.प्रिंट (दूरी न्यूनतम); Serial.println ("मिमी"); // रीडिंग से औसत दूरी लें औसतडिस्टेंस 1 = दूरी टोटल / 10; सीरियल.प्रिंट ("सेंसर1 एवरेजडिस्टेंस1"); सीरियल.प्रिंट (औसत दूरी 1); Serial.println ("मिमी"); // गलत रीडिंग से बचने के लिए माप के उच्चतम और निम्नतम मान हटाएं औसत दूरी ओलंपियन 1 = औसत दूरी टेम्प / 8; Serial.print ("Sensor1 औसतDistanceOlympian1 "); सीरियल.प्रिंट (औसत डिस्टेंस ओलंपियन १); सीरियल.प्रिंट्लन ("मिमी");

// अस्थायी मान रीसेट करें

दूरी कुल = 0; दूरीमैक्स = 0; दूरी न्यूनतम = 4000; लंबी अवधि 2, दूरी 2, औसत दूरी 2, औसत दूरी ओलंपियन 2; // लेने के लिए माप की संख्या को परिभाषित करें (int i = 0; i दूरी मैक्स) {दूरीमैक्स = दूरीटेम्प; } अगर (डिस्टेंसटेम्प < डिस्टेंसमिन) { डिस्टेंसमिन = डिस्टेंसटेम्प; } डिस्टेंसटोटल+= डिस्टेंसटेम्प; } सीरियल.प्रिंट ("सेंसर2 मैक्सडिस्टेंस"); सीरियल.प्रिंट (डिस्टेंसमैक्स); सीरियल.प्रिंट्लन ("मिमी"); Serial.print ("Sensor2 minDistance"); सीरियल.प्रिंट (दूरी न्यूनतम); Serial.println ("मिमी"); // रीडिंग से औसत दूरी लें औसतडिस्टेंस 2 = दूरी टोटल / 10; Serial.print ("Sensor2 औसतDistance2"); सीरियल.प्रिंट (औसत दूरी 2); सीरियल.प्रिंट्लन ("मिमी"); // गलत रीडिंग से बचने के लिए माप के उच्चतम और निम्नतम मान हटाएं औसत दूरी ओलिंपियन 2 = औसत दूरी टेम्प / 8; Serial.print ("Sensor2 औसतDistanceOlympian2"); सीरियल.प्रिंट (औसत डिस्टेंस ओलंपियन 2); Serial.println ("मिमी"); // अस्थायी मान रीसेट करें दूरी कुल = 0; दूरी मैक्स = 0; दूरी न्यूनतम = 4000; अगर (औसत दूरी ओलंपियन 1 + औसत दूरी ओलंपियन 2 <खाली बॉक्सडिस्टेंस) { सच लौटाएं; } और {झूठी वापसी; } }

मुख्य भाग

मुख्य भाग में वही तर्क है जो इस खंड के शीर्ष पर समझाया गया है, लेकिन कोड में लिखा गया है। फ़ाइल नीचे डाउनलोड के लिए उपलब्ध है।

चेतावनी

स्थिरांक खोजने के लिए कई परीक्षण किए गए: खाली बॉक्सडिस्टेंस, चरण और अधिकतम गति और सेटअप में त्वरण।

चरण 7: संभावित सुधार

संभावित सुधार
संभावित सुधार

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

-अल्ट्रासोनिक डिटेक्शन के साथ हमें मिली समस्याओं के कारण, हम उस फ़ंक्शन के लिए कुछ विकल्पों की तलाश कर सकते हैं: KY-008 लेजर और लेजर डिटेक्टर (छवि), कैपेसिटिव सेंसर।

चरण 8: सीमित कारक

यह परियोजना निर्देशों के अनुसार काम करती है लेकिन निम्नलिखित चरणों के दौरान विशेष ध्यान रखा जाना चाहिए:

अल्ट्रासोनिक सेंसर का अंशांकन

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

शक्ति का स्रोत

स्टेपर मोटर चालक DRV8825 के लिए आवश्यक शक्ति 12V और 0.2 और 1 Amp के बीच है। Arduino पर जैक इनपुट का उपयोग करके arduino को अधिकतम 12V और 0.2 Amp द्वारा भी संचालित किया जा सकता है। हालाँकि, Arduino और स्टेपर मोटर चालक दोनों के लिए समान शक्ति स्रोत का उपयोग करते समय विशेष ध्यान रखा जाना चाहिए। यदि एक साधारण पावर सॉकेट से संचालित किया जाता है, उदाहरण के लिए 12V/2A AC/DC अडैप्टर बिजली की आपूर्ति, तो arduino और stepper मोटर चालक में बिजली डालने से पहले सर्किट में एक वोल्टेज नियामक और डायोड होना चाहिए।

होमिंग द बॉक्स

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

स्टेपर ड्राइवर DRV8825 ट्यूनिंग

स्टेपर ड्राइवर को स्टेपर मोटर के साथ काम करने के लिए ट्यूनिंग की आवश्यकता होती है। यह DRV8825 चिप पर पोटेंशियोमीटर (स्क्रू) को घुमाकर प्रयोगात्मक रूप से किया जाता है ताकि मोटर को उचित मात्रा में करंट की आपूर्ति हो सके। इसलिए, पोटेंशियोमीटर स्क्रू को तब तक थोड़ा मोड़ें जब तक कि मोटर दुबले तरीके से काम न करे।

चरण 9: क्रेडिट

यह परियोजना यूनिवर्सिटी लिब्रे डी ब्रुसेल्स (यूएलबी) - व्रीजे यूनिवर्सिटिट ब्रुसेल (वीयूबी) में ब्रुफेस मास्टर के लिए शैक्षणिक वर्ष 2018-2019 के दौरान मेक्ट्रोनिक्स पाठ्यक्रम के हिस्से के रूप में की गई थी।

लेखक हैं:

मैक्सिमे डिक्लेयर

लिडिया गोमेज़

मार्कस पोडेर

एड्रियाना पुएंटेस

नारजिस्से स्नौसि

हमारे पर्यवेक्षक अल्बर्ट डी बीर का विशेष धन्यवाद जिन्होंने पूरे प्रोजेक्ट में भी हमारी मदद की।

सिफारिश की: