تكنولوجيا استشعار درجة الحرارة

تصميم وظيفة قياس درجة الحرارة لمستشعر درجة الحرارة الرقمية DS18B20

وظيفة قياس درجة الحرارة لمستشعر درجة الحرارة الرقمية DS18B20

DS18B20 هو مستشعر درجة حرارة رقمية 1 سلك من إنتاج دالاس, مع حزمة صغيرة من 92 إلى 92. نطاق قياس درجة الحرارة هو -55 ℃ ~+125 ℃, ويمكن برمجتها إلى دقة تحويل A/D بحجم 12 بت ~. يمكن أن تصل دقة قياس درجة الحرارة إلى 0.0625 ℃, ودرجة الحرارة المقاسة هي الناتج التسلسلي في شكل كمية رقمية 16 بت مع امتداد الإشارة. يمكن تقديم مصدر الطاقة العام. يمكن توصيل عدة DS18B20s بالتوازي مع 3 أو 2 خطوط. تحتاج وحدة المعالجة المركزية فقط إلى خط منفذ واحد للتواصل مع العديد من DS18B20s, احتلال أقل منافذ المعالجات الدقيقة, والتي يمكن أن توفر الكثير من العملاء المتوقعين والدوائر المنطقية. الخصائص المذكورة أعلاه تجعل DS18B20 مناسبة جدًا لأنظمة الكشف عن درجة حرارة متعدد النقاط لمسافات طويلة.

وظيفة قياس درجة الحرارة لمستشعر درجة الحرارة الرقمية DS18B20

وظيفة قياس درجة الحرارة لمستشعر درجة الحرارة الرقمية DS18B20

2. الهيكل الداخلي لمخطط دائرة DS18B20 DS18B20
يوضح الشكل الهيكل الداخلي لـ DS18B20 1, الذي يتكون أساسا من 4 أجزاء: 64-قليلا روم, مستشعر درجة الحرارة, إنذار درجة الحرارة غير المتطابق يثير TH و TL, وسجلات التكوين. يظهر ترتيب دبوس DS18B20 2. DQ هي محطة إدخال/إخراج الإشارة الرقمية; GND هو أرض السلطة; VDD هي محطة إدخال إمدادات الطاقة الخارجية (ترتكز على وضع أسلاك الطاقة الطفيلي, انظر الشكل 4).

تم تصوير الرقم التسلسلي 64 بت في ROM قبل مغادرة المصنع. يمكن اعتباره رمز تسلسل العنوان لـ DS18B20. الرقم التسلسلي 64 بت من كل DS18B20 مختلف. رمز فحص التكرار الدوري (CRC = x8 + x5 + x4 + 1) من ذاكرة القراءة فقط 64 بت مرتبة. دور ROM هو جعل كل DS18B20 مختلفًا, بحيث يمكن توصيل عدة DS18B20s بحافلة واحدة.

الهيكل الداخلي لرقاقة 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

قيمة درجة الحرارة المنخفضة بايت
MSBLSB
س
س
س
س
س
22
25
24

قيمة درجة الحرارة بايت مرتفع
إنذار درجة الحرارة العالي والمنخفض يثير TH و TL, ويتكون سجل التكوين من بايت واحد من EEPROM. يمكن استخدام أمر وظيفة الذاكرة للكتابة إلى ال, TL, أو سجل التكوين. تنسيق سجل التكوين كما يلي:

0
R1
R0
1
1
1
1
1
MSBLSB

يحدد R1 و R0 عدد أرقام الدقة لتحويل درجة الحرارة: R1R0 = “00”, 9-دقة بت, الحد الأقصى لوقت التحويل هو 93.75ms; R1R0 = “01”, 10-دقة بت, الحد الأقصى لوقت التحويل هو 187.5 مللي ثانية. R1R0 = “10”, 11-دقة بت, الحد الأقصى لوقت التحويل هو 375 مللي ثانية. R1R0 = “11”, 12-دقة بت, الحد الأقصى لوقت التحويل هو 750 مللي ثانية. الافتراضي هو دقة 12 بت عندما لا يتم برمجتها.

السجل عالي السرعة هو ذاكرة 9 بايت. تحتوي البايتتين الأولين على المعلومات الرقمية لدرجة الحرارة المقاسة; الثالث, 4ذ, والبايت الخامس نسخ مؤقتة من ال, TL, وسجلات التكوين, على التوالى, ويتم تحديثها في كل مرة تحدث فيها إعادة ضبط الطاقة; السادس, 7ذ, ولا يتم استخدام البايتات الثامنة ويتم تمثيلها كجميع المنطق 1s; يقرأ البايت التاسع رمز اتفاقية حقوق الطفل لجميع الأوقات السابقة 8 بايت, التي يمكن استخدامها لضمان الاتصال الصحيح.

3. DS18B20 تسلسل العمل
تدفق بروتوكول العمل في الخط الأول لـ DS18B20: التهيئة ← تعليمات تشغيل ROM ← تعليمات تشغيل الذاكرة ← نقل البيانات. يتضمن تسلسل عمله تسلسل التهيئة, اكتب التسلسل وقراءة التسلسل, كما هو مبين في الشكل 3 (أ) (ب) (ج).

(أ) تسلسل التهيئة
(ج) قراءة التسلسل

مخطط دائرة الاتصال النموذجي لـ DS18B20 والمعالج الدقيق

مخطط دائرة الاتصال النموذجي لـ DS18B20 والمعالج الدقيق

شكل 3, DS18B20 مخطط تسلسل العمل

4. تصميم الواجهة النموذجي لـ DS18B20 و Microcpuster أحادي الشرق
شكل 4 يأخذ الحواسيب الدقيقة أحادية الرقاقة من سلسلة MCS-51 كمثال لرسم الاتصال النموذجي بين DS18B20 والمعالج الدقيق. في الشكل 4 (أ), يعتمد DS18B20 وضع مزود الطاقة الطفيلي, ومحطات VDD و GND لها ترتكز. في الشكل 4 (ب), يعتمد DS18B20 وضع إمداد الطاقة الخارجي, ومحطة VDD الخاصة بها مدعومة بمصدر طاقة 3V ~ 5.5 فولت.

أ) وضع عمل إمداد الطاقة الطفيلي
(ب) وضع عمل إمداد الطاقة الخارجي

DS18B20 مخطط توقيت العمل

DS18B20 مخطط توقيت العمل

شكل 4 رسم تخطيطي للاتصال النموذجي لـ DS18B20 والمعالج الدقيق

على افتراض أن التردد البلوري الذي يستخدمه نظام الحواسيب الدقيقة أحادية الشرق هو 12 ميجا هرتز, تتم كتابة ثلاث روتين فرعي وفقًا لتوقيت التهيئة, اكتب التوقيت وقراءة توقيت DS18B20: init هو الروتين الفرعي التهيئة; الكتابة هي الكتابة (أمر أو بيانات) روتين فرعي; القراءة هي روتين قراءة البيانات. جميع قراءة البيانات والكتابة تبدأ من أدنى بت.

Datequp1.0
.......
init:Clrea
متحد:setbdat
MOVR2 ، # 200
INI11:clrdat
DJNZR2 ، INI11; يرسل المضيف نبض إعادة تعيين ل 3μs × 200 = 600μs
setbdat; المضيف يطلق الحافلة, ويتم تغيير خط المنفذ إلى الإدخال
MOVR2 ، # 30
in12:djnzr2 ، ini12; DS18B20 ينتظر 2μs × 30 = 60μs
CLRC
orlc,الذي - التي; هو انخفاض خط بيانات DS18B20 (النبض موجود)?
JCini10; DS18B20 ليس جاهزًا, إعادة تخصيص
movr6, #80
INI13: orlc, الذي - التي
JCini14; خط بيانات DS18B20 يرتفع, التهيئة ناجحة
DJNZR6, INI13; يمكن أن يستمر مستوى خط البيانات المنخفض لـ 3μs × 80 = 240ms
SJMPINI10; فشل التهيئة, إعادة تشغيل
INI14: MODR2, #240
in15: DJNZR2, NI15; يستجيب DS18B20 لما لا يقل عن 2μs × 240 = 48 0μs
RET

;-------------------------
يكتب:Clrea
MOVR3 ، # 8;حلقة 8 مرات, اكتب بايت
WR11:setbdat
Movr4 ، # 8
RRCA;اكتب تحركات بت من A إلى CY
clrdat
WR12:DJNZR4 ، WR12
;انتظر 16μs
Movdat,ج;يتم إرسال كلمة الأمر إلى DS18B20 بت
Movr4 ، # 20
WR13:DJNZR4 ، WR1 3
; تأكد من أن عملية الكتابة تستمر لمدة 60 عامًا
DJNZR3 ، WR11
; تابع قبل إرسال بايت
setbdat
RET

;------------------------
يقرأ:Clrea
Movr6 ، # 8; حلقة 8 مرات, اقرأ بايت
RD11:clrdat
Movr4 ، # 4
نوب; المستوى المنخفض يستمر ل 2μs
setbdat; اضبط خط المنفذ على الإدخال
RD12:DJNZR4 ، RD12
; انتظر 8μs
MOVC,من ر
;يقرأ المضيف بيانات DS18B20 بت
RRCA;يتم نقل بيانات القراءة إلى
Movr5 ، # 30
RD13:DJNZR5,RD13
;تأكد من أن عملية القراءة تدوم 60μs
DJNZR6 ، RD11
;بعد قراءة بايت من البيانات, تخزينه في
setbdat
RET
;-------------------------
يجب أن يمر المضيف بثلاث خطوات للتحكم في DS18B20 لإكمال تحويل درجة الحرارة: التهيئة, تعليمات تشغيل ROM, وتعليمات تشغيل الذاكرة. يجب أن تبدأ DS18B20 لبدء التحويل قبل قراءة قيمة تحويل درجة الحرارة. على افتراض أن شريحة واحدة فقط متصلة بخط واحد, يتم استخدام دقة التحويل الافتراضية 12 بت, ويتم استخدام مصدر طاقة خارجي, يمكن كتابة روتين فرعي getwd لإكمال التحويل وقراءة قيمة درجة الحرارة.

موهوب:lcallinit
موفا,# 0cch
lcallwrite; أرسل أمر تخطي ROM
موفا,# 44H
lcallwrite; إرسال أمر التحويل البدء
lcallinit
موفا,# 0cch; أرسل أمر تخطي ROM
lcallwrite
موفا,# 0BH; أرسل أمر قراءة الذاكرة
lcallwrite
lcallread
movwdlsb,أ
; إرسال بايت منخفض من قيمة درجة الحرارة إلى WDLSB
lcallread
movwdmsb,أ
; إرسال بايت مرتفع من قيمة درجة الحرارة إلى WDMSB
RET
.......

يتم إرسال البايت المرتفع لقيمة درجة الحرارة التي يقرأها الروتين الفرعي إلى وحدة WDMSB, ويتم إرسال البايت المنخفض إلى وحدة WDLSB. ثم وفقًا لتنسيق تمثيل بايت قيمة درجة الحرارة وبتته, يمكن الحصول على قيمة درجة الحرارة الفعلية من خلال التحول البسيط.

إذا تم توصيل العديد من DS18B20 على سطر واحد, تم اعتماد وضع اتصال إمداد الطاقة الطفيلي, تكوين دقة التحويل, الإنذار العالي والمنخفض, إلخ. مطلوب. ثم ستكون كتابة روتين فرعي getwd أكثر تعقيدًا. بسبب قيود المساحة, لن يتم وصف هذا القسم بالتفصيل. يرجى الرجوع إلى المحتوى ذي الصلة.

لقد طبقنا بنجاح DS18B20 على “حمام التدفئة المنزلية” نظام التحكم الذي قمنا بتطويره. سرعة التحويل السريعة, دقة تحويل عالية, واجهت واجهة بسيطة مع المعالج الدقيق راحة كبيرة لأعمال تصميم الأجهزة, تقليل التكاليف بشكل فعال وتقصير دورات التطوير.