پروژه کنترل دمای محیط با AVR و LM35 و سون سگمنت به زبان C

ساخت دماسنج جهت کنترل دما محیط

امروزه در بسیاری از کارها و صنایع، دما یک عامل مهم بوده و همواره نیاز است که دمای محیط را در یک محدوده خاص نگه داریم از این رو دستگاه یا کیت کنترل دما بسیار کاربردی بوده در بین علاقه مندان به الکترونیک و برنامه نویسی پر طرفدار میباشد، به همین خاطر سعی داریم تا یک پروژه آموزشی از نحوه ساخت یک کیت کنترل دما محیط با امکان تنظیم دمای بالا و دمای پایین و نمایش آن بر روی سون سگمنت  به زبان برنامه نویسی C و در محیط نرم افزار Code-Vision-AVR برای تمامی علاقه مندان به پروژه های میکروکنترلر AVR  منتشر کنیم.

بعد قبل
پروژه کنترل دمای محیط با AVR و LM35 و سون سگمنت به زبان C
پروژه کنترل دمای محیط با AVR و LM35 و سون سگمنت به زبان C
بعد قبل

سنسور دما LM35

در این پروژه برای اندازه گیری دما و کنترل دما محیط از سنسور دمای LM35 استفاده شده که اساس کار آن به این صورت بوده که به ازای هر یک درجه افزایش دما ولتاژ خروجی اش ده میلی ولت افزایش میابد که این ولتاژ توسط کانال ADC میکروکنترلر کیت که در اینجا میکروکنترلر ATMEGA8 از خانواده AVR بوده اندازه گیری شده و با توجه به دمای اندازه گیری شده و دستورات تعریف شده، در صورت نیاز، یکی از دو رله موجود بر روی کیت که برای کنترل دما محیط تعبیه شده اند را وصل میکند.


نقشه جاگذاری قطعات بر روی برد PCB

نقشه جاگذاری قطعات بر روی PCB پروژه کنترل دمای محیط با AVR و LM35 و سون سگمنت به زبان C

لیست قطعات مورد نیاز

مقاومت 10 کیلو اهم با توان 0.25 وات و تلرانس 5 درصد3 عدد
مقاومت 330 اهم با توان 0.25 وات و تلرانس 1 درصد3 عدد
مقاومت 1 کیلو اهم با توان 0.25 وات و تلرانس 5 درصد7 عدد
دیود 1N40074 عدد
ترانزیستور 2N3904 نوع NPN5 عدد
سنسور اندازه گیری دما LM35DZ1 عدد
پتانسیومتر خوابیده 10K کیلو اهم تک‌دور مدل DIP1 عدد
سوکت آی سی 28 پایه باریک مدل معمولی1 عدد
میکروکنترلر ATMEGA8A-PU مدل DIP تایوانی با 28 پایه1 عدد
رله 12V ولت معمولی تک کنتاکت با جریان 10 آمپر2 عدد
ترمینال پیچی 2 پین مدل KF300 رنگ آبی1 عدد
ترمینال پیچی 3 پین مدل KF300 رنگ آبی2 عدد
رگولاتور ولتاژ 5 ولت L78051 عدد
خازن الکترولیتی 470uf میکروفاراد 16 ولت2 عدد
لامپ LED قرمز سایز 3mm میلی متر مدل مات2 عدد
سون سگمنت مالتی پلکس 3 رقمه کاتد مشترک – قرمز1 عدد
تک سوئیچ 2 پایه DIP سایز 6x6x5 میلیمتر3 عدد
آداپتور 12V ولت 2A آمپر مدل بین راهی ساخت ایران1 عدد

لیست ابزار آلات و تجهیزات مورد نیاز

هویه1 عدد
سیم لحیم1 عدد
کف چین1 عدد
قلع کش1 عدد

شرح عملکرد پروژه

بر روی این کیت سه عدد میکروسوئیچ برای تنظیم کردن دمای بالا و دمای پایین قرار دارد و در نهایت برای نمایش دما و تنظیمات از سون سگمنت استفاده شده است که نمایش دادن بر روی آنها به نظر شخصی بنده جذابتر بوده و نسبت به استفاده از ال سی دی ها،که کتابخانه و دستورات تعریف شده ای دارند، راه اندازی و نمایش روی سون سگمنت ها نیاز به دقت بیشتری دارد.

در پروژه های الکترونیک برای نمایش اطلاعات معمولا از نمایشگرهایی مانند LCD گرافیکی، LCD کاراکتری و یا سون سگمنت ها استفاده میشود که در این بین سون سگمنت ها قدیمی تر بوده و امکان نمایش محدودتری دارند.

شما با استفاده از میکروسوئیچ ها میتوانید دمای بالا و دمای پایین را برای دستگاه تعریف کنید تا هر وقت دمای اندازه گیری شده از دمای بالا بیشتر شد، رله دمای بالا وصل شود و هر زمانیکه دمای اندازه گیری شده از دمای پایین کمتر شد، رله دمای پایین وصل شود و بطور معمول به رله دمای بالا یک وسیله خنک کننده وصل میشود تا هر وقت دما از حد مورد نظر بیشتر شد با وصل شدن رله دمای بالا وسیله خنک کننده روشن شده و از دمای محیط کم کند و به همین ترتیب به رله دمای پایین یک وسیله گرم کننده وصل میشود تا همواره بتوانیم دما را در یک محدوده مناسب و مد نظرمان نگه داریم.

نمایشگر سون سگمنت

اگر بخواهیم توضیح کوتاهی در مورد سون سگمنت ها بدهیم به این موضوع بسنده میکنیم که علت نامگذاری آن این بوده که هر رقم دارای هفت بخش (هفت سگمنت یا هفت ال ای دی) بوده که یا آند لامپ های LED مشترک میباشند و یا کاتد لامپ های LED مشترک اند. برای نمایش روی سون سگمنت ها از تکنیک خاص و در عین حال ساده ای استفاده میشود، به این صورت که در هر لحظه تنها یک رقم از سون سگمنت روشن بوده سپس آن رقم خاموش شده و رقم بعدی روشن میشود اما از آنجاییکه این زمان خاموش شدن ها بسیار کوچک هستند چشم قادر به دیدن زمان خاموش بودن آنها نبوده و اینگونه بنظر میرسد که همواره روشن هستند.


ویدیو ضبط شده از نحوه عملکرد پروژه

در پایان امیدواریم این پروژه نیز برای شما دوستان عزیز مفید واقع شده باشد و با انتقادات و پیشنهادات خود باعث پیشرفت و بهبود عملکرد ما شوید.

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 200 کیلوبایت

 محیط برنامه نویسی : کد ویژن - CodeVisionAVR

 برنامه نویسی شده به زبان : C

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 11 فوریه 2018

 آخرین بروزرسانی پروژه : 1399/07/13

69 دیدگاه

  1. سلام دوست عزیز
    با تشکر از اطلاع رسانی شما ، مشکل برطرف گردید.

  2. با سلام . مقاومت های استفاده شده داخل مدار چند اهمی هستن؟

  3. فرهاد اکبری

    سلام دوست عزیز
    لطفا فایل پروژه را دانلود کنید، درون فایل پروژه در پوشه SCH نقشه شماتیک قرار داده شده است.
    در نقشه شماتیک مقدار هر مقاومت در کنار آن درج شده است.

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

  5. فرهاد اکبری

    سلام دوست عزیز
    تا جایی که من متوجه شدم سگمنت اول شما همیشه به صورت کامل روشن است یعنی عدد 8 را نشان می دهد، ولی در هنگام نمایش دما به درستی کار می کند؟
    اگر مدار شما دارای مشکلی است که در خط بالا گفتم، به احتمال زیاد مشکل شما از پروگرام کردن غلط فیوزبیت ها است.
    لطفا توجه داشته باشید در هنگام پروگرام کردن برنامه حتما باید مقدار فیوزبیت های مربوط به کریستال را بر روی 8 مگا هرتز داخلی تنظیم کنید. به شکل زیر
    CKSEL0=0 / CKSEL1=0 / CKSEL2=1 / CKSEL3=0
    همچنین وضعیت فیوزهای SUT را بر روی حالت پیش فرض قرار دهید.
    پیشنهاد میکنیم یکبار وضعیت فیوزبیت ها را بر روی حالت پیش فرض قرار دهید و آنرا پروگرام کنید و سپس تنها فیوزبیت های ذکر شده در بالا را تغییر دهید و دوباره فیوزبیت ها را جهت اعمال بر روی میکروکنترلر پروگرام کنید.

  6. باسلام
    من سون سگمنت اندمشترک دارم و کاتد مشترک پیدا نکردم
    اگر بخوام پروژه رو باهمین اندمشترک ران کنم توی برنامه نویسی چه تغییراتی بدم؟

  7. فرهاد اکبری

    سلام دوست عزیز
    شما علاوه بر تغییرات در برنامه باید در سخت افزار قسمت ترانزیستورها نیز تغییر ایجاد کنید.
    در برنامه نیز لازم است وضعیت خروجی ها را برعکس کنید، مثلا در جایی که برای نمایش عدد 8 همه پایه ها صفر شده اند شما باید آنرا به یک تغییر دهید.

  8. سلام

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

    بله پروگرام رو درست انجام دادم دیگه خدایی گیچ شدم.

    شک دارم از فایل هگز باشه یعنی ویروسی شده باشع احتمال داره؟

  9. فرهاد اکبری

    اگر سون سگمنت اول شما چه در زمان زمان نمایش دما و چه در زمان تنظیمات دما کلا روشن است، این موضوع به دلیل مشکل سخت افزاری در مدار می باشد، پیشنهاد می کنیم یکبار ترانزیستور مربوط به سگمنت اول را تعویض کنید و صحت اتصالات آنرا به صورت دقیق بررسی کنید و در صورت رفع نشدن مشکل میکروکنترلر را تعویض کنید، احتمال دارد پایه مشترک مربوط به سگمنت اول در میکروکنترلر آسیب دیده باشد.

  10. سلام. شماره گذاری ها در فایل پرئتوس رو میشه توضیح بدید؟

  11. سلام.مهندس من پروژه رو ساختم ولی کلا نمایشگر مشکل داره سگمنت وسطی روشن نمیشه اعداد رو هم خیلی کم رنگ نشون میده.فیوز بیتا رو هم طبق گفته شما عوض کردم ولی باز نشد رله ها وقتی گرما میدم درست کار میکنه ولی نمایشگر مشکل داره ممنون میشم راهنماییم کنی.

  12. سلام دوست عزیز
    مشکل عدم نمایش صحیح اعداد می تواند علت های مختلفی داشته باشد که در زیر به برخی از آنها اشاره شده است:
    :: وجود اتصال کوتاه در مدار
    :: پایه های a-b-c-d-e-f-g و مشترک سون سگمنت به درستی توسط شما مشخص نشده اند و به همین ترتیب این پایه ها ممکن است به اشتباه به میکروکنترلر متصل شده باشند.
    :: خرابی میکروکنترلر
    :: عدم اتصال یک تغذیه مناسب به مدار و یا وجود مشکل در قسمت تغذیه مدار (بهتر است یکبار با مولتی متر چک کنید که آیا ولتاژ 5 ولت بر روی میکرو و یا خرجی تراشه 7805 ظاهر می شود یا خیر!
    :: خرابی و یا جایگذاری اشتباه ترانزیستور ها

  13. سلام مهندس همه مدار رو دوباره از نو ازروی pcb که تو فایل دانلود گذاشتین ساختم میکرو تازه استفاده کردم کل ترانزیستور هاررودقیق مثل نقشه مدار جاگذاری کردم ولی باز مدار درست کار نکرد کل سگمنت ها چشمک میزنن درجه پایین اعداد رو درست نشون نمیده مثلا میخوایdرو تنظیم بکنی رو سی درجه میاد رو بیستو پنج بعدمیره رو یک درجه. ولی قسمتu اعداد رو درست نشون میده وتو دمای مشخص شده رله عمل میکنه.

  14. سلام دوست عزیز
    این یک مشکل نیست، همانطور که در برنامه پروژه تعریف شده است بازه دمای پایین می تواند بین عدد 1 الی 25 سانتی گراد تنظیم شود و به همین علت شما نمی توانید دمای پائین را بیشتر از 25 درجه سانتی گراد تنظیم کنید. اگر می خواهید دمای پایین را بیشتر از عدد 25 سانتی گراد تنظیم کنید می توانید خط 170 را در برنامه پروژه ویرایش کنید و عدد دلخواه خود انتخاب کنید و در نهایت برنامه را دوباره کامپایل کنید و فایل hex جدید را بر روی میکروکنترلر پروگرام کنید.

  15. ممنون مهندس درست شد ولی فقط نور سگمنت ها پایین هست و چشمک میزن مقاومت هارو آوردم رو یک کیلو پایینتر بیارم مشکل ایجاد نکنه؟؟؟ و چشمک زدن سگمنت ها از چی میتونه باشه.دستت درد نکنه که راهنماییم کردی

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.