- सामग्री की आवश्यकता:
- ACS712 करंट सेंसर का कार्य:
- सर्किट आरेख:
- सिमुलेशन:
- PIC माइक्रोकंट्रोलर प्रोग्रामिंग
- काम कर रहे:
किसी भी विद्युत प्रणाली को बनाते या डिबग करते समय वोल्टेज और करंट को मापना हमेशा मददगार होगा। इस प्रोजेक्ट में हम PIC16F877A माइक्रोकंट्रोलर और करंट सेंसर ACS712-5A का उपयोग करके अपना डिजिटल एमीटर बनाने जा रहे हैं । यह परियोजना एसी और डीसी दोनों को 0-30 ए की सीमा के साथ 0.3 ए की सटीकता के साथ माप सकती है। कोड पर कुछ संशोधनों के साथ आप इस सर्किट का उपयोग 30A तक मापने के लिए भी कर सकते हैं। तो चलिए शुरू करते है !!!
सामग्री की आवश्यकता:
- PIC16F877A
- 7805 वोल्टेज नियामक
- ACS712 करंट सेंसर
- 16 * 2 एलसीडी डिस्प्ले
- एक जंक्शन बॉक्स और लोड (बस परीक्षण के लिए)
- तारों को जोड़ना
- संधारित्र
- ब्रेड बोर्ड।
- बिजली की आपूर्ति - 12 वी
ACS712 करंट सेंसर का कार्य:
परियोजना का निर्माण शुरू करने से पहले हमें ACS712 करंट सेंसर के काम को समझना बहुत जरूरी है क्योंकि यह परियोजना का प्रमुख घटक है। वर्तमान में विशेष रूप से एसी करंट को मापना हमेशा एक कठिन काम होता है, क्योंकि यह अनुचित अलगाव की समस्या आदि के कारण होने वाले शोर के कारण होता है, लेकिन इस ACS712 मॉड्यूल की मदद से, जो कि एलीग्रो चीज़ द्वारा इंजीनियर किया गया था, बहुत आसान हो गया है।
यह मॉड्यूल हॉल-प्रभाव के सिद्धांत पर काम करता है, जिसे डॉ। एडविन हॉल द्वारा खोजा गया था। उनके सिद्धांत के अनुसार, जब एक ले जाने वाले कंडक्टर को एक चुंबकीय क्षेत्र में रखा जाता है, तो इसके किनारों पर दोनों वर्तमान और चुंबकीय क्षेत्र की दिशाओं के लिए एक वोल्टेज उत्पन्न होता है। आइए हम अवधारणा में बहुत गहरे नहीं उतरते हैं, लेकिन, बस हम एक हॉल सेंसर का उपयोग करते हैं, जो वर्तमान ले जाने वाले कंडक्टर के चारों ओर चुंबकीय क्षेत्र को मापता है। यह माप मिलिवोल्ट्स के संदर्भ में होगा जिसे हम हॉल-वोल्टेज के रूप में कहते हैं। यह मापा गया हॉल-वोल्टेज उस धारा के आनुपातिक है जो कंडक्टर के माध्यम से बह रही थी।
ACS712 करंट सेंसर का उपयोग करने का मुख्य लाभ यह है कि दोनों AC और DC करंट को माप सकते हैं और यह लोड (AC / DC लोड) और मेजरिंग यूनिट (माइक्रोकंट्रोलर पार्ट) के बीच अलगाव प्रदान करता है। जैसा कि चित्र में दिखाया गया है कि हमारे पास मॉड्यूल पर तीन पिन हैं जो क्रमशः Vcc, Vout और Ground हैं।
2-पिन टर्मिनल ब्लॉक वह जगह है जहां वर्तमान ले जाने वाले तार को गुजरना चाहिए। मॉड्यूल + 5 वी पर काम करता है इसलिए वीसीसी को 5 वी द्वारा संचालित किया जाना चाहिए और जमीन को सिस्टम के ग्राउंड से जोड़ा जाना चाहिए। वाउट पिन में 2500mV का एक ऑफसेट वोल्टेज होता है, जिसका अर्थ है कि जब तार के माध्यम से कोई धारा प्रवाहित नहीं होती है तो आउटपुट वोल्टेज 2500mV होगा और जब विद्युत प्रवाह सकारात्मक होता है, तो वोल्टेज 2500mV से अधिक होगा और जब प्रवाह प्रवाह नकारात्मक होगा, वोल्टेज 2500mV से कम होगा।
हम मॉड्यूल के आउटपुट वोल्टेज (वाउट) को पढ़ने के लिए PIC माइक्रोकंट्रोलर के ADC मॉड्यूल का उपयोग करेंगे, जो कि 512 (2500mV) होगा जब तार के माध्यम से कोई प्रवाह नहीं होता है। यह मान नकारात्मक दिशा में वर्तमान प्रवाह के रूप में कम हो जाएगा और सकारात्मक दिशा में वर्तमान प्रवाह के रूप में बढ़ जाएगा। नीचे दी गई तालिका आपको यह समझने में मदद करेगी कि आउटपुट वोल्टेज और एडीसी मान तार के माध्यम से बहने वाले वर्तमान के आधार पर कैसे भिन्न होता है।
इन मूल्यों की गणना ACS712 की डेटाशीट में दी गई जानकारी के आधार पर की गई थी। आप निम्न सूत्रों का उपयोग करके उनकी गणना भी कर सकते हैं:
वाउट वोल्ट (mV) = (ADC मान / 1023) * 5000 करंट वायर के माध्यम से (A) = (VUT (mv) -2500) / 185
अब, हम जानते हैं कि ACS712 सेंसर कैसे काम करता है और हम इससे क्या उम्मीद कर सकते हैं। आइए हम सर्किट आरेख पर आगे बढ़ें।
सर्किट आरेख:
इस डिजिटल एमीटर प्रोजेक्ट का पूरा सर्किट आरेख नीचे दी गई छवि में दिखाया गया है।
पूर्ण डिजिटल करंट मीटर सर्किट + 5 वी पर काम करता है जिसे 7805 वोल्ट रेगुलेटर द्वारा नियंत्रित किया जाता है। हमने करंट का मान प्रदर्शित करने के लिए 16X2 एलसीडी का उपयोग किया है। वर्तमान सेंसर (वाउट) का आउटपुट पिन PIC के 7 वें पिन से जुड़ा है जो एनालॉग वोल्टेज को पढ़ने के लिए AN4 है।
आगे PIC के लिए पिन कनेक्शन नीचे दी गई तालिका में दिखाया गया है
S.No: |
पिन नम्बर |
पिन नाम |
से जुड़ा |
1 |
२१ |
RD2 |
एलसीडी का आर.एस. |
२ |
२२ |
RD3 |
ई का एलसीडी |
३ |
२। |
RD4 |
डी 4 की एलसीडी |
४ |
२। |
RD5 |
डी 5 की एलसीडी |
५ |
२ ९ |
RD6 |
डी 6 एलसीडी की |
६ |
३० |
RD7 |
डी 7 की एलसीडी |
। |
। |
AN4 |
वेट ऑफ करंट सेसनोर |
आप ब्रेडबोर्ड पर इस डिजिटल एमीटर सर्किट का निर्माण कर सकते हैं या एक पूर्ण बोर्ड का उपयोग कर सकते हैं। यदि आप PIC ट्यूटोरियल्स का अनुसरण कर रहे हैं तो आप उस हार्डवेयर का भी पुनः उपयोग कर सकते हैं जिसका उपयोग हमने PIC माइक्रोकंट्रोलर सीखने के लिए किया था। यहां हमने वही परफ़ॉर्म बोर्ड का उपयोग किया है, जिसे हमने PIC Microcontroller के साथ LED ब्लिंकिंग के लिए बनाया है, जैसा कि नीचे दिखाया गया है:
नोट: इस बोर्ड का निर्माण करना आपके लिए अनिवार्य नहीं है, आप बस सर्किट डायग्राम का अनुसरण कर सकते हैं और ब्रेड बोर्ड पर सर्किट बना सकते हैं और PIC माइक्रोकंट्रोलर में अपने प्रोग्राम को डंप करने के लिए किसी भी डम्पर किट का उपयोग कर सकते हैं।
सिमुलेशन:
इससे पहले कि आप वास्तव में अपने हार्डवेयर के साथ आगे बढ़ें, यह वर्तमान मीटर सर्किट को प्रोटियस का उपयोग करके भी सिम्युलेटेड किया जा सकता है। इस ट्यूटोरियल के अंत में दिए गए कोड की हेक्स फाइल असाइन करें और प्ले बटन पर क्लिक करें। आपको एलसीडी डिस्प्ले पर वर्तमान को नोटिस करने में सक्षम होना चाहिए। मैंने एक एसी लोड के रूप में लैंप का उपयोग किया है, आप इसके माध्यम से बहने वाले वर्तमान को अलग करने के लिए लैंप के आंतरिक प्रतिरोध को बदल सकते हैं।
जैसा कि आप ऊपर के चित्र में देख सकते हैं, Ammeter लैंप के माध्यम से बहने वाली वास्तविक धारा को दर्शाता है जो लगभग 3.52 A है और LCD वर्तमान को 3.6A के आसपास दिखाता है। हालाँकि व्यावहारिक स्थिति में हमें 0.2A तक त्रुटि हो सकती है । आपकी समझ के लिए एलसीडी पर ADC मान और वोल्टेज (mV) भी दिखाया गया है।
PIC माइक्रोकंट्रोलर प्रोग्रामिंग
जैसा कि पहले बताया गया था, इस लेख के अंत में पूरा कोड पाया जा सकता है। कोड को स्वयं टिप्पणी लाइनों के साथ समझाया गया है और केवल PIC माइक्रोकंट्रोलर में PIC Microcontroller और ADC मॉड्यूल का उपयोग करने के साथ एक एलसीडी को बदलने की अवधारणा शामिल है जिसे हमने PIC Microcontrollers सीखने के अपने पिछले ट्यूटोरियल में शामिल किया है।
सेंसर से पढ़ा गया मूल्य सही नहीं होगा क्योंकि वर्तमान बारी-बारी से होता है और शोर के अधीन भी होता है। इसलिए हम 20 टाइम्स के एडीसी मूल्य को पढ़ते हैं और इसे उचित वर्तमान मूल्य प्राप्त करने के लिए औसत करते हैं जैसा कि नीचे दिए गए कोड में दिखाया गया है।
हमने उन्हीं सूत्रों का उपयोग किया है जिन्हें ऊपर वोल्टेज और करंट वैल्यू की गणना के लिए समझाया गया था।
for (int i = 0; मैं <20; i ++) // 20 टाइम्स के लिए मूल्य पढ़ें {adc = 0; adc = ADC_Read (4); // पढ़ें एडीसी वोल्टेज = एडीसी * 4.8828; // वोल्टेज की गणना करें यदि (वोल्ट> = 2500) // यदि वर्तमान धनात्मक एम्प्स + = ((वोल्ट -2500) / 18.5) है; अगर (वोल्टेज <= 2500) // अगर वर्तमान नकारात्मक एम्प्स + = ((2500-वोल्ट) / 18.5) है; } Amps / = 20; // औसत मान जो 20 बार पढ़ा गया था
चूँकि यह परियोजना एसी करंट को भी पढ़ सकती है इसलिए वर्तमान प्रवाह नकारात्मक और सकारात्मक भी होगा। यह आउटपुट वोल्टेज का मान 2500mV से ऊपर और नीचे होगा। इसलिए जैसा कि नीचे दिखाया गया है हम नकारात्मक और सकारात्मक वर्तमान के लिए सूत्र बदलते हैं ताकि हमें नकारात्मक मूल्य न मिले।
if (वोल्ट> = 2500) // यदि करंट पॉजिटिव Amps + = ((वोल्ट -2500) / 18.5) है; अगर (वोल्टेज <= 2500) // अगर वर्तमान नकारात्मक एम्प्स + = ((2500-वोल्ट) / 18.5) है;
30A वर्तमान सेंसर का उपयोग करना:
यदि आपको 5 ए से अधिक वर्तमान को मापने की आवश्यकता है, तो आप बस एसीएस 712-30 ए मॉड्यूल खरीद सकते हैं और इसे उसी तरह से इंटरफ़ेस कर सकते हैं और कोड की निचली पंक्ति को 0.66 के साथ बदलकर 0.66 कर सकते हैं जैसा कि नीचे दिखाया गया है:
if (वोल्ट> = 2500) // यदि करंट पॉजिटिव Amps + = ((वोल्ट -2500) /0.66) है; अगर (वोल्टेज <= 2500) // यदि वर्तमान नकारात्मक एम्प्स + = ((2500-वोल्ट) / 0.66) है;
यदि आप कम वर्तमान को मापना चाहते हैं तो AVR माइक्रोकंट्रोलर का उपयोग करके 100mA एमीटर की भी जाँच करें।
काम कर रहे:
एक बार जब आप PIC माइक्रोकंट्रोलर को प्रोग्राम कर लें और अपना हार्डवेयर तैयार कर लें। बस लोड और अपने PIC माइक्रोकंट्रोलर पर बिजली आप अपने एलसीडी स्क्रीन में प्रदर्शित तार के माध्यम से वर्तमान को देखने में सक्षम होना चाहिए।
नोट: यदि आप ASC7125A मॉड्यूल का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपका लोड 5A से अधिक खपत नहीं करता है, साथ ही वर्तमान ले जाने वाले कंडक्टर के लिए उच्च गेज तारों का उपयोग करें।
PIC माइक्रोकंट्रोलर आधारित एमीटर प्रोजेक्ट का पूरा काम नीचे दिए गए वीडियो में दिखाया गया है । आशा है कि आपको प्रोजेक्ट काम कर रहा है और इसे करने में मज़ा आया। यदि आपको कोई संदेह है तो आप उन्हें नीचे टिप्पणी अनुभाग पर लिख सकते हैं या उन्हें हमारे मंचों पर पोस्ट कर सकते हैं।