मेरा DS18B20 उच्च पढ़ रहा है। सही तापमान वापस करने के लिए मैं इसे कैसे प्राप्त कर सकता हूं?


10

मैं अपने घर के लिए एक हीटिंग कंट्रोल सिस्टम पर काम कर रहा हूं, लेकिन तापमान सेंसर को पढ़ने में मुझे उम्मीद से ज्यादा दिक्कत हो रही है।

मैं एक 5V Arduino मिनी प्रो क्लोन एक रिले मॉड्यूल, एक HD47780 डिस्प्ले और एक छोटे RTC मॉड्यूल, एक DS18B20 के साथ जुड़ा हुआ है।

DS18B20 5v Vcc बल्कि डीक्यू लाइन पर परजीवी शक्ति का उपयोग करने से छोटे आरटीसी मॉड्यूल के लिए लागू से संचालित है (जैसा कि मुझे यकीन है कि अगर Onewire पुस्तकालयों ऑपरेशन के इस मोड समर्थित नहीं था) और DS18B20 डेटापत्रक कहते Vcc के बीच हो सकता है कि 3.0v और 5.5v। मैंने मिनी प्रो से नियंत्रित शक्ति 5.2 वी पर मापी है।

मैं डीएस से मौजूदा कमरे के थर्मोस्टैट (द्वि-धातु), दो सेंसर के साथ एक आरएस डेस्कटॉप तापमान की निगरानी, ​​एक छोटे 'थर्मो-हाइग्रोमीटर' और एक द्वि-धातु फ्रिज के थर्मामीटर (इसके तापमान के ऊपरी तिमाही में ) से तापमान की तुलना कर रहा हूं। रेंज) । डीएस से रीडआउट हमेशा अन्य सेंसर से रीडआउट की तुलना में लगभग 1-2 डिग्री अधिक होता है, जो एक दूसरे की डिग्री के भीतर होते हैं।

† वास्तविक एक नहीं है, लेकिन कुछ समान है।

विभिन्न मंचों को पढ़ते हुए मैंने सुना है कि ये सेंसर काफी सटीक हैं, लेकिन उनके निकट के घटकों से स्थानीयकृत हीटिंग से पीड़ित हो सकते हैं, इसलिए मैंने सेंसर को 20 सेमी केबल पर स्थानांतरित कर दिया और इसे बाकी इलेक्ट्रॉनिक्स से अच्छी तरह से तैनात किया। इससे कोई फर्क नहीं पड़ा।

मैंने तब पढ़ा कि डीएस सेल्फ हीटिंग हो सकता है यदि इसे बहुत अधिक वीसीएल वोल्टेज के साथ आपूर्ति की जाती है, तो मैंने 1.7v ड्रॉप के साथ एक लाल एलईडी जोड़ा और डीएस के ऊपर 3.5 वोल्ट के रूप में नए वोल्टेज को मापा, लेकिन फिर से, इंतजार करने के बाद तापमान को एक बार फिर स्थिर करने के लिए, इससे कोई फर्क नहीं पड़ा।

क्या कोई सुझाव दे सकता है कि डीएस उच्च क्यों पढ़ रहे हैं और मैं इसे रोकने के लिए क्या कर सकता हूं?


आप कितने आश्वस्त हैं कि आपका कमरा थर्मोस्टेट सिर्फ 1-2 डिग्री कम नहीं पढ़ रहा है ? आपको एक तीसरा थर्मामीटर मिलना चाहिए, और यह निर्धारित करने के लिए तुलना करें कि आपके ऑफसेट वास्तव में कहां से आ रहे हैं। चूंकि आरएस थर्मामीटर की संभावना दोनों सेंसर के लिए एक ही रीडआउट इलेक्ट्रॉनिक्स का उपयोग करती है, यह संभवतः दो अलग-अलग अंशांकन संदर्भों के रूप में उपयोगी नहीं है।
कॉनर वुल्फ

जवाबों:


9

मैंने अब कई सेंसर नोड्स पर DS18B20 सेंसर लगाए हैं - शायद 50 या तो। मैंने उनसे पढ़ने के बारे में थोड़ा सीखा है। मुझे पता है कि आपने इनमें से कुछ को कारण नहीं बताया है, लेकिन यह पुष्टि करना अच्छा है कि वे मुद्दे हैं।

मुझे नहीं पता कि आप सेल्सियस या फ़ारेनहाइट का उपयोग कर रहे हैं, इसलिए समस्या की डिग्री स्पष्ट नहीं है।

स्थानीयकृत ताप

मैं Arduino को "हॉट" चिप के रूप में नहीं सोचता, लेकिन एक Arduino और LCD के साथ एक बाड़े में DS18B20 डालने से मुझे उम्मीद से 2-3 ° C अधिक पठन देखने को मिले।

इसे बाड़े के बाहर ले जाकर तय किया।

उच्च Vcc / अक्सर रूपांतरणों से हीटिंग

यदि आप एक उच्च Vcc के साथ चिप की आपूर्ति करते हैं और बार-बार रूपांतरण करते हैं (यानी जितनी बार आप कर सकते हैं), चिप गर्म होता है। मैंने इस वृद्धि को 1-2 ° C तक देखा है।

मैंने अकेले उच्च Vcc के साथ समस्या नहीं देखी है, लेकिन मैं परजीवी मोड में सबसे DS18B20 का संचालन करता हूं और प्रत्येक 10 में से एक बार परिवर्तित करता हूं। सक्रिय मोड में संचालित लोगों को आम तौर पर संचालित किया जाता है जब उपयोग नहीं किया जा रहा है।

वनवायर और डलासटेंस परजीवी मोड का समर्थन करते हैं।

सभी तापमान सेंसर समान नहीं बनाए गए हैं

DS18B20 के साथ खेलना शुरू करने से पहले मेरे पास कई तापमान सेंसर थे। लगभग अपवाद के बिना, ये अंडर-रीड। उनमें से ज्यादातर थर्मिस्टर्स पर आधारित हैं और अंशांकन खराब है। मैंने सोचा था कि DS18B20 पढ़ने से अधिक थे, लेकिन जब मैंने एक अच्छा थर्मोकपल और मीटर का उपयोग किया, तो मैं पुष्टि कर सकता था कि वे सही थे।

यह DS18B20 पर भरोसा करना सीखने के बारे में था।

तार के साथ गर्मी का आयोजन किया

यदि आपके पास एक तार पर सेंसर हैं, तो तार गर्मी की एक आश्चर्यजनक मात्रा का संचालन करता है। पाइप के साथ तारों को चलाते समय यह एक मुद्दा हो सकता है।

नकली DS18B20

ये सेंसर बहुत लोकप्रिय हैं, और ऐसा लगता है कि फेक दिखने लगे हैं। मेरे पास स्टेनलेस स्टील के जलरोधी सेंसर का एक बैच है जो ओवर-रीड और टाइमिंग से बाहर थे। उन्होंने वनवायर लाइब्रेरी के साथ काम किया, लेकिन DS2482 वनवायर मास्टर के रूप में नहीं। मैंने सामान्य TO-92 केस वाले के नकली होने के बारे में सुना है।


बोर्ड सॉफ्टवेयर के महान ज्ञान में, मुझे इस प्रश्न का उत्तर देने की अनुमति नहीं है, इसलिए मैं यहां एक टिप्पणी जोड़ूंगा। जैसा कि मैंने github.com/PaulStoffregen/OneWire/issues/91 पर कठिन तरीका पाया , यदि आप 3.3V चिप का उपयोग करते हैं, तो आपको 4.7k रोकनेवाला को 2.7k रोकनेवाला के साथ बदलने की आवश्यकता है, या कुछ सेंसर गलत मान लौटाएंगे।
मार्क मर्लिन

2

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


1

शायद आप अपने सेंसर को कैलिब्रेट करना चाहें।

उबलते पानी (समुद्र के स्तर को मानते हुए) में डूबने पर यह क्या पढ़ता है? 102.5 सेल्सियस? यह आपको -2.5C का उच्च-तापमान अंशांकन देगा।

जाहिर है कि आप मुझे मापने वाले तापमान के आसपास जांच करना बेहतर है। इसका मतलब है कि कुछ मापने वाले उपकरण पर भरोसा करना (या औसत?)।


1

मैंने 3.3V बस में DS18B20 का उपयोग करते हुए कई डिग्री C के ऑफसेट देखे हैं, एक स्थिर 5.0V बस में स्विच किया है और मुझे अधिक उचित मूल्य मिले हैं। (परजीवी शक्ति के साथ और बिना जांच की गई)


यह दिलचस्प है, धन्यवाद, और इसके विपरीत जो कुछ लोग रिपोर्ट करते रहे हैं। मुझे आश्चर्य है कि यह एक और नकली DS18B20 मुद्दा है।
मार्क बूथ

0

मैंने कुछ प्रयोग किए हैं। यदि DS18B20 लघु केबल पर था <1cm मेरे Arduino प्रो माइक्रो के लिए रीडिंग पर्यावरण की तुलना में 5 डिग्री अधिक था। केबल लेन पर> 10 सेमी arduino बोर्ड से और कोई बात नहीं जहां रोकनेवाला (arduino के पास या DS18B20 के पास) पढ़ा गया था ठीक था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.