- अवयव आवश्यक
- स्टेपर मोटर का पिन विवरण
- ULN2003 मॉड्यूल का उपयोग करके स्टेपर मोटर नियंत्रण के लिए सर्किट आरेख
- L293D मॉड्यूल का उपयोग करते हुए स्टेपर मोटर नियंत्रण के लिए सर्किट आरेख:
- AVR ATmega16 के साथ स्टेपर मोटर को नियंत्रित करना
स्टेपर मोटर्स डीसी ब्रशलेस मोटर्स हैं जो चरणों में 0 0 से 360 0 तक घूम सकती हैं । स्टेपर मोटर चरणों में मोटर को घुमाने के लिए इलेक्ट्रॉनिक संकेतों का उपयोग करती है और प्रत्येक सिग्नल शाफ्ट को निश्चित वेतन वृद्धि (एक कदम) में घुमाता है। संकेतों के निश्चित अनुक्रम को लागू करके रोटेशन परी को नियंत्रित किया जाता है। सर्वो मोटर के विपरीत, स्टेपर मोटर्स को PWM पिन की बजाय माइक्रोकंट्रोलर के GPIO पिन का उपयोग करके चलाया जा सकता है और (+360 0) और (-360 0) में घुमाया जा सकता है) है। संकेतों का क्रम स्टेपर मोटर की क्लॉकवाइज और काउंटर क्लॉकवाइज दिशा तय करता है। मोटर की गति को नियंत्रित करने के लिए, हमें बस नियंत्रण संकेतों की दर को बदलने की आवश्यकता है। स्टेपर मोटर्स चरणों में घूमता है। Stepper Motor को संचालित करने के लिए चरणों के कई तरीके हैं जैसे कि पूर्ण चरण, आधा चरण और माइक्रोस्टेप। स्टेपर मोटर की मूल बातें, सिद्धांत और कार्य सिद्धांत के बारे में अधिक जानने के लिए, लिंक का अनुसरण करें।
हमने पहले कई माइक्रोकंट्रोलर्स के साथ स्टेपर मोटर को इंटरफ़ेयर किया:
- ARM7-LPC2148 के साथ स्टेपर मोटर को इंटरफैस करना
- Arduino Uno के साथ Stepper Motor का सामना करना पड़ रहा है
- MSP430G2 के साथ स्टेपर मोटर को इंटरफैस करना
- STM32F103C8 के साथ स्टेपर मोटर में हस्तक्षेप करना
- PIC Microcontroller के साथ Stepper मोटर Interfacing
- 8051 माइक्रोकंट्रोलर के साथ स्टेपरिंग मोटर को इंटरफैस करना
- रास्पबेरी पाई के साथ स्टेपर मोटर में हस्तक्षेप करना
इस ट्यूटोरियल में हम Atmega16 AVR माइक्रोकंट्रोलर के साथ Atmel Studio 7.0 का उपयोग करके 28BYJ-48 Stepper Motor को इंटरफेस करेंगे । स्टेपर मोटर को 5 वी में काम करने के लिए रेट किया गया है। हम दोनों मोटर चालकों यानी ULN2003 और L293 के साथ स्टेपर मोटर को बदलेंगे । दोनों 5 वी आपूर्ति द्वारा संचालित होंगे। इंटरफेसिंग को आसान बनाने के लिए हम दोनों मोटर चालकों के प्रीलाइड मॉड्यूल का उपयोग कर रहे हैं। आप ULN2003 और L293D स्टैंडअलोन IC का भी उपयोग कर सकते हैं। तारों और कूदने वालों की संख्या अधिक हो सकती है, इसलिए सभी कनेक्शनों को जोड़ने के दौरान बस सावधान रहें।
अवयव आवश्यक
- स्टेपर मोटर (28BYJ-48)
- ULN2003 मॉड्यूल / L293D मोटर ड्राइवर
- एटमेगा 16 माइक्रोकंट्रोलर आई.सी.
- 16Mhz क्रिस्टल थरथरानवाला
- दो 100nF कैपेसिटर
- दो 22pF कैपेसिटर
- बटन दबाओ
- जम्पर तार
- ब्रेड बोर्ड
- USBASP v2.0
- एलईडी (कोई भी रंग)
स्टेपर मोटर का पिन विवरण
ULN2003 मॉड्यूल का उपयोग करके स्टेपर मोटर नियंत्रण के लिए सर्किट आरेख
ULN2003 का उपयोग करते समय नीचे दिए गए चित्र में दिखाए गए अनुसार सभी घटकों को कनेक्ट करें। इसी तरह हम अगले चरण में L293D का उपयोग करते हुए इसे बाधित करेंगे। हम दोनों मोटर चालकों के लिए एटेमेगा 16 के पोर्टा का उपयोग कर रहे हैं। स्टेपर मोटर के 5V पिन को जोड़ने की कोई आवश्यकता नहीं है। स्टेपर मोटर को स्थानांतरित करने के लिए केवल कॉइल पिन की आवश्यकता होती है। स्टेपलर मोटर को चलाने के लिए पिन ऑर्डर बहुत महत्वपूर्ण है क्योंकि कॉइल को सक्रिय करने के लिए कदमों को प्राप्त करना चाहिए। इस परियोजना में ULN2003 के चार इनपुट और ULN2003 के चार आउटपुट का उपयोग किया जाता है। इनपुट PORTA पिन से जुड़े होंगे और आउटपुट Stepper मोटर सिग्नल पिन से जुड़े होंगे। इसके अलावा, जब भी आवश्यकता हो Atmega16 को रीसेट करने के लिए रीसेट पिन में एक पुश बटन कनेक्ट करें। Atmega16 को उचित क्रिस्टल ऑसिलेटर सर्किट से कनेक्ट करें। सभी सिस्टम 5 वी आपूर्ति द्वारा संचालित होंगे।
नीचे ULN2003 मोटर चालक मॉड्यूल की वास्तविक तस्वीर है:
नीचे हमने स्टीमर मोटर को घुमाने के लिए ULN2003 और L293D के साथ Atmega16 पिन कनेक्शन दिए हैं। L293D मॉड्यूल के साथ इंटरफेयरिंग स्टेपर मोटर को बाद के खंड में समझाया गया है, याद रखें कि स्टेपर मोटर नियंत्रण के लिए केवल एक मॉड्यूल ULN2003 या L293D आवश्यक है।
INPUT के पिन कनेक्शन इस प्रकार हैं:
Atmega16 |
ULN2003 |
L293D |
ए ० |
IN1 (PIN1) |
IN1 (PIN2) |
ए 1 |
IN2 (PIN2) |
IN2 (PIN7) |
ए 2 |
IN3 (PIN3) |
IN3 (PIN10) |
ए 3 |
IN4 (PIN4) |
IN4 (PIN15) |
OUTPUT के लिए पिन कनेक्शन इस प्रकार हैं:
स्टेपर मोटर |
ULN2003 |
L293D |
संतरा |
OUT1 (PIN16) |
OUT1 (PIN3) |
पीला |
OUT2 (PIN15) |
OUT2 (PIN6) |
गुलाबी |
OUT3 (PIN14) |
OUT3 (PIN11) |
नीला |
OUT4 (PIN13) |
OUT4 (PIN14) |
L293D मॉड्यूल का उपयोग करते हुए स्टेपर मोटर नियंत्रण के लिए सर्किट आरेख:
AVR ATmega16 के साथ स्टेपर मोटर को नियंत्रित करना
जैसा कि पहले से ही सर्वो मोटर के विपरीत बताया गया है, स्टेपर मोटर्स को बाहरी ड्राइवरों की आवश्यकता होती है, जैसे ULN2003 या L293D मोटर ड्राइवर। तो बस ऊपर दिए गए सर्किट को कनेक्ट करें और अंत में दिए गए main.c प्रोग्राम को अपलोड करें ।
स्केच दोनों तरफ घूमने वाले स्टेपर मोटर को क्लॉकवाइज और काउंटर क्लॉकवाइज दिशा में प्रदर्शित करता है। यदि आप स्टेपर को एक दिशा में घुमाना चाहते हैं, तो स्केच में किसी अन्य दिशा की कोड लाइनों पर टिप्पणी करें।
Stepper Motor को नियंत्रित करने के लिए पूर्ण AVR कोड नीचे दिया गया है। कोड सरल है और आसानी से समझा जा सकता है। नीचे दो कोड दिए गए हैं, एक घूमने वाली स्टेपर मोटर के लिए ULN2003 और दूसरा L293D मॉड्यूल के साथ ।
अपने USBASP v2.0 से कनेक्ट करें और Atmega16 AVR माइक्रोकंट्रोलर को USBASP और Atmel Studio 7.0 का उपयोग करके प्रोग्राम करने के लिए इस लिंक के निर्देशों का पालन करें । बस स्केच का निर्माण करें और बाहरी टूलकिन का उपयोग करके अपलोड करें।
प्रदर्शन वीडियो के साथ पूरा कोड नीचे दिया गया है।