- स्टेपर मोटर में ऑपरेशन के मोड
- स्टेपर मोटर को नियंत्रित करने के लिए MATLAB ग्राफिकल यूजर इंटरफेस बनाना
- Arduino के साथ Stepper Motor को नियंत्रित करने के लिए MATLAB कोड
- आवश्यक सामग्री
- सर्किट आरेख
- MATLAB के साथ स्टेपर मोटर को नियंत्रित करना
स्टेपर मोटर्स एक ब्रशलेस डीसी मोटर है जो असतत चरणों में घूमती है, और कई सटीक गति नियंत्रण अनुप्रयोगों के लिए सबसे अच्छा विकल्प है। इसके अलावा, स्टेपर मोटर्स पोजिशनिंग, स्पीड कंट्रोल और एप्लिकेशन के लिए अच्छे होते हैं जिन्हें कम गति पर उच्च टॉर्क की आवश्यकता होती है।
MATLAB के पिछले ट्यूटोरियल में, हमने समझाया है कि DC मोटर, सर्वो मोटर और घरेलू उपकरणों को नियंत्रित करने के लिए MATLAB का उपयोग कैसे करें। आज हम सीखेंगे कि MATALB और Arduino का उपयोग करके Stepper Motor को कैसे नियंत्रित किया जाए । यदि आप MATLAB के लिए नए हैं तो MATLAB के साथ सरल एलईडी ब्लिंक कार्यक्रम के साथ शुरुआत करने की सलाह दी जाती है।
स्टेपर मोटर में ऑपरेशन के मोड
इससे पहले कि आप स्टेपर मोटर के लिए कोडिंग शुरू करें आपको एक स्टेपर मोटर की कार्यशील या घूर्णन अवधारणा को समझना चाहिए। चूंकि स्टेपर मोड का स्टेटर कॉइल के विभिन्न जोड़े से बनाया गया है, प्रत्येक कॉइल जोड़ी कई अलग-अलग तरीकों से उत्साहित हो सकती है, इससे मोड कई अलग-अलग मोड में संचालित हो सकते हैं। निम्नलिखित व्यापक वर्गीकरण हैं
फुल स्टेप मोड
पूर्ण चरण उत्तेजना मोड में हम न्यूनतम संख्या में घुमावों (चरणों) के साथ पूर्ण 360 ° रोटेशन प्राप्त कर सकते हैं। लेकिन इससे जड़ता कम होती है और घुमाव भी सुचारू नहीं होगा। पूर्ण चरण उत्तेजना में आगे दो वर्गीकरण हैं, वे एक चरण-ऑन वेव स्टेपिंग और दो चरण-ऑन मोड हैं ।
1. वन फेज-ऑन स्टेपिंग या वेव स्टेपिंग: इस मोड में किसी भी समय केवल मोटर का एक टर्मिनल (चरण) सक्रिय किया जाएगा। इसमें चरणों की संख्या कम है और इसलिए पूर्ण 360 ° रोटेशन प्राप्त कर सकते हैं। चूँकि चरणों की संख्या कम है इसलिए इस विधि द्वारा खपत की जाने वाली धारा भी बहुत कम है। निम्न तालिका 4 चरण स्टेपर मोटर के लिए तरंग चालन अनुक्रम दिखाती है
कदम | चरण 1 (नीला) | चरण 2 (गुलाबी) | चरण 3 (पीला) | चरण 4 (नारंगी) |
1 | 1 | ० | ० | ० |
२ | ० | 1 | ० | ० |
३ | ० | ० | 1 | ० |
४ | ० | ० | ० | 1 |
2. टू फेज-ऑन स्टेपिंग: जैसा कि इस पद्धति में नाम बताता है कि दो चरण एक होंगे। इसमें वेव स्टेपिंग के समान ही चरण हैं, लेकिन चूंकि दो कॉइल एक समय में सक्रिय हैं, इसलिए यह पिछली विधि की तुलना में बेहतर टॉर्क और गति प्रदान कर सकता है। यद्यपि एक पक्ष यह है कि यह विधि अधिक शक्ति का उपभोग करती है।
कदम |
चरण 1 (नीला) |
चरण 2 (गुलाबी) |
चरण 3 (पीला) |
चरण 4 (नारंगी) |
1 |
1 |
1 |
० |
० |
२ |
० |
1 |
1 |
० |
३ |
० |
० |
1 |
1 |
४ |
1 |
० |
० |
1 |
हाफ स्टेप मोड
हाफ स्टेप मोड मोड पर एक फेज-ऑन और टू-फेज का संयोजन है। यह संयोजन हमें दोनों विधाओं के उपर्युक्त नुकसान को प्राप्त करने में मदद करेगा।
जैसा कि आपने अनुमान लगाया होगा कि जब से हम दोनों तरीकों का संयोजन कर रहे हैं, तो हमें पूर्ण रोटेशन प्राप्त करने के लिए इस पद्धति में 8-चरण करने होंगे। नीचे दिखाए गए 4-चरण स्टेपर मोटर के लिए स्विचिंग अनुक्रम
कदम |
चरण 1 (नीला) |
चरण 2 (गुलाबी) |
चरण 3 (पीला) |
चरण 4 (नारंगी) |
1 |
1 |
० |
० |
० |
२ |
1 |
1 |
० |
० |
३ |
० |
1 |
० |
० |
४ |
० |
1 |
1 |
० |
५ |
० |
० |
1 |
1 |
६ |
० |
० |
० |
1 |
। |
1 |
० |
० |
1 |
। |
1 |
० |
० |
० |
इसलिए, किसी भी मोड में अपने स्टेपर मोटर को प्रोग्राम करना आपकी पसंद है, लेकिन मुझे फुल स्टेप-ऑन स्टेपिंग फुल स्टेप मोड पसंद है। क्योंकि यह विधि तेज गति प्रदान करती है तो एक चरण विधि और आधे मोड की तुलना में दो चरण विधि में चरणों की कम संख्या के कारण कोडिंग भाग कम होता है।
यहां स्टेपर मोटर्स और इसके मोड के बारे में अधिक जानें
स्टेपर मोटर को नियंत्रित करने के लिए MATLAB ग्राफिकल यूजर इंटरफेस बनाना
फिर हमें Stepper मोटर को नियंत्रित करने के लिए GUI (ग्राफिकल यूजर इंटरफेस) का निर्माण करना होगा। GUI लॉन्च करने के लिए, कमांड विंडो में नीचे कमांड टाइप करें
मार्गदर्शक
एक पॉपअप विंडो खुलेगी, फिर नए रिक्त GUI का चयन करें जैसा कि नीचे चित्र में दिखाया गया है,
अब स्टेपर मोटर क्लॉकवाइज और एंटी-क्लॉकवाइज को घुमाने के लिए दो टॉगल बटन चुनें, जैसा कि नीचे दिखाया गया है,
बटन के आकार को बदलने या बदलने के लिए, बस उस पर क्लिक करें और आप बटन के कोनों को खींच पाएंगे। टॉगल बटन पर डबल-क्लिक करके आप उस विशेष बटन के रंग, स्ट्रिंग और टैग को बदल सकते हैं। हमने नीचे दिए गए चित्र के अनुसार दो बटन को अनुकूलित किया है।
आप अपनी पसंद के अनुसार बटन को कस्टमाइज़ कर सकते हैं। अब जब आप इसे सहेजते हैं , MATLAB के संपादक विंडो में एक कोड उत्पन्न होता है । अपने प्रोजेक्ट से संबंधित किसी भी कार्य को करने के लिए अपने Arduino को कोड करने के लिए, आपको हमेशा इस उत्पन्न कोड को संपादित करना होगा। इसलिए नीचे हमने MATLAB कोड संपादित किया है। MATLAB ट्यूटोरियल के साथ आरंभ करने में आप कमांड विंडो, एडिटर विंडो आदि के बारे में अधिक जान सकते हैं।
Arduino के साथ Stepper Motor को नियंत्रित करने के लिए MATLAB कोड
स्टेपर मोटर को नियंत्रित करने के लिए पूरा MATLAB कोड, इस परियोजना के अंत में दिया गया है। आगे हम GUI फ़ाइल (.fig) और कोड फ़ाइल (.m) को डाउनलोड के लिए शामिल कर रहे हैं (लिंक पर दायाँ क्लिक करें, फिर 'इस रूप में लिंक सहेजें…' का चयन करें), जिसके उपयोग से आप अपनी आवश्यकता के अनुसार बटन अनुकूलित कर सकते हैं । नीचे कुछ ट्वीक्स हैं जिन्हें हमने स्टेपर मोटर को दक्षिणावर्त घुमाने और दो टॉगल बटन का उपयोग करके एंटीक्लॉकवाइज के लिए किया था।
लाइन कोड पर नीचे दिए गए कोड को कॉपी और पेस्ट करें। 74 यह सुनिश्चित करने के लिए कि हर बार जब आप m-file चलाते हैं तो Arduino MATLAB के साथ बात कर रहा है।
सभी साफ करें; वैश्विक ए; a = arduino ();
जब आप नीचे स्क्रॉल करते हैं, तो आप देखेंगे कि GUI में दोनों बटन के लिए दो फ़ंक्शन बनाए गए हैं। अब आप जिस कार्य को क्लिक करना चाहते हैं, उसके अनुसार दोनों कार्यों में कोड लिखें।
में दक्षिणावर्त बटन के समारोह, कॉपी और घड़ी की दिशा में मोटर बारी बारी से करने कोड के नीचे पेस्ट सिर्फ समारोह के अंत से पहले। स्टेपपर मोटर को दक्षिणावर्त दिशा में लगातार घुमाने के लिए, हम लूप दिशा के लिए दो फेज-ऑन स्टेपिंग फुल मोड चरणों को दोहराने के लिए लूप का उपयोग कर रहे हैं ।
जबकि (hObject, 'वैल्यू') ग्लोबल ए; राइटडिगैलपिन (ए, 'डी 8', 1); राइटडिजालपिन (ए, 'डी 9', 0); राइटडिजालपिन (ए, 'डी 10', 0); राइटडिगैलपिन (ए, 'डी 11', 1); ठहराव (0.0002); राइटडिगैलपिन (ए, 'डी 8', 0); राइटडिजालपिन (ए, 'डी 9', 0); राइटडिजालपिन (ए, 'डी 10', 1); राइटडिगैलपिन (ए, 'डी 11', 1); ठहराव (0.0002); राइटडिगैलपिन (ए, 'डी 8', 0); राइटडिगैलपिन (ए, 'डी 9', 1); राइटडिजालपिन (ए, 'डी 10', 1); राइटडिजालपिन (ए, 'डी 11', 0); ठहराव (0.0002); राइटडिगैलपिन (ए, 'डी 8', 1); राइटडिगैलपिन (ए, 'डी 9', 1); राइटडिजालपिन (ए, 'डी 10', 0); राइटडिजालपिन (ए, 'डी 11', 0); ठहराव (0.0002); समाप्त
अब एंटी-क्लॉकवाइज बटन के फ़ंक्शन में, मोटर को एंटी-क्लॉकवाइज़ दिशा में घुमाने के लिए फ़ंक्शन पर नीचे दिए गए कोड को पेस्ट करें। एंटी-क्लॉकवाइज दिशा में स्टेपर मोटर को लगातार घुमाने के लिए, हम एंटी-क्लॉकवाइज दिशा के लिए दो चरण-ऑन स्टेपिंग फुल मोड चरणों को दोहराने के लिए लूप का उपयोग कर रहे हैं ।
जबकि (hObject, 'वैल्यू') ग्लोबल ए; राइटडिगैलपिन (ए, 'डी 8', 1); राइटडिगैलपिन (ए, 'डी 9', 1); राइटडिजालपिन (ए, 'डी 10', 0); राइटडिजालपिन (ए, 'डी 11', 0); ठहराव (0.0002); राइटडिगैलपिन (ए, 'डी 8', 0); राइटडिगैलपिन (ए, 'डी 9', 1); राइटडिजालपिन (ए, 'डी 10', 1); राइटडिजालपिन (ए, 'डी 11', 0); ठहराव (0.0002); राइटडिगैलपिन (ए, 'डी 8', 0); राइटडिजालपिन (ए, 'डी 9', 0); राइटडिजालपिन (ए, 'डी 10', 1); राइटडिगैलपिन (ए, 'डी 11', 1); ठहराव (0.0002); राइटडिगैलपिन (ए, 'डी 8', 1); राइटडिजालपिन (ए, 'डी 9', 0); राइटडिजालपिन (ए, 'डी 10', 0); राइटडिगैलपिन (ए, 'डी 11', 1); ठहराव (0.0002); समाप्त
आवश्यक सामग्री
- MATLAB स्थापित लैपटॉप (वरीयता: R2016a या इसके बाद के संस्करण)
- Arduino UNO
- स्टेपर मोटर (28BYJ-48, 5VDC)
- ULN2003 - स्टेपर मोटर ड्राइवर
सर्किट आरेख
MATLAB के साथ स्टेपर मोटर को नियंत्रित करना
सर्किट आरेख के अनुसार हार्डवेयर सेटअप करने के बाद, केवल.m फ़ाइल में संपादित कोड को चलाने के लिए रन बटन पर क्लिक करें
MATLAB को प्रतिक्रिया देने में कुछ सेकंड लग सकते हैं, किसी GUI बटन पर तब तक क्लिक न करें जब तक MATLAB बाएं कोने के निचले हिस्से में व्यस्त संदेश नहीं दिखा रहा है, जैसा कि नीचे दिखाया गया है,
जब सब कुछ तैयार हो जाए, तो मोटर को घुमाने के लिए क्लॉकवाइज या एंटीक्लॉकवाइज बटन पर क्लिक करें। जैसा कि हम टॉगल बटन का उपयोग कर रहे हैं, स्टेपर मोटर लगातार घड़ी की दिशा में आगे बढ़ेगी जब तक हम फिर से बटन दबाते हैं। इसी तरह, एंटी-क्लॉकवाइज टॉगल बटन दबाने से, मोटर एंटी-क्लॉकवाइज दिशा में तब तक घूमने लगता है, जब तक कि हम दोबारा बटन नहीं दबाते।