معرفی دانش سنسور دما DS18B20
DS18B20 یک سنسور دمای دیجیتال رایج است. سیگنال های دیجیتال را خروجی می دهد, دارای ویژگی های اندازه کوچک است, سربار سخت افزار کم, توانایی ضد تداخل قوی, دقت بالا, و به طور گسترده مورد استفاده قرار می گیرد.
معرفی سنسور دما DS18B20
ویژگی های فنی:
①. حالت رابط تک سیم منحصر به فرد. هنگامی که DS18B20 به یک ریزپردازنده متصل است, فقط 1 سیم برای برقراری ارتباط دو طرفه بین ریزپردازنده و DS18B20 مورد نیاز است.
②. محدوده اندازه گیری دما -55 ℃ ~ 125 ℃, خطای ذاتی اندازه گیری دما 1℃.
③. پشتیبانی از عملکرد شبکه چند نقطه ای. چند DS18B20 را می توان به صورت موازی روی تنها سه سیم متصل کرد, و حداکثر 8 را می توان به صورت موازی وصل کرد تا اندازه گیری دمای چند نقطه ای را انجام دهد. اگر تعداد خیلی زیاد باشد, ولتاژ منبع تغذیه خیلی کم خواهد بود, منجر به انتقال سیگنال ناپایدار می شود.
④. منبع تغذیه کار: 3.0~5.5V/DC (می توان از منبع تغذیه انگلی خط داده استفاده کرد).
⑤. در حین استفاده نیازی به اجزای جانبی نیست.
⑥. نتایج اندازه گیری به صورت سریال در فرم دیجیتال 9 تا 12 بیتی ارسال می شود.
⑦. قطر لوله محافظ فولاد ضد زنگ Φ6 است.
⑧. برای اندازه گیری دما خطوط لوله صنعتی متوسط مختلف DN15~25 مناسب است, DN40~DN250 و تجهیزات در فضاهای باریک.
⑨. رزوه های نصب استاندارد M10X1, M12X1.5, G1/2 اینچ اختیاری هستند.
⑩. کابل پی وی سی مستقیماً متصل است یا جعبه اتصال توپی آلمانی متصل است, که برای اتصال با سایر تجهیزات الکتریکی مناسب است.
DS18B20 خواندن و نوشتن زمان و اصل اندازه گیری دما:
اصل اندازه گیری دما DS18B20 در شکل نشان داده شده است 1. فرکانس نوسان نوسانگر کریستالی با ضریب دمای پایین در شکل کمی تحت تأثیر دما است., و برای تولید یک سیگنال پالس فرکانس ثابت برای ارسال به شمارنده استفاده می شود 1. فرکانس نوسان نوسانگر کریستالی با ضریب دمای بالا به طور قابل توجهی با دما تغییر می کند, و سیگنال تولید شده به عنوان ورودی پالس شمارنده استفاده می شود 2. شمارنده 1 و رجیستر دما به مقدار پایه مربوط به -55 درجه از پیش تنظیم شده است. شمارنده 1 سیگنال پالس تولید شده توسط نوسانگر کریستالی ضریب دمای پایین را کم می کند. هنگامی که مقدار از پیش تعیین شده شمارنده 1 به کاهش می یابد 0, مقدار ثبت دما افزایش می یابد 1, و پیش تنظیم شمارنده 1 دوباره بارگذاری خواهد شد. شمارنده 1 برای شمارش سیگنال پالس تولید شده توسط نوسانگر کریستالی با ضریب دمای پایین دوباره راه اندازی می شود., و چرخه تا شمارنده ادامه می یابد 2 به حساب می آید 0, توقف تجمع مقدار ثبت دما. در این زمان, مقدار در رجیستر دما، دمای اندازه گیری شده است. آکومولاتور شیب برای جبران و تصحیح غیرخطی بودن در فرآیند اندازه گیری دما استفاده می شود., و خروجی آن برای تصحیح مقدار از پیش تعیین شده شمارنده استفاده می شود 1.
رقم 1 به شرح زیر است:
2. DS18B20 و نمودار اتصال MCU
3. تعریف پین DS18B20:
DQ: ورودی/خروجی داده. رابط 1 سیم تخلیه را باز کنید. همچنین می تواند هنگام استفاده در حالت VDD قدرت انگلی، برق دستگاه را تامین کند: منبع تغذیه مثبت GND: زمین برق 4. مقدمه تحلیل داخلی DS18B20:
شکل بالا بلوک دیاگرام DS18B20 را نشان می دهد, و رام 64 بیتی کد سریال منحصر به فرد دستگاه را ذخیره می کند. حافظه بافر شامل 2 بایت های ثبت دما که خروجی دیجیتال سنسور دما را ذخیره می کند. علاوه بر این, حافظه بافر دسترسی به رجیسترهای زنگ هشدار بالا و پایین 1 بایتی را فراهم می کند (TH و TL) و رجیسترهای پیکربندی 1 بایتی. ثبت پیکربندی به کاربر این امکان را می دهد که وضوح دما را به تبدیل دیجیتالی تنظیم کند 9, 10, 11, یا 12 بیت ها. TH, TL, و رجیسترهای پیکربندی غیر فرار هستند (EEPROM), بنابراین وقتی دستگاه خاموش می شود، داده ها را حفظ می کنند. DS18B20 از پروتکل گذرگاه 1 سیم منحصر به فرد Maxim استفاده می کند, که از سیگنال کنترلی استفاده می کند. خط کنترل به یک مقاومت کششی ضعیف نیاز دارد زیرا همه دستگاه ها از طریق یک پورت 3 حالته یا درین باز به گذرگاه متصل می شوند. (پین DQ در مورد DS18B20). در این سیستم اتوبوس، ریزپردازنده (استاد) از یک کد 64 بیتی منحصر به فرد برای هر دستگاه استفاده می کند. زیرا هر دستگاه دارای یک کد منحصر به فرد است, تعداد دستگاه هایی که می توان در یک اتوبوس آدرس دهی کرد تقریبا نامحدود است.
فرمت ثبت دما
رابطه دما/داده
سیگنال هشدار عملیات
بعد از اینکه DS18B20 تبدیل دما را انجام داد, مقدار دما را با مقدار ماشه زنگ مکمل تعریف شده توسط کاربر که در رجیسترهای TH و TL 1 بایتی ذخیره شده است مقایسه می کند.. بیت علامت نشان دهنده مثبت یا منفی بودن مقدار است: S=0 مثبت, منفی S=1. رجیسترهای TH و TL غیر فرار هستند (EEPROM) و بنابراین هنگام خاموش شدن دستگاه فرار نیستند. TH و TL از طریق بایت قابل دسترسی هستند 2 وت 3 از خاطره.
فرمت ثبت TH و TL:
نمودار شماتیک تغذیه DS18B20 با استفاده از منبع تغذیه خارجی
64-کد حافظه فقط خواندنی لیزر بیتی:
هر DS18B20 حاوی یک کد 64 بیتی منحصر به فرد است که در ROM ذخیره شده است. کم اهمیت ترین 8 بیت های کد ROM حاوی کد خانواده تک سیم DS18B20 است: 28ساعت. بعدی 48 بیت ها حاوی یک شماره سریال منحصر به فرد هستند. مهم ترین 8 بیت ها حاوی یک بررسی افزونگی چرخه ای هستند (CRC) بایت, که از اول محاسبه می شود 56 بیت های کد رام.
نقشه حافظه DS18B20
ثبت پیکربندی:
رقم 2
بایت 4 حافظه حاوی رجیستر پیکربندی است, که مطابق شکل سازماندهی شده است 2. کاربر می تواند رزولوشن تبدیل DS18B20 را با استفاده از بیت های R0 و R1 در اینجا تنظیم کند همانطور که در جدول نشان داده شده است. 2. پیشفرض روشن کردن این بیتها R0 = است 1 و R1 = 1 (12-وضوح بیت). توجه داشته باشید که رابطه مستقیمی بین وضوح و زمان تبدیل وجود دارد. بیت 7 و بیت ها 0 به 4 در رجیستر پیکربندی برای استفاده داخلی دستگاه محفوظ است و قابل بازنویسی نیست.
جدول 2 پیکربندی وضوح دماسنج
نسل CRC
بایت CRC بخشی از کد ROM 64 بیتی DS18B20 است و در بایت نهم اسکرچ پد ارائه شده است.. کد رام CRC از اول محاسبه می شود 56 بیت از کد ROM است و در مهم ترین بایت ROM موجود است. Scratchpad CRC بر اساس داده های ذخیره شده در Scratchpad محاسبه می شود, بنابراین زمانی که دادههای اسکراچپد تغییر میکند، تغییر میکند. CRC روشی برای تأیید داده ها هنگام خواندن داده ها از DS18B20 به میزبان گذرگاه ارائه می دهد.. پس از اطمینان از اینکه داده ها به درستی خوانده شده اند, گذرگاه اصلی باید CRC را از داده های دریافتی دوباره محاسبه کند و سپس آن مقدار را با کد ROM CRC مقایسه کند. (برای خواندن رام) یا Scratchpad CRC (برای خواندن صفحه اسکرچ). اگر CRC محاسبه شده با CRC خوانده شده مطابقت داشته باشد, داده ها به درستی دریافت شده است. تصمیم برای مقایسه مقادیر CRC و ادامه کار کاملاً در اختیار استاد اتوبوس است. هیچ مداری در داخل DS18B20 وجود ندارد که از اجرای یک دنباله فرمان جلوگیری کند.:
DS18B20 CRC (رام یا اسکرچ پد) با مقدار تولید شده توسط bus master مطابقت ندارد.
تابع چند جمله ای معادل برای CRC است:
CRC = X8 + X5 + X4 + 1
باس اصلی می تواند CRC را دوباره محاسبه کند و آن را با مقدار CRC DS18B20 مقایسه کند.:
مولد چند جمله ای در شکل نشان داده شده است 3. مدار شامل یک شیفت رجیستر و گیت yihuo است, و بیت های رجیستر شیفت به مقدار دهی اولیه می شوند 0. کم اهمیت ترین بیت کد ROM یا کم اهمیت ترین بیت بایت 0 در Scratchpad باید یک به یک به Shift Register منتقل شود. پس از جابجایی در بیت 56 از رام یا مهم ترین بیت بایت 7 از صفحه خراش, مولد چند جمله ای حاوی CRC محاسبه شده مجدد خواهد بود. طرف دیگر, کد ROM 8 بیتی یا سیگنال CRC در اسکرچ پد DS18B20 باید به مدار منتقل شود. در این مرحله, اگر CRC دوباره محاسبه شده صحیح باشد, شیفت رجیستر تمام 0 ها خواهد بود.
رقم 3: ژنراتور CRC
حرفهای. دسترسی به DS18B20:
ترتیب دسترسی به DS18B20 به شرح زیر است:
مرحله 1. شروع;
مرحله 2. دستور رام (به دنبال آن هرگونه تبادل اطلاعات لازم);
مرحله 3. دستور عملکرد DS18B20 (به دنبال آن هرگونه تبادل اطلاعات لازم);
توجه داشته باشید: هر بار که به DS18B20 دسترسی پیدا می کنید، این ترتیب دنبال می شود, زیرا DS18B20 در صورت گم شدن یا از کار افتادن هر مرحله از ترتیب پاسخ نمی دهد. استثنای این قانون رام جستجو است [F0h] و جستجوی زنگ هشدار [اچ] دستورات. پس از صدور این دو دستور رام, میزبان باید به مرحله بازگردد 1 به ترتیب.
(مقدمه فوق از کتابچه راهنمای رسمی ترجمه شده است)
دستور ROM
1, رام را بخوانید [33ساعت]
2, رام را مطابقت دهید [55ساعت]
3, رام را رد کنید [CCH]
4, جستجوی زنگ هشدار [اچ]
فرمان عملکرد DS18B20
1, تبدیل دما [44ساعت]
2, Scratchpad را بنویسید (حافظه) [4هه]
3, Scratchpad را بخوانید (حافظه) [BEh]
4, Scratchpad را کپی کنید (حافظه [48ساعت]
5, E2 را دوباره بیدار کنید [B8h]
6, پاور را بخوانید [B4h]
(برای توضیح دقیق دستورات بالا, دفترچه راهنمای رسمی را ببینید)
VI. به زمان بندی DS18B20 دسترسی پیدا کنید
در طول فرآیند اولیه سازی, استاد اتوبوس یک پالس تنظیم مجدد ارسال می کند (TX) سطح پایین برای حداقل 480 میکرو ثانیه با کشیدن باس 1-Wire. سپس, استاد اتوبوس اتوبوس را آزاد می کند و وارد حالت دریافت می شود (RX). بعد از رها کردن اتوبوس, مقاومت کششی 5kΩ گذرگاه 1-Wire را بالا می کشد. وقتی DS18B20 این لبه بالارونده را تشخیص دهد, 15µs تا 60µs صبر می کند و سپس با پایین کشیدن گذرگاه 1-Wire برای 60µs تا 240µs یک پالس حضور ارسال می کند..
زمان بندی اولیه:
دو نوع فاصله زمانی نوشتن وجود دارد: “بنویسید 1” شکاف های زمانی و “0 بنویس” شکاف های زمانی. اتوبوس از یک Write استفاده می کند 1 زمان برای نوشتن یک منطق 1 به DS18B20 و نوشتن 0 زمان برای نوشتن یک منطق 0 به DS18B20. تمام شکافهای زمان نوشتن باید حداقل 60 میکرو ثانیه با زمان بازیابی حداقل 1 میکرو ثانیه بین شکافهای زمان نوشتن جداگانه باشند.. هر دو نوع شکاف های زمان نوشتن توسط استادی که گذرگاه 1-Wire را پایین می کشد، آغاز می شود (شکل را ببینید 14). برای ایجاد یک Write 1 شکاف زمانی, پس از پایین کشیدن باس 1-Wire, استاد اتوبوس باید گذرگاه 1-Wire را در عرض 15 µs آزاد کند. بعد از رها کردن اتوبوس, مقاومت کششی 5kΩ اتوبوس را به سمت بالا می کشد. a ایجاد کنید
بنویسید 0 شکاف زمانی, پس از پایین کشیدن خط 1-Wire, استاد اتوبوس باید در طول مدت زمان شکاف، اتوبوس را پایین نگه دارد (حداقل 60µs). DS18B20 از گذرگاه 1-Wire در پنجره ای بین 15 میکروثانیه تا 60 میکروثانیه پس از شروع شکاف زمان نوشتن توسط Master نمونه برداری می کند.. اگر اتوبوس در طول پنجره نمونه برداری بالا باشد, بوها 1 روی DS18B20 نوشته شده است. اگر خط پایین باشد, بوها 0 روی DS18B20 نوشته شده است.
توجه داشته باشید: Timeslot بخشی از خود مالتیپلکس سازی سریال اطلاعات اسلات زمانی است که به یک کانال اختصاص داده شده است..
رقم 14 به شرح زیر است:
بازه زمانی را بخوانید:
DS18B20 تنها زمانی میتواند دادهها را به میزبان ارسال کند که میزبان یک شکاف زمانی خواندن صادر کند. از این رو, میزبان باید بلافاصله پس از صدور فرمان Read Memory یک شکاف زمانی برای خواندن ایجاد کند [BEh] یا یک منبع تغذیه Read [B4h] دستور دهید تا DS18B20 داده های مورد نیاز را ارائه دهد. به صورت جایگزین, میزبان می تواند پس از صدور تبدیل T، یک شکاف زمانی برای خواندن ایجاد کند [44ساعت] یا E2 را به یاد بیاورید [B8h] دستور برای اطلاع از وضعیت. تمام شکاف های زمانی خواندن باید حداقل 60 میکرو ثانیه در مدت زمان با حداقل زمان بازیابی 1 میکرو ثانیه بین بازه های زمانی باشد.. یک شکاف زمانی خواندن با پایین کشیدن گذرگاه 1 سیم به سمت پایین برای پایین نگه داشتن آن برای حداقل 1 µs و سپس رها کردن گذرگاه آغاز می شود. (شکل را ببینید 14). پس از اینکه استاد یک شکاف زمانی خواندن را آغاز کرد, DS18B20 شروع به ارسال 1 یا 0 در اتوبوس خواهد کرد. DS18B20 یک را ارسال می کند 1 با بالا نگه داشتن اتوبوس و ارسال الف 0 با پایین کشیدن اتوبوس. وقتی یک 0 ارسال می شود, DS18B20 با بالا نگه داشتن اتوبوس، اتوبوس را آزاد می کند. شکاف زمانی به پایان می رسد و باس توسط مقاومت pull-up به حالت بیکار بالا کشیده می شود..
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt
















