در این پروژه یک دماسنج دیجیتال با استفاده از سنسور SMT160 و میکروکنترلر AVR توسط کامپایلر Bascom AVR و به زبان بیسیک راه اندازی شده است.
توجه: این پروژه به تنهایی جنبه کاربردی ندارد بلکه هدف از این پروژه ارائه روش راه اندازی سنسور دمای SMT160 می باشد تا بتوان از این سورس ها برای پروژه های کاربردی مانند ترمومتر و ترموستات استفاده کرد.
در این پروژه از میکروکنترلر ATMega32 استفاده شده است.
توصیه می شود که برای میکروکنترلرها یک کلید ریست نیز در نظر گرفته شود تا در صورت هنگ کردن میکروکنترلر بتوان از آن استفاده کرد. برای این کار از یک تک سوییچ مطابق شکل زیر استفاده شود:
اگر پایه ریست رها بماند ممکن است به علت نویز محیط، میکروکنترلر خود به خود ریست شود. برای جلوگیری از این حادثه آن را با یک مقاومت ۱۰K اهم به مثبت وصل می کنیم. حتی اگر قصد استفاده از کلید ریست را هم نداشته باشید، استفاده از این مقاومت الزامی است.
برای برنامه نویسی این پروژه مجبور به استفاده از تایمرهای داخلی میکروکنترلر هستیم. برای داشتن یک زمان دقیق نمی توان به اسیلاتور داخلی میکروکنترلر اعتماد کرد. برای همین از یک کریستال خارجی ۱۰MHz برای اسیلاتور میکروکنترلر استفاده شده است.
سنسور دمای استفاده شده در این پروژه SMT160 می باشد. مشخصات این سنسور از قرار زیر است:
تلورانس : ۰٫۷ درجه
توان مصرفی : کمتر از ۱ میلی وات
میزان خطی بودن خروجی ۰٫۲ درجه
سنسور دما – حرارت با خروجی دیجیتال
سهولت در استفاده همرمان از چند سنسور
رنج کاری دما : ۴۵- تا ۱۵۰+ درجه سانتی گراد
قابلیت اتصال مستقیم به مبکروکنترلرها بدون نیاز به مبدل A/D
مزیت این سنسور نسبت به سنسورهای آنالوگ دما نظیر LM35 این است که خروجی سنسور SMT160 دیجیتال و به صورت مدولاسیون عرض پالس (PWM) است و نیازی به مبدل آنالوگ به دیجیتال ندارد و همچنین خروجی CMOS آن باعث شده تا بتوان سنسور را با کابلی به طول ۲۰ متر به میکرو وصل کرد.
خروجی این سنسور از نوع پالس است و توسط اندازه گیری نسبت ۱ بودن پالس به عرض کل پالس می توان دما را به دست آورد (اندازه گیری عرض پالس توسط تایمرها انجام می شود).
برنامه این پروژه به روش ساب روتین نوشته شده است و جنبه آموزشی سورس این پروژه شامل نحوه کد نویسی نیز می شود.
جهت مشاهده سورس این پروژه اینجا کلیک کنید.
تابع های این پروژه از قرار زیر است:
۱٫ Display_lcd_start_text:
2. Read_SMT160:
3. Display_lcd_1:
1. نمایش یک متن دلخواه بر روی LCD در زمان شروع به کار سیستم.
۲٫ خواندن مقدار دما از سنسور SMT160
3. نمایش مقدار دما بر روی LCD
اهداف آموزشی:
. • آشنایی با LCD کاراکتری و نحوه راه اندازی آن
. • آشنایی با توابع مربوط به LCD
. • آشنایی با سنسور SMT160 و نحوه راه اندازی آن
محتویات فایل دانلود:
. • سورس برنامه با کامپایلر Bascom AVR
. • شماتیک رسم شده با نرم افزار پروتیوس
توجه: به علت عدم وجود سنسور SMT160 در پروتیوس، امکان شبیه سازی این پروژه در پروتیوس وجود نداشت.
جهت دانلود فایل های این پروژه اینجا کلیک کنید. ( ۱۷۸KB )
جهت دانلود دیتاشیت سنسور SMT160 اینجا کلیک کنید. ( ۲۵۳KB )