رله ها یکی از پرکاربردترین ابزارها در طراحی سیستم های قدرت/فرمان به شمار می روند. به کمک این ابزار شما می توانید با یک جریان ضعیف، وسایل برقی با توان بسیار بالا را کنترل کنید. به عنوان مثال می توان به سیستم کنترل دمای آب موتور خودرو اشاره نمود. این سیستم با دریافت دما از سنسور آب، در صورت قرار گرفتن دمای آب در محدوده غیر مجاز، به رله فن فرمان داده و فن ها شروع به عمل کردن، می کنند. در این پروژه قصد داریم تا به طراحی و پیاده سازی یک سیستم کنترل رله به همراه تایمر، بپردازیم. در این پروژه جهت پیاده سازی، از شیلدهای PROMAKE استفاده می کنیم. این شیلدها با حذف سیم کشی، اتصالات مدار را آسان کرده و پیاده سازی آن را سرعت می بخشند. در ادامه آموزش ساخت رله تایمر کنترلی با شیلد ProMake با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
شیلد پرومیک آردوینو UNO
در پستهای قبلی به وفور در خصوص این شیلدها صحبت کردهایم. اما اگر هنوز با شیلدهای پرومیک آشنایی ندارید. شیلدهای ProMake یکسری از شیلدهای مخصوص آردوینو بوده که کار طراحی نمونه اولیه و حتی در بعضی موارد محصولات خاص را بسیار بسیار ساده میکند. شیلدهای پرومیک که ساخت ایران هستند، برای انواع مختلفی از بردهای آردوینو طراحی و توسعه دادهاند. به کمک این شیلدها می توان به سادگی و بدون نیاز به هیچ سیم کشی اضافه، ارتباط بین بردهای آردوینو و ماژول های مختلف را برقرار نمود. این شیلد که به سادگی روی برد آردوینو UNO قرار می گیرد، دارای امکانات جانبی بسیاری است. به عنوان مثال دارای پورت USB از نوع TYPEC یا تقسیم بندی انواع پروتکلها، و افزودن پروتکل QWIIC است. در کنار این، وجود LED ها و کلید، به عنوان خروجی و ورودی تعبیه شده است. به تصویر زیر دقت کنید.
شیلد PROMAKE مخصوص آردوینو، دارای دو اسلات جداگانه است. هر اسلات دارای پایه هایی جهت اتصال شیلدهاست. بر روی این اسلات ها میتوان شیلدهای مختلف PROMAKE نظیر GSM، GPS، رله و….. را قرار داد. در این آموزش هم ما قصد داریم تا از شیلد GSM جهت دریافت فرامین پیامک استفاده کنیم. پس بدون هیچ نگرانی کافیست ماژولها را در محل مشخص شده قرار دهید و پروژه را راه اندازی کنید.
ماژول رله کنترل دو کاناله پرومیک
شیلد ماژول رله دو کانال PROMAKE، یک شیلد بسیار کلیدی و کاربردی است. به کمک این شیلد شما می توانید دو کانال رله را بدون نیاز به سیم کشی، به آردوینو UNO خود متصل کنید. این شیلد دارای دو رله بوده که هر کدام دارای خروجی ولتاژ قابل تحمل تا ۲۵۰ ولت AC و جریان ۵ آمپر است. خروجی آن هم دارای ترمینال پیچی MX301 است. که به سادگی میتوانید برای کنترل هر وسیله برقی از آنها استفاده کنید. در تصویر زیر این ماژول رله دو کاناله کوچک را مشاهده میکنید.
در این پروژه از شیلد رله دو کانال PROMAKE استفاده می کنیم. این شیلد به سادگی روی اسلات های شیلد آردوینو UNO قرار می گیرد. در این پروژه، ما شیلد رله را روی اسلات شماره ۱ که با نام Promake Module 2 می بایست قرار گیرد. توجه داشته باشید که شیلد رله با پایه RLY1 به پایه D6 شیلد رله متصل شود.
نصب کتابخانههای مورد نیاز
این پروژه بدون نیاز به کتابخانه طراحی شده است. کافیست کدهای زیر را روی برد آپلود کنید. برای یادگیری بهتر برای هر خط از کد نوشته شده، کامنت توضیحات فارسی قرار دادهایم. تا بهتر بتوانید آنرا درک کنید. با این حال اگر همچنان نیاز به راهنمایی داشتید در بخش نظرات میتوانید سوالتان را مطرح کنید.
کدهای پروژه رله تایمر کنترل وسایل برقی
پس از نصب کتابخانه، نوبت به آپلود کدهای رله تایمر کنترلی با پیامک می رسد. جهت آپلود کدها، باید سوییچ S1 روی شیلد آردوینو UNO در حالت PROGRAM قرار گیرد. در خصوص این کلید دقت داشته باشید که بردهای آردوینو دارای رابط سریال هستند. بنابراین اگر این رابط در یک پروژه درگیر باشد، امکان آپلود کدها فراهم نیست. مگر اینکه ارتباط سریالی را قطع کنید. در شیلدهای پرومیک توسط کلید پروگرام، این قابلیت فراهم شده است و بدون نیاز به جدا سازی ماژولها میتوانید روند پروگرام کردن را اجرا کنید. کدهای زیر را کپی کرده و به محیط آردوینو منتقل کنید.
#define relay1 6 //تعریف رله شماره ۱ #define relay2 9 //تعریف رله شماره ۲ String data = ""; //متغیر جهت دریافت داده int on, off; //زمان روشن و خاموش رله void setup() { Serial.begin(115200); pinMode(relay1, OUTPUT); //تعیین پایه خروجی pinMode(relay2, OUTPUT); //تعیین پایه خروجی } void loop() { if (Serial.available () > 0) //در صورتیکه داده ای زا سریال دریافت شود data = Serial.readString(); //خواندن داده از سریال if (data.indexOf("OFF") >= 0) //در صورتیکه عبارت OFF دریافت کردیم، رله را خاموش می کنیم. digitalWrite(relay1, LOW); //خاموش کردن رله else if (data.indexOf("ON") >= 0) //در صورتیکه عبارت ON دریافت کردیم، رله را روشن می کنیم. digitalWrite(relay1, HIGH); //روشن کردن رله else { on = data.substring(0, data.indexOf(",")).toInt(); //در صورتیکه مقادیر فعال و غیر فعال سازی رله را دریافت کردیم. باید آن را به عدد تبدیل کنیم off = data.substring(data.indexOf(",") + 1).toInt(); //مدت زمان خاموش بودن رله digitalWrite(relay2, HIGH); delay(on); digitalWrite(relay2, LOW); delay(off); } }
اجرای پروژه رله تایمر کنترل وسایل برقی
پس از آپلود کدها، نوبت به اجرای پروژه میرسد. اجرای پروژه مرحلهای است که همه چیز آماده شده و بایست تغذیه برقرار شود. با توجه به اینکه پروژه را با تجهیزات پرومیک Promake که با عنوان Easy IoT در بازار ایران یافت میشوند، اجرا کردهایم. بسیار سریع و بدون نگرانی از خطاهای اتصالاتی آن را اجرا کنید. جهت اجرای پروژه می بایست فرامینی را از طریق رابط سریال UART با سریال مانیتور، به برد آردوینو ارسال کنیم. جدول زیر لیست فرامین را نمایش می دهد.
شرح | فرمان |
خاموش کردن رله شماره ۱ | OFF |
روشن کردن رله شماره ۲ | RUN |
تعیین مدت زمان روشن و خاموش کردن رله شماره ۲
پارامتر X برای مدت زمان روشن بودن رله پارامتر Y برای مدت زمان خاموش بودن رله توجه: زمان به میلی ثانیه است. |
X,Y |
با ارسال فرامین فوق، رله ها فرمان دریافت می کنند. در صورتیکه فرمان ON,OFF ارسال کنید، رله شماره ۱ روشن و خاموش خواهد شد. با ارسال فرمان X,Y، مدت زمان فعال و غیر فعال سازی رله شماره ۲ تعیین می شود. به عنوان مثال فرض کنید می خواهیم رله شماره ۲ را برای مدت ۳ ثانیه فعال و سپس ۵ ثانیه غیر فعال کنیم. بدین ترتیب، به شکل زیر عمل می کنیم.
۳۰۰۰,۵۰۰۰
لوازم مورد نیاز
لینک خرید برد آردوینو، کلیک کنید
لینک خرید شیلد آردوینو PROMAKE، کلیک کنید
لینک خرید شیلد رله دو کانال PROMAKE، کلیک کنید
جمع بندی
در این آموزش به طراحی و پیاده سازی یک سیستم کنترل رله پرداختیم. به کمک این سیستم می توانیم یک رله را به صورت قطع و وصل و رله دیگر را تایمری مدیریت کنیم. جهت اجرای این پروژه از شیلد PROMAKE استفاده کردیم. به کمک شیلدهای PROMAKE می توان بدون نیاز به سیم کشی، اتصالات بین قسمت های پروژه را برقرار نمود. در این پرژه ما جهت ارسال فرمان به رله، از پورت سریال UART استفاده کردیم. بدین ترتیب به کمک سریال مانیتور می توانیم فرامین جهت کنترل رله و زمانبندی آن را مدیریت کنیم.