विषयसूची:

Arduino के लिए रोबोटिक फिलामेंट डिस्पेंसर: 8 कदम (चित्रों के साथ)
Arduino के लिए रोबोटिक फिलामेंट डिस्पेंसर: 8 कदम (चित्रों के साथ)

वीडियो: Arduino के लिए रोबोटिक फिलामेंट डिस्पेंसर: 8 कदम (चित्रों के साथ)

वीडियो: Arduino के लिए रोबोटिक फिलामेंट डिस्पेंसर: 8 कदम (चित्रों के साथ)
वीडियो: SR Robotics How To Make Automatic Hand Sanitizer Without Programming 2024, जुलाई
Anonim
Image
Image

एक मोटर चालित उपकरण क्यों

3 डी प्रिंटर फिलामेंट - आमतौर पर लगभग मजबूत - एक्सट्रूडर द्वारा खींचा जाता है, जबकि रोल को प्रिंटर के पास रखा जाता है, घुमाने के लिए स्वतंत्र होता है। मैंने उपयोग के स्तर के आधार पर भौतिक व्यवहार में सार्थक अंतर देखा है, जिसे 1Kg फिलामेंट रोल कहा जाता है। एक नया (पूर्ण) फिलामेंट स्पूल लगभग अच्छी तरह से बहता है लेकिन एक्सट्रूडर द्वारा लगाया गया बल अपेक्षाकृत प्रासंगिक होना चाहिए: वजन कम से कम 1.5 किलोग्राम है।

एक्सट्रूडर मोटर (अधिकांश मामलों में एक Nema17 स्टेपर) में काम करने के लिए पर्याप्त शक्ति होती है, लेकिन एक्सट्रूडर के दो गियर काम करते समय फिलामेंट को हॉट-एंड की ओर धकेलते हैं, लागू बलों के कारण फिलामेंट के कणों को इकट्ठा करते हैं; नोजल क्लॉगिंग से बचने के लिए इसे बार-बार एक्सट्रूडर रखरखाव की आवश्यकता होती है। खिलाते समय ये कण अलग हो जाते हैं और साफ फिलामेंट के साथ मिल जाते हैं, जिससे नोजल की समस्या बढ़ जाती है और अधिक बार नोजल खराब हो जाता है; यह 0.3 मिमी व्यास नोजल के साथ अधिक बार होता है।

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

किट Tindie.com पर उपलब्ध है

चरण 1: किट सामग्री

किट सामग्री
किट सामग्री
किट सामग्री
किट सामग्री

किट में मोटराइज्ड फिलामेंट डिस्पेंसर को असेंबल करने के लिए सभी 3डी प्रिंटेड पार्ट्स और मैकेनिक्स शामिल हैं। इसके बजाय दो वैकल्पिक भाग हैं: मोटर और मोटर नियंत्रक बोर्ड।

अपने सेटअप में मैंने १२ वी मैक्लेनन गियर वाली ब्रश मोटर का उपयोग किया है, लेकिन कोई भी ३७ मिमी व्यास वाली मोटर मोटर समर्थन के अंदर ठीक से फिट हो सकती है।

Infineon द्वारा TLE94112LE Arduino शील्ड के साथ सर्वश्रेष्ठ प्रदर्शन प्राप्त किए जाते हैं (यहां पूर्ण समीक्षा); यह डीसी मोटर नियंत्रक बोर्ड एक ही समय में 6 अलग-अलग रोबोटिक डिस्पेंसर किट का समर्थन कर सकता है।

मैंने Infineon द्वारा Arduino UNO R3 और Arduino संगत बोर्ड XMC1100 बूट किट दोनों पर पूरे सिस्टम का परीक्षण किया है और सिस्टम दोनों माइक्रो कंट्रोलर बोर्ड के साथ बहुत अच्छी तरह से उत्तरदायी था।

TLE94112LE शील्ड के उपयोग का सुझाव दिया गया है लेकिन आवश्यक नहीं है। Arduino के लिए कोई भी DC मोटर नियंत्रक - जिसमें आपका अपना प्रोजेक्ट भी शामिल है! - इस उपकरण के साथ ठीक काम कर सकते हैं

किट को घटकों के दो सेटों में विभाजित किया गया है क्योंकि दो भागों को एक साथ काम करने के लिए बनाया गया है। बेस प्लेटफॉर्म, चार फ्री व्हीलिंग बेयरिंग पर घूमने वाले फिलामेंट रोल को सपोर्ट करेगा। वजन, मीटर और प्रतिशत: इसके सक्रियण को ट्रिगर करने वाले घूर्णन तंत्र को नियंत्रित करने के साथ-साथ फिलामेंट स्थितियों की निगरानी के लिए आधार वजन सेंसर के लिए तय किया गया है। Arduino से सीरियल टर्मिनल के माध्यम से बहुत सारी जानकारी के साथ-साथ एक पूर्ण कमांड सेट तक पहुँचा जा सकता है।

आपके लिए आवश्यक उपकरण

असेंबली को पूरा करने के लिए आपको कुछ हिस्सों के लिए कुछ मजबूत प्लास्टिक गोंद, एक स्क्रूड्राइवर और एलन स्क्रू का एक सेट चाहिए।

चरण 2: परियोजना और डिजाइन

परियोजना और डिजाइन
परियोजना और डिजाइन
परियोजना और डिजाइन
परियोजना और डिजाइन
परियोजना और डिजाइन
परियोजना और डिजाइन

यह परियोजना 3D प्रिंटर फिलामेंट डिस्पेंसर श्रृंखला का तीसरा विकास है कुछ समय पहले मैंने 3D प्रिंटर एक्सट्रूडर द्वारा खींचे जाने पर फिलामेंट के प्रवाह को अनुकूलित करने के लिए घूर्णन आधार बनाया था।

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

घटकों को एसटीएल प्रारूप और 3डी प्रिंटेड में निर्यात किया गया है, फिर परिष्कृत और एक साथ इकट्ठा किया गया है। मैंने गति भाग को आधार से संरेखित करने के लिए एक कस्टम समर्थन बनाया है। पूरे उपकरण को कॉम्पैक्ट और स्थानांतरित करने में आसान बनाने के लिए अरुडिनो और मोटर शील्ड का समर्थन करने के लिए लंबी एल्यूमीनियम रेल का भी उपयोग किया गया था।

डिजाइन बनाना मैंने मान्यताओं की एक श्रृंखला का पालन किया:

  • स्वचालित इंजन को लगभग सरल और पुन: पेश करने में आसान बनाना
  • इसे बनाने के लिए गैर-3डी प्रिंट करने योग्य घटकों की संख्या यथासंभव कम करें
  • प्रिंट करते समय एक्सट्रूडर पर लागू होने वाले तनाव को जितना हो सके कम करें
  • माइक्रो कंट्रोलर बोर्ड को प्रोग्राम करने के लिए कम लागत और आसान का उपयोग करें
  • फिलामेंट की खपत और फिलामेंट फीडिंग को नियंत्रित रखने के लिए वेट लोड सेंसर का उपयोग करें फिलामेंट वजन उपायों के साथ हस्तक्षेप करने वाले पर्यावरणीय शोर को प्रबंधित करें

यह वह परिणाम है जो मैं पहुंचा।

चरण 3: आधार को असेंबल करना

आधार को असेंबल करना
आधार को असेंबल करना
आधार को असेंबल करना
आधार को असेंबल करना
आधार को असेंबल करना
आधार को असेंबल करना

पहला कदम बेस को वेट सेंसर के साथ असेंबल करना है।

  1. असर वाले छेद में छोटी असर वाली धुरी ट्यूब डालें
  2. दो विभाजक डिस्क को असर के किनारों पर रखें
  3. छेद को संरेखित करने वाले "यू" आकार के असर वाले समर्थन के अंदर घटकों का परिचय दें
  4. एलन स्क्रू को एक तरफ और वॉशर और नट को दूसरी तरफ डालें और बिना ज्यादा मेहनत किए अखरोट को बंद कर दें

आपको सभी चार बेयरिंग सपोर्ट पर ऑपरेशन दोहराना चाहिए। फिर विधानसभा का परीक्षण करें: बीयरिंगों को स्वतंत्र रूप से घूमना चाहिए।

अब एलन स्क्रू के साथ चार रेगुलेशन होल के साथ शीर्ष आधार पर चार बेयरिंग सपोर्ट को ठीक करें। असर समर्थन को समानांतर रखने के लिए संरेखित करें। अपने फिलामेंट रोल की चौड़ाई के आधार पर दूरी को नियंत्रित करें।

अगला कदम नीचे और ऊपर के आधार को एक साथ पकड़े हुए वेट सेंसर बार को असेंबल करना है। वज़न सेंसर में दोनों तरफ दो अलग-अलग एलन स्क्रू होते हैं और आपको इसे उन्मुख करना चाहिए ताकि आधार सही ढंग से स्थित होने पर अधिकतम वजन लेबल पठनीय हो। वजन सेंसर ए / डी एम्पलीफायर को ठीक करने के लिए नीचे के आधार में दो अतिरिक्त साइड होल हैं। HX711 IC पर आधारित एम्पलीफायर चार तारों के माध्यम से Arduino बोर्ड से संचालित और जुड़ा होगा जैसा कि संलग्न सेंसर डेटा शीट में दिखाया गया है।

अंतिम चरण पहले से ही नीचे के हिस्से में तय किए गए वेट सेंसर के ऊपर पूरे टॉप बेस को असेंबल कर रहा है।

पहला घटक सेटअप किया गया है!

चरण 4: स्पूल मोशन इंजन के पुर्जों को असेंबल करना

स्पूल मोशन इंजन पार्ट्स को असेंबल करना
स्पूल मोशन इंजन पार्ट्स को असेंबल करना
स्पूल मोशन इंजन पार्ट्स को असेंबल करना
स्पूल मोशन इंजन पार्ट्स को असेंबल करना
स्पूल मोशन इंजन पार्ट्स को असेंबल करना
स्पूल मोशन इंजन पार्ट्स को असेंबल करना

स्पूल मोशन इंजन को असेंबल करने की आसान प्रक्रिया चार सबसे महत्वपूर्ण घटकों को अलग-अलग असेंबल करना है और फिर अंतिम बिल्डिंग को पूरा करना है:

मोटर ट्रांसमिशन बॉक्स में गियर वाली डीसी मोटर

डीसी मोटर को संरचना समर्थन के मध्य भाग में लगाया जाना चाहिए; मोटर को पेंच करने से पहले आपको यह तय करना चाहिए कि आपका पसंदीदा पक्ष क्या होगा जहां गियर की तरफ मोटर और संचालित बड़े गियर को सही ढंग से संरेखित करने के लिए रखा जाए।

संचालित बड़ा गियर

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

स्पूल लॉक होल्डर

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

जैसा कि छवियों में दिखाया गया है स्पूल लॉक होल्डर दो भागों में बनाया गया है। पहले ब्लॉक के बड़े हिस्से में M4 नट डालें फिर दूसरे भाग (कवर) को ब्लॉकों को एक साथ रखते हुए गोंद दें। नट लॉक होल्डर के अंदर कैद रहता है जिसे थ्रेडेड संचालित अक्ष पर खराब कर दिया जाएगा।

बीयरिंग बॉक्स

असर बॉक्स के दो कार्य हैं: ट्रांसमिशन गियर को एक अच्छा समर्थन और एक चिकनी और मूक गति प्रदान करें। असर बॉक्स को इकट्ठा करने के लिए इन आसान चरणों का पालन करें:

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

हम अंतिम घटक विधानसभा के लिए तैयार हैं!

चरण 5: मोशन इंजन की असेंबली को पूरा करना

मोशन इंजन की असेंबली को पूरा करना
मोशन इंजन की असेंबली को पूरा करना
मोशन इंजन की असेंबली को पूरा करना
मोशन इंजन की असेंबली को पूरा करना
मोशन इंजन की असेंबली को पूरा करना
मोशन इंजन की असेंबली को पूरा करना

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

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

जब यह सेटअप चालित गियर (बड़ा) जोड़ने से पहले पूरा हो जाता है तो छोटी विभाजक रिंग जोड़ें: यह बड़े गियर को मोटर गियर के साथ संरेखित रखता है जो संचालित चलती असेंबली को ठीक करने के लिए वॉशर के रूप में कार्य करता है।

फिर मोटर शाफ्ट में ड्राइवर गियर (छोटा वाला) डालें। ध्यान दें कि डीसी मोटर द्वारा संचालित गियर को घुमाने के लिए मोटर में और साथ ही गियर सेंट्रल होल में एक फ्लैट साइड है।

अंतिम चरण, बड़े चालित गियर को इनसेट करें जैसा कि छवियों में दिखाया गया है और इसे दो M4 नट के साथ थ्रेडेड अक्ष पर लॉक करें।

यांत्रिकी भवन पूरा हो गया है!

चरण 6: बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया

बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया
बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया
बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया
बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया
बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया
बोनस: मैंने किट को प्रबंधित करने के लिए समर्थन को कैसे अनुकूलित किया

किट को रखने के लिए मैंने आधार और गति संरचना दोनों का समर्थन करने के लिए दो एल्यूमीनियम वर्ग ट्यूबों के आधार पर एक बहुत ही सरल संरचना बनाई। आधार को दो रेलों (लगभग 25 सेमी लंबाई) में चार स्क्रू के साथ तय किया गया है और कुछ छोटे 3 डी प्रिंटेड सपोर्ट के साथ मैंने फिलामेंट रोल को आसानी से डालने और हटाने के लिए गति इंजन को स्थानांतरित करने के लिए मुक्त किया है।

कोई भी अपना समाधान चुन सकता है जो इस बात पर निर्भर करता है कि उसका कार्यक्षेत्र कैसे व्यवस्थित है।

चरण 7: वायरिंग और Arduino से कनेक्ट करना

Image
Image
Arduino से वायरिंग और कनेक्टिंग
Arduino से वायरिंग और कनेक्टिंग

जैसा कि किट सामग्री चरण में बताया गया है, मैंने Arduino के लिए Infineon TLE94112LE DC मोटर शील्ड का उपयोग किया है और Arduino UNO R3 और Infineon XMC110 बूट किट दोनों पर इंजन का परीक्षण किया है।

यदि आप अपनी पसंद के डीसी नियंत्रक बोर्ड के साथ मोटर (पीडब्लूएम सुविधाओं की आवश्यकता है) को नियंत्रित करेंगे, तो बस निर्देशों को अपनी ढाल के तकनीकी विनिर्देशों के अनुकूल बनाएं।

TLE04112LE Arduino Shield पर एक नोट

Arduino के लिए अन्य मोटर नियंत्रण ढालों के साथ मैंने जिन सीमाओं का अनुभव किया है, उनमें से एक यह है कि वे एक ही माइक्रो नियंत्रक (यानी PWM और GPIO पिन) की सुविधाओं का उपयोग करते हैं; इसका मतलब है कि आपका बोर्ड इन कार्यों के लिए समर्पित हो जाता है जबकि अन्य उपयोगों के लिए केवल कुछ अन्य संसाधन (एमपीयू और जीपीआईओ) उपलब्ध हैं।

सड़क परीक्षण के लिए TLE94122LE Arduino शील्ड पर हाथ रखने की संभावना होने के कारण, बोर्ड जिस IC पर आधारित है, उसका सबसे स्पष्ट लाभ इसकी पूर्णता है। Arduino बोर्ड केवल दो पिनों का उपयोग करके SPI प्रोटोकॉल के माध्यम से ढाल से संचार करता है। आपके द्वारा शील्ड को भेजे जाने वाले प्रत्येक आदेश को MPU संसाधनों का उपभोग किए बिना TLE94112LE IC द्वारा स्वायत्त रूप से संसाधित किया जाता है। Infineon बोर्ड की एक और उल्लेखनीय विशेषता तीन प्रोग्राम योग्य PWM चैनलों के साथ छह ब्रश मोटर्स को नियंत्रित करने की संभावना है। इसका मतलब है कि Arduino एक या एक से अधिक मोटर्स को सेटअप कर सकता है, उन्हें शुरू कर सकता है और अन्य कार्यों पर काम करना जारी रख सकता है। यह शील्ड एक ही समय में छह अलग-अलग फिलामेंट रोल का समर्थन करने के लिए एकदम सही है, एमपीयू के प्रभारी कार्यों में से केवल एक है। एक Arduino + शील्ड के साथ छह अलग-अलग फिलामेंट स्पूल प्रबंधित करने की संभावना को ध्यान में रखते हुए माइक्रो कंट्रोलर लागत प्रभाव 5 यूरो से कम के प्रत्येक फिलामेंट नियंत्रक पर।

वजन सेंसर

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

मैंने HX711 AD एम्पलीफायर पर आधारित एक छोटे बोर्ड के साथ 0-5 किलोग्राम की रेंज में एक सस्ती लोड सेल का उपयोग किया, जो लोड सेल सेंसर को प्रबंधित करने के लिए विशिष्ट IC है। समस्याओं का सामना नहीं कर रहा था क्योंकि यह एक अच्छी तरह से काम कर रहे Arduino पुस्तकालय उपलब्ध है।

हार्डवेयर सेट करने के तीन चरण

  1. Arduino बोर्ड या Infineon XMC110 बूट किट के ऊपर शील्ड डालें
  2. मोटर तारों को ढाल के आउट1 और आउट2 स्क्रू कनेक्टर से कनेक्ट करें
  3. HX711 AD वेट सेंसर एम्पलीफायर से पावर और सिग्नल को Arduino पिन से कनेक्ट करें। इस मामले में मैंने पिन 2 और 3 का उपयोग किया है लेकिन सभी मुफ्त पिन ठीक हैं।

चेतावनी: p ins 8 और 10 SPI कनेक्शन के लिए TLE94113LE शील्ड द्वारा आरक्षित हैं

बस इतना ही! सॉफ़्टवेयर सेटअप करने के लिए तैयार हैं? आगे बढ़ो।

चरण 8: सॉफ्टवेयर और नियंत्रण कमांड सेट

सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट
सॉफ्टवेयर और कंट्रोल कमांड सेट

संपूर्ण प्रलेखित सॉफ़्टवेयर को GitHub रिपॉजिटरी से डाउनलोड किया जा सकता है 3DPrinterFilamentDispenserAndMonitor

यहां हम केवल सबसे सार्थक भागों और नियंत्रण आदेशों पर विचार करते हैं।

Arduino UNO पर उपलब्ध पिनों की संख्या के कारण मैंने USB सीरियल टर्मिनल के माध्यम से सिस्टम को नियंत्रित करने का निर्णय लिया है; चूंकि प्रत्येक मोटर चालित इकाई एक भार संवेदक पर आधारित होती है, छह अलग-अलग फिलामेंट डिस्पेंसर को नियंत्रित करने के लिए छह वज़न सेंसर से डेटा पढ़ने की आवश्यकता होती है। प्रत्येक लोड सेल "खपत" दो पिन, पिन 0 और 1 सीरियल के लिए आरक्षित (Tx/Rx) हैं और पिन 8 और 10 TLE94112LE शील्ड को जोड़ने वाले SPI चैनल के लिए आरक्षित हैं।

व्यवस्था की स्थिति

नियंत्रण सॉफ्टवेयर चार अलग-अलग राज्यों के माध्यम से काम करता है, जिसे फिलामेंट में परिभाषित किया गया है।

#define SYS_READY "रेडी" // सिस्टम रेडी

#define SYS_RUN "रनिंग" // उपयोग में फिलामेंट # परिभाषित करें 3

स्थिति: प्रारंभ

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

स्थिति: तैयार

तैयार स्थिति एक सॉफ्ट रीसेट (सीरियल टर्मिनल से भेजी गई) के बाद होती है। यह भौतिक रिसेक्ट के समान है लेकिन किसी भी तारे की गणना नहीं की जाती है; जब सिस्टम चल रहा हो तो रीसेट कमांड को भी लॉन्च किया जा सकता है।

स्थिति: लोड

लोड स्थिति तब होती है जब टर्मिनल द्वारा लोड कमांड भेजा जाता है। इसका मतलब है कि फिलामेंट रोल लोड किया गया है और गतिशील तारे की गणना की गई है। मोटर यूनिट और खाली रोल के वजन को घटाकर रोल सेटअप के प्रकार से सटीक फिलामेंट वजन प्राप्त किया जाता है।

स्थिति: चल रहा है

यह स्थिति स्वचालित वजन गणना और स्वचालित फिलामेंट डिस्पेंसर को सक्षम करती है।

टर्मिनल संदेश

सॉफ्टवेयर का वर्तमान संस्करण कमांड के आधार पर मानव पठनीय संदेशों को टर्मिनल पर लौटाता है। स्ट्रिंग संदेशों को दो शीर्षलेख फ़ाइलों में परिभाषित किया गया है: कमांड.एच (कमांड से संबंधित संदेश और प्रतिक्रियाएं) और फिलामेंट.एच (कंपाउंड संदेश बनाने के लिए पार्सर द्वारा उपयोग किए जाने वाले तार)।

आदेश

कमांड प्रबंधन में दो अलग-अलग फाइलें शामिल हैं: कमांड। एच जिसमें सभी कमांड और संबंधित पैरामीटर और फिलामेंट शामिल हैं। एच जिसमें वेटिंग सिस्टम और पार्सर द्वारा उपयोग किए जाने वाले सभी स्थिरांक और परिभाषाएं शामिल हैं।

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

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

स्थिति आदेश

सिस्टम की वर्तमान स्थिति को बदलें और व्यवहार को भी अनुकूलित किया जाता है

फिलामेंट कमांड

अलग-अलग कमांड का उपयोग करके आज बाजार में उपलब्ध सबसे सामान्य वजन और आकारों के आधार पर फिलामेंट और रोल विशेषताओं को सेट करना संभव है

यूनिट कमांड

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

सूचना आदेश

सिस्टम की स्थिति के आधार पर सूचना के समूह दिखाएं

मोटर आदेश

फिलामेंट फीड या पुल के लिए मोटर को नियंत्रित करें।

सभी मोटर कमांड एक त्वरण/मंदी पथ का अनुसरण करते हैं। दो कमांड फीड और पुल निरंतर FEED_EXTRUDER_DELAY द्वारा motor.h में परिभाषित एक छोटे अनुक्रम को निष्पादित करते हैं जबकि फीडक और पुलक कमांड अनिश्चित काल तक चलते हैं जब तक कि स्टॉप कमांड प्राप्त नहीं होता है।

रनिंग मोड कमांड

चलने की स्थिति दो मोड स्वीकार करती है; मोड मैन बस समय-समय पर वजन पढ़ता है और मोटर तब तक चलती है जब तक कि मोटर कंट्रोल कमांड नहीं भेजा जाता है। मोड ऑटो इसके बजाय दो फीड कमांड निष्पादित करता है जब एक्सट्रूडर को अधिक फिलामेंट की आवश्यकता होती है।

सिद्धांत इस विशेष वातावरण के संदर्भ में वजन रीडिंग पर आधारित है। हम उम्मीद करते हैं कि फिलामेंट की खपत अपेक्षाकृत धीमी है, 3D प्रिंटर लगभग धीमे हैं और सामान्य वजन दोलन पर्यावरण कंपन पर निर्भर करता है (बेहतर है यदि आप पूरी सामग्री को 3D प्रिंटर पर नहीं डालते हैं)

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

अनुप्रयोग तर्क

एप्लिकेशन तर्क तीन कार्यों के साथ.ino मुख्य (Arduino स्केच) में वितरित किया जाता है: सेटअप (), लूप () और parseCommand (कमांडस्ट्रिंग)

स्केच दो अलग-अलग वर्गों का उपयोग करता है: HX711 IC और MotorControl वर्ग के माध्यम से TLE94112LE Arduino शील्ड के निम्न स्तर के तरीकों को इंटरफेस करते हुए सभी फिलामेंट गणना और सेंसर रीडिंग का प्रबंधन करने के लिए FilamentWeight वर्ग।

सेट अप()

पावर-ऑन पर या हार्डवेयर रीसेट के बाद एक बार लॉन्च किया गया, कक्षाओं के उदाहरणों को प्रारंभ करता है, हार्डवेयर और टर्मिनल संचार सेट करता है।

कुंडली()

मुख्य लूप फ़ंक्शन तीन अलग-अलग स्थितियों का प्रबंधन करता है।

जबकि वेट सेंसर और मोटर्स के लिए अपेक्षाकृत जटिल दो वर्ग हैं, एक फायदा यह है कि परिणामी स्केच को समझना और प्रबंधित करना वास्तव में आसान है।

  1. जांचें (मोड ऑटो में) यदि एक्सट्रूडर को अधिक फिलामेंट की आवश्यकता है
  2. यदि मोटर हार्डवेयर त्रुटियों के लिए जाँच कर रहा है (TLE94112LE द्वारा लौटाया गया)
  3. यदि सीरियल डेटा उपलब्ध है तो कमांड को पार्स करें

पार्स कमांड (कमांडस्ट्रिंग)

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

प्रत्येक कमांड एक राज्य मशीन के रूप में कार्य करता है जो सिस्टम के कुछ पैरामीटर पर प्रभाव डालता है; इस तर्क का पालन करते हुए सभी आदेश तीन अनुक्रमिक क्रियाओं में कम हो जाते हैं:

  1. फिलामेंटवेट क्लास (वेट कमांड) या मोटरकंट्रोल क्लास (मोटर कमांड) को कमांड भेजें
  2. वजन मानों को अपडेट करने या आंतरिक मापदंडों में से किसी एक को अपडेट करने के लिए गणना निष्पादित करता है
  3. निष्पादन पूर्ण होने पर टर्मिनल और सूचना आउटपुट पर दिखाएं

HX711 Arduino लाइब्रेरी स्थापित करें, GitHub से सॉफ़्टवेयर डाउनलोड करें और इसे अपने Arduino बोर्ड पर अपलोड करें और आनंद लें!

सिफारिश की: