तापमान सेंसर तकनीक

डिजिटल तापमान सेंसर DS18B20 के तापमान माप फ़ंक्शन का डिज़ाइन

temperature measurement function of digital temperature sensor DS18B20

DS18B20 is a 1-wire digital temperature sensor produced by DALLAS, with a 3-pin TO-92 small package. The temperature measurement range is -55℃~+125℃, and it can be programmed to 9-bit~12-bit A/D conversion accuracy. The temperature measurement resolution can reach 0.0625℃, and the measured temperature is serially output in the form of a 16-bit digital quantity with sign extension. Its working power supply can be introduced at the remote end or generated by parasitic power supply. Multiple DS18B20s can be connected in parallel to 3 या 2 lines. The CPU only needs one port line to communicate with many DS18B20s, occupying fewer ports of the microprocessor, which can save a lot of leads and logic circuits. उपरोक्त विशेषताएँ DS18B20 को लंबी दूरी की बहु-बिंदु तापमान पहचान प्रणालियों के लिए बहुत उपयुक्त बनाती हैं.

temperature measurement function of digital temperature sensor DS18B20

temperature measurement function of digital temperature sensor DS18B20

2. DS18B20 ds18b20 सर्किट आरेख की आंतरिक संरचना
DS18B20 की आंतरिक संरचना चित्र में दिखाई गई है 1, जिसमें मुख्य रूप से शामिल हैं 4 पार्ट्स: 64-बिट रॉम, तापमान संवेदक, गैर-वाष्पशील तापमान अलार्म TH और TL को ट्रिगर करता है, और कॉन्फ़िगरेशन रजिस्टर. DS18B20 की पिन व्यवस्था चित्र में दिखाई गई है 2. DQ डिजिटल सिग्नल इनपुट/आउटपुट टर्मिनल है; जीएनडी शक्ति का मैदान है; वीडीडी बाहरी बिजली आपूर्ति इनपुट टर्मिनल है (परजीवी पावर वायरिंग मोड में ग्राउंडेड, चित्र देखें 4).

फैक्ट्री छोड़ने से पहले ROM में 64-बिट सीरियल नंबर की फोटो खींची जाती है. इसे DS18B20 का पता अनुक्रम कोड माना जा सकता है. प्रत्येक DS18B20 का 64-बिट क्रमांक भिन्न है. चक्रीय अतिरेक जाँच कोड (CRC=X8+X5+X4+1) 64-बिट ROM की व्यवस्था की गई है. ROM की भूमिका प्रत्येक DS18B20 को अलग बनाना है, ताकि कई DS18B20 को एक बस से जोड़ा जा सके.

DS18B20 चिप की आंतरिक संरचना

DS18B20 चिप की आंतरिक संरचना

आकृति 1, DS18B20 की आंतरिक संरचना

DS18B20 में तापमान सेंसर तापमान माप पूरा करता है, जो 16-बिट साइन-विस्तारित बाइनरी पूरक रीडिंग के रूप में प्रदान किया जाता है, 0.0625℃/LSB के रूप में व्यक्त किया गया, जहां S साइन बिट है. उदाहरण के लिए, +125℃ का डिजिटल आउटपुट 07D0H है, +25.0625℃ का डिजिटल आउटपुट 0191H है, -25.0625℃ का डिजिटल आउटपुट FF6FH है, और -55℃ का डिजिटल आउटपुट FC90H है.

23
22
21
20
2-1
2-2
2-3
2-4

तापमान मान कम बाइट
एमएसबीएलएसबी
एस
एस
एस
एस
एस
22
25
24

तापमान मान उच्च बाइट
उच्च और निम्न तापमान अलार्म TH और TL को ट्रिगर करता है, और कॉन्फ़िगरेशन रजिस्टर EEPROM के एक बाइट से बना है. TH को लिखने के लिए मेमोरी फ़ंक्शन कमांड का उपयोग किया जा सकता है, टी एल, या कॉन्फ़िगरेशन रजिस्टर. कॉन्फ़िगरेशन रजिस्टर का प्रारूप इस प्रकार है:

0
आर 1
आर0
1
1
1
1
1
एमएसबीएलएसबी

R1 और R0 तापमान रूपांतरण के लिए परिशुद्धता के अंकों की संख्या निर्धारित करते हैं: आर1आर0= “00”, 9-बिट परिशुद्धता, अधिकतम रूपांतरण समय 93.75ms है; आर1आर0= “01”, 10-बिट परिशुद्धता, अधिकतम रूपांतरण समय 187.5 एमएस है. आर1आर0= “10”, 11-बिट परिशुद्धता, अधिकतम रूपांतरण समय 375ms है. आर1आर0= “11”, 12-बिट परिशुद्धता, अधिकतम रूपांतरण समय 750ms है. प्रोग्राम न किए जाने पर डिफ़ॉल्ट 12-बिट परिशुद्धता होती है.

हाई-स्पीड रजिस्टर 9-बाइट मेमोरी है. पहले दो बाइट्स में मापे गए तापमान की डिजिटल जानकारी होती है; तीसरा, 4वां, और 5वीं बाइट्स TH की अस्थायी प्रतियां हैं, टी एल, और कॉन्फ़िगरेशन रजिस्टर, क्रमश:, और हर बार पावर-ऑन रीसेट होने पर ताज़ा हो जाते हैं; छठा, 7वां, और 8वें बाइट्स का उपयोग नहीं किया जाता है और इन्हें सभी तर्क 1s के रूप में दर्शाया जाता है; 9वीं बाइट पिछले सभी के सीआरसी कोड को पढ़ती है 8 बाइट्स, जिसका उपयोग सही संचार सुनिश्चित करने के लिए किया जा सकता है.

3. DS18B20 कार्य क्रम
DS18B20 का प्रथम-पंक्ति कार्यशील प्रोटोकॉल प्रवाह है: आरंभीकरण → ROM संचालन निर्देश → मेमोरी संचालन निर्देश → डेटा ट्रांसमिशन. इसके कार्य क्रम में आरंभीकरण अनुक्रम शामिल है, क्रम लिखें और क्रम पढ़ें, जैसा कि चित्र में दिखाया गया है 3 (ए) (बी) (सी).

(ए) आरंभीकरण क्रम
(सी) अनुक्रम पढ़ें

DS18B20 और माइक्रोप्रोसेसर का विशिष्ट कनेक्शन सर्किट आरेख

DS18B20 और माइक्रोप्रोसेसर का विशिष्ट कनेक्शन सर्किट आरेख

आकृति 3, DS18B20 कार्य अनुक्रम आरेख

4. DS18B20 और सिंगल-चिप माइक्रो कंप्यूटर का विशिष्ट इंटरफ़ेस डिज़ाइन
आकृति 4 DS18B20 और माइक्रोप्रोसेसर के बीच विशिष्ट संबंध बनाने के लिए उदाहरण के रूप में MCS-51 श्रृंखला सिंगल-चिप माइक्रो कंप्यूटर लेता है. चित्र में 4 (ए), DS18B20 परजीवी बिजली आपूर्ति मोड को अपनाता है, और इसके वीडीडी और जीएनडी टर्मिनल ग्राउंडेड हैं. चित्र में 4 (बी), DS18B20 बाहरी बिजली आपूर्ति मोड को अपनाता है, और इसका VDD टर्मिनल 3V~5.5V बिजली आपूर्ति द्वारा संचालित है.

ए) परजीवी बिजली आपूर्ति कार्य मोड
(बी) बाहरी बिजली आपूर्ति कार्य मोड

DS18B20 कार्य समय आरेख

DS18B20 कार्य समय आरेख

आकृति 4 DS18B20 और माइक्रोप्रोसेसर का विशिष्ट कनेक्शन आरेख

यह मानते हुए कि सिंगल-चिप माइक्रो कंप्यूटर सिस्टम द्वारा उपयोग की जाने वाली क्रिस्टल आवृत्ति 12MHz है, तीन सबरूटीन्स आरंभीकरण समय के अनुसार लिखे गए हैं, DS18B20 का समय लिखें और पढ़ें: INIT आरंभीकरण सबरूटीन है; WRITE लिखना है (आदेश या डेटा) सबरूटीन; READ रीड डेटा सबरूटीन है. सभी डेटा पढ़ना और लिखना निम्नतम बिट से शुरू होता है.

DATEQUP1.0
……
इस में:सीएलआरईए
आईएनआई10:सेटबडैट
MOVR2,#200
आईएनआई11:क्लर्डैट
DJNZR2,INI11; होस्ट 3μs×200=600μs के लिए एक रीसेट पल्स भेजता है
सेटबडैट; मेज़बान बस को छोड़ देता है, और पोर्ट लाइन को इनपुट में बदल दिया गया है
MOVR2,#30
IN12:DJNZR2,INI12; DS18B20 2μs×30=60μs की प्रतीक्षा करता है
सीएलआरसी
ओ.आर.एल.सी,वह; क्या DS18B20 डेटा लाइन कम है? (नाड़ी मौजूद है)?
जेसीआईएनआई10; DS18B20 तैयार नहीं है, पुनः आरंभ कर देगा
MOVR6, #80
आईएनआई13: ओ.आर.एल.सी, वह
जेसीआईएनआई14; DS18B20 डेटा लाइन ऊंची हो जाती है, आरंभीकरण सफल है
DJNZR6, आईएनआई13; डेटा लाइन निम्न स्तर 3μs × तक रह सकती है 80 = 240μs
SYMPINI10; आरंभीकरण विफल रहा, पुनः आरंभ करें
आईएनआई14: MOVR2, #240
IN15: DJNZR2, आईएनआई15; DS18B20 कम से कम 2μs × के लिए प्रतिक्रिया करता है 240 = 48 0μs
गीला करना

;------------------k
लिखना:सीएलआरईए
MOVR3,#8;कुंडली 8 टाइम्स, एक बाइट लिखें
WR11:सेटबडैट
MOVR4,#8
आरआरसीए;A से CY तक बिट चालें लिखें
क्लर्डैट
WR12:DJNZR4,WR12
;16μs प्रतीक्षा करें
MOVDAT,सी;कमांड शब्द को बिट दर बिट DS18B20 पर भेजा जाता है
MOVR4,#20
WR13:DJNZR4,WR1 3
; सुनिश्चित करें कि लिखने की प्रक्रिया 60μs तक चलती है
DJNZR3,WR11
; बाइट भेजने से पहले जारी रखें
सेटबडैट
गीला करना

;------------------
पढ़ना:सीएलआरईए
MOVR6,#8; कुंडली 8 टाइम्स, एक बाइट पढ़ें
आरडी11:क्लर्डैट
MOVR4,#4
एनओपी; निम्न स्तर 2μs तक रहता है
सेटबडैट; पोर्ट लाइन को इनपुट पर सेट करें
आरडी12:DJNZR4,RD12
; 8μs तक प्रतीक्षा करें
MOVC,इससे
;होस्ट DS18B20 के डेटा को थोड़ा-थोड़ा करके पढ़ता है
आरआरसीए;पढ़ा गया डेटा ए में ले जाया जाता है
MOVR5,#30
RD13:DJNZR5,RD13
;सुनिश्चित करें कि पढ़ने की प्रक्रिया 60μs तक चले
DJNZR6,RD11
;डेटा की एक बाइट पढ़ने के बाद, इसे A में संग्रहित करें
सेटबडैट
गीला करना
;------------------k
तापमान रूपांतरण को पूरा करने के लिए मेजबान को DS18B20 को नियंत्रित करने के लिए तीन चरणों से गुजरना होगा: प्रारंभ, ROM संचालन निर्देश, और मेमोरी संचालन निर्देश. तापमान रूपांतरण मान पढ़ने से पहले रूपांतरण शुरू करने के लिए DS18B20 को प्रारंभ किया जाना चाहिए. यह मानते हुए कि केवल एक चिप एक लाइन से जुड़ी है, डिफ़ॉल्ट 12-बिट रूपांतरण सटीकता का उपयोग किया जाता है, और एक बाहरी बिजली आपूर्ति का उपयोग किया जाता है, रूपांतरण पूरा करने और तापमान मान पढ़ने के लिए एक सबरूटीन GETWD लिखा जा सकता है.

प्रतिभाशाली:LCALINIT
कदम,#0CCH
एलकॉलराइट; स्किप ROM कमांड भेजें
कदम,#44एच
एलकॉलराइट; प्रारंभ रूपांतरण आदेश भेजें
LCALINIT
कदम,#0CCH; स्किप ROM कमांड भेजें
एलकॉलराइट
कदम,#0 BEH; रीड मेमोरी कमांड भेजें
एलकॉलराइट
एलकॉलरीड
MOVWDLSB,ए
; WDLSB को तापमान मान की निम्न बाइट भेजें
एलकॉलरीड
MOVWDMSB,ए
; WDMSB को तापमान मान की उच्च बाइट भेजें
गीला करना
……

सबरूटीन GETWD द्वारा पढ़ा गया तापमान मान का उच्च बाइट WDMSB इकाई को भेजा जाता है, और निम्न बाइट WDLSB इकाई को भेज दी जाती है. फिर तापमान मान बाइट और उसके साइन बिट के प्रतिनिधित्व प्रारूप के अनुसार, वास्तविक तापमान मान सरल परिवर्तन के माध्यम से प्राप्त किया जा सकता है.

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

हमने DS18B20 को सफलतापूर्वक लागू कर दिया है “घरेलू तापन स्नान” नियंत्रण प्रणाली हमने विकसित की. इसकी रूपांतरण गति तेज़ है, उच्च रूपांतरण सटीकता, और माइक्रोप्रोसेसर के साथ सरल इंटरफ़ेस ने हार्डवेयर डिज़ाइन कार्य में बहुत सुविधा प्रदान की है, लागत को प्रभावी ढंग से कम करना और विकास चक्र को छोटा करना.