آردوینو پروژه های آردوینو

پروژه ساخت کیت ترموستات دیجیتال با قابلیت فرمان از طریق رابط سریال UART

create-digital-thermostat-with-arduino-and-uart-protocol-digispark

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

 


تعریف عملکرد ترموستات دیجیتال


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

پروژه ساخت کیت ترموستات دیجیتال - دیجی اسپارک

 

در پروژه کیت ترموستات دیجیتال، ترموستات مورد نظر دارای دو رله است. یکی از این رله ها به فن گرماساز و دیگر به فن سرماز متصل می شود. با تنظیم بازه دمایی توسط کاربر، بسته به شرایط هر کدام از این رله ها فعال خواهند شد. در این ترموستات سه پارامتر زیر توسط کاربر می بایست تنظیم شوند:

۱-دمای شروع

۲-دمای پایان

۳-زمان تاخیر

دمای شروع، دمایی آغازی یا در حقیقت حداقل دمای بازه مجاز است. شایان ذکر است که در این ترموستات، یک بازه دمایی مجاز تعریف می گردد. این بازه دارای حداقل و حداکثر دما بوده با قرارگیری دمای واقعی محیط در این بازه، فن ها خاموش خواهند شد. این بازه دمایی دارای حداقل دما یا دمای شروع و حداکثر دما یا دمای پایین است. سیستم کنترل فن ها به شکل زیر، اجرا می گردد.

شرح وضعیت فن
دمای محیط کمتر از دمای شروع فعال بودن فن گرما
دمای محیط بیشتر از دمای پایان فعال بودن فن سرما
قرارگیری دما در بازه مجاز غیر فعال بودن هر دو فن

 

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

 


قطعات و نقش هریک در پروژه


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

  • لایه سنسور
  • لایه پردازنده
  • لایه رله ها

در سمت لایه سنسور، سنسور NTC با مقاومت ۱۰ کیلو اهمی وظیفه سنجش دما و ارسال آن به پردازنده را بر عهده دارد. سنسور NTC یک سنسور مقاومتی وابسته به دماست. در حقیقت این سنسور دارای یک مقاومت داخلی بوده که با تغییر دمای محیط، اندازه این مقا.مت تغییر می کند. در نوع سنسور NTC با افزایش دما، مقدار مقاومت کاهش یافته و با کاهش دما مقدار مقاومت افزایش خواهد یافت.

سنسور دما NTC در ساخت کیت ترموستات دیجیتال - دیجی اسپارک

 

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

برد آردوینو در پروژه کیت ترموستات دیجیتال - دیجی اسپارک

 

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

 


شماتیک و اتصالات پروژه


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

شماتیک اتصالات کیت ترموستات دیجیتال با آردوینو - دیجی اسپارک

 

مطابق تصویر شماتیک فوق، اتصالات را به شکل زیر ادامه می دهیم.

 


اتصالات سنسور دما و آردوینو


  • اتصال یک پایه سنسور دما به ۵ ولت
  • اتصال پایه دیگر سنسور دما به یک پایه مقاومت ۱۰ کیلو
  • اتصال پایه دیگر مقاومت ۱۰ کیلو به زمین
  • اتصال محل تلاقی پایه سنسور و مقاومت ۱۰ کیلو به پایه A0 آردوینو

توجه: سنسور دما مستقل از پلاریته است؛ به عبارت دیگر در اتصال پایه ها فرقی نخواهند داشت.

 


اتصال ماژول رله به برد آردوینو


  • اتصال پایه ۵ ولت ماژول رله به ۵ ولت آردوینو
  • اتصال پایه GND ماژول رله به پایه GND آردوینو
  • اتصال پایه IN1 به پایه ۳ آردوینو
  • اتصال پایه IN2 به پایه ۴ آردوینو

 


نصب کتابخانه سنسور NTC


جهت راه اندازی و کار با سنسور NTC کتابخانه تحت آردوینو توسعه یافته است. به منظور استفاده از کتابخانه، ابتدا می بایست آن را نصب کنیم. در این قسمت به نصب کتابخانه با جستجو در مخازن آردوینو می پردازیم. به همین منظور، ابتدا در نرم افزار آردوینو بر روی گزینه Tools و سپس Manage Libraries را کلیک کنید. پس از کلیک بر روی این گزینه، با تصویر زیر رو به می شوید. این منو کتابخانه های در دسترس را به شما نشان می دهد. شما نیز می توانید با جستجوی نام کتابخانه مورد نظر خود، آن را در مخازن آردوینو یافته و سپس نصب کنید.

روش نصب کتابخانه PCF8574.h - دیجی اسپارک

 

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

نصب کتابخانه NTC در آردوینو - دیجی اسپارک

 


کدهای پروژه کیت ترموستات دیجیتال


محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 


اجرای پروژه ترموستات دیجیتال


پس از آپلود کدها، نوبت به اجرای پروژه می رسد. برای اجرای پروژه می بایست فرمان از طریق سریال به برد آردوینو UNO ارسال گردد. به همین منظور، فرمان مطابق فرمت زیر به برد می بایست ارسال گردد.

A,B,C

مطابق فرمت فوق، پارامتر A دمای شروع یا حداقل دمای مجاز، پارامتر B دمای پایین یا حداکثر دمای مجاز و پارامتر C نیز مدت زمان فعال بودن فن پس از قرار گرفتن دمای محیط در بازه دمای مجاز است. دو پارامتر A و B با یکای سانتی گراد و واحد C به صورت ثانیه تعیین شده اند. به عنوان مثال برای تعیین دمای شروع ۲۲ و پایان ۳۵ با زمان تاخیر ۱۵ ثانیه(پارامتر C)، به صورت زیر عمل می کنیم.

۲۲,۳۵,۱۵

  • نکته۱: وجود ویرگول ها ضروری است.
  • نکته ۲: پس از تایپ فرمان، حتما دکمه ENTER را فشار دهید.

پس از این مورد، در سریال مانیتور می توانید علاوه بر داده های سنسور، فرمان را مشاهده نمایید.

 


تحلیل کدهای پروژه


پس از اجرای پروژه، نوبت به تحلیل کدهای پروژه می رسد. از آنجاییکه درون کدهای پروژه به صورت خط به خط کامنت(توضیح) درج شده، لذا جدول زیر به طور خلاصه توابع کلیدی و کاربردی پروژه را شرح می دهد.

شرح تابع
کنترل دما temp_ctrl
وقفه سریال دریافت داده serialEvent()
خواندن دمای محیط thermistor.read()

 


لوازم مورد نیاز


کیت ترموستات دیجیتال

 


جمع بندی


ترمسوتات های دیجیتال یکی از مهم ترین و پرکاربردترین ابزارها در تنظیم دمای محیط به شمار می روند. به کمک این دستگاه با تعریف بازه مجاز دمایی، سیستم با اعمال فرمان به فن ها، دمای محیط را در بازه مجاز نگاه می دارد. در این آموزش به طراحی و پیاده سازی کیت ترموستات دیجیتال پرداختیم. به کمک این کیت کاربر می تواند از طریق رابط سریال UART، به دستگاه فرمان دهد. از آنجاییکه هسته پردازشی برد آردوینو UNO است، این برد با دریافت فرمان از طریق کابل USB، اقدام به کنترل فن های سرد و یا گرم جهت تنظیم دما می نماید. در این پروژه دو کانال رله مختلف تعریف شده است. یکی از این رله ها به فن گرما و رله دیگر به فن سرما متصل می شود. با دریافت داده از سنسور NTC، برد آردوینو دمای محیط را به کمک فن ها در بازه مجاز قرار می دهد.

 

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

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه