विषयसूची:

Arduino के लिए DIY पावर मापन मॉड्यूल: 9 चरण (चित्रों के साथ)
Arduino के लिए DIY पावर मापन मॉड्यूल: 9 चरण (चित्रों के साथ)

वीडियो: Arduino के लिए DIY पावर मापन मॉड्यूल: 9 चरण (चित्रों के साथ)

वीडियो: Arduino के लिए DIY पावर मापन मॉड्यूल: 9 चरण (चित्रों के साथ)
वीडियो: how to make voltage current meter using Arduino 2024, नवंबर
Anonim
Arduino के लिए DIY पावर मापन मॉड्यूल
Arduino के लिए DIY पावर मापन मॉड्यूल
Arduino के लिए DIY पावर मापन मॉड्यूल
Arduino के लिए DIY पावर मापन मॉड्यूल
Arduino के लिए DIY पावर मापन मॉड्यूल
Arduino के लिए DIY पावर मापन मॉड्यूल

सभी को नमस्कार, मुझे आशा है कि आप बहुत अच्छा कर रहे हैं! इस निर्देशयोग्य में मैं आपको यह दिखाने जा रहा हूं कि कैसे मैंने इस पावर मीटर / वाटमीटर मॉड्यूल को एक Arduino बोर्ड के साथ उपयोग के लिए बनाया है। यह बिजली मीटर खपत की गई बिजली और डीसी लोड की गणना कर सकता है। पावर के साथ-साथ यह मॉड्यूल हमें वोल्टेज और करंट की सटीक रीडिंग भी दे सकता है। यह आसानी से कम वोल्टेज (लगभग 2V) और कम धाराओं को माप सकता है, जो कि कम से कम 50 mA है और त्रुटि 20mA से अधिक नहीं है। सटीकता आपकी आवश्यकताओं के आधार पर घटकों की पसंद पर निर्भर करती है।

आपूर्ति

  • आईसी LM358 दोहरी ओपी-एएमपी
  • 8 पिन आईसी बेस
  • शंट रोकनेवाला(मेरे मामले में 8.6 मिलीओम)
  • प्रतिरोधी: 100 के, 10 के, 2.2 के, 1 के (1/2 वाट)
  • कैपेसिटर: 3 * 0.1uF सिरेमिक कैपेसिटर
  • वेरोबार्ड या जीरो बोर्ड
  • पेंच टर्मिनल
  • सोल्डरिंग आयरन और सोल्डर
  • Arduino Uno या कोई अन्य संगत बोर्ड
  • ओएलईडी डिस्प्ले
  • ब्रेडबार तारों को जोड़ना

चरण 1: आवश्यक घटकों को इकट्ठा करना

आवश्यक घटकों को इकट्ठा करना
आवश्यक घटकों को इकट्ठा करना

यह परियोजना घटकों को प्राप्त करने के लिए बहुत ही सरल और आसान उपयोग करती है: उनमें प्रतिरोधक, सिरेमिक कैपेसिटर, ऑपरेशनल एम्पलीफायर और प्रोटोटाइप के लिए एक वर्बार्ड शामिल हैं।

घटकों की पसंद और मूल्य आवेदन के प्रकार और शक्ति की सीमा पर निर्भर करता है जिसे आप मापना चाहते हैं।

चरण 2: कार्य सिद्धांत।

कार्य सिद्धांत।
कार्य सिद्धांत।
कार्य सिद्धांत।
कार्य सिद्धांत।
कार्य सिद्धांत।
कार्य सिद्धांत।
कार्य सिद्धांत।
कार्य सिद्धांत।

पावर मॉड्यूल का कार्य सर्किट सिद्धांत और बुनियादी बिजली की दो अवधारणाओं पर आधारित है: इनपुट वोल्टेज की माप के लिए वोल्टेज विभक्त अवधारणा और सर्किट के माध्यम से बहने वाली धारा की गणना करने के लिए ओम का नियम। हम इसके आर-पार एक बहुत छोटा वोल्टेज ड्रॉप बनाने के लिए एक शंट रोकनेवाला का उपयोग कर रहे हैं। यह वोल्टेज ड्रॉप शंट के माध्यम से बहने वाली धारा की मात्रा के अनुपात में है। यह छोटा वोल्टेज जब एक ऑपरेशनल एम्पलीफायर द्वारा प्रवर्धित किया जाता है, तो इसे एक माइक्रोकंट्रोलर के इनपुट के रूप में इस्तेमाल किया जा सकता है, जिसे हमें वर्तमान मूल्य देने के लिए प्रोग्राम किया जा सकता है। ऑपरेशनल एम्पलीफायर का उपयोग नॉन इनवर्टिंग एम्पलीफायर के रूप में किया जाता है, जहां लाभ फीडबैक के मूल्यों द्वारा निर्धारित किया जाता है। रोकनेवाला R2 और R1। गैर इनवर्टिंग कॉन्फ़िगरेशन का उपयोग करने से हमें मापने के संदर्भ के रूप में एक सामान्य आधार प्राप्त करने की अनुमति मिलती है। इसके लिए सर्किट के निचले हिस्से पर करंट को मापा जा रहा है। अपने आवेदन के लिए मैंने फीडबैक नेटवर्क के रूप में 100K और 2.2K रोकनेवाला का उपयोग करके 46 का लाभ चुना है। वोल्टेज माप एक वोल्टेज विभक्त सर्किट का उपयोग करके किया जाता है जो इनपुट वोल्टेज को उपयोग किए गए प्रतिरोधी नेटवर्क के अनुपात में विभाजित करता है।

OP-Amp से वर्तमान मान और विभक्त नेटवर्क से वोल्टेज मान दोनों को arduino के दो एनालॉग इनपुट में फीड किया जा सकता है ताकि हम एक लोड द्वारा खपत की गई शक्ति की गणना कर सकें।

चरण 3: भागों को एक साथ लाना

भागों को एक साथ लाना
भागों को एक साथ लाना
भागों को एक साथ लाना
भागों को एक साथ लाना
भागों को एक साथ लाना
भागों को एक साथ लाना

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

चरण 4: वोल्टेज सेंस नेटवर्क के लिए भागों को जोड़ना

वोल्टेज सेंस नेटवर्क के लिए पुर्जे जोड़ना
वोल्टेज सेंस नेटवर्क के लिए पुर्जे जोड़ना
वोल्टेज सेंस नेटवर्क के लिए पुर्जे जोड़ना
वोल्टेज सेंस नेटवर्क के लिए पुर्जे जोड़ना
वोल्टेज सेंस नेटवर्क के लिए पुर्जे जोड़ना
वोल्टेज सेंस नेटवर्क के लिए पुर्जे जोड़ना

इनपुट वोल्टेज सेंसिंग के लिए मैं 10K और 1K के वोल्टेज डिवाइडर नेटवर्क का उपयोग कर रहा हूं। मैंने वोल्टेज को सुचारू करने के लिए 1K रोकनेवाला में एक 0.1 uF संधारित्र भी जोड़ा। वोल्टेज सेंस नेटवर्क इनपुट टर्मिनल के पास मिलाप किया गया है

चरण 5: करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना

करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना
करंट सेंस नेटवर्क के लिए पार्ट्स जोड़ना

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

चरण 6: शेष कनेक्शनों को पूरा करना और बिल्ड को समाप्त करना।

शेष कनेक्शनों को पूरा करना और निर्माण को पूरा करना
शेष कनेक्शनों को पूरा करना और निर्माण को पूरा करना
शेष कनेक्शनों को पूरा करना और निर्माण को पूरा करना
शेष कनेक्शनों को पूरा करना और निर्माण को पूरा करना
शेष कनेक्शनों को पूरा करना और निर्माण को पूरा करना
शेष कनेक्शनों को पूरा करना और निर्माण को पूरा करना

वोल्टेज और करंट सेंस नेटवर्क से जुड़े और सोल्डर के साथ, इसका समय पुरुष हेडर पिन को मिलाप करने और पावर और सिग्नल आउटपुट के आवश्यक कनेक्शन बनाने का है। मॉड्यूल 5 वोल्ट के मानक ऑपरेटिंग वोल्टेज द्वारा संचालित होगा जिसे हम आसानी से एक आर्डिनो बोर्ड से प्राप्त कर सकते हैं। दो वोल्टेज सेंस आउटपुट arduino के एनालॉग इनपुट से जुड़े होंगे।

चरण 7: मॉड्यूल को Arduino के साथ जोड़ना

मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना
मॉड्यूल को Arduino के साथ जोड़ना

मॉड्यूल पूरा होने के साथ, अब अंत में इसे एक Arduino के साथ जोड़ने और इसे चलाने का समय आ गया है। मूल्यों को देखने के लिए, मैंने एक OLED डिस्प्ले का उपयोग किया है जो arduino के साथ संचार करने के लिए I2C प्रोटोकॉल का उपयोग करता है। स्क्रीन पर प्रदर्शित पैरामीटर वोल्टेज, करंट और पावर हैं।

चरण 8: परियोजना कोड और सर्किट आरेख

परियोजना कोड और सर्किट आरेख
परियोजना कोड और सर्किट आरेख

मैंने इस चरण में पावर मॉड्यूल का सर्किट आरेख और कोड संलग्न किया है (पहले मैंने कोड युक्त.ino और.txt फ़ाइल संलग्न की थी लेकिन कुछ सर्वर त्रुटि के कारण कोड उपयोगकर्ताओं के लिए अप्राप्य या अपठनीय था, इसलिए मैंने संपूर्ण लिखा इस चरण में कोड। मुझे पता है कि कोड साझा करने का यह एक अच्छा तरीका नहीं है:()। अपनी आवश्यकताओं के अनुसार इस कोड को संशोधित करने के लिए स्वतंत्र महसूस करें। मुझे आशा है कि यह परियोजना आपके लिए उपयोगी थी। कृपया टिप्पणियों में अपनी प्रतिक्रिया साझा करें। चीयर्स!

#शामिल

#शामिल

#शामिल

#शामिल

#define OLED_RESET 4 Adafruit_SSD1306 डिस्प्ले (OLED_RESET);

फ्लोट वैल = 0;

फ्लोट करंट = 0;

फ्लोट वोल्टेज = 0;

फ्लोट पावर = 0;

व्यर्थ व्यवस्था() {

पिनमोड (ए0, इनपुट);

पिनमोड (ए 1, इनपुट);

डिस्प्ले.बेगिन (SSD1306_SWITCHCAPVCC, 0x3C); // I2C addr 0x3C (128x32 के लिए) डिस्प्ले के साथ इनिशियलाइज़ करें। डिस्प्ले ();

देरी (2000);

// बफर साफ़ करें।

डिस्प्ले.क्लियरडिस्प्ले ();

display.setTextSize(1);

डिस्प्ले.सेट कर्सर (0, 0);

display.setTextColor (सफेद);

सीरियल.बेगिन (९६००); // सीरियल मॉनिटर पर मान देखने के लिए

}

शून्य लूप () {

// स्थिर रीडिंग के लिए औसत लेना

for(int i=0;i<20;i++) {

करंट = करंट + एनालॉगरेड (A0);

वोल्टेज = वोल्टेज + एनालॉग रीड (ए 1); }

वर्तमान = (वर्तमान / 20); करंट = करंट * ०.०१२३ * ५.०; // अंशांकन मूल्य, उपयोग किए गए घटकों के अनुसार बदला जाना है

वोल्टेज = (वोल्टेज / 20); वोल्टेज = वोल्टेज * ०.०५०८ * ५.०; // अंशांकन मूल्य, उपयोग किए गए घटकों के अनुसार बदला जाना है

शक्ति = वोल्टेज * वर्तमान;

// सीरियल मॉनिटर पर मूल्यों को प्रिंट करना

सीरियल.प्रिंट (वोल्टेज);

सीरियल.प्रिंट ("");

सीरियल.प्रिंट (वर्तमान);

सीरियल.प्रिंट ("");

सीरियल.प्रिंट्लन (पावर);

// OLED डिस्प्ले पर मानों को प्रिंट करना

डिस्प्ले.सेट कर्सर (0, 0);

डिस्प्ले.प्रिंट ("वोल्टेज:");

डिस्प्ले।प्रिंट (वोल्टेज);

डिस्प्ले.प्रिंट्लन ("वी");

डिस्प्ले.सेट कर्सर (0, 10);

डिस्प्ले.प्रिंट ("वर्तमान:");

डिस्प्ले।प्रिंट (वर्तमान);

डिस्प्ले.प्रिंट्लन ("ए");

डिस्प्ले.सेट कर्सर (0, 20);

डिस्प्ले.प्रिंट ("पावर:");

डिस्प्ले।प्रिंट (पावर);

डिस्प्ले.प्रिंट्लन ("डब्ल्यू");

डिस्प्ले.डिस्प्ले ();

देरी (500); // देरी से निर्धारित ताज़ा दर

डिस्प्ले.क्लियरडिस्प्ले ();

}

सिफारिश की: