- स्टेपर मोटर्स:
- स्टेपर मोटर के लिए प्रति क्रांति कदम की गणना:
- क्यों हम Stepper मोटर्स के लिए ड्राइवर मॉड्यूल की आवश्यकता है?
- Arduino Stepper मोटर स्थिति नियंत्रण सर्किट आरेख और स्पष्टीकरण:
- Arduino बोर्ड के लिए कोड:
- Arduino के साथ स्टेपर मोटर का कार्य:
इलेक्ट्रॉनिक्स की दुनिया में स्टेपर मोटर्स तेजी से अपना स्थान ले रही है। एक सामान्य निगरानी कैमरे से शुरू होकर एक जटिल सीएनसी मशीनों / रोबोट तक इन स्टेपर मोटर्स को हर जगह एक्ट्यूएटर्स के रूप में उपयोग किया जाता है क्योंकि वे सटीक नियंत्रण प्रदान करते हैं। एक स्टेपर मोटर एक ब्रशलेस, सिंक्रोनस मोटर है जो कई चरणों में पूर्ण रोटेशन को पूरा करती है। इस Arduino स्टेपर मोटर ट्यूटोरियल में हम सबसे सामान्य रूप से उपलब्ध स्टेपर मोटर 28-BYJ48 के बारे में जानेंगे और ULN2003 स्टेपर मोटर मॉड्यूल का उपयोग करके Arduino के साथ इसे कैसे इंटरफ़ेस करें ।
स्टेपर मोटर्स:
आइए हम इस 28-BYJ48 स्टेपर मोटर पर एक नज़र डालें ।
ठीक है, इसलिए एक सामान्य डीसी मोटर के विपरीत, इसमें से सभी फैंसी रंगों के पांच तार निकलते हैं और ऐसा क्यों है? इसे समझने के लिए हमें पहले यह जानना चाहिए कि एक स्टेपर कैसे काम करता है और इसकी खासियत क्या है। सबसे पहले सभी स्टेपर मोटर्स घूमते नहीं हैं, वे कदम रखते हैं और इसलिए उन्हें स्टेप मोटर्स के रूप में भी जाना जाता है । मतलब, वे एक बार में केवल एक कदम ही आगे बढ़ेंगे। इन मोटरों में मौजूद कॉइल का एक क्रम होता है और मोटर को घुमाने के लिए इन कॉइल्स को एक विशेष रूप से सक्रिय करना पड़ता है। जब प्रत्येक कॉइल को एनर्जेटिक किया जा रहा होता है तो मोटर एक कदम उठाती है और एनर्जाइज़ेशन का एक क्रम मोटर को निरंतर कदम उठाता है, इस प्रकार यह घूमता है। आइए हम मोटर के अंदर मौजूद कॉइल्स पर एक नजर डालते हैं ताकि पता चल सके कि ये तार कहां से आते हैं।
जैसा कि आप देख सकते हैं कि मोटर में यूनीपोलर 5-लीड कॉइल की व्यवस्था है। चार कुंडल हैं जिन्हें एक विशेष अनुक्रम में सक्रिय किया जाना है। लाल तारों को + 5 वी के साथ आपूर्ति की जाएगी और शेष चार तारों को संबंधित कुंडली को ट्रिगर करने के लिए जमीन पर खींचा जाएगा। हम Arduino जैसे एक माइक्रोकंट्रोलर का उपयोग एक विशेष अनुक्रम में इन कॉइल को सक्रिय करते हैं और मोटर को आवश्यक चरणों को पूरा करने के लिए करते हैं।
तो अब, इस मोटर को 28-BYJ48 क्यों कहा जाता है ? गंभीरता से !!! मुझे नहीं पता। इस मोटर को ऐसा नाम दिए जाने का कोई तकनीकी कारण नहीं है; हो सकता है कि हमें इसमें अधिक गहराई से डुबकी लगानी चाहिए। आइए नीचे दिए गए चित्र में इस मोटर के डेटाशीट से प्राप्त कुछ महत्वपूर्ण तकनीकी डेटा को देखें।
यह जानकारी से भरा एक सिर है, लेकिन हमें यह जानने के लिए कुछ महत्वपूर्ण बातों पर गौर करने की आवश्यकता है कि हम किस प्रकार के स्टेपर का उपयोग कर रहे हैं ताकि हम इसे कुशलता से प्रोग्राम कर सकें। पहले हम जानते हैं कि यह 5V स्टेपर मोटर है क्योंकि हम 5V के साथ लाल तार को सक्रिय करते हैं। फिर, हम यह भी जानते हैं कि यह एक चार चरण की स्टेपर मोटर है क्योंकि इसमें चार कॉइल थे। अब, गियर अनुपात 1:64 होने के लिए दिया गया है। इसका मतलब यह है कि आप जिस शाफ्ट को बाहर देखते हैं, वह एक पूर्ण रोटेशन तभी करेगा जब मोटर अंदर 64 बार घूमती है। यह मोटर और आउटपुट शाफ्ट के बीच जुड़े गियर के कारण होता है, ये गियर टॉर्क को बढ़ाने में मदद करते हैं।
नोटिस करने के लिए एक और महत्वपूर्ण डेटा स्ट्राइड एंगल: 5.625 ° / 64 है। इसका मतलब यह है कि जब 8-चरण अनुक्रम में काम करने वाला मोटर प्रत्येक चरण के लिए 5.625 डिग्री ले जाएगा और एक पूर्ण घुमाव को पूरा करने के लिए 64 कदम (5.625 * 64 = 360) लगेगा। आप ARM LPC2148, ATMega16 Microcontroller, MSP430 के साथ स्टेपर मोटर्स के काम करने के बारे में अधिक जान सकते हैं।
स्टेपर मोटर के लिए प्रति क्रांति कदम की गणना:
यह जानना महत्वपूर्ण है कि आपके स्टेपर मोटर के लिए प्रति क्रांति के चरणों की गणना कैसे करें क्योंकि केवल तभी आप इसे प्रभावी ढंग से प्रोग्राम कर सकते हैं।
Arduino में हम 4-चरण अनुक्रम में मोटर का संचालन करेंगे, इसलिए स्ट्राइड कोण 11.25 ° होगा क्योंकि यह 5.625 ° (डेटाशीट में दिया गया है) 8 चरण अनुक्रम के लिए यह 11.25 ° (5.625 * 2 = 11.55) होगा।
क्रांति प्रति कदम = 360 / कदम कोण
यहां, 360 / 11.25 = प्रति क्रांति 32 कदम।
क्यों हम Stepper मोटर्स के लिए ड्राइवर मॉड्यूल की आवश्यकता है?
अधिकांश स्टेपर मोटर्स केवल चालक मॉड्यूल की मदद से संचालित होंगे। ऐसा इसलिए है क्योंकि नियंत्रक मॉड्यूल (हमारे मामले में Arduino) मोटर को संचालित करने के लिए अपने I / O पिन से पर्याप्त वर्तमान प्रदान करने में सक्षम नहीं होगा। इसलिए हम एक बाहरी मॉड्यूल जैसे ULN2003 मॉड्यूल का उपयोग स्टेपर मोटर चालक के रूप में करेंगे । कई प्रकार के ड्राइवर मॉड्यूल हैं और एक की रेटिंग का उपयोग मोटर के प्रकार के आधार पर बदल जाएगा। सभी चालक मॉड्यूल के लिए प्राथमिक सिद्धांत मोटर को संचालित करने के लिए पर्याप्त वर्तमान स्रोत / सिंक करना होगा।
Arduino Stepper मोटर स्थिति नियंत्रण सर्किट आरेख और स्पष्टीकरण:
Arduino stepper मोटर नियंत्रण परियोजना के लिए सर्किट आरेख ऊपर दिखाया गया है। हमने 28BYJ-48 स्टेपर मोटर और ULN2003 ड्राइवर मॉड्यूल का उपयोग किया है। स्टेपर मोटर के चार कॉइल्स को उभारने के लिए हम डिजिटल पिन 8,9,10 और 11. का उपयोग कर रहे हैं। ड्राइवर मॉड्यूल अरुडिनो बोर्ड के 5V पिन द्वारा संचालित है।
लेकिन, जब आप स्टेपी मोटर में कुछ लोड जोड़ रहे हैं, तो बाहरी पावर सप्लाई के साथ ड्राइवर को पावर दें। चूंकि मैं प्रदर्शन उद्देश्य के लिए मोटर का उपयोग कर रहा हूं, इसलिए मैंने Arduino Board की + 5V रेल का उपयोग किया है। इसके अलावा Arverino के ग्राउंड को गोताखोर मॉड्यूल की जमीन से जोड़ना याद रखें।
Arduino बोर्ड के लिए कोड:
इससे पहले कि हम अपने Arduino के साथ प्रोग्रामिंग शुरू करें, हमें यह समझने दें कि वास्तव में कार्यक्रम के अंदर क्या होना चाहिए। जैसा कि पहले कहा गया था कि हम 4-चरण अनुक्रम विधि का उपयोग कर रहे हैं, इसलिए हमारे पास एक पूर्ण रोटेशन बनाने के लिए प्रदर्शन करने के लिए चार चरण होंगे।
कदम |
पिन एनर्जेटिक |
कॉइल एनर्जेटिक |
चरण 1 |
8 और 9 |
ए और बी |
चरण 2 |
9 और 10 |
बी और सी |
चरण 3 |
10 और 11 |
सी और डी |
चरण 4 |
11 और 8 |
डी और ए |
चालक मॉड्यूल में चार एलईडी होंगे, जिनका उपयोग करके हम यह देख सकते हैं कि किसी भी समय कौन से कॉइल को सक्रिय किया जा रहा है। इस ट्यूटोरियल के अंत में जो वीडियो एनर्जाइज़ेशन के अनुक्रम को दिखाता है, वह पाया जा सकता है।
इस ट्यूटोरियल में हम arduino स्टेपर मोटर कोड लिखने जा रहे हैं और उसके लिए हम Arduino को इस तरह से प्रोग्राम करेंगे कि हम Arduino के सीरियल मॉनिटर के माध्यम से स्टेपर मोटर द्वारा उठाए जाने वाले चरणों की संख्या दर्ज कर सकें। पूरा कार्यक्रम ट्यूटोरियल के अंत में पाया जा सकता है कुछ महत्वपूर्ण लाइनें नीचे बताई गई हैं।
हमारे स्टेपर मोटर के लिए प्रति क्रांति कदमों की संख्या 32 होने की गणना की गई थी; इसलिए हम नीचे लाइन में दिखाए अनुसार दर्ज करते हैं
#define STEPS 32
आगे आपको ऐसे उदाहरण बनाने होंगे जिसमें हम उन पिन को निर्दिष्ट करते हैं जिन्हें हमने स्टेपर मोटर से जोड़ा है।
स्टेपर स्टेपर (STEPS, 8, 10, 9, 11);
नोट: पिन नंबर उद्देश्य पर 8,10,9,11 के रूप में अव्यवस्थित हैं। आपको उसी पैटर्न का पालन करना होगा भले ही आप पिन को बदल दें जिससे आपकी मोटर जुड़ी हुई है।
चूंकि हम Arduino स्टेपर लाइब्रेरी का उपयोग कर रहे हैं, इसलिए हम नीचे की लाइन का उपयोग करके मोटर की गति निर्धारित कर सकते हैं। 28-BYJ48 स्टेपर मोटर्स के लिए गति 0 से 200 के बीच हो सकती है।
स्टेपर.सेटस्पीड (200);
अब, मोटर को एक कदम आगे बढ़ाने के लिए हम निम्नलिखित पंक्ति का उपयोग कर सकते हैं।
स्टेपर.स्टेप (वैल);
स्थानांतरित किए जाने वाले चरणों की संख्या चर "वैल" द्वारा प्रदान की जाएगी। चूंकि हमारे पास 32 चरण और 64 हैं गियर अनुपात के रूप में हमें एक पूर्ण रोटेशन बनाने के लिए 2048 (32 * 64 = 2048) को स्थानांतरित करने की आवश्यकता है।
वैरिएबल "वैल" का मान सीरियल मॉनिटर का उपयोग करके उपयोगकर्ता द्वारा दर्ज किया जा सकता है।
Arduino के साथ स्टेपर मोटर का कार्य:
एक बार कनेक्शन बनाने के बाद हार्डवेयर को नीचे दी गई तस्वीर में कुछ इस तरह देखना चाहिए।
अब, नीचे दिए गए प्रोग्राम को अपने Arduino UNO में अपलोड करें और सीरियल मॉनिटर खोलें। जैसा कि पहले चर्चा की जा चुकी है कि हमें एक पूर्ण रोटेशन बनाने के लिए 2048 कदम उठाने होंगे, इसलिए जब हम 2048 में प्रवेश करेंगे तो मोटर 2048 चरणों को पूरा करके दक्षिणावर्त दिशा में एक पूर्ण रोटेशन करेगी। एंटी-क्लॉकवाइज में घुमाने के लिए बस "-" नकारात्मक चिन्ह के साथ संख्या दर्ज करें। तो, -1024 में प्रवेश करने से मोटर विरोधी घड़ी की दिशा में आधे रास्ते को घुमाएगी। आप किसी भी वांछित मूल्यों को दर्ज कर सकते हैं, जैसे 1will दर्ज करने से मोटर केवल एक कदम उठाती है।
आशा है कि आपने इस परियोजना को समझा और इसके निर्माण का आनंद लिया। परियोजना का पूरा काम नीचे दिए गए वीडियो में दिखाया गया है। यदि आपको कोई संदेह है, तो उन्हें हमारे मंचों पर हमारे नीचे टिप्पणी अनुभाग पर पोस्ट करें।