شِفر (کود) جستجو

ریلی حالت جامد چهار کاناله با آردوینو

ریلی حالت جامد چهار کاناله با آردوینو

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

قطعات سخت‌افزاری

  • آردوینو ا uno (یا برد سازگار)
  • ماجیول ریلی حالت جامد ۴ کاناله (بر اساس OMRON G3MB-202P)
  • 4 لامپ AC یا بارهای AC دیگر (در محدوده توان ماجیول)
  • سیم‌های جامپر (اتصالات دوپونت توصیه می‌شود)
  • کابل برق AC و دوشاخه (برای بار)
  • برد پیت (اختیاری، برای نمونه‌سازی)

راهنمای سیم‌کشی

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

وایرکشی برای این پروژه ساده است. ماجیول دو طرف دارد: یک طرف کنترل با ولتاژ پایین و یک طرف بار با ولتاژ بالا. در سمت کنترل، پایه‌های DC+ و DC- برای برق و چهار پایه ورودی با برچسب‌های CH1، CH2، CH3 و CH4 وجود دارد. این پایه‌ها به آردوینو به شرح زیر متصل هستند:

  • DC+به آردوینو۵ ولت
  • DC-به آردوینوجی‌ان‌دی
  • CH1به پایه دیجیتال آردوینو۲
  • CH2به پایه دیجیتال آردوینو۳
  • CH3به پایانه دیجیتال آردوینو۴
  • متانبه پایه دیجیتال آردوینو۵
ریلی حالت جامد 4چ - 3 پایه ورودی

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

How to use a 4-channel solid-state relay with Arduino to control a 4A bulb or load
نحوه استفاده از ریلی حالت جامد ۴ کاناله با آردوینو برای کنترل بار یا لامپ ۴ آمپر — How to use a 4-channel solid-state relay with Arduino to control a 4A bulb or load

توضیح شِفر (کود)

شِفر (کود) آردوینو ارائه شده برای این پروژه به گونه‌ای طراحی شده است که به راحتی قابل تنظیم باشد. بخش‌های کلیدی قابل تنظیم توسط کاربر در بالای طرح قرار دارند. (در ویدیو در 06:12)

ابتدا، پایه‌های متصل به ماجیول ریلی را تعریف می‌کنید:

int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR

در مرحله بعد، شما باید نوع تریگر را به‌گونه‌ای تنظیم کنید که با ماجیول خاص شما مطابقت داشته باشد. شِفر (کود) از ماجیول‌های با تریگر بالا و پایین پشتیبانی می‌کند. اگر مطمئن نیستید که کدام نوع را دارید، برچسب روی ماجیول یا فهرست محصول آن را بررسی کنید. (در ویدئو در 06:48)

int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used

در نهایت، می‌توانید زمان تأخیر پیش‌فرض استفاده‌شده در حلقه‌ی نمایش را تنظیم کنید:

int wait = 2000;// delay time

شِفر (کود) شامل یک تابع سفارشی است،contrlSSR()، که کنترل هر ریلی را ساده می‌کند. برای استفاده از آن، سه پارامتر ارائه می‌دهید: شماره ریلی (۱-۴)، عمل (ssrONیاssrOFF)، و مدت زمان به میلی‌ثانیه برای نگه‌داشتن آن حالت. به عنوان مثال،contrlSSR(1, ssrON, 5000);برای ۵ ثانیه ریلی ۱ روشن خواهد شد. این عملکرد منطق ترجمه دستورات سطح بالا شما به سیگنال‌های دیجیتال صحیح برای نوع تحریک خاص شما را مدیریت می‌کند. (در ویدئو در ۰۸:۵۸)

نمایش پروژه زنده

در این نمایش، شِفر (کود) ابتدا اجرا می‌شود تا یک توالی ساده روشن/خاموش برای یک کانال واحد را نشان دهد. شما می‌توانید LED روی ماجیول را ببینید که روشن می‌شود در حالی که لامپ AC مربوطه روشن می‌شود. (در ویدیو در ۱۲:۳۱) سپس شِفر (کود) تغییر می‌کند تا کنترل چندین کانال در یک توالی را نشان دهد، آنها را یکی یکی روشن و خاموش می‌کند. این نشان‌دهنده انعطاف‌پذیری تنظیمات برای ایجاد الگوهای مختلف اتوماسیون است. (در ویدیو در ۱۲:۵۱) در نهایت، یک حلقه برای چرخش از طریق تمام چهار کانال استفاده می‌شود، هر کدام را به ترتیب روشن و سپس خاموش می‌کند. (در ویدیو در ۱۳:۱۲)

4ch_ریلی_حالت_جامد-7-بالا

فصل‌ها

  • مقدمه‌ای بر پروژه SSR چهارکاناله
  • اخطار ایمنی در کار با AC
  • درک مشخصات ماجیول SSR :10
  • [02:18] پایه اوت ماجیول و اتصالات
  • [04:12] آماده‌سازی و اتصال بارهای AC
  • [05:34] اتصال ماجیول به آردوینو
  • [06:12] پیکربندی و توضیحات شِفر (کود)
  • استفاده از تابع contrlSSR()
  • [12:31] نمایش زنده و آزمایش
  • نتیجه‌گیری و منابع اضافی

تصاویر

نحوه استفاده از ریلی حالت جامد ۴ کاناله با آردوینو برای کنترل بار یا لامپ ۴ آمپر
نحوه استفاده از ریلی حالت جامد ۴ کاناله با آردوینو برای کنترل بار یا لامپ ۴ آمپر
4ch solid state relay 7 top
4ch solid state relay 7 top
4ch solid state relay 6 left top
4ch solid state relay 6 left top
4ch solid state relay 5 top
4ch solid state relay 5 top
4ch solid state relay 4 top side
4ch solid state relay 4 top side
4ch solid state relay 3 input pins
4ch solid state relay 3 input pins
4ch solid state relay 2 side connector
4ch solid state relay 2 side connector
4ch solid state relay 1 side view
4ch solid state relay 1 side view
184-Arduino code to control a four-channel solid-state relay
زبان: C++
++
/*
 * This is code to control 4-channel Solid State Relay (SSR) modules using Arduino.
 * Written by Ahmad Shamshiri for Robojax.com 
 * on January 11, 2019 at 21:03 in Ajax, Ontario, Canada.

  Watch instruction video for this code: https://youtu.be/Rfaz5qOLKYQ
  
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */


int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR
int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used
int wait = 2000;// delay time

int ssrON, ssrOFF;// used for two different SSR trigger type. Do not change

void setup() {
  
    Serial.begin(9600);// prepare Serial monitor
    // set pins as output
    if(triggerType)
    {
      ssrON = HIGH;
      ssrOFF = LOW;
    }else{
      ssrON = LOW;
      ssrOFF = HIGH; 
    }
 for(int i=0; i < 4; i++)
 {    
    pinMode(ssr[i], OUTPUT);// sent i(th) pin as output
    digitalWrite(ssr[i], ssrOFF); // Turn the SSR OFF  
 }
               
    Serial.println("Robojax 4 SSR ");

    
}

void loop() {

  // this is just a demo
 for(int i=0; i < 4; i++)
 {
      contrlSSR(i+1, ssrON, 2000); // turn SSRs one by one ON
 }// for loop


 for(int i=0; i < 4; i++)
 {
      contrlSSR(i+1, ssrOFF, 1000);  // turn SSRs one by one OFF
 }// for loop
    

 
   contrlSSR(1, ssrON, 2000);  // turn SSR1 ON for 2 seconds
   contrlSSR(2, ssrON, 3000);// turn SSR2 ON for 3 seconds
   contrlSSR(4, ssrON, 2000);// turn SSR4 ON for 2 seconds
 
   contrlSSR(1, ssrOFF, 0); // turn ssr1 OFF
   contrlSSR(4, ssrOFF, 0);// turn ssr4 OFF
   contrlSSR(2, ssrOFF, 0);// turn ssr2 OFF
    
   delay(2000);
    Serial.println("====== loop done ==");

}// loop



/*

 *  contrlSSR turns OFF or ON SSR
 *  January 11, 2019
 * @param  is an integer, SSR number starts with 1
 * @param control should be ssrON or ssrOFF 
 * @param wait is a number in milliseconds. 

 * 
 */
void contrlSSR(int number, int control, int wait)
{
  if(control == HIGH)
  {
     Serial.print("SSR "); Serial.print(number);Serial.println(" ON");
      digitalWrite(ssr[number-1], ssrON); // Turn the SSR ON    
      delay(wait); 
  }else{
     Serial.print("SSR "); Serial.print(number);Serial.println(" OFF");
      digitalWrite(ssr[number-1], ssrOFF); // Turn the SSR OFF    
      delay(wait);     
  }
}

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

منابع و مراجع

هنوز هیچ منبعی موجود نیست.

فایل‌ها📁

فایل فریزینگ

سایر فایل‌ها