پیدا کردن سریال سنسور DS18B20

مقدمه:

     سنسور دمای دیجیتال DS18B20 یک سنسور دیجیتال دقیق و خوب با پروتکل 1wire برای اندازه‌گیری دمای منفی 55 تا 125 درجه سانتیگراد می‌باشد. این سنسور برای اتصال به میکرو فقط به یک سیم برای انتقال اطلاعات دما احتیاج دارد. البته همراه با تغذیه به 3 سیم نیاز است، هر چند می‌توان در مد parasite power با اتصال پایه‌های + و – سنسور به یکدیگر و اتصال آنها به زمین و اتصال دیتا با یک مقاومت پول آپ 4.7 کیلو به + تنها از دو سیم استفاده کرد. به هر روی این سنسور در حالت معمولی سه سیمه می‌تواند در انتهای کابلی به طول 20 متر و حتی بیشتر قرار گیرد و این ویژگی برای اندازه‌گیری دمای محیط‌های صنعتی مثل گلخانه‌ها و محیطهای کشت گزینه ساده، ارزان قیمت و البته دقیق به شمار می‌رود. (در مسافت های 20 متر و بیشتر در صورت بروز خطا بهتر است مقاومت pull up به 2.2 کیلو کاهش یابد).

 

اتصال چند سنسور به میکرو:

یکی از دغدغه‌های اصلی هنگام پایش دمای یک محیط، جمع آوری اطلاعات دمایی از نقاط مختلف است، به طور مثال در یک مجموعه ممکن است نیاز به پایش دمای 4 گلخانه و ارسال آنها به واحد مانیتورینگ داشته باشیم در این حالت نیاز است که 4 سنسور به میکروکنترلر متصل شود. یکی از ویژگیهای خوب سنسور دمای DS18B20 کد یکتای داخلی 64 بیتی منحصر به فرد یا لیزر کد برای هر سنسور می‌باشد، دقیقا مانند ریموت‎‌های کدلرن هر سنسور یک سریال نامبر منحصر به فرد دارد. در این مقاله یاد می‌گیریم که چگونه سریال نامبر یا آدرس سنسور را بخوانیم تا در برنامه‌های بعدی برای خواندن دمای هر سنسور از آدرس آن سنسور استفاده کنیم. در پست بعدی ان‌شاءالله نحوه خواندن دمای چند سنسور را آموزش خواهیم داد.

 

سخت افزار:

سنسور دمای DS18B20 را مطابق نقشه زیر به میکروکنترلر ATmega8A از خانواده AVR متصل کنید:

نقشه اتصال سنسور دمای DS18B20 به میکروکنترلر AVR
اتصال سنسور دمای DS18B20 به میکروکنترلر AVR

 

برنامه میکرو:

در این قسمت برنامه بسکام Bascom را برای دریافت آدرس سنسور مشاهده می‌فرمایید:

در برنامه بالا ابتدا نام و فرکانس میکروکنترلر (ATmega8A) معرفی شده سپس به پیکره‌بندی پایه‌های LCD 2*16 پرداخته‌ایم، بعد از آن پایه 1wire که به دیتای سنسور متصل می‌شود را برابر PORTB.1 قرار داده‌ایم. با دستور 1wsearchfirst اولین سنسور متصل به میکرو شناسایی شده و آدرس آن در آرایه 8 بایتی Reg_no قرار می‌گیرد. در قسمت آخر نیز سریال نامبر را به هگز تبدیل کرده و در خط پایین LCD نمایش می‌دهیم.

نتیجه‌گیری:

در این آموزش یادگرفتیم که چگونه آدرس سنسور DS18B20 را بدست آوریم، توجه داشته باشید که بعضی از سنسورهای فیک سریال ندارند و 16 عدد 00…00 را در خروجی مشاهده خواهید کرد. در پست بعدی به امید خدا نحوه خواندن دما از یک سنسور خاص از بین چند سنسور متصل به یک BUS را آموزش خواهیم داد.

 

منابع:

منبع 1

 

بازدیدها: 79