پروژه اندازه گیری دمای چند نقطه با استفاده از سنسور DS18B20 یا دماسنج دو سنسوره با DS18B20 و میکروکنترلر AVR یک پروژه کاربردی و ساده می باشد که از آن میتوانید برای اندازه گیری دمای محیط های مختلف استفاده کنید.
همچنین این مدار قابلیت توسعه دارد و میتوانید سنسور های زیادی را هم به مدار اضافه کنید و همه ی سنسور ها را از یک نقطه مانیتور کنید.
پروژه اندازه دمای چند نقطه بیشتر برای اندازه گیری دما در محیط های صنعتی استفاده می شود. و با استفاده از سنسور های صنعتی یا سنسور های معمولی که ضد آب و عایق شده اند برای اندازه گیری دما استفاده می شود.سنسور DS18B20 یکی از سنسور های دقیق و حساس برای اندازه گیری دما می باشد که توسط شرکت دالاس ارائه شده است. در این پروژه هدف اندازه گیری دمای دو نقطه می باشد بنابریان از دو عدد سنسور استفاده شده است. البته می توان سنسور ها را مانند شکل زیر عایق کرد و در محیط صنعتی استفاده کرد.
البته سیم های استفاده شده هم از نوع خیلی کم اهم هستند و و برای اندازه گیری دمای مایعات و … هم می توان استفاده کرد.در جاهایی مثل سالن های مرغ داری برای اندازه گیری دمای قسمت های مختلف سالن ، گلخانه ها برای اندازه گیری دماهای سالن ها و… با این پروژه می توان دما را اندازه گرفت البته این روزها با پیشرفت و ارزان تر شدن تکنولوژی بصورت بی سیم سنسور ها را بهم وصل می کنند.و اطلاعات سنسور های مختلف را در یک کنترلر مرکزی جمع می کنند و اطلاعات را پردازش و تصمیم های لازم را سیستم بصورت اتوماتیک می گیرد.
یکی از کاربردهای عملی این پروژه اندازه گیری دمای داخل و بیرون خودرو می باشد که با نصب دو عدد از این سنسور ها و یا سنسور های مشابه بطور همزمان هم دمای داخل و هم دمای بیرون خودرو و هم دمای داخل خودرو را در یک نمایشگر بطور همزمان مشاهده می کنند.
عکسی از عملکرد مدار دماسنج دو سنسوره با DS18B20 و میکروکنترلر AVR
در این عکس قبل از عکس گرفتن یکی از سنسور ها با دست کمی گرم شده تا اختلاف دمای سنسور ها به چشم بخورد…
سنسور های دمای دیگر : سنسور های دما DS18B20 , LM75 , LM35
سنسور DS18B20
ویژگی این سنسور این است که کاملاً دیجیتال و به شکل یک ترانزیستور 3 پایه می باشد که پایه 2 آن به یک مقاومت pullup به اندازه 4.7 کیلو به VCC وصل می شود و پایه 1 آن به زمین و پایه 3 آن هم به vcc وصل می شود. این سنسور از طریق همین پایه 2 با استفاده از پروتکل 1-WIRE عمل ارسال و دریافت دیتا را انجام می دهد. محدوده اندازه گیری دمای آن بین منفی 55- تا مثبت 125+ درجه سانتیگراد می باشد و از دقت بسیار بالایی در حدود 0.0625 درجه برخوردار است؛ که نسبت به کوچکترین تغییرات دما واکنش سریع از خود نشان می دهد.
پروتکل ارتباطی با این سنسور یک سیمه است و با یک سیم می توان تا 9 سنسور دیجیتال را راه اندازی کرد. طول سیم واسط بین سنسور و میکرو می تواند حداکثر 7 متر باشد. DS18B20 یک سنسور خیلی دقیق و عالی برای استفاده در پروژه هایی است که به دقت و اعتماد نیاز دارند. این سنسور یک گزینه مناسب برای استفاده در پروژه هایی مانند جوجه کشی؛ گلخانه ی کوچک ؛ تنظیم دمای محیط و موارد مشابه می باشد.
نکته : اگر میخواهید خودتان این پروژه را بسازید فایل های زیر را تهیه و بعد از چاپ برد و پرگرام کردن برنامه میکروکنترلر از آن استفاده کنید و همچنین اگر میخواهید میتوانید سورس برنامه را تغییر و در پروژه های دیگر نیز استفاده کنید.
نکته خیلی مهم برای همه ی پروژه ها : به فرکانس کاری میکروکنترلر دقت کنید ، از قسمت کانفیگ کدویژن به کلاک تنظیم شده برای برنامه دقت کنید. در این پروژه کلاک کاری را در برنامه نویسی روی 1 مگاهرتز تنظیم کردیم و نیازی نیست در میکروکنترلر فیوزبیت ها را تغییر بدید ولی در پروتئوس روی میکروکنترلر دوبار کلیک کرده و مقدار کلاک را روی 1مگاهرتز تنظیم کنید. همچنین اگر میکروکنترلرهای ATMEGA16,ATMEGA32 نو خریده باشید باید فیوز بیت JTAG آن را غیر فعال کنید تا بتونید از پورت C استفاده کنید در این پروژه نیز باید همین کار را انجام دهید.
مشخصات فایل های پروژه و نرم افزار های لازم
- فایل شماتیک پروژه بصورت PDF
- فایل شبیه سازی پروژه در نرم افزار پرتئوس
- فایل سورس برنامه نویسی میکروکنترلر در نرم افزار کدویژن به زبان C به میکروکنترلر AVR
- فایل برد مدار چاپی یا PCB طراحی شده در نرم افزار آلتیوم دیزاینر
اگر سوال تخصصی داشتین در قسمت نظرات ⇓ و یا قسمت پرسش و پاسخ بپرسید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
عالی عالی عالی
مرسی ….
خواهش میکنیم ، امیدواریم مطالب آموزشی برایتان مفید واقع شده باشن و از سورس پروژه ها استفاده کرده باشید.
سلام اگر بخواهم بجای ۲ سنسور ۸ سنسور بگذارم باید در برنامه چه تغییراتی اعمال کنم
سلام، در برنامه یک حلقه است که سنسور ها را میخونه و هر کدوم را در روی ال_سی_دی نشون میده داخل اون را باید طوری تغییر بدید که مقدار 8 سنسور را بشه روی یک ال سی دی نشون داد. خود مدار مشکلی ندارد از نظر تعداد سنسور به شرط اینکه در برنامه خط زیر را تغییر نداده باشید:
#define MAX_DS1820 8
تعداد سنسور ها را داخل متغییر ds1820_devices میریزد برنامه. شما فقط باید داخل حلقه را طوری تغییر بدید که بتونه 8 تا را روی یک نمایشگر نشون بده وگر نه احتمالا قاطی کنه. حلقه for داخل while را ببینید.
سلام . میشه لطفا در مورد کدی که نوشتید توضیح بدین . در واقع درون حلقه وایل رو توضیح بدید که temp/80 و temp%80 و char 233 چی هستن
سلام داخل حلقه خیلی ساده است، به ترتیب مواردی که گفتین :
temp/80 قسمت صحیح دما را جدا میکنه از دیتای خام.(باید دیتاشیت را ببینید).
temp%80 قسمت اعشار دما را را جدا میکنه.
char 233 هم علامت ” ‘ ” یا درجه را روی ال سی دی مینوسه بعد از دما و قبل از “C”
بازم سوالی بود در این قسمت مطرح کنید.
سلام
برای اینکه این مدار رو با mega32 راه اندازی کنم چه تغییراتی داخل برنامه یا pcb باید ایجاد کنم
سلام، کار سخت افزاری نیاز نیست انجام بدید فقط کدش و فایل پروژه کد را ویرایش کنید و به ATMEGA32 تبدیل کنید. در دو جا احتمالا تغییر نیازه یکی اول کد که INCLUDE شده و دیگری بعد از باز کردن پروژه با کدویژن در منو Project گزینه آخر Configure فک کنم برید میبینیدش.
داداش دستت درد نکنه اینکاری که گفتی و کردم اوکی شد فقط یه چیز دیگه
برای این که رزولیشن یا دقت سنسور هارو رو12 یا 11 بیت بخوام بزارم باید چیکار کنم
در میکروکنترلرهای AVR ای که من میشناسم و این مدار را ساختم ADC حداکثر 10 بیتی هستش. اگر برای پروژه دیگه نیاز دارین باید از یک میکروکنترلر دیگر استفاده کنید.
سلام و عرض ادب آقا میلاد
فایل مربوط به این پروژه و سنسورها و برد را از کجا میتونم تهبیه کنم؟
متشکرم
سلام
هیچ لینکی به ایمیلم ارسال نمیشه
مشکلش چیه
نمیشه دانلود کردش چرا
سایر قطعات چی هستش من فایل رو دانلود کردم اونجا نبود.
سلام،
آیا امکان ساخت دیتالاگر برای سنسورهای ds18b20 وجود دارد. امکان نمایش دما و ذخیره دما برای حدود 10 سنسور