कम पावर माइक्रो-एसडी कार्ड स्टोरेज


18

हम Armeino बूट लोडर और IDE, आदि का उपयोग करने के लिए ATmega328P पर आधारित एक कम-शक्ति डेटा लकड़हारा का निर्माण कर रहे हैं, आदर्श रूप से बिजली की खपत एक एकल पर लगभग 4 महीने का जीवन पाने के लिए 0.3mA @ 3.3V से कम होनी चाहिए। एए बैटरी। लगभग 750 मिब डेटा देते हुए सेंसर डेटा 4 महीनों के लिए अधिकतम 76 बाइट्स / सेकंड में संग्रहीत किया जाएगा। इसलिए हमें एक बड़े मेमोरी डिवाइस की आवश्यकता है, जो अभी भी कम-शक्ति है।

मैं जो बता सकता हूं, उसमें एसडी कार्ड का उपयोग करने के लिए इतना डेटा संग्रहीत करने का एकमात्र व्यावहारिक समाधान है। हालाँकि, एसडी कार्ड हम जितना खर्च कर सकते हैं, उससे थोड़ा अधिक शक्ति का उपयोग करने लगते हैं, हमारे पास अभी जो कार्ड हैं, उनके लिए 0.2mA निष्क्रिय कर सकते हैं, और जब वे लिख रहे हों तब और अधिक।

तो कुछ सवाल:

  • क्या एक उच्च-पक्ष स्विच एसडी कार्ड की बिजली की खपत को नियंत्रित करने का एकमात्र व्यावहारिक तरीका है?
  • कार्ड को पावर स्विच करते समय क्या हमें किसी भी चेतावनी के बारे में पता होना चाहिए? उदाहरण के लिए, एक प्रक्रिया है जिसे ब्लॉक-राइट लिखने के बाद किया जाएगा या किसी भी समय ऐसा हो सकता है।
  • क्या कोई और विकल्प है जिस पर हमें विचार करना चाहिए?

1
solarduino.net/?p=58 एक लेख है जो आपके लिए कुछ दिलचस्पी का हो सकता है
vicatcu

23LC1024 जैसे बाहरी रैम को जोड़ने पर विचार करें। तब आप अधिक बफर कर सकते हैं और एसडी कार्ड को बंद रख सकते हैं। यदि वाष्पशील मेमोरी में आस-पास बैठे डेटा का विचार आपको परेशान करता है, तो माइक्रोचिप बैटरी समर्थित संस्करण भी बनाती है।
अंक

जवाबों:


19

यदि आप 0.3 mA औसत का बजट रखते हैं तो प्रत्येक µA मायने रखता है। माइक्रोकंट्रोलर के लिए इतनी समस्या नहीं है, लेकिन एसडी कार्ड दसियों mAs का उपभोग करेगा। आप इसे कम से कम संभव पर स्विच करना चाहते हैं। लेकिन ATmega328P में केवल 2 kB RAM है, इसका मतलब है कि आपका नमूना बफर आधे मिनट से भी कम समय में पूरा हो जाएगा, और फिर एसडी कार्ड में लिखने का समय है। एक मिनट में दो बार।

मैं AVR की बजाय TI MSP430 पर विचार करूंगा। यह अभी भी सबसे कम बिजली आमतौर पर उपलब्ध नियंत्रक है। एसडी कार्ड पर लिखते समय आपको whenA की आवश्यकता होगी। MSP430F5418A भी 16 kB रैम, आप एसडी कार्ड पर सत्ता के लिए है, इसलिए है कि केवल एक बार हर साढ़े तीन मिनट।

आप अपने कम आवृत्ति थरथरानवाला पर MSP430 चला सकते हैं, और SD कार्ड पर लिखने के लिए उच्च आवृत्ति DCO (डिजिटली कंट्रोल्ड ऑसिलेटर) पर स्विच कर सकते हैं, ताकि इसमें कम से कम समय लगे।

एसडी कार्ड को पॉवर देने के लिए मैं वास्तव में एक उच्च-पक्ष स्विच का उपयोग करूंगा। BSS215P एक उपयुक्त तर्क स्तरीय पी MOSFET है।

संपादित करें
यदि आपको कोई BGA पैकेज बुरा नहीं लगता है तो NAND फ़्लैश डिवाइस SD कार्ड का एक विकल्प हो सकता है। यह कोई MMC या SPI मोड में काम कर सकता है। यह एसडी कार्ड से कम खपत करता है, लेकिन फिर भी स्टैंडबाय में 200 standbyA की खपत करता है, इसलिए आप अभी भी इसे उच्च-पक्ष FET के साथ बंद करना चाहते हैं। बिजली बंद करने से पहले चिप को I / Os कम करना सुनिश्चित करें। वह एसडी कार्ड के लिए भी जाता है।


जानकारी के लिए धन्यवाद। दुर्भाग्य से, वर्तमान हम उपलब्ध Arduino बूट लोडर के साथ MCU तक सीमित हैं, लेकिन रैम में वृद्धि के कारण Atmega644PA पर विचार कर रहे हैं। माप प्रदर्शन करने के लिए और अन्य समय पर बिजली डाउन होने पर MCU को RTC इंटरप्ट द्वारा जगा दिया जाएगा। क्या एसडी कार्ड के विकल्प हैं? एक बड़े बफर के लिए बहुत सारी रैम के साथ एमसीयू प्राप्त करने का आपका सुझाव एक अच्छा है जो मैंने नहीं सोचा था। :)
ज्यामितीय

@stevenvh BSS215P MOSFET की कौन-सी विशेषताएँ इस एप्लिकेशन के लिए उपयुक्त हैं?
एलिक्सेन्थिर

एक AVR भी एक GPIO पिन (20mA संभव होना चाहिए) से एक एसडी कार्ड की आपूर्ति करने में सक्षम हो सकता है।
जिमीबी

14

(उपयोगी जानकारी के साथ मेरी अपनी पोस्ट का जवाब देना)

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

नीचे दो परिणाम हैं। पहला सोते समय अनुमानित वर्तमान खपत है, और दूसरा लगभग 1 क्षेत्र के लिए औसत वर्तमान खपत है जो मेरे बोर्ड के लिए हर 5 सेकंड में लिखता है।

Card                     Sleep (mA)         Cyclic write (mA)   Number of cards tested

Sandisk 4GB Class 4      0.34-0.95 (0.69)   0.64-1.25 (1.05)    5
Verbatim 4GB Class 4     0.06-0.12 (0.09)   0.12-0.17 (0.16)    6
Kingston 4GB Class 4     1.34-1.34 (1.34)   1.47-1.47 (1.47)    1
Lexar 4GB Class 4        0.09-0.09 (0.09)   0.11-0.12 (0.12)    2

Lexar 8GB Class 6        0.06-0.09 (0.08)   0.09-0.12 (0.10)    4 (best so far)

Toshiba 16GB Class 10    0.12-0.12 (0.12)   0.18-0.18 (0.18)    1

मैंने पीक करंट को शामिल नहीं किया है क्योंकि यह मेरी मल्टीमीटर के साथ एक विश्वसनीय माप नहीं है। शायद इसलिए कि कार्ड केवल कुछ एमएस के लिए लिखा जाता है। लेकिन मैंने देखा कि सभी कार्डों ने लगभग 5 - 6mA शिखर माप (स्मूथी) दी, जबकि लेक्सर ने 2 - 3mA (स्मूथ) दी। ध्यान दें, वास्तविक अधिकतम करंट इससे अधिक परिमाण का एक क्रम है, लेकिन क्या यह दर्शाता है कि लेक्सर कार्ड में कम लिखने की धारा के साथ-साथ नींद भी है।

वर्तमान विजेता

लेक्सर 8GB क्लास 6

मैं इस सूची को अपडेट करूंगा क्योंकि और परीक्षण किए जाते हैं। (अंतिम अपडेट: 2014-08-14)


आप अपने प्रयोगों के लिए एक uCurrent ( eevblog.com/projects/ucurrent ) चाहते हैं । एक आस्टसीलस्कप पर झुका हुआ, यह आपको अपने कार्यक्रम में विभिन्न दृश्यों के दौरान समय के साथ बिजली की खपत में एक अच्छी अंतर्दृष्टि दे सकता है।
आरजेआर

2

अच्छा परीक्षण। Arduino Pro Mini और SD कार्ड्स का उपयोग करके हमारे कम पावर के datalogger ट्यूटोरियल की जाँच करें: http://www.osbss.com/tutorials/temper-relative-humidity/

इसमें संभवतः वही शामिल है जो आपको चाहिए (आरटीसी इंटरप्ट यह जागता है, एक वर्ष की बैटरी जीवन के करीब, आदि।) हमारी "मुख्यधारा" बिजली की खपत लगभग 0.195mA @ 3.3V है, और यह 0.11mA या बहुत कम तक जा सकती है, यदि आप अन्य बोर्ड या नंगे ATmega328P चिप का उपयोग करते हैं।

जैसे @stevenvh ने कहा, प्रोसेसर को स्लीप मोड में होने पर आपको एसडी कार्ड रीडर को पावर नियंत्रित करने के लिए एक ट्रांजिस्टर की आवश्यकता होगी।


0

एसडी कार्ड के लिए मैंने जो सबसे कम नींद की धाराएं देखी हैं वे पुराने सैंडिस्क 256 एमबी के लिए लगभग 0.05 एमएए हैं, और ओएसबीएसएस लोगों की तरह मुझे शायद ही कभी अपना डेटा लकड़हारा मिलता है 0.1 एमए से नीचे क्योंकि ठेठ एसडी कार्ड 0.07 एमए के बारे में आकर्षित करते हैं। फिर भी, जब आप उस क्षेत्र में पहुंच जाते हैं, तो आपको आसानी से एए से 3-4 महीने निकालने में सक्षम होना चाहिए, यदि आपका बूट नियामक पर्याप्त कुशल है।

यह जांचना सुनिश्चित करें कि आप अपने एसडी कार्ड एडॉप्टर पर अन-यूज़ किए गए कनेक्शन को खींच रहे हैं, या नींद की धारा बहुत अधिक हो सकती है। रॉकेट स्क्रेम से लो पावर लाइब्रेरी का भी पता लगाएं, क्योंकि इससे आप आसानी से विभिन्न 328P स्लीप मोड में प्रवेश कर सकते हैं।

स्विचिंग के लिए: Arduino के लिए SD लाइब्रेरी लिखने वाले साथी ने Arduino के खेल के मैदान पर SD कार्ड को डी-पॉवर करने के खिलाफ चेतावनी दी है, इसलिए मैंने उस दृष्टिकोण का पीछा नहीं किया है। मैं यह सुनने के लिए उत्सुक हूँ कि यह OSBSS लोगों के लिए कैसे काम करता है? (

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