پروژه AVR کنترل دمای کولر با سنسور LM35

10

در این پروژه AVR با استفاده از سنسور دمای LM35 و میکروکنترلر ATmega16 دمای محیط را اندازه گیری می کنیم و توسط یک رله می توانیم لوازم سرمایشی مختلف را کنترل کنیم, همچنین دمای اندازه گیری شده بر روی lcd نمایش داده می شود . قبلا در پروژه ” دماسنج با سنسور LM35 ” با این سنسور دما اشنا شدید و نحوه راه اندازی و اندازه گیری دما با ان را یاد گرفتید( حتماً این پست را مطالعه کنید ) . قطعه جدیدی که در این پروژه استفاده شده رله می باشد که در ادامه با این قطعه اشنا می شوید.

رله (Relay) :

ما نمیتوانیم قطعاتی مانند موتور و دیگر قطعاتی که نیاز به جریان زیادی برای راه اندازی دارند را مستقیماً به میکرو متصل کنیم, برای اینکه جریانی که هر یک از پین های میکرو می توانند بدهند بسیار کم است (در حد روشن کردن یک led معمولی هست) و در صورتی که قطعه ما جریان یا ولتاژ زیادی نیاز داشته باشد معمولاً از درایورها یا رله استفاده می شود . رله در واقع مانند یک کلید ساده می باشد با این تفاوت که در کلیدهای معمولی برای تغییر وضعیت از یک حالت به حالت دیگر ما خودمان توسط دست با فشار دادن این کار را می کنیم, ولی در رله ها این تغییر وضعیت توسط یک سیگنال صورت می گیرد.

نوع عادی این قطعه دارای 5 پایه می باشد که همانطور که در تصویر زیر مشاهده می کنید 2 پین مربوط به سیم پیچ رله می باشد که با اتصال ولتاژ به انها و برقراری جریان الکتریکی در سیم پیچ کنتاکت درون رله تغییر وضعیت می دهد. سه پین دیگر هم که در تصویر مشخص است, پین مشترک که با POLE مشخص شده و پین های NC و NO می باشند. در حالتی که جریان در سیم پیچ برقرار نیست پایه مشترک (POLE) به NC متصل است و با برقرای جریان الکتریکی درسیم پیچ پایه مشترک (POLE) به NO وصل می شود.

 ما در این پروژه توسط یک رله دستگاه سرمایشی خود را (کولر) کنترل می کنیم, البته خود رله را هم نمی توان مستقیم به میکرو متصل کرد و معمولاً توسط یک ترانزیستور و یک مقاومت رله را به میکرو متصل می کنن در مدار زیر نحوه اتصال رله توسط ترانزیستور و مقاومت به میکرو را مشاهده می کنید :

دیود متصل به دوسر سیم پیچ رله برای خنثی کردن ولتاژ القایی حاصل از سیم پیچ در هنگام خاموش شدن رله به کار می رود. با اعمال ولتاژ به پایه بیس ترانزیستور(پایه متصل به مقاوت ۱۰k) ترانزیستور روشن شده و مانند یک کلید بسته عمل می کند. در این حالت پایه کلکتور ترانزیستور(پایه متصل به سیم پیچ رله) با پایه امیتر آن(پایه متصل به زمین) اتصال کوتاه شده و جریان از سیم پیچ رله عبور می کند.با زمین کردن بیس ترانزیستور اتصال بین امیتر و کلکتور قطع می شود و در پی آن رله خاموش می شود.

 

شماتیک پروژه :

در زیر شماتیک این پروژه را مشاهده می کنید, نکات مهم در قسمت اشنایی با رله گفته شد. فقط توجه کنید که حتماً پین های تغذیه میکرو که در پروتئوس وجود ندارد را به 5 ولت وصل کنید. ما در اینجا بجای کولر از یک موتور 12 ولت استفاده کرده ایم شما می تونید دستگاه سرمایشی خودتون رو بجای موتور متصل کنید, البته به ماکزیمم جریانی که رله میتونه تحمل کنه هم دقت کنید. و نکته دیگر اینکه ما در شماتیک زیر از رله 12 ولت استفاده کرده ایم و به همین خاطر یک سر سیم پیچ رله به 12 ولت متصل است در صورتی که به عنوان مثال رله 5 ولت تهیه کردید سیم پیچ رله باید به 5 متصل بشود و نه 12 ولت .

می تونید بجای مداری که در بالا برای راه اندازی رله گفته شد, از ماژولهای اماده رله استفاده کنید که کار را خیلی راحت تر میکنن تصویر زیر یک نمونه از این ماژول ها می باشد :

برنامه پروژه :

در کدویزارد میکرو ATmega16 را انتخاب کنید و فرکانس ان را ۱ مگاهرتز قرار دهید, پورت C را برای اتصال به LCD خروجی کنید و تنظیمات LCD کاراکتری را برای اتصال به پورت C انجام دهید. پین 0 از پورت D را هم برای اتصال به رله و کنترل دستگاه سرمایشی ما خروجی کنید. ADC میکرو را فعال کنید و در نهایت کدهای این پروژه به صورت زیر است :

توضیحات کامل برنامه نوشته شده و در صورت مشکل با برنامه در قسمت نظرات مطرح کنید . در پست ” دماسنج با سنسور LM35 ” در مورد دستور sprintf توضیح داده شد که می توانید مطالعه کنید.

توجه : زمانی که از دستور sprintf در کدویژن استفاده می کنیم باید از مسیر

گزینه ی s}Printf Features}  را روی  float, width, precision  قرار دهیم .

کلیپ شبیه سازی :

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

 

 

نظر یادتون نره…

10 دیدگاه‌ها

  1. سلام خسته نباشید
    من یه پروژه باید بنویسم که قابلیت تنظیم دمای خاموش و روشن داشته باشه مث همینه؟

    • سلام, می تونید در برنامه دمای خاموش و روشن شدن را وارد کنید ولی این امکان وجود نداره که بعد از ساخت پروژه بصورت دستی دماها را وارد کنید. باید در برنامه تغییراتی داده بشه

  2. سلام و وقت بخیر.بنده شماتیک مدار رو مطابق با همین چیزی ک در سایت موجوده رسم کردم و تنظیماتی ک گفتید رو هم انجام دادم در میکرو و کد رو هم ب کد تولید کدویزارد اضافه کردم ولی در شبیه سازی پروتئوس همیشه دما رو صفر نشون میده و هیچوقت موتور روشن نمیشه!ممنون میشم اگ راهکاری ب ذهنتون میرسه ارایه بدید

    • سلام, در شبیه سازی این مشکلات پیش میاد بهتره در عمل تست کنید و احتمالا مشکل شبیه سازی هم این هست که سنسور lm35 در پروتئوس کار نمیکنه, سنسور را در شبیه سازی عوض کنید و یکی دیگه بجاش بذارید ممکنه مشکل حل بشه

  3. سلام خسته نباشید مرسی از توضیحاتتون
    برای این پروژه مشکلی نداره از دیگر چیپ های atmega استفاده کرد؟

  4. ازت یه دنیا ممنونم واقعا کمک بزرگی بهم کردی
    انشاا… که خدا هرچی میخای بهت بده
    فقط یه سوال
    من باید حد بالا و پایین دما را با key pad وارد کنم حالا من باید چی کار کنم ؟ وکدش چجوری میشه

ارسال دیدگاه

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید