ค้นหาโค้ด

รหัส Arduino และวิดีโอสำหรับโซลิดสเตตรีเลย์เพื่อควบคุมหลอดไฟ AC หรือโหลด

รหัส Arduino และวิดีโอสำหรับโซลิดสเตตรีเลย์เพื่อควบคุมหลอดไฟ AC หรือโหลด

ในบทช่วยสอนนี้ เราจะสำรวจวิธีการใช้โซลิดสเตตรีเลย์ (SSR) เพื่อควบคุมโหลดไฟฟ้ากระแสสลับหรือไฟฟ้ากระแสตรง เช่น หลอดไฟ โซลิดสเตตรีเลย์ช่วยให้การสลับโหลดไฟฟ้าปลอดภัยและมีประสิทธิภาพโดยใช้สัญญาณแรงดันต่ำจาก Arduino เมื่อจบบทช่วยสอนนี้ คุณจะมีการตั้งค่าที่ใช้งานได้ซึ่งสามารถเปิดและปิดไฟตามช่วงเวลาที่กำหนด

single channel solid state relay

ในการดำเนินโครงการนี้ เราจะใช้ SSR โดยเฉพาะรุ่น G3MB-202P ซึ่งสามารถรองรับโหลดได้สูงสุด 2A รีเลย์จะถูกควบคุมโดยพินดิจิทัลจากบอร์ด Arduino ทำให้เราสามารถส่งสัญญาณเพื่อเปิดหรือปิดโหลดได้ โครงการนี้ไม่เพียงแต่ใช้งานได้จริง แต่ยังเป็นบทนำที่ดีเยี่ยมสำหรับการทำงานกับรีเลย์และ Arduino

สำหรับคำอธิบายภาพโดยละเอียด โปรดดูวิดีโอประกอบ (ในวิดีโอที่ 00:00)

อธิบายฮาร์ดแวร์

ในโครงการนี้ ส่วนประกอบหลักคือโซลิดสเตตรีเลย์ G3MB-202P รีเลย์นี้ช่วยให้คุณควบคุมโหลดแรงดันสูงด้วยสัญญาณแรงดันต่ำ มันทำงานโดยใช้ออปโตไอโซเลเตอร์เพื่อสลับวงจรโหลด โดยให้การแยกทางไฟฟ้าระหว่างด้านควบคุมและด้านโหลด รีเลย์มีสามพิน: DC+, DC- และช่องสัญญาณอินพุตซึ่งเชื่อมต่อกับ Arduino

เมื่อสัญญาณอินพุตต่ำ (0V) รีเลย์จะทำงานและอนุญาตให้กระแสไหลผ่านโหลด ในทางกลับกัน เมื่อสัญญาณอินพุตสูง (5V) รีเลย์จะปิด ตัดกระแสไปยังโหลด กลไกการทริกเกอร์ต่ำนี้จำเป็นสำหรับการจัดการอุปกรณ์แรงดันสูงอย่างปลอดภัยโดยไม่ต้องสัมผัสทางไฟฟ้าโดยตรง

รายละเอียดจากดาต้าชีต

ผู้ผลิตOmron
หมายเลขชิ้นส่วนG3MB-202P
แรงดันไฟฟ้าลอจิก/IO5 V
แรงดันไฟฟ้าจ่าย5–24 V
กระแสเอาต์พุต (ต่อช่อง)2 A
กระแสสูงสุด (ต่อช่อง)4 A
คำแนะนำความถี่ PWMสูงสุด 1 kHz
เกณฑ์ลอจิกอินพุตต่ำ: 0–1.5 V, สูง: 3–30 V
แรงดันตก / RDS(on) / ความอิ่มตัวสูงสุด 1.5 V
ขีดจำกัดความร้อน–30 ถึง 100 °C
แพ็คเกจThrough-hole
หมายเหตุ / รุ่นต่างๆมีให้เลือกหลายพิกัดแรงดันไฟฟ้าอินพุต

  • ตรวจสอบให้แน่ใจว่ารีเลย์มีพิกัดเพียงพอสำหรับโหลดที่คุณต้องการควบคุม
  • ใช้แผ่นระบายความร้อนที่เหมาะสมหากทำงานใกล้พิกัดกระแสสูงสุด
  • ตรวจสอบการเดินสายไฟซ้ำเพื่อหลีกเลี่ยงปัญหาขั้วกลับ
  • ใช้ตัวเก็บประจุแยกสัญญาณบนสายจ่ายไฟ
  • ระวังอินพุตลอย ตรวจสอบให้แน่ใจว่าสัญญาณควบคุมมีการต่อกราวด์อย่างถูกต้อง
  • ยืนยันว่าความถี่ PWM อยู่ในข้อกำหนดของรีเลย์สำหรับการใช้งานสลับ

คำแนะนำการเดินสายไฟ

Arduino wiring for single channel solid state relay
Arduino wiring for single channel solid state relay

การเดินสายไฟโซลิดสเตตรีเลย์เป็นเรื่องง่าย เชื่อมต่อขั้วบวกของรีเลย์ (DC+) เข้ากับพิน 5V บน Arduino ขั้วลบ (DC-) ควรเชื่อมต่อกับกราวด์ (GND) ของ Arduino พินอินพุตซึ่งควบคุมรีเลย์ เชื่อมต่อกับพินดิจิทัล 8 บน Arduino พินนี้จะส่งสัญญาณต่ำหรือสูงเพื่อเปิดหรือปิดรีเลย์

ในด้านโหลด เชื่อมต่อสายหนึ่งจากหลอดไฟ AC เข้ากับขั้วเอาต์พุตของรีเลย์ และสายอีกเส้นเข้ากับแหล่งจ่าย AC ตรวจสอบให้แน่ใจว่าใช้ขั้วต่อที่เหมาะสมและยึดการเชื่อมต่อทั้งหมดให้แน่นหนาเพื่อป้องกันอันตรายทางไฟฟ้า

ตัวอย่างโค้ดและคำอธิบาย

นี่คือภาพรวมโดยย่อของโค้ด Arduino เพื่อควบคุมโซลิดสเตตรีเลย์:

int relayPin = 8; // กำหนดพิน 8 สำหรับเอาต์พุตรีเลย์

void setup() {
    Serial.begin(9600); // เริ่มต้นการสื่อสารซีเรียล
    pinMode(relayPin, OUTPUT); // กำหนดพินรีเลย์เป็นเอาต์พุต
}

ในส่วนนี้ เรากำหนด relayPin เป็น 8 ซึ่งตรงกับพินดิจิทัลที่เชื่อมต่อกับรีเลย์ ฟังก์ชัน setup() เริ่มต้นการสื่อสารซีเรียลและกำหนดพินรีเลย์เป็นเอาต์พุต

void loop() {
    digitalWrite(relayPin, LOW); // เปิดรีเลย์
    Serial.println("Relay ON"); // แสดงผลไปยังมอนิเตอร์ซีเรียล
    delay(2000); // รอ 2 วินาที
}

ในฟังก์ชัน loop() เราจะเปิดรีเลย์โดยตั้งค่า relayPin เป็น LOW ซึ่งจะเปิดใช้งานรีเลย์และอนุญาตให้กระแสไหลไปยังโหลด มีการพิมพ์ข้อความไปยังมอนิเตอร์ซีเรียลเพื่อยืนยัน

    digitalWrite(relayPin, HIGH); // ปิดรีเลย์
    Serial.println("Relay OFF"); // แสดงผลไปยังมอนิเตอร์ซีเรียล
    delay(2000); // รอ 2 วินาที
}

ถัดไป เราปิดรีเลย์โดยตั้งค่า relayPin เป็น HIGH ซึ่งจะหยุดการไหลของกระแสไปยังโหลด อีกครั้ง เราพิมพ์ข้อความไปยังมอนิเตอร์ซีเรียลเพื่อระบุสถานะของรีเลย์ กระบวนการนี้ทำซ้ำอย่างไม่มีที่สิ้นสุด โดยเปิดและปิดรีเลย์ทุกสองวินาที

สำหรับโค้ด Arduino ที่สมบูรณ์ โปรดดูโค้ดเต็มที่โหลดไว้ด้านล่างบทความ

การสาธิต / สิ่งที่คาดหวัง

เมื่ออัปโหลดโค้ดไปยัง Arduino คุณควรเห็นรีเลย์เปิดและปิด โดยเปิดและปิดหลอดไฟที่เชื่อมต่อทุกสองวินาที หากรีเลย์ไม่ทำงานตามที่คาดหวัง ให้ตรวจสอบการเชื่อมต่อสายไฟและตรวจสอบให้แน่ใจว่ารีเลย์ได้รับสัญญาณควบคุมที่ถูกต้อง ปัญหาทั่วไปรวมถึงขั้วกลับในด้านโหลดหรือการเชื่อมต่อที่ไม่ถูกต้องบน Arduino

สำหรับการยืนยันด้วยภาพเพิ่มเติมเกี่ยวกับการทำงานของรีเลย์ โปรดดูวิดีโอ (ในวิดีโอที่ 06:00) ซึ่งแสดงหลอดไฟเปิดและปิดเมื่อรีเลย์ทำงาน

ไทม์สแตมป์วิดีโอ

  • 00:00 - แนะนำโครงการ
  • 01:30 - การตั้งค่าฮาร์ดแวร์
  • 03:15 - คำอธิบายโค้ด
  • 05:45 - การสาธิตสด
  • 07:00 - บทสรุป

ภาพ

single channel solid state relay
single channel solid state relay
single channel solid state relay
single channel solid state relay
Arduino wiring for single channel solid state relay
Arduino wiring for single channel solid state relay
59-This is the Arduino code for a 5V solid-state relay.
ภาษา: C++
/*
 * This is the Arduino code for a Solid State Relay
 * to control turning ON or OFF an AC or DC load
 * Watch the video https://youtu.be/64NatLeGsaE
 *  * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: January 13, 2018, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */


 // Introduction to a 5v Solid State relay.
int relayPin = 8;// set pin 8 for relay output

// setup code for Robojax Solid State Relay
void setup() {
    // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  Serial.println("Robojax Solid State Relay");
  pinMode(relayPin, OUTPUT);

}

// loop code for Robojax Solid State Relay
void loop() {

  // Turn the relay switch ON (Robojax.com/learn/arduino)
  digitalWrite(relayPin, LOW);// set relay pin to low 
  Serial.println("Relay ON");
  delay(2000);

   // Turn the relay switch OFF (Robojax.com/learn/arduino)
  digitalWrite(relayPin, HIGH);// set relay pin to HIGH
  Serial.println("Relay OFF");
  delay(2000);
}

แหล่งข้อมูลและเอกสารอ้างอิง

ยังไม่มีทรัพยากรเลย

ไฟล์📁

ไฟล์ Fritzing