- सामग्री की आवश्यकता
- बीएलडीसी मोटर्स को समझना
- ड्रोन और अन्य मल्टी-कॉप्टर BLDC मोटर्स का उपयोग क्यों करते हैं?
- हमें ईएससी की आवश्यकता क्यों है और इसका कार्य क्या है?
- BLDC और ESC के साथ कुछ सामान्य शब्द:
- Arduino BLDC मोटर कंट्रोल सर्किट आरेख
- Arduino का उपयोग करके BLDC स्पीड कंट्रोल के लिए कार्यक्रम
- Arduino BLDC मोटर नियंत्रण
सामान बनाना और उन्हें काम दिलाना, जिस तरह से हम चाहते हैं, वह हमेशा मज़ेदार रहा है। हालांकि, इस बात पर सहमति व्यक्त की जा रही है कि निर्माण सामग्री जो उड़ सकती है, वह निश्चित रूप से हॉबीस्ट और हार्डवेयर टिंकरर्स के बीच थोड़ी अधिक चिंता को पंप कर सकती है। हाँ! मैं ग्लाइडर्स, हेलिकॉप्टर्स, प्लेन्स और मुख्य रूप से मल्टी-कॉपर्स के बारे में बात कर रहा हूं। आज ऑनलाइन उपलब्ध सामुदायिक सहायता के कारण अपने दम पर एक निर्माण करना बहुत आसान हो गया है। उड़ने वाली सभी चीजों के साथ एक सामान्य बात यह है कि वे एक BLDC मोटर का उपयोग करते हैं , तो यह BLDC मोटर क्या है? हमें चीजों को उड़ाने के लिए इसकी आवश्यकता क्यों है? इसमें क्या खास है? कैसे सही मोटर खरीदने के लिए और अपने नियंत्रक के साथ इंटरफेस? ईएससी क्या है और हम इसका उपयोग क्यों करते हैं? यदि आपके पास इन जैसे प्रश्न हैं तो यह ट्यूटोरियल आपका एक स्टॉप सॉल्यूशन है।
तो मूल रूप से इस ट्यूटोरियल में हम Arduino के साथ ब्रशलेस मोटर को नियंत्रित करेंगे । यहाँ A2212 / 13T Sensorless BLDC outrunner मोटर का उपयोग 20A इलेक्ट्रॉनिक स्पीड कंट्रोलर (ESC) के साथ किया जाता है। इस मोटर का उपयोग आमतौर पर ड्रोन के निर्माण के लिए किया जाता है।
सामग्री की आवश्यकता
- A2212 / 13T BLDC मोटर
- ईएससी (20A)
- पावर सोर्स (12 वी 20 ए)
- Arduino
- तनाव नापने का यंत्र
बीएलडीसी मोटर्स को समझना
BLDC मोटर ब्रश कम डीसी मोटर के लिए खड़ा है, इसका उपयोग आमतौर पर छत के प्रशंसकों और इलेक्ट्रिक वाहनों में इसके सुचारू संचालन के कारण किया जाता है। इलेक्ट्रिक वाहनों में BLDC मोटर्स का उपयोग पहले विस्तार से बताया गया है। अन्य मोटरों के विपरीत, बीएलडीसी मोटर्स में तीन तार होते हैं, और प्रत्येक तार अपना स्वयं का चरण बनाता है और इस प्रकार हमें एक तीन चरण मोटर दिया जाता है। रुको क्या!!??
हां, हालांकि बीएलडीसी मोटर्स को डीसी मोटर्स माना जाता है, वे स्पंदित तरंगों की मदद से काम करते हैं। इलेक्ट्रॉनिक गति नियंत्रक (ESC) दालों के लिए बैटरी से डीसी वोल्टेज धर्मान्तरित और मोटर के 3 तारों को यह प्रदान करता है। किसी भी समय मोटर के केवल दो चरण को संचालित किया जाएगा, ताकि वर्तमान एक चरण में प्रवेश करे और दूसरे के माध्यम से निकल जाए। इस प्रक्रिया के दौरान मोटर के अंदर का तार ऊर्जावान होता है और इसलिए रोटर पर चुम्बक खुद को ऊर्जित कॉइल से संरेखित करते हैं। फिर अगले दो तारों को ईएससी द्वारा सक्रिय किया जाता है, इस प्रक्रिया को मोटर को घुमाने के लिए जारी रखा जाता है। मोटर की गति इस बात पर निर्भर करती है कि कॉइल कितनी तेज है और मोटर की दिशा इस बात पर निर्भर करती है कि कॉइल किस क्रम में सक्रिय हैं। हम इस लेख में बाद में ESC के बारे में अधिक जानेंगे।
कई प्रकार के बीएलडीसी मोटर्स उपलब्ध हैं, आइए सबसे सामान्य वर्गीकरणों पर नज़र डालें।
इन-रनर और आउट-रनर BLDC मोटर: रनर में BLDC मोटर्स किसी अन्य मोटर की तरह काम करती हैं। मोटर के अंदर का शाफ्ट घूमता है जबकि आवरण स्थिर रहता है। जबकि बीएलडीसी मोटर्स बाहर विपरीत हैं, मोटर का बाहरी आवरण शाफ्ट के साथ घूमता है जबकि कॉइल अंदर रहता है। बाहरी आवरण (जो घूमता है) के बाद से इलेक्ट्रिक बाइक में आउट रनर मोटर्स बहुत फायदे हैं जो टायर के लिए एक रिम में बनाया जाता है और इसलिए युग्मन तंत्र से बचा जाता है। इसके अलावा, आउट रनर मोटर्स धावक प्रकारों की तुलना में अधिक टॉर्क देती हैं, इसलिए यह EV और ड्रोन में एक आदर्श विकल्प बन जाता है। हम यहां जो प्रयोग कर रहे हैं वह भी एक आउट रनर प्रकार है।
नोट: एक अन्य प्रकार की मोटर है जिसे कोरलेस BLDC मोटर्स कहा जाता है जो पॉकेट ड्रोन के लिए भी उपयोग की जाती हैं, उनके पास एक अलग कार्य सिद्धांत होता है लेकिन अब हम इसे इस ट्यूटोरियल की खातिर छोड़ देते हैं।
सेंसर और सेंसरलेस BLDC मोटर: BLDC मोटर को बिना किसी झटके के घुमाने के लिए फीडबैक की आवश्यकता होती है। यही कारण है कि ईएससी को रोटर में मैग्नेट की स्थिति और ध्रुव को जानना होगा ताकि स्टेटर को सक्रिय किया जा सके। यह जानकारी दो तरीकों से हासिल की जा सकती है; एक मोटर के अंदर हॉल सेंसर रखकर है। हॉल सेंसर चुंबक का पता लगाएगा और ईएससी को सूचना भेजेगा इस प्रकार की मोटर को एक सेंसर बीएलडीसी मोटर कहा जाता है और इसका उपयोग इलेक्ट्रिक वाहनों में किया जाता है। दूसरी विधि कॉइल द्वारा उत्पन्न बैक ईएमएफ का उपयोग करके होती है जब मैग्नेट उन्हें पार करते हैं, इसके लिए अतिरिक्त हार्डवेयर की आवश्यकता नहीं होती है या चरण तार खुद को वापस ईएमएफ की जांच के लिए फीडबैक के रूप में उपयोग किया जाता है। यह विधि हमारे मोटर में उपयोग की जाती है और ड्रोन और अन्य उड़ान परियोजनाओं के लिए आम है।
ड्रोन और अन्य मल्टी-कॉप्टर BLDC मोटर्स का उपयोग क्यों करते हैं?
क्वाड कॉप्टर से लेकर हेलिकॉप्टरों और ग्लाइडर्स तक कई तरह के कूल ड्रोन हैं जिनमें सब कुछ एक समान है। वह BLDC मोटर्स है, लेकिन क्यों? वे डीसीएल की तुलना में बीएलडीसी मोटर का उपयोग क्यों करते हैं जो थोड़ा महंगा है?
इसके लिए कुछ मान्य कारण हैं, एक मुख्य कारण इन मोटरों द्वारा प्रदान किया जाने वाला टोक़ बहुत अधिक है जो ड्रोन को उतारने या उतारने के लिए तेजी से हासिल / ढीला करने के लिए बहुत महत्वपूर्ण है। इसके अलावा ये मोटरें रन रनर के रूप में उपलब्ध हैं जो फिर से मोटरों के जोर को बढ़ाती हैं। चुनिंदा BLDC मोटर का एक अन्य कारण इसका सुस्पष्ट कंपन कम ऑपरेशन है, यह मध्य-वायु में स्थिर हमारे ड्रोन के लिए बहुत आदर्श है।
एक BLDC मोटर के वजन अनुपात में बिजली बहुत अधिक है । यह बहुत महत्वपूर्ण है क्योंकि ड्रोन पर उपयोग किए जाने वाले मोटर्स उच्च शक्ति (उच्च गति और उच्च टोक़) के होने चाहिए, लेकिन कम वजन के भी होने चाहिए। एक डीसी मोटर जो एक BLDC मोटर की समान टॉर्क और गति प्रदान कर सकती है वह BLDC मोटर की तुलना में दोगुनी भारी होगी।
हमें ईएससी की आवश्यकता क्यों है और इसका कार्य क्या है?
जैसा कि हम जानते हैं कि प्रत्येक बीएलडीसी मोटर को डीसी वोल्टेज को बैटरी से दालों में बदलने के लिए किसी प्रकार के नियंत्रक की आवश्यकता होती है ताकि मोटर के चरण तारों को बिजली मिल सके। इस कंट्रोलर को ESC कहा जाता है जो इलेक्ट्रॉनिक स्पीड कंट्रोलर के लिए है । नियंत्रक की मुख्य जिम्मेदारी एक क्रम में BLDC मोटर्स के चरण तारों को सक्रिय करना है ताकि मोटर घूमता रहे। यह प्रत्येक तार से पीछे ईएमएफ को संवेदन द्वारा किया जाता है और चुंबक को कुंडल को पार करने पर कुंडल को सक्रिय करता है। इसलिए ईएससी के अंदर बहुत सारे हार्डवेयर की प्रतिभा है जो इस ट्यूटोरियल के दायरे से बाहर है। लेकिन कुछ का उल्लेख करने के लिए इसमें गति नियंत्रक और एक बैटरी एलिमिनेटर सर्किट है ।
पीडब्लूएम आधारित गति नियंत्रण: ईएससी नारंगी तार पर दिए गए पीडब्लूएम सिग्नल को पढ़कर बीएलडीसी मोटर की गति को नियंत्रित कर सकता है। यह सर्वो मोटर्स के समान काम करता है, बशर्ते पीडब्लूएम सिग्नल की अवधि 20ms होनी चाहिए और बीएलडीसी मोटर की गति को अलग करने के लिए कर्तव्य चक्र भिन्न हो सकता है। चूँकि वही तर्क सर्वो मोटर्स के लिए भी लागू होते हैं ताकि हम अपने Arduino प्रोग्राम में उसी सर्वो लाइब्रेरी का उपयोग कर सकें। यहाँ Arduino के साथ सर्वो का उपयोग करना सीखें।
बैटरी एलिमिनेटर सर्किट (BEC): लगभग सभी ESC की बैटरी एलिमिनेटर सर्किट के साथ आती है। जैसा कि नाम से पता चलता है कि यह सर्किट माइक्रोकंट्रोलर के लिए अलग बैटरी की आवश्यकता को समाप्त करता है, इस मामले में हमें अपने Arduino को बिजली देने के लिए अलग से बिजली की आपूर्ति की आवश्यकता नहीं है; ईएससी स्वयं एक विनियमित +5 वी प्रदान करेगी जिसका उपयोग हमारे अरडिनो को शक्ति प्रदान कर सकता है। कई प्रकार के सर्किट हैं जो इस वोल्टेज को सामान्य रूप से नियंत्रित करते हैं यह सस्ते ESCs पर रैखिक विनियमन होगा, लेकिन आप स्विचिंग सर्किट वाले भी पा सकते हैं।
फर्मवेयर: हर ईएससी में एक फर्मवेयर प्रोग्राम होता है जो मैन्युफैक्चरर्स द्वारा इसमें लिखा जाता है। यह फर्मवेयर बहुत निर्धारित करता है कि आपका ईएससी कैसे प्रतिक्रिया करता है; कुछ लोकप्रिय फर्मवेयर पारंपरिक, साइमन-के और बीएल-हेली हैं। यह फर्मवेयर यूजर प्रोग्रामेबल भी है लेकिन हम इस ट्यूटोरियल में इससे अधिक नहीं पाएँगे।
BLDC और ESC के साथ कुछ सामान्य शब्द:
अगर आपने अभी तक BLDC मोटर्स के साथ काम करना शुरू कर दिया है, तो आप शायद ब्रेकिंग, सॉफ्ट स्टार्ट, मोटर डायरेक्शन, लो वोल्टेज, रिस्पॉन्स टाइम और एडवांस जैसी शर्तों पर आ सकते हैं । आइए एक नज़र डालते हैं कि इन शब्दों का क्या मतलब है।
ब्रेक लगाना: ब्रेकिंग आपके BLDC मोटर की क्षमता है जो थ्रॉटल को हटाते ही घूर्णन को रोक देता है। मल्टी-कॉपर्स के लिए यह क्षमता बहुत महत्वपूर्ण है क्योंकि उन्हें हवा में पैंतरेबाज़ी करने के लिए अपने आरपीएम को अधिक बार बदलना पड़ता है।
सॉफ्ट स्टार्ट: सॉफ्ट स्टार्ट एक महत्वपूर्ण विशेषता है जिस पर विचार करने के लिए कि आपका BLDC मोटर गियर से जुड़ा है। जब एक मोटर में सॉफ्ट स्टार्ट इनेबल्ड होता है, तो यह अचानक बहुत तेजी से घूमना शुरू नहीं करेगा, यह हमेशा धीरे-धीरे गति को बढ़ाएगा चाहे वह कितनी भी जल्दी क्यों न हो। यह मोटर्स (यदि कोई हो) से जुड़े गियर के पहनने और आंसू को कम करने में हमारी मदद करेगा।
मोटर दिशा: BLDC मोटर्स में मोटर दिशा आमतौर पर ऑपरेशन के दौरान नहीं बदली जाती है। लेकिन जब कोडांतरण होता है, तो उपयोगकर्ता को उस दिशा को बदलने की आवश्यकता हो सकती है जिसमें मोटर घूम रहा है। मोटर की दिशा बदलने का सबसे आसान तरीका मोटर के किसी भी दो तारों को बदलना है।
कम वोल्टेज स्टॉप: एक बार कैलिब्रेट किए जाने के बाद हमें हमेशा अपने बीएलडीसी मोटर्स को थ्रॉटल के एक विशेष मूल्य के लिए उसी विशेष गति से चलाने की आवश्यकता होगी। लेकिन यह हासिल करना कठिन है क्योंकि बैटरी वोल्टेज कम होने के कारण मोटर्स थ्रोटल के समान मूल्य के लिए अपनी गति को कम करते हैं। इससे बचने के लिए हम आम तौर पर ईएससी को काम करना बंद करने के लिए प्रोग्राम करते हैं जब बैटरी वोल्टेज थ्रेशोल्ड वैल्यू से नीचे पहुंच गया है, इस फ़ंक्शन को लो वोल्टेज स्टॉप कहा जाता है और ड्रोन में उपयोगी है।
प्रतिक्रिया समय: मोटर की क्षमता को थ्रॉटल में परिवर्तन के आधार पर जल्दी से अपनी गति बदलने की प्रतिक्रिया समय कहा जाता है। प्रतिक्रिया समय जितना कम होगा उतना ही बेहतर नियंत्रण होगा।
एडवांस: एडवांस BLDC मोटर्स के साथ बग की तरह एक समस्या या अधिक है। सभी बीएलडीसी मोटर्स में उनकी थोड़ी बहुत उन्नति होती है। यह तब होता है जब स्टेटर कॉइल को सक्रिय किया जाता है, रोटर उस ओर आकर्षित होता है क्योंकि उन पर मौजूद स्थायी चुंबक के कारण। रोटर के आकर्षित होने के बाद कॉइल डी-एनर्जिज़ से पहले उसी दिशा में थोड़ा और आगे बढ़ना होता है और उसके बाद अगले कॉइल उठ जाते हैं। इस आंदोलन को "एडवांस" कहा जाता है और यह घबराना, गर्म करना, शोर करना आदि जैसी समस्याएं पैदा करेगा, इसलिए यह एक अच्छा ईएससी है जो अपने आप से बचना चाहिए।
ठीक है, पर्याप्त सिद्धांत अब हमें Arduino के साथ मोटर को जोड़कर हार्डवेयर के साथ आरंभ करें।
Arduino BLDC मोटर कंट्रोल सर्किट आरेख
नीचे Arduino के साथ ब्रशलेस मोटर को नियंत्रित करने के लिए सर्किट आरेख है :
Arduino के साथ BLDC मोटर को जोड़ने के लिए कनेक्शन बहुत सीधा है। ईएससी को न्यूनतम 12 वी और 5 ए की शक्ति स्रोत की आवश्यकता होती है। इस ट्यूटोरियल में मैंने अपने RPS को एक शक्ति स्रोत के रूप में उपयोग किया है लेकिन आप ESC को पावर देने के लिए Li-Po बैटरी का भी उपयोग कर सकते हैं। ईएससी के तीन चरण तारों को मोटरों के तीन चरण तारों से जोड़ा जाना चाहिए, इन तारों को जोड़ने का कोई आदेश नहीं है आप उन्हें किसी भी क्रम में कनेक्ट कर सकते हैं।
चेतावनी: कुछ ESC में उन पर कनेक्टर नहीं होंगे, इस मामले में सुनिश्चित करें कि आपका कनेक्शन ठोस है और इन्सुलेशन टेप का उपयोग करके उजागर तारों की रक्षा करें। चूंकि चरणों के माध्यम से उच्च धारा गुजरती है, इसलिए किसी भी शॉर्ट को ESC और मोटर की स्थायी क्षति हो सकती है।
बीईसी (बैटरी एलिमिनेटर सर्किट) ESC अपने आप में एक + 5V जो Arduino बोर्ड के सत्ता में इस्तेमाल किया जा सकता को विनियमित होगा। अंत में BLDC मोटर की गति निर्धारित करने के लिए हम Arduino के A0 पिन से जुड़े एक पोटेंशियोमीटर का उपयोग करते हैं
Arduino का उपयोग करके BLDC स्पीड कंट्रोल के लिए कार्यक्रम
हमें 50 हर्ट्ज की आवृत्ति के साथ 0% से 100% तक भिन्न चक्र के साथ एक PWM सिग्नल बनाना होगा । कर्तव्य चक्र को एक पोटेंशियोमीटर का उपयोग करके नियंत्रित किया जाना चाहिए ताकि हम मोटर की गति को नियंत्रित कर सकें। ऐसा करने के लिए कोड सर्वो मोटर्स को नियंत्रित करने के समान है क्योंकि उन्हें 50Hz आवृत्ति के साथ PWM सिग्नल की आवश्यकता होती है; इसलिए हम Arduino से एक ही सर्वो लाइब्रेरी का उपयोग करते हैं। पूरा कोड इस पृष्ठ के तल पर पाया जा सकता है और आगे नीचे मैं छोटे स्निपेट में कोड की व्याख्या। और यदि आप Arduino या PWM में नए हैं, तो पहले Arduino के साथ PWM का उपयोग करें और Arduino का उपयोग करके इमदादी को नियंत्रित करें।
पीडब्लूएम सिग्नल केवल उन पिनों पर उत्पन्न किया जा सकता है जो हार्डवेयर द्वारा पीडब्लूएम का समर्थन करते हैं, इन पिनों को आम तौर पर ~ प्रतीक के साथ उल्लेख किया जाता है। Arduino UNO पर, पिन 9 पीडब्लूएम सिग्नल उत्पन्न कर सकता है, इसलिए हम ESC सिग्नल पिन (नारंगी तार) को पिन 9 से जोड़ते हैं। हम निम्नलिखित लाइन का उपयोग करके समान सराय कोड का भी उल्लेख करते हैं
ESC.attach (9);
हमें 0% से 100% तक अलग-अलग कर्तव्य चक्र के PWM सिग्नल उत्पन्न करने होंगे। 0% कर्तव्य चक्र के लिए POT 0V (0) का उत्पादन करेगा और 100% कर्तव्य चक्र के लिए POT 5V (1023) का उत्पादन करेगा। यहाँ पॉट को A0 से जोड़ा जाता है, इसलिए हमें नीचे दिए गए अनुरूप रीड फंक्शन का उपयोग करके पॉट से एनालॉग वोल्टेज को पढ़ना होगा
int थ्रोटल = analogRead (A0);
फिर हमें मान को 0 से 1023 से 0 से 180 में बदलना है क्योंकि मान 0 से 0% पीडब्लूएम और मूल्य 180 से 100% कर्तव्य चक्र उत्पन्न होगा। 180 से ऊपर के किसी भी मूल्य का कोई मतलब नहीं होगा। तो हम नीचे दिखाए गए अनुसार मानचित्र फ़ंक्शन का उपयोग करके मूल्य को 0-180 तक बढ़ाते हैं।
थ्रॉटल = नक्शा (थ्रोटल, 0, 1023, 0, 180);
अंत में, हमें यह मान सर्वो समारोह में भेजना होगा ताकि यह उस पिन पर PWM सिग्नल उत्पन्न कर सके। चूंकि हमने ईएससी ऑब्जेक्ट को ईएससी नाम दिया है, इसलिए कोड नीचे इस तरह दिखेगा, जहां चर थ्रोटल में 0-180 से वैल्यू होती है, जो पीडब्लूएम सिग्नल के कर्तव्य चक्र को नियंत्रित करता है।
ईएससीराइट (थ्रोटल);
Arduino BLDC मोटर नियंत्रण
सर्किट आरेख के अनुसार कनेक्शन बनाएं और कोड को Arduino पर अपलोड करें और ESC को पावर करें। सुनिश्चित करें कि आपने BLDC मोटर को किसी चीज पर आरूढ़ किया है क्योंकि घूर्णन करते समय मोटर चारों ओर से कूद जाएगी। एक बार सेटअप चालू हो जाने के बाद, आपका ESC एक स्वागत योग्य टोन बना देगा और तब तक बीप करता रहेगा जब तक कि थ्रॉटल सिग्नल थ्रेशोल्ड सीमा के भीतर नहीं हो जाता है, 0 वी से धीरे-धीरे पॉट को बढ़ाएं और बीपिंग टोन बंद हो जाएगा, इसका मतलब है कि अब हम PWM प्रदान कर रहे हैं निचले दहलीज मूल्य से ऊपर का संकेत और जैसे-जैसे आप आगे बढ़ेंगे आपकी मोटर धीरे-धीरे घूमने लगेगी। जितना अधिक वोल्टेज आप मोटर को प्रदान करेंगे उतनी अधिक गति प्रदान करेंगे, अंत में जब वोल्टेज ऊपरी सीमा सीमा से ऊपर पहुंच जाएगा तो मोटर बंद हो जाएगा। फिर आप इस प्रक्रिया को दोहरा सकते हैं।
इस Arduino BLDC नियंत्रक का पूरा काम नीचे दिए गए वीडियो लिंक पर भी देखा जा सकता है। यदि आपको टिप्पणी अनुभाग का उपयोग करने या अधिक तकनीकी सहायता के लिए फ़ोरम का उपयोग करने के लिए स्वतंत्र महसूस करने के लिए इसे प्राप्त करने में किसी भी समस्या का सामना करना पड़ा था।