اگر به این فکر افتاده اید که وسایلی مانند لامپ، فن یا وسایل خانگی خود را که با ولتاژ AC کار میکنند، از طریق آردوینو کنترل کنید، مسلما به یک ماژول رله 5 ولت یک كاناله نیاز خواهید داشت. از آنجایی که این وسایل با ولتاژ بالایی کار می کنند، شما نمیتوانید با استفاده از آردوینو که تنها تحمل 5 ولت را دارد، آنها را کنترل کنید. اما راه حل این مشکل، استفاده از ماژول رله است. با این ماژول شما میتوانید وسایل مختلف با ولتاژ بالا را کنترل کنید و با آردوینو نیز کنترل ماژول را به دست بگیرید.
در این مقاله هدف ما این است که نحوه بهكارگيري ماژول رله برای كنترل وسایلی مانند يك لامپ را به شما آموزش دهیم. اما در ابتدا نگاه مختصری به این ماژول و نحوه عملکرد آن می اندازیم.
رلهها چگونه كار میكنند؟
رله يك كليد يا سوئيچ الكترومغناطيسي است كه با يك جريان الكتريكي نسبتاً كوچك كار میكند و از آن میتوان براي كنترل جريانهاي الكتريكي بسيار بزرگتر استفاده نمود.
در شکل زیر انیمیشن سادهای از چگونگی استفاده رله از یک مدار برای سوئیچ زنی مدار دیگر نشان دادهشده است.
مدار اول در ابتدا خاموش است و تا زمانی که توسط ابزاری نظیر یک سنسور یا سوئیچ روشن شود، جریان الکتریکی این مدار صفر خواهد بود. مدار الکتریکی دوم نیز خاموش است. هنگامیکه جریان الکتریکی کوچکی در مدار اول برقرار شود، آهنربای الکتریکی فعالشده و میدان مغناطیسی در اطراف آن تولید خواهد شد. فعال شدن آهنربا سبب جذب کنتاکت مدار دوم و بسته شدن سوئیچ میشود و بدینوسیله یک جریان الکتریکی بزرگ در مدار دوم برقرار خواهد شد. با قطع جریان در مدار اول، کنتاکت مدار دوم به وضعیت اول برمیگردد و جریان این مدار نیز قطع خواهد شد.
اصول مقدماتی رله
بهطور معمول یک رله دارای 5 پین بوده که سه تای آنها یعنی NC، COM و NO ترمینالهای ولتاژ بالا هستند و به وسیله ی دستگاهی که قصد کنترل آن را داریم، متصل میشوند.
برق اصلی به پایانه COM رله داده میشود. اینکه کدام یک از پینهای NC و NO را مورد استفاده قرار دهیم به این بستگی دارد که بخواهیم دستگاه موردنظر متصل به رله را روشن کنیم یا آن را خاموش کنیم. بین دو پین دیگر یعنی coil1 و coil2 یک سیمپیچ وجود دارد که بهعنوان آهنربای الکتریکی عمل میکند.
هنگامیکه جریان الکتریکی در سیمپیچ جاری شود، آهنربای الکتریکی شارژ شده و کنتاکت داخلی را حرکت میدهد. در این زمان ترمینال NO به ترمینال COM وصل میشود و از طرف دیگر اتصال ترمینال NC به ترمینال COM قطع خواهد شد. هنگامیکه جریان سیمپیچ قطع شود، کنتاکت داخلی به وضعیت اولیه خود بازخواهد گشت و درنتیجه ترمینال NC به ترمینال COM متصل خواهد شد و اتصال ترمینال NO مجدد از COM قطع خواهد شد.
این رله اصطلاحاً سوئیچ دوراهه تک پل (SPDT) نامیده میشود.
ماژول رله 5 ولت یک كاناله
آموزش استفاده از ماژول رله 5 ولت یک كاناله در این بخش ارائه خواهد شد، لازم به ذکر است ماژول رلههای دو، چهار و هشت کانال نیز موجود است که بسته به نوع پروژه میتوان گزینه مناسب را انتخاب نمود.
این ماژول برای اعمال کلید زنی یک دستگاه ولتاژ بالا توسط آردوینو طراحی شده است. رله ماژول میتواند جریان نامی 10 آمپر در ولتاژ 250 ولت AC یا 30 ولت DC را تحمل کند.
LED های ماژول رله 5 ولت یک كاناله
بر روی ماژول رله 5 ولت تک کانال ، دو LED وجود دارد که وضعیت رله را مشخص میکند.
هنگامیکه تغذیه ماژول متصل میشود، LED تغذیه روشن میشود و هنگام فعال شدن رله، LED وضعیت روشن خواهد شد.
بلوک ترمینال خروجی
سه ترمینال COM، NC و NO ماژول رله در بلوک ترمینال خروجی آبی رنگ قابل دسترس هستند.
- COM: این پین به سیگنال اصلی که قصد اعمال کلیدزنی بر روی آن را داریم (که معمولاً برق AC ولتاژ بالا است) متصل میشود.
- NC: هنگامیکه بخواهیم دستگاه یا وسیلهای که در حالت پیشفرض روشن است را خاموش کنیم، این پین را مورداستفاده قرار میدهیم. در این ساختار کلید داخلی رله بهصورت پیشفرض بسته است و تا زمانی که سیگنال فرمان باز شدن کلید، توسط آردوینو به ماژول ارسال نشود، کلید همچنان بسته باقی خواهد ماند.
- NO: در این ساختار رله بهصورت پیشفرض باز است و تا زمانی که سیگنال فرمان بسته شدن کلید توسط آردوینو به ماژول ارسال نشود، کلید همچنان باز باقی خواهد ماند.
پینهای کنترلی ماژول رله 5 ولت یک کاناله
در طرف دیگر ماژول نیز سه پین وجود دارد: پین GND و VCC که تغذیه ماژول هستند و پین IN که ورودی است و برای کنترل رله به کار گرفته میشود.
پین IN از نوع Active Low است، به این معنا که زمانی رله فعال خواهد شد که این پین LOW شود و با اعمال ولتاژ High به این پین، رله غیرفعال خواهد شد.
پایه های ماژول رله 5 ولت یک كاناله
اجازه بدهید نگاهی به پینهای ماژول رله تک کانال داشته باشیم:
پینهای کنترلی
- IN : برای کنترل رله استفاده میشود و با Low کردن آن رله فعال خواهد شد.
- GND : اتصال زمین است.
- VCC : پین تغذیه ماژول است.
ترمینال خروجی
- COM : این پین به سیگنالی که قصد اعمال سوئیچینگ بر روی آن را داریم، متصل میشود.
- NC : این پین بهصورت پیشفرض به پین COM متصل است. زمانی که فرمان باز شدن توسط آردوینو به ماژول داده شود، اتصال پین NC از پین COM بازخواهد شد.
- NO: این پین بهصورت پیشفرض به پین COM متصل نیست. هنگامیکه فرمان بسته شدن توسط آردوینو به ماژول رله ارسال شود، اتصال پین NO به پین COM برقرار خواهد شد.
برای اتصال ماژول رله 5 ولت یک كاناله به آردوينو به یکسری قطعات نیاز داریم که در ادامه توضیح می دهیم.
قطعات مورد نیاز
- آردوینو UNO
- سیم جامپر نری 20 سانتی متر
- ماژول رله تک کانال
- کابل نری USB نوع A به نری USB نوع B
- آداپتور 5 ولت 3 آمپر دیواری
اتصال ماژول رله 5 ولت تک كانال به آردوینو UNO
اکنونکه اطلاعات کافی در خصوص نحوه عملکرد رله را در اختیار داریم، زمان استفاده از آن فرا رسیده است. در این بخش میخواهیم از این ماژول برای کنترل روشن/خاموش شدن یک لامپ استفاده کنیم.
سیمکشی
هشدار : از آنجائیکه این برد با ولتاژ بالای AC در ارتباط است، استفاده نادرست از آن میتواند منجر به آسیب جدی یا حتی مرگ افراد شود. به همین دلیل این ماژول فقط برای افرادی که دارای تجربه و اطلاعات کافی در خصوص ولتاژ AC هستند، قابل استفاده است.
اتصال ماژول رله تک کانال به آردوینو به این شکل است که پین VCC و پین زمین ماژول رله به ترتیب به پین 5V و زمین آردوینو و برای کنترل رله، پین دیجیتال شماره 6 آردوینو به پین IN رله متصل میشود.
لازم است که ماژول رله 5 ولت را در مسیر تغذیه برق AC دستگاهی که قصد کنترل آن را داریم (یعنی لامپ) قرار دهیم. برای این کار سیم برق دستگاه مورد نظر را قطع کرده و یک سر سیم (که از سمت دیوار آمده است) را به پین COM و سر دیگر را با توجه به کاربرد موردنظر به پین NC یا پین NO وصل میکنیم. اگر تمایل دارید که دستگاه AC موردنظرتان در بیشتر زمانها خاموش باشد و فقط در برخی اوقات توسط فرمان شما، این دستگاه روشن شود، کافی است سر سیم برق را به پین NO متصل کنید. اما چنانچه میخواهید دستگاه یا وسیله موردنظر در بیشتر اوقات روشن باشد، سیم برق آن را به پین NC متصل کنید.
در این پروژه ما میخواهیم لامپ بهصورت پیشفرض خاموش باشد و فقط زمانی که به آن فرمان دادیم، روشن شود و لذا همانگونه که در شکل زیر نشان داده شده، سیم برق را به پین NO ماژول رله وصل میکنیم.
کد آردوینو
اکنون که سختافزار آماده شده، نگاهی به کد برنامه آردوینو برای روشن کردن لامپ میکنیم.
در ادامه یک کد ساده ارائه شده که با اجرای آن لامپ به مدت 3 ثانیه روشن و پس از آن به مدت 3 ثانیه خاموش میشود.
int RelayPin = 6;
void setup() {
// Set RelayPin as an output pin
pinMode(RelayPin, OUTPUT);
}
void loop() {
// Let's turn on the relay...
digitalWrite(RelayPin, LOW);
delay(3000);
// Let's turn off the relay...
digitalWrite(RelayPin, HIGH);
delay(3000);
}
توضیح کد
کنترل ماژول رله 5 ولت تک کانال توسط آردوینو بهسادگی کنترل یک LED است. کد با تعریف شماره پین آردوینو که پین ورودی ماژول به آن متصل است، آغاز میشود.
int RelayPin = 6;
سپس این پین بهعنوان خروجی تعریف میشود:
pinMode(RelayPin, OUTPUT);
اکنون در تابع loop از طریق اعمال Low و High به پین کنترلی رله، لامپ را به ترتیب روشن و خاموش میکنیم. دستور digitalWrite(RelayPin, LOW) پین IN را Low و دستور digitalWrite(RelayPin, HIGH) آن را High میکند.
digitalWrite(RelayPin, LOW);
delay(3000);
digitalWrite(RelayPin, HIGH);
delay(3000);
اکنون که راه اندازی این ماژول را یاد گرفته اید، می توانید به راحتی هر وسیله ای را که با ولتاژ بالا کار می کند، توسط آردوینو کنترل کنید. اگر به اطلاعات بیشتری در این حوزه نیاز دارید، حتما ما را مطلع کنید تا بتوانیم با در اختیار قرار دادن این اطلاعات، شما را در انجام پروژه هایتان یاری کنیم.
۳۲ دیدگاه. Leave new
سلام. عالی بود ممنون از شما
سلام رضای عزیز،
خواهش میکنم، خوشحالیم که دوست داشتی و ما رو همراهی میکنی.
سلام میشه برای فرمان تحریک این ماژول از آردونیو استفاده نکنیم مثلا وقتی led در یک مداری روشن شد این ماژول فرمان روشن شدن رله ۵ ولت صادر کنه
سلام مهدی عزیز،
بله، برای ماژول فرقی نمیکنه از آردوینو فرمان بگیره یا یک مدار آنالوگ.
البته اگر شما در مدار آنالوگ خروجی ۵ ولت دارید ، می تونید مستقیم بدون ماژول و با اتصال پایه های مثبت و منفی رله هم کار کنید . یعنی : دو سر مثبت و منی رله ی تکی را به دو سر مثبت و منفی خروجی برد وصل کنید . با این حال . هر گاه خروجی مدار شما روشن باشد ، بوبین رله تحریک می شود .
البته در صورتی که این ۵ ولت جریان دهی لازم برای روشن کردن رله را داشته باشد. در اصل فلسفه استفاده از ماژول رله به جای رله، تامین جریان راهاندازی رله است.
عالی ممنون
سلام علیرضای عزیز،
خواهش میکنم، مرسی از شما که ما رو همراهی میکنی.
بسیار عالی و کامل توضیح داده شده
میخواستم یک ایده بدم تا شاید به درد کسی بخوره،
میشه با اتصال این رله به یک کلید تبدیل هم با اردوینو یک لامپ رو کنترل کرد و هم به صورت دستی با کلید
بسیار عالی و کامل یه سوال میشه یا اون موتور های ۳ ولتی رو هم روشن کرد دیگه؟
جای لامپ موتور. جای برق acیه جفت باتری قلمی
درسته؟
سلام پارسای عزیز،
خواهش میکنم، بله امکان پذیره
سلام من همه این کار ها رو کردم چراغ وضعیت رله هم روشن خاموش میشه ولی نمیتونم چراغ رو روشن یا خاموش کنم و سیم برق هم به com و سیم چراغ هم به no وصل کردم
سلام امیررضای عزیز،
لطفا ابتدا چک کن ماژول سالمه، برای اینکار تغذیه ماژول رو وصل کن و پایه IN رو به VCC متصل کن. حالا باید پایه COM به NC متصل باشه.
بعد از این، پایه IN رو از VDD جدا کن و به زمین وصل کن. باید صدای کلیک وصل شدن رله رو بشنوی و پایه COM این بار به NO متصل شده باشه.
حالا اگر مطمئن شدی ماژول سالم هست، باید چک کنی خروجی آردوینو هم ماژول رو بهدرستی کنترل میکنه یا خیر. بعد از این، لطفا اتصال لامپ رو چک کن.
سلام میشه این کارو بدون اردوینو با استفاده از usb کامپیوتر کرد ؟ لطفا اگه میدونید چطور میشه بگین
سلام و درود برشما امیر عزیز
پورت USBمثل پورت GPIO نیست که امکان این رو داشته باشید صفر و یکش کنید. از طریق پورت USB امکان ارسال دیتا وجود داره که طبیعتاً باید یک پردازنده این دیتا رو دریافت کنه، بخونه و طبق اون تصمیم بگیره که چه کاری انجام بده. بنابراین اینکه با پورت USB به شکل مستقیم بتونید رله خاموش و روشن کنید امکانپذیر نیست.
با یک ترانزیستور مثلاً BC547 یا هر ترانزیستور مشابه دیگه میشه اینکار رو بصورت غیر مستقیم انجام داد . به این ترتیب که پایه ی بیس باید به سیم مثبت یو اس بی متصل بشه و پایه منفی یو اس بی به زمین . از سویی دیگر از پایه های امیتر و کلکتور می تونید ولتاژ و جریان بیشتری رو عبور بدید . و در نهایت ولتاژ مثلاً ۱۲ ولتی – خارجی – دیگر را با پایه های امیتر و کلکتور سری کنید . در انتها پایه ی آخر رله – که با ترانزیستور سری شده – را زمین کنید .
نتیجه : هر گاه کابل یو اس بی را به درگاه یو اس بی متصل کنید ، آنگاه رله یا هر دستگاه ۲۲۰ ولتی را می توان روشن کرد و در نهایت با کشیدن کابل از پورت یو اس بی ، آن دستگاه خاموش می شود .
سلام. سوال من یکم عجیبه ولی ممنون میشم راهنماییم کنید. من stm32 بلو پیل دارم ، منتها خروجی ۵ ولتش چیزی در حدود ۳ ولت میده. فیکه. از هر جای دیگه ای هم که خریدم همین بوده. بهرحال. خوشبختانه یه اردوینو uno دارم که ۵ ولتش سالمه. میخوام با سه ولت stm از طریق یه ترانزیستور ۵ ولت اردوینو رو راه بندازم. و از طریق اون پنج ولت ماژول رلم که یک لامپ ۲۲۰ رو کنترل میکنه، کنترل کنم. منتها میترسم اسیب بزنه. ملاحظاتی که باید انجام بدم رو بهم میگید یا اگه پیشنهادی دارید در این زمینه ممنون میشم.
سلام و درود بر شما محمدرضا عزیز
ما متاسفانه دقیقاً متوجه سوالتون نشدیم، به این نکته توجه دارید که میکروکنترلر برد blue pill، ۳.۳ ولت هست و ۵ ولت نیست؟ آردوینو دقیقا چه کاری قراره انجام بده؟
سپاس از همراهی شما 🙂
سلام چطور میتونم برا این پروژ برا کنترل لامپ
به آردیونو سنسور مادون قرمز اضافه کنم که وقتی دستم رو بیارم جلو لامپ روشن بشه؟
سلام یحیی عزیز
سادهترین روش اینه که این ماژول فرستنده و گیرنده مادون قرمز IR رو به آردوینو متصل کنید و پایه out ماژول رو با آردوینو بخونید. با قرارگیری دست یا هر مانع دیگری جلوی فرستنده و گیرنده ماژول، پایه out به وضعیت low میره و به این ترتیب میتونید به ماژول رله فرمان بدید.
پیروز باشید.
با تشکر از شما،چطور میتونم با ۳.۳ ولت خروجی آردوینو مینی ماژول رله ۵ ولت رو ران کنم؟
ممنونم پیشاپیش از جوابگویی شما
درود بر شما علی عزیز
به احتمال زیاد با منطق ۳.۳ ولت هم میتونید ماژول رله رو کنترل کنید. با این حال اگر ماژول خاصی در اختیار دارید که با ولتاژ زیر ۵ ولت فرمان نمیگیرد، برای تبدیل ۳.۳ به ۵ ولت میتوانید از ماژولهای تغییر سطح منطقی استفاده کنید مثل ماژول مبدل سطح ولتاژ ۳.۳V-5V دو طرفه دو کاناله
سلام من مشکلم تو شروع کار هست یعنی وقتی برق مدار فعال میکنم برای یک ثانیه رله تحریک میشه و بعدش خاموش میشه و دیگه نرمال کار میکنه یعنی فقط تو لحظه شروع مشکل دارم آیا میتوان در اردینیو برنامه ای اضافه کرد که در شروع رله تحریک نشود؟ مرسی
درود برشما سعید عزیز
قاعدتاً اگر در شروع برنامه و ابتدای تابع SETUP پایه تحریک رله را HIGH کنید ( با این فرض که از ماژول نوع فعال صفر استفاده میکنید) رله نباید روشن بشه مگر اینکه اتصالات مدارتون به گونهای باشه که تغذیه آردوینو دیرتر از ماژول وصل بشه. برای حل این موضوع هم روشهای مختلفی قابل استفادست که سادهترین کار PULL UP کردن پایه IN ماژول هست (یعنی پایه IN رو با مقاومتی حدود ۱۰ کیلو اهم به VCC وصل کنید.
موفق باشید
سلام رله من کار نمیکنه بعد از روشن شدن چراغ سبز وضعیت باز هم اتصالی بین پین مشترک و پین در حالت عادی باز نیست.
درود بر شما دوست عزیز
پس از دادن فرمان اتصال ولتاژ روی سیمپیچهای رله رو اندازهگیری کنید. در صورتی که این ولتاژ ۵ ولت هست رله ایراد دارد. در غیر اینصورت ممکن است تغذیه شما جریان لازم برای روشن کردن رله را فراهم نمیکند، یا یکی از مقاومتها یا ترانزیستور روی برد عملکرد صحیحی ندارند یا اینکه در مونتاژ آنها مشکلی وجود دارد.
سلام من یک مشکلی دارم
وقتی میخوام کد رو روی اردوینو uno اپلود کنم همش خطای
exit status 1 میده ، ممنون میشم راهنمای کنید
درود بر شما مانی عزیز
این ارور مربوط به کامپایل نشدن کد است. با توجه به اینکه این کد از کتابخانه خاصی استفاده نمیکند احتمالا درست داخل برنامه کپی نشده است.
ممنون توضیحات کامل و ساده روان✨️🌹
درود برشما دوست و همراه عزیز، بسیار خوشحالیم که این مقاله مورد پسند شما واقع شده است 🙂
سلام خسته نباشید ممنون از شما دوست عزیز
فقط یک سوال اگه خواسته باشیم یک دستور اضافه کنیم مثال بگیم بعد از روشن و خاموش شدن روشن بماند چه بنویسید ممنون ؟
درود بر شما علی عزیز
توجه کنید هنگام اجرای برنامه، ابتدا تابع setup یک بار اجرا شده و هر کدی که داخل تابع loop نوشته میشود، مدام تکرار میشود. برای مثال در کد زیر که همه برنامه در تابع setup نوشته شده است، ابتدا رله روشن میشود بعد از ۳ ثانیه خاموش شده و بعد از ۳ ثانیه دوباره روشن میشود و روشن میماند.
int RelayPin = 6;
void setup() {
// Set RelayPin as an output pin
pinMode(RelayPin, OUTPUT);
digitalWrite(RelayPin, LOW);
delay(3000);
digitalWrite(RelayPin, HIGH);
delay(3000);
digitalWrite(RelayPin, LOW);
}
void loop() {
}