سلام دوستان امیدواریم حالتون عالی باشه. در این آموزش، نگاهی به معرفی دقیق سنسور دیجیتال دمای DS18B20 خواهیم داشت. DS18B20یک سنسور دما است که می تواند دما را از -55oC تا +125oC با دقت +-5% اندازه گیری کند. از پروتکل 1 سیم پیروی می کند که دنیای دیجیتال را متحول کرده است. به دلیل پروتکل 1 سیم آن، می توانید چندین سنسور را از یک پایه میکروکنترلر کنترل کنید.

DS18B20 معمولاً در پروژه های صنعتی که دقت بالایی لازم است استفاده می شود. در این مقاله نگاهی به پایه ها، عملکرد، پروتکل آن خواهیم داشت. 

مقدمه ای بر DS18B20

DS18B20 یک سنسور دما دیجیتال است که از پروتکل 1 سیم پیروی می کند و می تواند دما را از -55oC تا +125oC (-67oF تا +257oF) با دقت +-5% اندازه گیری کند.

داده های دریافتی از تک سیم در محدوده 9 بیت تا 12 بیت است.

همانطور که DS18B20 از پروتکل 1 سیم پیروی می کند، بنابراین می توانیم این سنسور را از طریق یک پایه میکروکنترلر کنترل کنیم. (همچنین باید GND را نیز داشته باشیم)

پروتکل 1-wireیک پروتکل سطح پیشرفته است و هر DS18B20 دارای یک کد سریال 64 بیتی است که به کنترل چندین سنسور از طریق یک پایه میکروکنترلر کمک می کند.

به عبارت ساده، آدرس های مختلفی را به تمام سنسورهای متصل اختصاص می دهد و با فراخوانی آدرس، می توانید مقدار آن سنسور را دریافت کنید.

پایه های DS1820

DS18B20 در کل دارای 3 پایه است که عبارتند از:

پایه شماره 1: Vcc (ما باید 5 ولت را به این پایه اعمال کنیم).

پایه شماره 2: پین داده (این یک سیم است که از آنجا خواندن دما را دریافت خواهیم کرد).

پایه شماره 3: GND (ما باید به این پایه زمین تغذیه را متصل کنیم).

این تراشه در دو نوع بسته بندی موجود است، یکی ساده و دیگری ضد آب، هر دو نوع بسته بندی آنها در شکل زیر نشان داده شده است:

ویژگی های DS18B20

تمام ویژگی های DS18B20در جدول زیر ارائه شده است:

ردیف
پارامتر
نماد
مقدار
واحد
1.
منبع تغذیه
VDD
+3   to 5.5
V
2.
منبع تغذیه بالاکش
VPU
+3   to 5.5
V
3.
سطح منطقی پایین
VIL
-0.3   to +0.8
V
4.
سطح منطقی بالا
VIH
+2.2
V
5.
جریان سینک
IL
4.0
ma
6.
جریان آماده به کار
IDDS
750   to 1000
na
7.
جریان فعال
IDD
1   to 1.5
ma
8.
جریان   ورودی DQ
IDQ
 5
ua
9.
انحراف حرارتی
 
+-2
C
10.
زمان   سیکل نوشتن NV
tWR
 2   to 10
ms
11.
نوشتن   های EEPROM
NEEWR
50k
writes
12.
زمان   نگهداری داده های EEPROM
tEEDR
10
years
13
زمان تبدیل دما
tCONV
93.75
ms
14.
زمان برای بالاکش شدن در هنگام روشن شدن
tSPON
10
ms
15.
فاصله زمانی
tSLOT
120
us
16.
زمان بازیابی
TREC
1
us
17.
زمان   نوشتن 0
tLOW0
120
us
18.
زمان نوشتن 1
tLOW1
15
us
19
زمان   خواندن داده معتبر
tRDV
15
us
20.
زمان   بازنشانی سطح HIGH
tRSTH
480
us
21
زمان   بازنشانی سطح LOW
tRSTL
480
us
22.
حضور-تشخیص سطح بالا
tPDHIGH
60
us
23
حضور-تشخیص سطح پایین
tPDLOW
240
us
20.
خازن
CIN/OUT
25
pf

سیستم باس تک سیم

همانطور که قبلاً گفتیم سنسور DS18B20 از یک پروتکل تک سیمی پیروی می کند، بنابراین برای درک عملکرد آن، ابتدا باید نگاهی به این پروتکل بیندازیم.

مزیت اصلی پروتکل 1 سیم این است که می توانیم چندین دستگاه 1 سیم را از طریق یک پایه میکروکنترلر کنترل کنیم.

حتماً در مورد سیستم master-slave شنیده اید، که در آن 1 دستگاه اصلی می تواند همه دستگاه های فرعی را کنترل یا با آنها ارتباط برقرار کند.

پروتکل 1wire مشابه یک سیستم master-slave عمل می کند، که در آن میکروکنترلر به عنوان Master عمل می کند و تمام دستگاه های 1wire ما به عنوان مثال. DS18B20 به عنوان اسلیو (برده) عمل می کند.

اگر فقط یک دستگاه را به میکروکنترلر خود وصل کرده باشیم، چنین سیستمی یک قطره (drop) نامیده می شود، اما اگر چندین دستگاه 1 سیم را از طریق یک پین وصل کنیم، سیستم چند قطره (multidrop) نامیده می شود.

منبع تغذیه DS18B20

دو راه برای برقدار و روشن کردن سنسور دما DS18B20 وجود دارد که عبارتند از:

منبع تغذیه خارجی.

منبع تغذیه پارازیتی (انگلی).

منبع تغذیه خارجی DS18B20

در این روش با روش معمولی یعنی باتری یا آداپتور، برق DS18B20 را تامین می کنیم.

این روش برای دمای زیر 100+ درجه سانتیگراد قابل استفاده است.

مزیت اصلی این روش عدم وجود بار اضافی بر روی مقاومتی است که در این روش استفاده می شود و کار را به درستی انجام می دهد.

منبع تغذیه پارازیتی (انگلی)

در این روش نیازی به منبع تغذیه خاصی نداریم.

این روش برای دمای بیشتر از +100 سانتیگراد استفاده می شود.

در شرایط عادی، این روش جریان و ولتاژ کارآمدی را به DS18B20 می دهد

اما در کارهای ویژه هنگامی که DS18B20 مقدار دما را به دیجیتال تبدیل می کند، مقدار فعلی به مقداری افزایش می یابد که می تواند به مقاومت آسیب برساند.

برای محدود کردن جریان در صرفه جویی در مقدار و عملکرد خوب DS18B20، لازم است از pull up mosfet استفاده کنید.

از آنجایی که فقط برای مقدار دمای خاص استفاده می شود، ما از منبع تغذیه خارجی استفاده می کنیم.

عملکرد DS18B20

این سنسور بر اساس اصل تبدیل مستقیم دما به مقدار دیجیتال کار می کند.

ویژگی های اصلی آن تغییر اعداد بیت آن با توجه به تغییر دما است

مثلاً با تغییر دما در مقادیر 0.5 درجه سانتیگراد، 0.25 درجه سانتیگراد، 1.25 و 0.0625 درجه سانتیگراد جایگاه بیت های در 9. 10، 11 و 12 به ترتیب تغییر می کند.

مقدار بیت های پیش فرض آن 12 بیت است اما با توجه به تغییر دما مقادیر را تغییر و کاهش می دهد

نقشه حافظه DS18B20

این تراشه کوچک دو نوع حافظه دارد.   یکی SRAM و دیگری EEPROM است.

SRAM یک حافظه فرار است و فقط در شرایط برقدار بودن اطلاعات را نگه می دارد.

EEPROM یک حافظه غیر فرار است که داده ها را در حالت خاموش ذخیره می کند.

EEPROM همچنین دارای تحریک هشدار کم و زیاد است.

برای درک بهتر نقشه حافظه DS18B20 به تصاویر نگاه کنید تا ایده بهتری از نقشه حافظه آن داشته باشید.

دستورات عملکردی DS18B20

دستورات عملکردی این سنسور اجازه می دهد تا داده ها را از روی حافظه DS18B20 بخوانند و یا روی آن بنویسند. 

Convert T[44h]: این دستور تبدیل تک دما را شروع می کند.

Write scratched Pad [4Eh]: در این دستور می توانیم داده ها را روی حافظه DS18B20 تا سه بایت بنویسیم. ابتدا داده ها در حداقل چند بیت منتقل می شوند.

Read Scratched Pad[BEh]: در این دستور می‌توانیم داده‌های حافظه کوچک و سریع DS18B20 را بخوانیم.

Copy Scratchpad [48h]: این فرمان داده ها را از حافظه کوچک و سریع فراخوانده و داده ها را در 2، 3 و 4 بایت به EEPROM ارسال می کند.

Read Power Supply [B4h]: این دستور در مورد حالت منبع تغذیه DS18B20 می گوید.

کاربردهای DS18B20

DS18B20 برای اندازه گیری دما استفاده می شود. برخی از کاربردهای DS18B20 به شرح زیر است:

می توانیم از آن در سیستم کنترل ترموستات استفاده کنیم.

می توان از آن در صنایع به عنوان دستگاه اندازه گیری دما استفاده کرد.

می توان از آن به عنوان دماسنج استفاده کرد.

می توانیم آن را در دستگاه های حساس به حرارت استفاده کنیم.

همچنین می تواند در سیستم های HVAC استفاده شود.