विषयसूची:

Arduino: स्टेपर मोटर के लिए प्रेसिजन लिब: 19 कदम
Arduino: स्टेपर मोटर के लिए प्रेसिजन लिब: 19 कदम

वीडियो: Arduino: स्टेपर मोटर के लिए प्रेसिजन लिब: 19 कदम

वीडियो: Arduino: स्टेपर मोटर के लिए प्रेसिजन लिब: 19 कदम
वीडियो: What's in a stepper motor 2024, नवंबर
Anonim
Image
Image
सार्वत्रिक चर
सार्वत्रिक चर

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

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

हालाँकि, निम्नलिखित कथन एक महत्वपूर्ण विवरण है! यह वीडियो केवल उन लोगों के लिए है जो पहले से ही प्रोग्रामिंग के आदी हैं। यदि आप Arduino प्रोग्रामिंग से परिचित नहीं हैं, तो आपको पहले मेरे चैनल पर अन्य परिचयात्मक वीडियो देखना चाहिए। ऐसा इसलिए है क्योंकि मैं इस विशिष्ट वीडियो में एक उन्नत विषय पर चर्चा कर रहा हूं, और वीडियो में उपयोग किए गए लिब के बारे में विस्तार से बता रहा हूं: स्टेप मोटर विद एक्सीलरेशन एंड एंड ऑफ स्ट्रोक।

चरण 1: स्टेपड्राइवर लाइब्रेरी

यह पुस्तकालय बाजार पर तीन सबसे आम ड्राइवर प्रकारों को शामिल करता है: A4988, DRV8825, और TB6600। यह ड्राइवरों के पिन को कॉन्फ़िगर करता है, जिससे उन्हें स्लीप मोड में रीसेट और प्लेसमेंट करने की अनुमति मिलती है, साथ ही सक्षम पिन पर अभिनय करने वाले मोटर आउटपुट को सक्रिय और निष्क्रिय करता है। यह ड्राइवर के माइक्रो-स्टेप पिन के इनपुट को भी सेट करता है, और स्विच और उनके सक्रियण स्तर (उच्च या निम्न) को सीमित करता है। इसमें mm/s² में निरंतर त्वरण, mm/s में अधिकतम गति और mm/s में न्यूनतम गति के साथ मोटर गति कोड भी है।

उन लोगों के लिए जिन्होंने वीडियो स्टेप मोटर विद एक्सीलरेशन और एंड ऑफ स्ट्रोक के भाग 1 और 2 को देखा, आज उपलब्ध इस नई लाइब्रेरी को डाउनलोड करें, क्योंकि मैंने इसके उपयोग को सुविधाजनक बनाने के लिए उस पहली फ़ाइल में कुछ बदलाव किए हैं।

चरण 2: वैश्विक चर

मैं दिखाता हूं कि प्रत्येक वैश्विक चर किस लिए है।

चरण 3: कार्य - ड्राइवर पिन सेट करना

कार्य - ड्राइवर पिन सेट करना
कार्य - ड्राइवर पिन सेट करना

यहाँ, मैं कुछ विधियों का वर्णन करता हूँ।

मैंने पिनआउट सेटिंग और Arduino पिन को आउटपुट के रूप में सेट किया है।

चरण 4: कार्य - चालक के मूल कार्य

कार्य - चालक के मूल कार्य
कार्य - चालक के मूल कार्य

इस भाग में, हम ड्राइवर के कॉन्फ़िगरेशन और उसके मूल कार्यों के साथ काम करते हैं।

चरण 5: कार्य - मोटर चरण सेटिंग

कार्य - मोटर स्टेप सेटिंग
कार्य - मोटर स्टेप सेटिंग
कार्य - मोटर स्टेप सेटिंग
कार्य - मोटर स्टेप सेटिंग

कोड के इस चरण में, हम प्रति मिलीमीटर चरणों की मात्रा को कॉन्फ़िगर करते हैं जो मोटर को निष्पादित करना चाहिए।

चरण 6: कार्य - मोटर चरण मोड सेट करना

कार्य - मोटर स्टेप मोड सेट करना
कार्य - मोटर स्टेप मोड सेट करना
कार्य - मोटर स्टेप मोड सेट करना
कार्य - मोटर स्टेप मोड सेट करना
कार्य - मोटर स्टेप मोड सेट करना
कार्य - मोटर स्टेप मोड सेट करना

यह तालिका मोटर चरण मोड के लिए सेटिंग्स दिखाती है। यहां कुछ उदाहरण दिए गए हैं।

चरण 7: कार्य - सीमा स्विच सेट करना

कार्य - सीमा स्विच सेट करना
कार्य - सीमा स्विच सेट करना

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

चरण 8: कार्य - सीमा स्विच को पढ़ना

कार्य - सीमा स्विच का पढ़ना
कार्य - सीमा स्विच का पढ़ना
कार्य - सीमा स्विच को पढ़ना
कार्य - सीमा स्विच को पढ़ना
कार्य - सीमा स्विच का पढ़ना
कार्य - सीमा स्विच का पढ़ना

यह हिस्सा लिब में एक से अलग है जिसे मैंने पिछले हफ्ते उपलब्ध कराया था। मैंने इसे क्यों बदला? खैर, मैंने कुछ अन्य लोगों को बदलने के लिए eRead बनाया। यहां, eRead LVL, digitalRead (पिन) को पढ़ेगा और TRUE लौटाएगा। यह सब उच्च स्तर पर करने की आवश्यकता है। सक्रिय कुंजी के साथ निम्न कार्य निम्न स्तर पर होगा। मैं इसका उपयोग यहां आपको "सत्य" तालिका दिखाने के लिए करूंगा।

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

अब, इस छवि में ओएस कोड बूल DRV8825, मैं दिखाता हूं कि इंजन अभी भी बढ़ती दिशा में आगे बढ़ रहा है। हालाँकि, अधिकतम सीमा स्विच सक्रिय हो गया। तंत्र, तो, आंदोलन को रोकना चाहिए।

अंत में, मैं वही गति दिखाता हूं, लेकिन विपरीत दिशा में।

यहां, आपके पास पहले से ही एंड ऑफ कोर्स स्विच सक्रिय है।

चरण 9: कार्य - गति सेटअप

कार्य - मोशन सेटअप
कार्य - मोशन सेटअप

मोशन कॉन्फिग विधि की मुख्य उपयोगिता एक स्टेपर मोटर के नियंत्रक को पूरा करने के लिए मिलीमीटर प्रति सेकंड (सीएनसी मशीनों में प्रयुक्त माप) को चरणों में परिवर्तित करना है। इसलिए, इस भाग में, मैं चरणों को समझने के लिए चरों को त्वरित करता हूं न कि मिलीमीटर।

चरण 10: कार्य - आंदोलन कार्य

कार्य - आंदोलन समारोह
कार्य - आंदोलन समारोह

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

चरण 11: कार्य - आंदोलन कार्य - चर

फंक्शन - मूवमेंट फंक्शन - वेरिएबल्स
फंक्शन - मूवमेंट फंक्शन - वेरिएबल्स

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

चरण 12: कार्य - गति कार्य - त्वरण

कार्य - गति समारोह - त्वरण
कार्य - गति समारोह - त्वरण
कार्य - गति समारोह - त्वरण
कार्य - गति समारोह - त्वरण

यहां, मैं कुछ विवरण प्रस्तुत करता हूं कि हम त्वरण डेटा पर कैसे पहुंचे, जिसकी गणना टोरिसेली के समीकरण के माध्यम से की गई थी, क्योंकि यह त्वरण को काम करने के लिए रिक्त स्थान को ध्यान में रखता है न कि समय को। लेकिन, यहां यह समझना महत्वपूर्ण है कि यह पूरा समीकरण कोड की केवल एक पंक्ति के बारे में है।

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

चरण 13: कार्य - गति कार्य - सतत गति

कार्य - गति समारोह - सतत गति
कार्य - गति समारोह - सतत गति
कार्य - गति समारोह - सतत गति
कार्य - गति समारोह - सतत गति

यहां हम त्वरण में उपयोग किए गए चरणों की संख्या रखते हैं, हम निरंतर गति में जारी रखते हैं, और अधिकतम गति के साथ रखते हैं, जिसे नीचे की छवि में देखा जा सकता है।

चरण 14: कार्य - गति कार्य - मंदी

कार्य - गति समारोह - मंदी
कार्य - गति समारोह - मंदी
कार्य - गति समारोह - मंदी
कार्य - गति समारोह - मंदी

यहां हमारे पास एक और समीकरण है, इस बार एक नकारात्मक त्वरण मान के साथ। यह कोड की एक पंक्ति में भी प्रदर्शित होता है, जो नीचे दी गई छवि में, डिसेलेरेशन लेबल वाले आयत का प्रतिनिधित्व करता है।

चरण 15: कार्य - गति कार्य - सतत गति

कार्य - गति समारोह - सतत गति
कार्य - गति समारोह - सतत गति
कार्य - गति समारोह - सतत गति
कार्य - गति समारोह - सतत गति

जैसा कि नीचे देखा गया है, हम प्रक्षेपवक्र के दूसरे भाग में काम करने के लिए निरंतर गति पर लौटते हैं।

चरण 16: फंक्शन - मूव फंक्शन - मूव टर्न्स

फंक्शन - मूव फंक्शन - मूव टर्न
फंक्शन - मूव फंक्शन - मूव टर्न

इस भाग में, हम इंजन को वांछित दिशा में एक निश्चित संख्या में घुमाते हैं, घुमावों की संख्या को मिलीमीटर में परिवर्तित करते हैं। अंत में, हम मोटर को अनुरोधित दिशा में ले जाते हैं।

चरण 17: मोशन चार्ट - स्थिति वेग

मोशन चार्ट - स्थिति वेग
मोशन चार्ट - स्थिति वेग

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

चरण 18: मोशन चार्ट - स्थिति बनाम। पद

मोशन चार्ट - स्थिति बनाम। पद
मोशन चार्ट - स्थिति बनाम। पद

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

चरण 19: मोशन चार्ट - वेग बनाम। पल

मोशन चार्ट - वेग बनाम। पल
मोशन चार्ट - वेग बनाम। पल

अंत में, हमारे पास तत्काल के कार्य के रूप में वेग है, और इस वजह से, हमारे पास एक सीधी रेखा है, क्योंकि यह समय के कार्य के रूप में वेग है।

सिफारिश की: