सभी एम्बेडेड प्रेमी मल्टीमीटर से परिचित हैं जो वोल्टेज, वर्तमान, प्रतिरोध आदि को मापने के लिए एक महान उपकरण है। मल्टीमीटर उन्हें आसानी से माप सकता है। लेकिन कभी-कभी हमें अधिष्ठापन और समाई को मापने की आवश्यकता होती है जो एक सामान्य मल्टीमीटर के साथ संभव नहीं है। कुछ विशेष मल्टीमीटर हैं जो प्रेरण और समाई को माप सकते हैं लेकिन वे महंगे हैं। हमने पहले से ही Arduino का उपयोग करके फ़्रिक्वेंसी मीटर, कैपेसिटेंस मीटर और रेसिस्टेंस मीटर बनाया है। इसलिए आज हम Arduino का उपयोग करके एक Inductance LC मीटर बनाने जा रहे हैं । इस परियोजना में, हम 16x2 एलसीडी डिस्प्ले से अधिक आवृत्ति के साथ अधिष्ठापन और कैपेसिटेंस मान दिखाएंगे। कैपेसिटेंस और इंडक्शन डिस्प्ले के बीच स्विच करने के लिए सर्किट में एक पुश बटन दिया जाता है।
अवयव आवश्यक
- अरुडिनो उनो
- 741 ओपांप आई.सी.
- 3v बैटरी
- 100-ओम अवरोधक
- संधारित्र
- कुचालक
- 1n4007 डायोड
- 10k रोकनेवाला
- 10k पॉट
- बिजली की आपूर्ति
- बटन दबाओ
- ब्रेडबोर्ड या पीसीबी
- तारों को जोड़ना
आवृत्ति और अनिच्छा की गणना
इस परियोजना में हम समानांतर में एक LC सर्किट का उपयोग करके अधिष्ठापन और धारिता को मापने जा रहे हैं । यह सर्किट एक रिंग या घंटी की तरह होता है जो निश्चित आवृत्ति पर गूंजने लगता है। जब भी हम एक नाड़ी लगाते हैं, तो यह LC सर्किट प्रतिध्वनित होने लगेगा और यह अनुनाद आवृत्ति एनालॉग (साइनसोइडल वेव) के रूप में होती है, इसलिए हमें इसे स्क्वायर वेव में बदलने की आवश्यकता होती है। ऐसा करने के लिए, हम इस अनुनाद अनुनाद आवृत्ति (हमारे मामले में 741) को लागू करते हैं जो इसे कर्तव्य चक्र के 50% पर इसे स्क्वायर वेव (आवृत्ति) में परिवर्तित कर देगा। अब हम Arduino का उपयोग करके आवृत्ति को मापते हैं और कुछ गणितीय गणना का उपयोग करके हम इंडक्शन या कैपेसिटेंस पा सकते हैं। हमने दिए गए LC सर्किट फ्रीक्वेंसी रिस्पॉन्स फॉर्मूला का उपयोग किया है ।
f = 1 / (2 * समय)
जहां समय पल्स इन () फंक्शन का आउटपुट होता है
अब हमारे पास नियंत्रण रेखा सर्किट आवृत्ति है:
f = 1/2 * Pi * का वर्गमूल (LC)
हम इसे प्राप्त करने के लिए हल कर सकते हैं:
f 2 = 1 / (4Pi 2 LC) L = 1 / (4Pi 2 f 2 C) L = 1 / (4 * Pi * Pi * f * f * C)
जैसा कि हमने पहले ही उल्लेख किया है कि हमारी लहर साइनसोइडल तरंग है इसलिए सकारात्मक और नकारात्मक दोनों आयामों में समान समय अवधि होती है। इसका मतलब है कि तुलनित्र इसे 50% कर्तव्य चक्र वाले वर्ग तरंग में बदल देगा। ताकि हम Arduino के नाड़ी () फ़ंक्शन का उपयोग करके इसे माप सकें । यह फ़ंक्शन हमें एक समयावधि देगा जो कि समयावधि को कम करके आसानी से एक आवृत्ति में परिवर्तित हो सकता है। जैसा कि पल्स इन फ़ंक्शन केवल एक पल्स को मापता है, इसलिए अब सही आवृत्ति प्राप्त करने के लिए हमें इसे 2 से गुणा करना होगा। अब हमारे पास एक आवृत्ति है जिसे उपरोक्त सूत्र का उपयोग करके इंडक्शन में परिवर्तित किया जा सकता है।
नोट: इंडक्शन (L1) को मापते समय, कैपेसिटर (C1) मान 0.1uF होना चाहिए और कैपेसिटेंस (C1) को मापते समय, प्रारंभ करनेवाला (L1) मान 10mH होना चाहिए।
सर्किट आरेख और स्पष्टीकरण
इस LC मीटर सर्किट आरेख में, हमने प्रोजेक्ट ऑपरेशन को नियंत्रित करने के लिए Arduino का उपयोग किया है। इसमें, हमने एक LC सर्किट का उपयोग किया है। इस LC सर्किट में एक Inductor और एक कैपेसिटर होता है। साइनसॉइडल अनुनाद आवृत्ति को डिजिटल या स्क्वायर वेव में परिवर्तित करने के लिए हमने 741 नाम से ऑपरेशनल एम्पलीफायर का उपयोग किया है। यहाँ हमें सटीक आउटपुट फ्रीक्वेंसी प्राप्त करने के लिए op-amp में नेगेटिव सप्लाई लागू करने की आवश्यकता है। इसलिए हमने रिवर्स पोलरिटी में जुड़ी 3v बैटरी का उपयोग किया है, इसका मतलब है कि 741 नेगेटिव पिन बैटरी नेगेटिव टर्मिनल से जुड़ी है और बैटरी का पॉजिटिव पिन बाकी सर्किट की जमीन से जुड़ा है। अधिक स्पष्टीकरण के लिए नीचे दिए गए सर्किट आरेख को देखें।
यहां हमारे पास ऑपरेशन के मोड को बदलने के लिए एक पुश बटन है चाहे हम इंडक्शन या कैपेसिटेंस को माप रहे हों। एलसी सर्किट की आवृत्ति के साथ अधिष्ठापन या समाई दिखाने के लिए 16x2 एलसीडी का उपयोग किया जाता है। एलसीडी की चमक को नियंत्रित करने के लिए 10k पॉट का उपयोग किया जाता है। सर्किट Arduino 5v सप्लाई की मदद से संचालित होता है और हम USB या 12v एडॉप्टर का उपयोग करके Arvino को 5v तक पावर कर सकते हैं।
प्रोग्रामिंग स्पष्टीकरण
इस एलसी मीटर परियोजना का प्रोग्रामिंग हिस्सा बहुत आसान है। इस लेख के अंत में पूरा Arduino कोड दिया गया है।
पहले हमें एलसीडी के लिए लाइब्रेरी को शामिल करना होगा और कुछ पिन और मैक्रोज़ की घोषणा करनी होगी।
#शामिल
इसके बाद, सेटअप फ़ंक्शन में हमने एलसीडी और सीरियल मॉनिटर पर मापा मूल्यों को दिखाने के लिए एलसीडी और सीरियल संचार को आरंभीकृत किया है ।
void setup () { #ifdef serial Serial.begin (9600); #endif lcd.begin (16, 2); पिनमोड (freqIn, INPUT); pinMode (प्रभारी, OUTPUT); पिनमोड (मोड, INPUT_PULLUP); lcd.print ("एलसी मीटर का उपयोग करना"); lcd.setCursor (0, 1); lcd.print ("Arduino"); देरी (2000); lcd.clear (); lcd.print ("सर्किट डाइजेस्ट"); देरी (2000); }
फिर लूप फ़ंक्शन में, एलसी सर्किट के लिए एक निश्चित समय अवधि की एक पल्स लागू करें जो एलसी सर्किट को चार्ज करेगा। पल्स को हटाने के बाद एलसी सर्किट गूंजने लगता है। तब हम इसका वर्ग तरंग रूपांतरण पढ़ते हैं, जो ऑप-एम्प से आता है, पल्स () फ़ंक्शन का उपयोग करके और इसे 2 से गुणा करके परिवर्तित करता है। यहां हमने इसके कुछ नमूने भी लिए हैं। इस प्रकार आवृत्ति की गणना की जाती है:
शून्य लूप () {के लिए (इंट i = 0; मैं;
आवृत्ति मूल्य प्राप्त करने के बाद, हमने दिए गए टुकड़े के कोड का उपयोग करके उन्हें अधिष्ठापन में बदल दिया है
समाई = 0.1E-6; इंडक्शन = (1. / (कैपेसिटी * फ़्रीक्वेंसी * फ़्रीक्वेंसी * 4. * * 3.14159 * 3.14159)) * 1.E6; #ifdef सीरियल सीरियल (छाप: "इंड:"); if (इंडक्शन> = 1000) { Serial.print (इंडक्शन / 1000); सिरियल.प्रिंटल ("एमएच"); } और { Serial.print (इंडक्शन); सिरियल.प्रिंटल ("यूएच"); } #endif lcd.setCursor (0, 1); lcd.print ("Ind:"); if ( इंडक्शन > = 1000) { lcd.print (इंडक्शन / 1000); lcd.print ("mH"); } और { lcd.print (इंडक्शन); lcd.print ("uH"); } }
और दिए गए कोड का उपयोग करके हमने समाई की गणना की ।
if (Bit.flag) { इंडक्शन = 1.E-3; कैपेसिटेंस = ((१. / (इंडक्शन * फ़्रीक्वेंसी * फ़्रीक्वेंसी * ४. * * ३.१४१५ ९ * ३.१४१५ ९)) * १.E9); अगर (इंट) कैपेसिटेंस <0) कैपेसिटेंस = 0; #ifdef धारावाहिक Serial.print ("क्षमता:"); सीरियल.प्रिंट (समाई, 6); सिरियल.प्रिंट्लन ("यूएफ"); #endif lcd.setCursor (0, 1); lcd.print ("Cap:"); if (कैपेसिटेंस> 47) { lcd.print ((कैपेसिटेंस / 1000)); lcd.print ("uF"); } और { lcd.print (कैपेसिटेंस); lcd.print ("nF"); } }
तो यह है कि हमने Arduino का उपयोग करके आवृत्ति, कैपेसिटेंस और इंडक्टेंस की गणना की और इसे 16x2 एलसीडी पर प्रदर्शित किया।