बैटरी जीवन का विस्तार करने के लिए Arduino के बिजली बचत विकल्पों में क्या हैं (या मैं कैसे उपयोग करूँ)?


40

सौर और बैटरी चालित परियोजनाओं के लिए, बिजली की खपत कम करना एक आवश्यकता है।

मैं एक टाइमर का उपयोग करने के बारे में थोड़ा सा जानता हूं और जब वह कुछ भी नहीं कर रहा है तो माइक्रोकंट्रोलर को नींद में डालने के लिए बाधित करता है।

मैंने यह भी पढ़ा है कि आप आगे की बिजली बचाने के लिए कुछ बाह्य उपकरणों को निष्क्रिय कर सकते हैं।

यहाँ एक पृष्ठ है जो ये बताता है: पावर सेविंग तकनीक

मेरा प्रश्न:

  • बिजली बचाने के लिए और कौन सी तकनीकें हैं?
  • क्या ऐसी कोई लाइब्रेरी है जो इन AVR सुविधाओं का उपयोग करना आसान बनाती है?

जवाबों:


33

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

कहा जा रहा है कि, एक Arduino बिजली बचाने के लिए कई तकनीकें हैं। मैं कुछ सूची दूंगा और फिर आपको एक पृष्ठ पर इंगित करता हूं जो उन सभी को और अधिक विस्तार से बताता है।

  1. हालांकि नियंत्रक कुछ भी महत्वपूर्ण नहीं कर रहा है (उदाहरण के लिए सेंसर के एक रीड और अगले के बीच), आप कंट्रोलर को नीचे दिए गए स्लीप मोड में से एक में डाल सकते हैं set_sleep_mode (SLEEP_MODE_PWR_DOWN)। प्रत्येक मोड के आगे प्रत्येक मोड की अनुमानित बिजली की खपत है।

    • SLEEP_MODE_IDLE: 15 mA
    • SLEEP_MODE_ADC: 6.5 mA
    • SLEEP_MODE_PWR_SAVE: 1.62 mA
    • SLEEP_MODE_EXT_STANDBY: 1.62 mA
    • SLEEP_MODE_STANDBY: 0.84 mA
    • SLEEP_MODE_PWR_DOWN: 0.36 mA
  2. ब्राउन-आउट डिटेक्शन अक्षम करें (कम वोल्टेज का पता चलने पर सर्किटरी बंद हो जाती है)।

  3. ADC बंद करें (डिजिटल रूपांतरण के अनुरूप)

  4. आंतरिक घड़ी का उपयोग करें

फिर, जब आप नियंत्रक को सोने के लिए रखते हैं, तो आपको नियंत्रक को जगाने के लिए नीचे दिए गए एक या अधिक तंत्र का उपयोग करना होगा और इसके साथ कुछ करना होगा:

  • एक संकेत के साथ जागो

  • एक टाइमर के साथ उठो

यह एक सारांश है जिसे मैंने बनाया है -

यह लेख ज्यादातर ATmega328P पर लागू होता है, लेकिन तकनीक अन्य Arduino के संगत नियंत्रकों पर भी लागू होती है। जैसा कि TheDoctor ने कहा कि अच्छी तरह से, आपको यह सुनिश्चित करने के लिए कि आपके नियंत्रक को उन तकनीकों में से किसी भी तकनीक का और यह अधिक सटीक तरीके से कैसे करना है, डेटापेट की जांच करने की आवश्यकता होगी।


2
मेरा पृष्ठ www.gammon.com.au/power संदर्भित करने के लिए धन्यवाद । इस पर उल्लिखित सभी तकनीकों को नियोजित करने से आपको लगभग 100 nA (0.1 .A) का उपभोग करने में सक्षम होना चाहिए। अन्य तकनीकें जो बड़ा प्रभाव डाल सकती हैं, वे हैं कम आवृत्ति और कम वोल्टेज पर चलना। साथ ही अनींदो घोष ने वोल्टेज नियामकों का उपयोग न करने के बारे में क्या कहा। मैंने एक टेम्प्रेचर और ह्यूमिडिटी सेंसर बनाया है - बैटरी चालित जो इन तकनीकों का बहुत काम करता है, जो बैटरी पर एक-दो साल बाद भी मजबूत होता जा रहा है।
निक गैमन

@ नाइकगैमोन - निष्पक्ष होने के लिए, मुझे लगता है कि आपका उत्कृष्ट लेख एक बेहतर संदर्भ का हकदार था, इसलिए मैंने अपना उत्तर उस सीमा तक संपादित किया। महान लेख के लिए धन्यवाद - बहुत स्पष्ट और पूर्ण! और Arduino.SE में आपका स्वागत है। आपका यहां आना अच्छा है।
रिकार्डो

24

वास्तविक रूप से, एक Arduino बोर्ड पर सबसे बड़ी बिजली का प्लास्टर उस पर रैखिक वोल्टेज नियामक है।

  1. जब तक बोर्ड पर लगे माइक्रोकंट्रोलर, एल ई डी, या किसी भी अन्य बाह्य उपकरणों को खींचते हैं, तो रैखिक नियामक difference between supply and board voltageएक्स के बराबर शक्ति बर्बाद करता है current drawn

    इसलिए, बोर्ड पर लगे पावर इंडिकेटर एलईडी को डिस्कनेक्ट करने के लिए एक पहला फिक्स होगा, और जहां तक ​​संभव हो, अन्य एल ई डी का उपयोग न करें। दूसरा, बोर्ड को यथासंभव कम वोल्टेज के साथ आपूर्ति करें जो ऑन-बोर्ड नियामक को बिजली देने के लिए पर्याप्त है।

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

    एक आसान फिक्स ऑन-बोर्ड रेगुलेटर को एलडीओ (कम ड्रॉप-आउट लीनियर रेगुलेटर) से बदलने के लिए दिया गया है, जो बेहद कम क्वेंटेंट करंट के लिए रेट किया गया है। विभिन्न विक्रेता साइटों पर पैरामीट्रिक खोजों से संभावित विकल्प मिलेंगे।

  3. उपरोक्त चरणों के साथ भी, Arduino बोर्ड एलडीओ को कम-पावर मोड में सेट करने के लिए एक तंत्र प्रदान नहीं करता है, अगर एलडीओ चुना गया यह समर्थन करता है। बिजली कुशल डिजाइन आमतौर पर एक निष्पक्ष ऊर्जा बचाने के लिए वोल्टेज नियामकों पर "स्लीप मोड" पिन का उपयोग करते हैं - यहां कोई विकल्प नहीं है।

यहां तक ​​कि माइक्रोकंट्रोलर स्तर पर लागू सभी संभावित बिजली बचत मोड और चाल के साथ, Arduino बस बॉक्स से बाहर अल्ट्रा-लो-पावर डिवाइस होने के लिए डिज़ाइन नहीं किया गया है। कई गैर-तुच्छ अनुप्रयोगों के साथ प्रयोग करने के बाद, मैंने पाया है कि सबसे अच्छा जो वास्तविक रूप से प्राप्त करने योग्य है वह आवेदन के आधार पर कुछ 10% से 30% बिजली की बचत है, क्योंकि वोल्टेज नियामक और एलईडी वैसे भी बाकी का उपभोग करने जा रहे हैं।


2
बोर्ड को यथासंभव कम वोल्टेज के साथ आपूर्ति करें जो ऑन-बोर्ड नियामक को बिजली देने के लिए पर्याप्त है या हैक किए गए यूएसबी केबल के माध्यम से 5 वी की आपूर्ति करता है।
अनाम पेंगुइन

13

आप 200-पृष्ठ डेटाशीट के माध्यम से पढ़ सकते हैं, और फिर कुछ भ्रामक बिट पारियों और रजिस्टरों के साथ गड़बड़ कर सकते हैं, लेकिन मैं इस लाइब्रेरी की सलाह देता हूं: http://playground.arduino.cc/Code/Enerlib

इसके अलावा, अगर आप एक यूनो या किसी एक usb-to-serial चिप के साथ उपयोग कर रहे हैं, तो आप उसे अक्षम कर सकते हैं या हटा सकते हैं।


3
आपको डेटा-शीट के माध्यम से पढ़ना चाहिए चाहे आप कुछ भी कर रहे हों।
कॉनर वुल्फ

9

एक बार जब आपकी परियोजना काम कर रही होती है और आपको "उत्पादन" वातावरण में तैनात करने की आवश्यकता होती है, तो आप Arduino को नंगे मेटा ATMega328 या ATTiny परिवार के किसी भी चिप के साथ बदलने का विकल्प चुन सकते हैं। यह Arduino बोर्ड पर सभी बिजली खाने वालों से छुटकारा पायेगा जिसकी आपको आवश्यकता नहीं है। मुझे मिला:

  • 9V ब्लॉक बैटरी के Arduino बोर्ड - 56 एमए
  • ATTiny85 नींद मोड आदि के बिना 8 मेगाहर्ट्ज पर नंगे - 10 एमए
  • ATTiny85 स्लीप मोड में 8 मेगाहर्ट्ज पर नंगे - 0.03 एमए

कुछ और जानकारी

Arduino के साथ एक ATtiny कार्यक्रम

Arduino IDE के लिए ATTiny फाइलें

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