सेंसर और मोटर के साथ काम करना, क्या मैं दोनों का उपयोग कर सकता हूं या मुझे मोटर ढाल का उपयोग करना चाहिए?


11

अद्यतन: मैं वर्तमान में परियोजना के साथ कुछ चीजें बदल रहा हूं। मैंने आपकी कुछ सलाह ली। मैं एक स्टेपर मोटर से एक RC सर्वो (PWM के माध्यम से नियंत्रित) में बदल गया हूं और अगर मैं किसी भी समस्या में भाग लेता हूं और मैं उनसे पूछ नहीं सकता हूं। सहायता के लिए धन्यवाद!

मैं एक दोस्त के साथ एक परियोजना पर काम कर रहा हूं और इसके साथ पहली बार एक Arduino का उपयोग कर रहा हूं। हम एक सेंसर (एक्सेलेरोमीटर) से डेटा लेने और फिर मोटर (6V, DC) को चालू करने के लिए एक Arduino का उपयोग कर रहे हैं।

मैं कुछ खुदाई कर रहा हूं और ऐसा लगता है कि अरुडिनो से निकलने वाली बिजली एक ही समय में मोटर और सेंसर के लिए पर्याप्त नहीं हो सकती है। हो सकता है कि एक तरह की देरी काम कर सके (क्या यह संभव होगा?)।

मैं एक मोटर ढाल का उपयोग करने पर विचार कर रहा हूं । क्या मैं अभी भी मोटर के साथ एक्सेलेरोमीटर को नियंत्रित कर पाऊंगा?

मैं बिजली के एक भी बाहरी स्रोत का उपयोग करने की कोशिश कर रहा हूं (अधिकतम: 6 AA बैटरी; मैं बैटरी की मात्रा को सीमित करने की कोशिश कर रहा हूं क्योंकि हम इसे पोर्टेबल रखने की कोशिश कर रहे हैं) इसलिए एक स्रोत का उपयोग करने का एक तरीका है Arduino और मोटर शील्ड को दो अलग-अलग बिजली की आपूर्ति (मेरी समझ से) की आवश्यकता है।


आपको अभी भी अपने अन्य पिन का उपयोग करने में सक्षम होना चाहिए। यह मोटर ढाल एक शक्तिशाली भाई की तरह काम करेगा और सुनिएगा कि पिन क्या कहता है और ठीक वैसा ही करता है, ज़ाहिर है, बहुत शक्ति के साथ, वह बड़ा भाई है! क्या आप अपने प्रश्न को संपादित कर सकते हैं ताकि आप उपयोग किए जा रहे AA बैटरियों की मात्रा के बारे में अधिक विशिष्ट हों?
अब्दुल्लाह कहरामन

ठीक है मैंने बैटरी की संख्या अपडेट की। क्या आपको लगता है कि मैंने सुना है कि वे Arduinos के साथ वास्तव में अच्छी तरह से काम करते हैं एक स्टेपर मोटर एक बेहतर विकल्प होगा।
ओम 23

@ ओम 23 स्टेपर, सर्वो, ब्रश डीसी या ब्रशलेस डीसी का विकल्प उस उद्देश्य से निर्धारित किया जाएगा जिसे मोटर पूरा करने के लिए आवश्यक है, और (जैसे बीएलडीसी मोटर्स के लिए) मोटर को नियंत्रित करने के लिए उपलब्ध हार्डवेयर। यह एक दिलचस्प नए प्रश्न के लिए बना सकता है, यह निर्धारित करने की दिशा में कि कौन से मोटर का उपयोग उन कई संभावित उद्देश्यों के लिए किया जाता है जिनके बारे में आप सोच सकते हैं। यकीन नहीं होता कि ऐसा सवाल Arduino साइट के लिए आदर्श है, शायद कोई और उस पर झंकार कर सकता है।
अनिंदो घोष

जवाबों:


12

अंक 1 : एक Arduino से सीधे मोटर चला रहा है

Arduino पिन से सीधे मोटर चलाना कई कारणों से उचित नहीं है:

  • वर्तमान लोड , विशेष रूप से मोटर स्टार्ट-अप और स्टाल स्थितियों पर। जैसा कि सही ढंग से सवाल में कहा गया है, Arduino पिन बस पर्याप्त वर्तमान आपूर्ति करने के लिए मूल्यांकन नहीं किया जा सकता है। Arduino गर्मी या निरंतर उच्च प्रवाह से क्षतिग्रस्त हो सकता है।
    जबकि ATmega- आधारित Arduinos के लिए प्रत्येक Arduino पिन को 40 mA के लिए रेट किया गया है, मैं व्यक्तिगत रूप से किसी भी निरंतर लोड को 30 mA से कम रखना पसंद करता हूं, आपकी जोखिम की भूख अलग हो सकती है। विचाराधीन मोटर की डेटशीट देखे बिना, यह सुनिश्चित करना असंभव है कि मोटर को कितने करंट की आवश्यकता होती है
  • मोटर से बैक-ईएमएफ , दोनों मोटर टर्न-ऑफ के दौरान, और संभवतः मोटर कम्यूटेशन के दौरान - डीसी मोटर के रूप में, संपर्क विभाजित रिंगों के बीच "कम्यूटेट" करता है, कम से कम पारंपरिक प्रकार के ब्रश डीसी मोटर्स में, थोड़ा सा उत्पन्न होता है हर बार चिंगारी।
    बैक ईएमएफ मूल रूप से मोटर कॉइल (या टर्न-ऑफ पर कोई प्रेरक भार) द्वारा उत्पन्न रिवर्स वोल्टेज है, जो कि क्षण भर में स्वीकार्य वोल्टेज रेंज को पार कर सकते हैं जो माइक्रोकंट्रोलर पिन सहन कर सकते हैं।
    बैक ईएमएफ एक जोखिम बना हुआ है, भले ही एक तेज डायोड, मोटर के लीड्स में रिवर्स बायस में जुड़ा हुआ है, एक दृढ़ता से अनुशंसित अभ्यास।
  • इस प्रकार, Arduino और मोटर ड्राइव के बीच कुछ प्रकार के अलगाव की जोरदार सिफारिश की जाती है। कार्यान्वयन की सादगी के लिए, यह एक मोटर ढाल होगी।
    यदि आप बुनियादी इलेक्ट्रॉनिक्स के साथ सहज हैं, तो यह एक उपयुक्त मोटर चालक आईसी और फ्लाईबैक डायोड को सीधे वायरिंग करके भी प्राप्त किया जा सकता है। ( संपादित करें : यह मनीषीर्थ के उत्तर में उत्कृष्ट रूप से वर्णित है )
    मोटर चालक, चाहे एक ढाल या एक आईसी, को Arduino से स्वतंत्र रूप से संचालित किया जाना चाहिए, लेकिन दो पावर स्रोत ग्राउंड लाइनों के साथ एक साथ जुड़ा हुआ है। और नीचे देखें।

समस्या 2 : एक्सेलेरोमीटर और मोटर ढाल को एक साथ नियंत्रित करना

  • हाँ, एक्सेलेरोमीटर को नियंत्रित किया जा सकता है और Arduino से मोटर ढाल के साथ जगह में पढ़ा जा सकता है, यह सुनिश्चित करके कि एक्सेलेरोमीटर तक पहुँचने के लिए चुने गए पिन वास्तव में मोटर ढाल द्वारा उपयोग में नहीं हैं। वे सभी ढाल से जुड़े होंगे, लेकिन ढाल के भीतर कोई आंतरिक कार्य या कनेक्शन नहीं होगा। चयनित शील्ड के लिए प्रलेखन आमतौर पर यह जानकारी प्रदान करेगा।
    सुविधा के लिए, स्टैकेबल हेडर के साथ मोटर ढाल की तलाश करें , यानी अतिरिक्त हार्डवेयर संलग्न करने के लिए मोटर ढाल पर प्रतिकृति वाले Arduino हैडर पिन के साथ, आपके मामले में एक्सेलेरोमीटर। सभी शील्ड स्टैकेबल हेडर प्रदान नहीं करते हैं। इस प्रकार ढाल द्वारा उपयोग नहीं किए गए पिनों का उपयोग करते हुए, पीसीबी पर संबंधित हेडर पैड्स या कुछ ऐसी व्यवस्था करने के लिए तारों की आवश्यकता होती है।
    बंद मौके पर कि आपके द्वारा चुनी गई मोटर ढाल सभी GPIO पिन का उपयोग करती है, जैसा कि कई मोटर्स को चलाने के लिए ढाल के साथ हो सकता है, आपको समस्या हो सकती है। चूंकि केवल 1 मोटर को चलाया जाना है, मल्टी-मोटर ढाल से बचें जो पर्याप्त अप्रयुक्त GPIO पिन नहीं छोड़ते हैं।

अंक 3 : Arduino और मोटर ढाल के बीच विद्युत वितरण

  • सुझाए गए 6 x AA व्यवस्था (अधिकतम 9 वोल्ट अधिकतम) के साथ समस्या यह है कि यह कई Arduinos पर उपलब्ध डीसी इनपुट जैक के लिए पर्याप्त वोल्टेज प्रदान करता है (आमतौर पर 7 से 12 वोल्ट के इनपुट के लिए रेटेड), यह मोटर के लिए बहुत अधिक है इसे सीधे बंद करें।
  • हालाँकि, कई मोटर ढाल हैं जो प्रत्यक्ष बिजली इनपुट (जैसे 7 से 25 वोल्ट) को स्वीकार करते हैं, और फिर वे Arduino को एक अच्छी तरह से विनियमित 5 वोल्ट प्रदान करते हैं जो वे संलग्न हैं। इसलिए Arduino को अलग से संचालित करने की आवश्यकता नहीं है, और या तो नहीं होना चाहिए। यह बिल्कुल एकमात्र प्रकार का मोटर कवच है जिसे खरीदना चाहिए
  • Kludgier विकल्पों में मोटर को शक्ति देने के लिए 6 AA कोशिकाओं में से 4 में दोहन शामिल है, और Arduino के DC जैक (PWRIN) को शक्ति प्रदान करने के लिए सभी 6 कोशिकाओं, या 9 वोल्ट्स को खिलाते समय मोटर शक्ति के लिए एक अलग 6 वोल्ट बक नियामक का उपयोग करना शामिल है। सीधे Arduino DC जैक के लिए।
  • Arduino को बैटरी पैक के साथ पावर देने का प्रयास करना और फिर Arduino के विन पिन से मोटर को पावर देना एक बुरा विचार है क्योंकि
    • डीसी जैक और विन पिन के बीच कई Arduino संदर्भ डिजाइनों के बीच M7 डायोड को 1 एम्पीयर के लिए रेट किया गया है, मोटर को कम से कम क्षण भर में और अधिक आकर्षित किया जा सकता है
    • मोटर, कम्यूटेशन शोर और फ्लाईबैक ट्रांजैक्शंस द्वारा उत्पन्न सभी इलेक्ट्रोमैग्नेटिक नॉइज़, Arduino बोर्ड में वापस फीड किए जाएंगे जब तक कि बहुत कठोर डीकंप्लिंग लागू नहीं किया जाता है, एक साधारण मामला नहीं। यह ईएमआई फीडबैक रुक-रुक कर आएगा, डीबग करने में मुश्किल होगा, अरडूइनो के संचालन के साथ मुद्दे।

10

अधिकांश ढाल कुछ पिंस लेते हैं और बाकी को आप के लिए छोड़ देते हैं (इसीलिए उनमें से कई में स्टैकेबल हेडर का उपयोग करके उनके ऊपर अरुडिनो पिन सिस्टम की प्रतिकृति होती है)। उन्हें जितना संभव हो उतना परेशानी से मुक्त करने के लिए डिज़ाइन किया गया है, इसलिए एक ढाल प्राप्त करना इसके चारों ओर जाने का सबसे आसान तरीका है।

मैं व्यक्तिगत रूप से सीधे बोर्ड से पावर मोटर्स नहीं लेता हूं; इसके बजाय मैं इसके लिए L293D जैसे मोटर चालकों का उपयोग करता हूं। पिंस वर्तमान को निकालने के लिए वास्तव में अच्छा नहीं है, और आम तौर पर यह Arduino पिन के माध्यम से सीधे सेंसर को बेहतर बनाने के लिए बेहतर है। याद रखें, पिंस की एक वर्तमान सीमा होती है, और यदि आप उन्हें ओवरलोड करते हैं तो वे बाहर जल जाएंगे।

L293D का उपयोग करना आसान है:

यहाँ छवि विवरण दर्ज करें

अपने Vcc स्रोत से पिन को 1,9,16 कनेक्ट करें (जो भी 5V स्रोत का सकारात्मक टर्मिनल आप के साथ Arduino को पावर करते हैं। मेरे लिए यह आम तौर पर एक LM7805 से खींची गई रेखा है)। अब पिनों को अपने GND (निगेटिव टर्मिनल) से 4,5,13,12 कनेक्ट करें। अब, पिन 8 को एक उच्च-वोल्टेज स्रोत (6V, 12V, या जो भी आप अपने मोटर्स को खिलाना चाहते हैं) से कनेक्ट करें। ध्यान दें कि सभी वोल्टेज स्रोतों के नकारात्मक टर्मिनलों को GND में छोटा किया जाना चाहिए।

अब, एक साइट पर दो आउटपुट पिंस (बाईं ओर 3,4) पर अपनी मोटर कनेक्ट करें। Arduino पर इनपुट पिन (2,7) को दो अलग-अलग पिनों से कनेक्ट करें। जब आप दोनों पिंस को एक ही संकेत (उच्च या कम) देते हैं, तो मोटर रुक जाता है। यदि आप एक पिन से हाई देते हैं और दूसरे से LOW करते हैं, तो मोटर क्लॉकवाइज या एंटीक्लॉकवाइज जाएगी, जो पिन के आधार पर संकेत देती है।

यदि आप एक यूनिडायरेक्शनल मोटर चाहते हैं और पिन को बचाना चाहते हैं, तो जीएनडी को कम से कम एक इनपुट पिन देना होगा। अब, जब अन्य इनपुट पिन कम है, तो मोटर बंद हो जाएगा, और जब यह उच्च होगा, तो मोटर चालू होगा।

यदि आप चाहें तो चिप के विपरीत छोर पर समान प्रक्रिया का उपयोग करके एक और मोटर संलग्न कर सकते हैं।

L293D Arduino से वर्तमान की एक छोटी राशि खींचता है, और पिन 8 के माध्यम से खींची गई वर्तमान से मोटर को शक्ति देता है, और आमतौर पर ऐसी स्थितियों के लिए आदर्श है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.