آموزش آردوینو

آموزش کنترل رله با برد آردوینو (کنترل وسایل)

سلام. آموزش نحوه کنترل رله با آردوینو را آماده کرده ایم. (آموزش Arduino قسمت 8) را آماده کرده ایم.

آموزش کنترل رله با برد آردوینو

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

در این قسمت ما ابتدا به طور کامل با رله ها و نحوه کار آنها آشنا میشویم و سپس نحوه برنامه نویسی برد آردوینو برای کنترل رله را می آموزیم.

این مطلب در شهریور 1404 کاملا بروزرسانی شده است!

کاربرد رله در پروژه های آردوینو

پروژه آردوینو دارید که باید وسیله‌ای با برق شهری را کنترل کند؟ مثلاً یک لامپ یا یک موتور؟ نکته اینجاست که آردوینو تنها با 5 ولت کار می‌کند، در حالی که اغلب وسایل خانگی با ولتاژهای بسیار بالاتر تغذیه می‌شوند. پس چطور می‌توان این فاصله را به شکلی ایمن پر کرد؟

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

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

رله چگونه کار می‌کند؟

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

اساس کار رله

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

اساس کار رله

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

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

به این ترتیب، با روشن یا خاموش کردن یک جریان کوچک، می‌توانید یک مدار پرقدرت را بدون تماس مستقیم کنترل کنید.

عملکرد رله

یک رله معمولی پنج پایه دارد که از زیر آن بیرون زده‌اند.

عملکرد رله

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

سه پایه از این‌ها برای اتصال وسیله‌ای است که می‌خواهید کنترل کنید. این سه پایه به نام‌های NC (Normally Closed = به طور پیش‌فرض بسته)، NO (Normally Open = به طور پیش‌فرض باز) و COM (مشترک) شناخته می‌شوند.

دو پایه باقی‌مانده (coil1 و coil2) به سیم‌پیچ الکترومغناطیسی داخل رله وصل می‌شوند. وقتی ولتاژی به این پایه‌ها اعمال شود، سیم‌پیچ فعال شده و میدان مغناطیسی ایجاد می‌کند.

برای اتصال دستگاهی مثل لامپ یا موتور، باید آن را بین پایه COM و یکی از پایه‌های NC یا NO وصل کنید. اگر می‌خواهید دستگاه به‌طور پیش‌فرض روشن باشد، آن را بین COM و NC قرار دهید. و اگر می‌خواهید به‌طور پیش‌فرض خاموش باشد و تنها با فعال شدن رله روشن شود، آن را بین COM و NO وصل کنید.

نحوه عملکرد رله

وقتی رله غیرفعال است (هیچ جریانی در سیم‌پیچ جاری نیست)، پایه COM به NC متصل است. یعنی برق از این مسیر عبور کرده و دستگاهی که به NC وصل است روشن می‌شود.

اما وقتی جریانی در سیم‌پیچ برقرار می‌شود، میدان مغناطیسی ایجادشده آرمیچر را جذب می‌کند و مسیر COM از NC جدا می‌شود و به NO متصل می‌گردد. به این ترتیب، برق به دستگاهی که به NO وصل است می‌رسد.

به‌محض اینکه جریان سیم‌پیچ قطع شود، میدان مغناطیسی از بین می‌رود و آرمیچر به وضعیت اولیه خود بازمی‌گردد. دوباره COM به NC وصل می‌شود و NO باز می‌ماند. به این ترتیب رله به حالت عادی خود بازمی‌گردد.

بررسی سخت‌افزار ماژول رله تک‌کاناله

یک ماژول رله تک‌کاناله شامل یک رله است که امکان کنترل یک دستگاه الکتریکی پرقدرت مثل لامپ یا موتور را فراهم می‌کند. این رله می‌تواند تا 10 آمپر جریان را در ولتاژ 250 ولت AC یا 30 ولت DC تحمل کند.

بررسی سخت‌افزار ماژول رله تک‌کاناله

البته ماژول‌های رله‌ای با 2، 4 و حتی 8 کانال هم وجود دارند که بسته به تعداد وسایلی که می‌خواهید کنترل کنید می‌توانید از آن‌ها استفاده کنید.

ماژول رله دارای دو چراغ LED به‌عنوان نشانگر است:

  • Power LED (چراغ پاور): زمانی روشن می‌شود که ماژول به منبع تغذیه متصل باشد.
  • Status LED (چراغ وضعیت): زمانی روشن می‌شود که رله فعال گردد. به این ترتیب، با یک نگاه می‌توانید وضعیت رله را تشخیص دهید.

ترمینال خروجی

در یک سمت ماژول، ترمینال‌های پیچی قرار دارند که مخصوص خروجی رله هستند. این ترمینال‌ها با برچسب‌های NC (Normally Closed)، NO (Normally Open) و COM (Common) مشخص شده‌اند.
بسته به اینکه بخواهید وسیله متصل به ماژول به‌طور پیش‌فرض روشن باشد یا خاموش، باید آن را میان این ترمینال‌ها سیم‌کشی کنید.

ترمینال خروجی

پایه کنترل

در سمت دیگر ماژول، یک پایه ورودی به نام IN قرار دارد که برای کنترل رله به‌کار می‌رود.
یک نکته مهم این است که ورودی رله active-LOW است. یعنی وقتی ورودی در حالت LOW (0 ولت) قرار گیرد، رله روشن می‌شود و زمانی که در حالت HIGH (5 ولت) باشد، رله خاموش خواهد شد.

پایه کنترل رله

این ماژول با ولتاژ 5 ولت کار می‌کند و زمانی که رله فعال باشد، حدود 70 میلی‌آمپر جریان مصرف می‌کند.

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

پین‌های ماژول رله تک‌کاناله

بیایید نگاهی به پین‌ها بیندازیم:

پین‌های ماژول رله تک‌کاناله

  • GND: اتصال زمین مشترک.
  • VCC: پایه تغذیه. این پایه به پین ۵ ولت آردوینو متصل می‌شود.
  • IN: ورودی کنترل رله. همان‌طور که گفته شد، این پایه active-LOW است؛ یعنی در حالت LOW (۰ ولت) رله روشن می‌شود و در حالت HIGH (۵ ولت) خاموش خواهد بود.
  • COM: ترمینال مشترک. یکی از سیم‌های وسیله‌ای که می‌خواهید کنترل کنید به این پایه متصل می‌شود.
  • NC (Normally Closed): در حالت غیرفعال رله به COM متصل است. اگر وسیله‌ای به این پایه وصل شود، به‌طور پیش‌فرض روشن خواهد بود و با فعال شدن رله خاموش می‌شود.
  • NO (Normally Open): در حالت غیرفعال از COM جدا است. اگر وسیله‌ای به این پایه وصل شود، به‌طور پیش‌فرض خاموش خواهد بود و تنها با فعال شدن رله روشن می‌شود.

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

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

هشدار بسیار مهم ایمنی

این پروژه شامل کار با ولتاژ بالای AC (برق شهری) است. هرگونه اشتباه در کار می‌تواند منجر به آسیب جدی یا حتی مرگ شود.

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

اتصالات پایه‌ای

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

  1. پایه VCC ماژول رله را به پین ۵V آردوینو وصل کنید.
  2. پایه GND ماژول را به پایه GND آردوینو متصل کنید.
  3. پایه IN ماژول رله را به پین دیجیتال 6 آردوینو وصل نمایید.

حالا باید لامپ AC را به ماژول رله متصل کنیم. قبل از شروع، حتماً مطمئن شوید که لامپ از پریز جدا شده و منبع برق کاملاً قطع است. این موضوع برای ایمنی شما حیاتی است.

  1. سیم فاز کابل برق لامپ را با دقت برش دهید.
  2. انتهای سیمی که از پریز برق می‌آید را به ترمینال COM (مشترک) ماژول رله وصل کنید.
  3. سر دیگر سیم (که به لامپ می‌رود) را به یکی از ترمینال‌های زیر متصل کنید:
  • NO (Normally Open): در این حالت، لامپ به‌طور پیش‌فرض خاموش است و فقط هنگام فعال شدن رله روشن می‌شود.
  • NC (Normally Closed): در این حالت، لامپ به‌طور پیش‌فرض روشن است و هنگام فعال شدن رله خاموش خواهد شد.

برای این پروژه، ما می‌خواهیم لامپ در حالت پیش‌فرض خاموش باشد و تنها زمانی روشن شود که رله فعال گردد. بنابراین، یک سیم را به COM و دیگری را به NO متصل می‌کنیم.

ماژول رله پین های آردوینو
VCC 5V
GND GND
IN 6

تصویر زیر نحوه سیم‌کشی مدار را نشان می‌دهد.

مدار سیم کشی رله و آردوینو

کد آردوینو برای کنترل رله

حالا که ماژول رله را سیم‌کشی کردیم، وقت آن است که آن را با آردوینو کنترل کنیم. این بخش واقعاً ساده است. کنترل یک رله تقریباً مشابه روشن و خاموش کردن یک LED است.

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

int RelayPin = 6;

void setup() {
  // تعیین پایه رله به عنوان خروجی
  pinMode(RelayPin, OUTPUT);
}

void loop() {
  // روشن کردن رله...
  digitalWrite(RelayPin, LOW);
  delay(3000);

  // خاموش کردن رله...
  digitalWrite(RelayPin, HIGH);
  delay(3000);
}

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

توضیح کد

در کد ما، اولین کاری که انجام می‌دهیم این است که به آردوینو اعلام کنیم رله به کدام پین متصل است. در این مثال، از پین 6 استفاده کرده‌ایم. بنابراین یک متغیر با نام RelayPin تعریف کرده و مقدار آن را برابر 6 قرار داده‌ایم:

int RelayPin = 6;

در تابع setup()، آردوینو را طوری تنظیم می‌کنیم که پین رله را به عنوان خروجی در نظر بگیرد، زیرا قرار است از آردوینو به رله سیگنال ارسال کنیم:

pinMode(RelayPin, OUTPUT);

در تابع loop() ابتدا رله را روشن می‌کنیم. از آن‌جایی که ماژول‌های رله active-LOW هستند (یعنی زمانی فعال می‌شوند که پین در وضعیت LOW یا 0 ولت قرار گیرد)، بنابراین دستور زیر رله را روشن می‌کند:

digitalWrite(RelayPin, LOW);
delay(3000);
>

سپس رله را خاموش می‌کنیم. برای این کار، پین را در وضعیت HIGH (5 ولت) قرار می‌دهیم و دوباره 3 ثانیه صبر می‌کنیم:

digitalWrite(RelayPin, HIGH);
delay(3000);

این روند به صورت مداوم تکرار می‌شود و رله (و در نتیجه لامپ) هر سه ثانیه روشن و خاموش خواهد شد.

قسمت بعدی: آموزش آنالوگ به دیجیتال ADC در آردوینو

4.2 (44 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

31 نظر

  1. سلام وقت بخیر، میخواستم ببینم راهی هست که بشه ۲۰ عدد ماژول سنسور گاز را به برد آردونیو متصل کنم؟ نیاز به برد کمکی هست؟ نیاز به رله هست؟

  2. سلام ببخشید
    رله ها چه خطراتی می توانند داشته باشند ؟
    می توانند باعث آتش سوزی هم شوند ؟

    1. سلام وقتتون بخیر ببخشید یه سوال داشتم
      پایه های d0 تا d5 آردوینو چند ولت برق رو خروجی میدن
      و اینکه اگه به این پین ها لامپ ۳ ولتی وصل کنم نمیسوزه؟

  3. سلام و درود ببخشید شما پروژه ی سفارش درست می کنید

    می خواستم پروژه ای با اردینو نانو بسازم که وقتی آب پر می شود با رله پمپ آب خاموش بشود

    اگه میشود میتوانید آن را در یکی از پست هاتون بگذارید

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

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

    1. سلام عزیز
      کافی هست از یک رله 5 استفاده کنید. اگر در کار با آردوینو تازه وارد هستید برای یادگیری برنامه نویسی میتوانید دوره آموزش آردوینو را مشاهده کنید.

    1. سلام عزیز
      خوشحالم که رضایت داشتین

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

    1. سلام عزیز
      خیر مشکلی پیش نمیاد، پایه 5 ولت آردوینو اونو میتونه 0.8 آمپر جریان را خارج کنه.

  6. سلام وقتتون بخیر و تشکر بخاطر آموزشتون
    اگر بخوایم روشن و خاموش شدن رله وابسته به یک ولتاژ DC ورودی باشه چطور میشه؟
    به فرض اگر ولتاژ 4 ولت به یک پین آردوینو وارد شد رله را روشن کند

    1. سلام عزیز
      با استفاده از آنالوگ به دیجیتال ولتاژ ورودی رو بدست بیارید و یک شرط اضافه کنید در صورتی که ولتاژ 4 بود رله روشن بشه

  7. سلام، من یک ماژول رله دارم که وقتی پایه رله رو خاموش میکنم رله روشن میشه و وقتی روشن میکنم رله خاموش میشه:

    رله روشن:
    digitalWrite(RelayPin, LOW)
    رله خواموش:
    digitalWrite(RelayPin, HIGH)

    چرا این اتفاق می افتد؟

    1. سلام عزیز
      بعضی از ماژول های رله اینطور ساخته و پیکربندی شده اند مسئله خاصی نیست

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

  8. سلام
    موتور 12 ولت رو هم میشه با رله و آردوینو راه اندازی کرد(مشابه همین مدار که برای لامپ بستید)؟ در اینصورت بازم به درایور نیاز داریم؟

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

  9. سلام خسته نباشید
    من این کد رو وارد می کنم و گزینه ی آپلود رو که می زنم نرم افزار ارور می دهد.
    چه کار باید بکنم؟

    1. سلام عزیز
      ارور دریافتی رو اینجا ارسال کنید

  10. سلام درود خدمت مهندس ببخشید اگر بخواهیم 50 عدد رله رو وصل کنیم چطور میشه

  11. سلام من خاموش روشن رله ۲ کانال رو میخام با سیم‌کارت انجام‌بشه همه لوازمشو خریدم .gprs shisld ono به همراه یه uno به همراه پاژول رله ث کانال . اگه میتونید کمک کنید کد بدید ممنون میشم اگر نه بنویسید برام هزینشو میدم ممنون

  12. سلام، ممنون از مطلب خوبتون، یه سوالی داشتم. من رله رو از لینک زیر خریدم:
    1603804
    نوشته ماژول رله. پس من دیگه نیازی نیست وقتی وصلش میکنم به برد آردوینو، براش ترانزیستور و مقاومت بذارم؟

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

  14. سلام وقت بخیر
    من میخوام دوتا جک برقی رو کنترل کنم
    که به چهار رله نیاز دارم
    سوالم اینه
    برای کنترل چهار رله میشه از یک برد اردینو استفاده کرد؟

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *