Arduino: बाहरी वोल्टेज को मापें


10

सिक्का सेल से बाहरी वोल्टेज को मापने की कोशिश करते समय मुझे "समस्या" है। मैंने अपने सर्किट को सरल बना दिया है, लेकिन मूल रूप से मेरे पास एक डीएस 1307 वास्तविक समय घड़ी है जिसे अरुडिनो 5 वी आउटपुट द्वारा संचालित किया गया है, और अरुडिनो बंद होने के दौरान घड़ी को जीवित रखने के लिए vBat से जुड़ा एक सिक्का सेल है। मेरा विचार अपने सकारात्मक को एनालॉग इनपुट से जोड़कर और वोल्टेज स्तर को पढ़कर Arduino के साथ बैटरी स्तर को मापना था। तो, मैंने सोचा, जैसा कि अधिकतम वोल्टेज 3 v है, मैं 3v3 को areF के रूप में उपयोग कर सकता हूं और बाहरी के अनुरूप संदर्भ सेट कर सकता हूं और फिर सटीक परिणाम पढ़ सकता हूं। परिणाम बहुत अच्छा है और Arduino से रीडिंग मेरी मल्टीमीटर से बैटरी वोल्टेज को पढ़ने के समान है। समस्या तब आती है जब मैं Arduino (एक यूएसबी कनेक्शन) से स्रोत की शक्ति काट देता हूं। मेरे आश्चर्य के लिए, Arduino बंद नहीं करता है (कुछ एल ई डी चालू रखें),

ये क्यों हो रहा है? एनालॉग पिन से Arduino वर्तमान कैसे ले रहा है? क्या यह छोटा सर्किट एक इलेक्ट्रॉनिक विपथन है?

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

जवाबों:


10

अधिकांश, यदि सभी नहीं, AVR नियंत्रकों पर इनपुट पिन आंतरिक रूप से क्लैंपिंग डायोड द्वारा सुरक्षित हैं। ये डायोड रोकते हैं कि एक इनपुट वोल्टेज आपूर्ति वोल्टेज से अधिक हो सकता है।

ये आंतरिक डायोड क्यों हैं:

यह महसूस करना महत्वपूर्ण है कि जब एक इनपुट पिन आपूर्ति वोल्टेज से ऊपर उठता है और ये डायोड नहीं थे, तो चिप एससीआर के रूप में कार्य कर सकती है, बैटरी को छोटा कर सकती है, और चिप संभवतः ओवरक्रैक / ओवरहिटिंग से क्षतिग्रस्त हो जाएगी। ।

आपका Arduino बैटरी से क्यों चलता है नीचे दिए गए सर्किट आरेख पर एक नज़र डालें। जब Vcc को सामान्य बिजली स्रोत से अलग किया जाता है, तो D1 के माध्यम से, Vcc तक बैटरी से एक रास्ता होता है। कंट्रोलर को ऑपरेट करने के लिए बैटरी वोल्टेज काफी अधिक है।

ढांच के रूप में

इस सर्किट का अनुकरण करें - सर्किटलैब का उपयोग करके बनाई गई योजनाबद्ध

इसे कैसे हल किया जाए

समाधान सरल है, बैटरी और नियंत्रक के इनपुट के बीच श्रृंखला में एक उच्च मूल्य रोकनेवाला जोड़ें। अधिकांश एवीआर में 1μA का अधिकतम इनपुट लीकेज करंट (I IL ) निर्दिष्ट है , इसलिए आप यह सुनिश्चित करना चाहते हैं कि वोल्टेज ड्रॉप उस करंट के साथ स्वीकार्य हो, 100kΩ कहें।

मगर सावधान!

आपको यह महसूस करना होगा कि इनपुट आपके बटन सेल से इस धारा को खींच सकता है और इसका जीवनकाल छोटा कर सकता है।


मैं 10Mohm कोशिश करूँगा और देखूंगा कि ADC एक चार्ज बैटरी के लिए आपके संदर्भ के रूप में क्या पढ़ता है और उसका उपयोग करता है। यदि आप अवांछित जल निकासी से बचना चाहते हैं तो एक मुश्किल माप लें।
एंडी उर्फ

यह काम कर सकता है, हालांकि यह एक इनपुट करंट के रूप में है और इनपुट प्रतिबाधा के रूप में नहीं है। प्रतिक्रिया गैर रेखीय हो सकती है, लेकिन जरूरी नहीं कि बेकार हो। यह कुछ प्रकार के अंशांकन की आवश्यकता हो सकती है और शायद 1V1 बैंड गैप संदर्भ का उपयोग किया जा सकता है (3V3 बाहरी संदर्भ के बजाय) जब मापा वोल्टेज 1.1V से नीचे चला जाता है।
जिप्पी

अच्छा उत्तर!! मैं सोच रहा था कि 100k 50 और 50k work के साथ एक अवरोधक विभक्त काम करेगा या नहीं। इस मामले में, मैं 3.2 वोल्ट के अधिकतम बैटरी वोल्टेज को दबा रहा हूं। यह 1.067v ड्रॉप वोल्टेज देता है, जो 1v1 के आंतरिक एनालॉग संदर्भ के साथ संगत हो सकता है। यह काम कर सकता है? या बहुत जल्द बैटरी खत्म हो जाएगी?
अलवरोल

2
मुझे आपकी बैटरी की क्षमता का पता नहीं है। इसे mAh में निर्दिष्ट किया जाना चाहिए। इसका जीवनकाल का एक मोटे संकेत यह है कि । एक सिक्का सेल बहुत लंबे समय तक नहीं रह सकता है, लेकिन आपको यह सुनिश्चित करने के लिए डेटशीट की जांच करनी चाहिए। T=mAh3V×1000100kΩ+50kΩ=mAh × (100kΩ+50kΩ)3V×1000
जिप्पी

1
ये डायोड सामान्य रूप से अधिकांश माइक्रोकंट्रोलर पर मौजूद होते हैं - न केवल एवीआर। वे अन्य प्रकार के आईसी पर भी अनसुना नहीं कर रहे हैं।
एडम लॉरेंस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.