विषयसूची:

एक डायोड का उपयोग करके DIY तापमान सेंसर: 3 चरण
एक डायोड का उपयोग करके DIY तापमान सेंसर: 3 चरण

वीडियो: एक डायोड का उपयोग करके DIY तापमान सेंसर: 3 चरण

वीडियो: एक डायोड का उपयोग करके DIY तापमान सेंसर: 3 चरण
वीडियो: why diode necessary in heater | एक डायोड और बिजली बिल जीरो #heater 2024, जुलाई
Anonim
एक डायोड का उपयोग करके DIY तापमान सेंसर
एक डायोड का उपयोग करके DIY तापमान सेंसर
एक डायोड का उपयोग करके DIY तापमान सेंसर
एक डायोड का उपयोग करके DIY तापमान सेंसर

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

यह सेटअप आमतौर पर कई इंटीग्रेटेड सर्किट में इसके आंतरिक तापमान और कई तापमान सेंसर को प्रसिद्ध LM35 के रूप में मापने के लिए उपयोग किया जाता है जो इस संपत्ति पर आधारित है।

बस एक डायोड (जो एक एकल पीएन-जंक्शन है) की आगे की वोल्टेज ड्रॉप बदल जाती है क्योंकि इससे गुजरने वाली धारा की मात्रा बदल जाती है, साथ ही डायोड तापमान में बदलाव के साथ वोल्टेज ड्रॉप बदलने वाला होता है (जैसे-जैसे तापमान बढ़ता है, आगे बढ़ता है) (सिलिकॉन डायोड के लिए 1.0 मिलीवोल्ट से 2.0 मिलीवोल्ट और जर्मेनियम डायोड के लिए 2.5 मिलीवोल्ट) के मान से गिरावट घट जाती है।

तो डायोड के माध्यम से एक निरंतर प्रवाह पारित करके आगे वोल्टेज ड्रॉप अब केवल डायोड तापमान के अनुसार भिन्न होना चाहिए। हमें अभी डायोड के आगे वोल्टेज को मापने की जरूरत है, कुछ सरल समीकरण लागू करें और वॉयला यहां आपका तापमान सेंसर है !!!

आपूर्ति

1 - 1n4007 डायोड #12 - 1 Kohm रोकनेवाला #13 - Arduino बोर्ड

चरण 1: सर्किट आरेख

सर्किट आरेख
सर्किट आरेख

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

5V आपूर्ति के साथ 1 किलो ओम रोकनेवाला का परिणाम 4 मिलीएम्पियर डायोड करंट होना चाहिए जो इस उद्देश्य के लिए पर्याप्त मूल्य है। मैं (डायोड) = वीसीसी / (श्रृंखला + रेडियोड)

चरण 2: कोडिंग

हमें यह ध्यान रखने की आवश्यकता है कि बेहतर परिणाम प्राप्त करने के लिए कोड में बदलाव करने के लिए कुछ मूल्य हैं जैसे:

1 - VCC_Voltage: जैसा कि analogRead () मान ATmega चिप के VCC पर निर्भर करता है, तो हमें इसे arduino बोर्ड पर मापने के बाद समीकरण में जोड़ना होगा।

2 - V_OLD_0_C: 4 mA के करंट और 0 सेल्सियस के तापमान पर प्रयुक्त डायोड का फॉरवर्ड वोल्टेज ड्रॉप

3 - तापमान_ गुणांक: आपके डायोड का तापमान प्रवणता (डेटाशीट से प्राप्त करने के लिए बेहतर) या आप इसे इस समीकरण का उपयोग करके माप सकते हैं: Vnew - Vold = K (Tnew - Toled)

कहां:

Vnew = डायोड को गर्म करने के बाद नया मापा गया ड्रॉप वोल्टेज

वोल्ड = कुछ कमरे के तापमान पर मापा ड्रॉप वोल्टेज

Tnew = वह तापमान जहाँ डायोड को तक गर्म किया गया था

बताया = पुराने कमरे का तापमान जिसे वोल्ड मापा गया था

K = तापमान_ गुणांक (-1.0 से -2.5 मिलीवोल्ट के बीच एक ऋणात्मक मान भिन्न होता है) अंत में अब आप कोड अपलोड कर सकते हैं और अपना तापमान परिणाम प्राप्त कर सकते हैं।

STM32F103C8 बोर्ड के लिए #define Sens_Pin A0 //PA0

डबल V_OLD_0_C = ६९०.०; //690 एमवी 4 एमए टेस्ट करंट पर 0 सेल्सियस पर फॉरवर्ड वोल्टेज

डबल V_NEW = 0; // 4 एमए परीक्षण वर्तमान डबल तापमान = 0.0 पर कमरे के तापमान पर नया आगे वोल्टेज; // कमरे की गणना तापमान डबल तापमान_गुणांक = -1.6; //-1.6 एमवी परिवर्तन प्रति डिग्री सेल्सियस (जर्मेनियम डायोड के लिए -2.5), डायोड डेटाशीट डबल VCC_Voltage = 5010.0 से प्राप्त करने के लिए बेहतर है; // मिलिवोल्ट्स (बेहतर सटीकता के लिए आवश्यक) में arduino की 5V रेल पर मौजूद वोल्टेज (stm32 के लिए 3300.0)

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

// अपना सेटअप कोड यहां डालें, एक बार चलाने के लिए: पिनमोड (Sens_Pin, INPUT); सीरियल.बेगिन (९६००); }

शून्य लूप () {

// अपना मुख्य कोड यहां रखें, बार-बार चलाने के लिए: V_NEW = analogRead(Sens_Pin)*VCC_Voltage/1024.0; // यदि आप 12 बिट एडीसी तापमान = ((V_NEW - V_OLD_0_C)/तापमान_ गुणांक) का उपयोग कर रहे हैं तो 4.0 से विभाजित करें;

सीरियल.प्रिंट ("अस्थायी =");

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

देरी (500);

}

चरण 3: बेहतर मूल्य प्राप्त करना

बेहतर मूल्य प्राप्त करना
बेहतर मूल्य प्राप्त करना
बेहतर मूल्य प्राप्त करना
बेहतर मूल्य प्राप्त करना

मुझे लगता है कि इस परियोजना को करते समय आपके पास एक विश्वसनीय तापमान मापने वाला उपकरण होना उचित है।

आप देख सकते हैं कि रीडिंग में ध्यान देने योग्य त्रुटि है जो 3 या 4 डिग्री सेल्सियस तक पहुंच सकती है, तो यह त्रुटि कहां से आ रही है?

1 - आपको पिछले चरण में उल्लिखित चरों में बदलाव करने की आवश्यकता हो सकती है

2 - arduino का ADC रिज़ॉल्यूशन छोटे वोल्टेज अंतर का पता लगाने के लिए आवश्यक से कम है

3 - डायोड में इस छोटे वोल्टेज परिवर्तन के लिए arduino (5V) का वोल्टेज संदर्भ बहुत अधिक है

इसलिए यदि आप इस सेटअप को तापमान संवेदक के रूप में उपयोग करने जा रहे हैं, तो आपको पता होना चाहिए कि हालांकि यह सस्ता और आसान है, यह सटीक नहीं है, लेकिन यह आपको आपके सिस्टम के तापमान के बारे में एक बहुत अच्छा विचार दे सकता है या तो यह एक पर है पीसीबी या चलने वाली मोटर आदि पर चढ़कर…

यह निर्देशयोग्य कम से कम संभव घटकों का उपयोग करने के लिए है, लेकिन यदि आप इस विचार से सबसे सटीक परिणाम प्राप्त करना चाहते हैं तो आप कुछ बदलाव कर सकते हैं:

1 - इस लिंक 2 में op-amps का उपयोग करके कुछ प्रवर्धन और फ़िल्टरिंग चरण जोड़ें - 3.3 वोल्ट एनालॉग संदर्भ वोल्टेज के साथ STM32F103C8 बोर्ड के रूप में निचले आंतरिक एनालॉग संदर्भ नियंत्रक का उपयोग करें (बिंदु 4 देखें) 3 - आंतरिक 1.1 V एनालॉग संदर्भ का उपयोग करें arduino लेकिन ध्यान रखें कि आप किसी भी arduino एनालॉग पिन से 1.1 वोल्ट से अधिक कनेक्ट नहीं कर सकते हैं।

आप इस लाइन को सेटअप फ़ंक्शन में जोड़ सकते हैं:

एनालॉग रेफरेंस (आंतरिक);

4 - एक माइक्रोकंट्रोलर का उपयोग करें जिसमें STM32F103C8 के रूप में उच्च रिज़ॉल्यूशन ADC है जिसमें 12 बिट ADC रिज़ॉल्यूशन है, इसलिए संक्षेप में, यह arduino आधारित सेटअप आपके सिस्टम के तापमान के बारे में एक अच्छा अवलोकन दे सकता है लेकिन इतना सटीक परिणाम नहीं (लगभग 4.88 mV/रीडिंग)

STM32F103C8 सेटअप आपको काफी सटीक परिणाम देगा क्योंकि इसमें उच्च 12-बिट ADC और कम 3.3V एनालॉग संदर्भ मान (लगभग 0.8 mV/रीडिंग) है।

हां इसी तरह !!:डी

सिफारिश की: