كود أردوينو وفيديو لمرحّل الحالة الصلبة للتحكم في مصباح تيار متردد أو حمولة
في هذا الشرح سنستعرض كيفية استخدام مرحل الحالة الصلبة (SSR) للتحكم في حمل تيار متردد أو تيار مستمر، مثل المصباح. يتيح مرحل الحالة الصلبة تبديل الأحمال الكهربائية بأمان وكفاءة باستخدام إشارة جهد منخفض من أردوينو. بحلول نهاية هذا الشرح سيكون لديك إعداد يعمل يتيح تشغيل وإطفاء المصباح على فترات محددة.

لتنفيذ هذا المشروع، سنستخدم مرحّل حالة صلبة (SSR)، تحديدًا الطراز G3MB-202P، الذي يمكنه تحمل أحمال تصل حتى 2 أمبير. سيُتحكم في المرحّل عبر دبوس رقمي من لوحة Arduino، مما يتيح لنا إرسال إشارة لتشغيل الحمل أو إيقافه. هذا المشروع ليس عمليًا فحسب، بل يعد أيضًا مقدمة ممتازة للعمل مع المرحلات ولوحة Arduino.
للحصول على شرح بصري مفصّل، تأكد من مشاهدة الفيديو المرفق (في الفيديو عند 00:00).
شرح الأجهزة
في هذا المشروع، المكوّن الأساسي هو المرحّل الحالة الصلبة G3MB-202P. يتيح لك هذا المرحّل التحكم في حمل عالي الجهد بإشارة ذات جهد منخفض. يعمل باستخدام عازل بصري لتبديل دائرة الحمل، موفراً عزلاً كهربائياً بين جانب التحكم وجانب الحمل. يضم المرحّل ثلاثة أطراف: DC+ وDC- وقناة الإدخال التي تتصل بالأردوينو.
عندما تكون إشارة الإدخال منخفضة (0V)، يعمل المرحّل ويسمح بمرور التيار عبر الحمل. وبالمقابل، عندما تكون إشارة الإدخال عالية (5V)، ينطفئ المرحّل فيقطع التيار عن الحمل. آلية التفعيل عند المستوى المنخفض هذه ضرورية لإدارة الأجهزة ذات الجهد العالي بأمان دون اتصال كهربائي مباشر.
تفاصيل ورقة البيانات
| المصنّع | أومرون |
|---|---|
| رقم القطعة | G3MB-202P |
| جهد المنطق/الإدخال والإخراج | 5 فولت |
| جهد التغذية | 5-24 فولت |
| تيار الإخراج (لكل قناة) | 2 أمبير |
| التيار الأقصى (لكل قناة) | 4 A |
| إرشادات تردد PWM | حتى 1 kHz |
| عتبات منطق الإدخال | منخفض: 0-1.5 فولت، مرتفع: 3-30 فولت |
| هبوط الجهد / Rبين المصرف والمصدر أثناء التشغيل/ التشبع | 1.5 فولت كحد أقصى |
| الحدود الحرارية | -30 إلى 100 °C |
| حزمة | تركيب عبر الثقوب |
| ملاحظات / متغيرات | متوفر بمختلف قيم جهد الإدخال |
- تأكد أن المرحّل مصنّف لتحمّل الحمل الذي تنوي التحكم فيه.
- استخدم مشتت حرارة مناسب إذا كنت تعمل بالقرب من الحد الأقصى لتصنيف التيار
- افحص الأسلاك مرتين لتجنب مشاكل القطبية المعكوسة.
- استخدم مكثفات فك الربط على خطوط تزويد الطاقة.
- احذر من المدخلات العائمة؛ تأكد من تأريض إشارة التحكم بشكل صحيح.
- تأكد من أن تردد PWM يقع ضمن مواصفات المرحل لتطبيقات التبديل.
تعليمات الأسلاك

توصيل مرحل الحالة الصلبة بسيط. قم بتوصيل الطرف الموجب للمرحل (DC+) بدبوس 5V في الأردوينو. يجب توصيل الطرف السالب للمرحل (DC-) بأرضي (GND) الخاص بالأردوينو. يتصل دبوس الإدخال، الذي يتحكم بالمرحل، بالدبوس الرقمي 8 على الأردوينو. هذا الدبوس سيرسل إشارة منخفضة أو عالية لتفعيل أو تعطيل المرحل.
على جانب الحمل، قم بتوصيل سلك واحد من مصباح التيار المتردد إلى طرف مخرج المرحل والسلك الآخر إلى مصدر التيار المتردد. تأكد من استخدام موصلات مناسبة وضمان أن جميع الوصلات محكمة لتجنب أي مخاطر كهربائية.
أمثلة برمجية ودليل إرشادي
إليك نظرة عامة موجزة على كود الأردوينو للتحكم في مرحل الحالة الصلبة:
int relayPin = 8; // set pin 8 for relay output
void setup() {
Serial.begin(9600); // initialize serial communication
pinMode(relayPin, OUTPUT); // set relay pin as output
}في هذا المقتطف، نعرّفrelayPinكـ 8، الذي يقابل الدبوس الرقمي المتصل بالمرحّل. الـsetup()تقوم الدالة بتهيئة الاتصال التسلسلي وتعيين دبوس المرحل كمخرج.
void loop() {
digitalWrite(relayPin, LOW); // turn relay ON
Serial.println("Relay ON"); // output to serial monitor
delay(2000); // wait for 2 seconds
}في الـloop()في الدالة، نشغّل المرحل عن طريق ضبطrelayPinإلى LOW، مما يُفعّل المرحّل ويسمح بتدفق التيار إلى الحمل. تُطبع رسالة على المراقب التسلسلي للتأكيد.
digitalWrite(relayPin, HIGH); // turn relay OFF
Serial.println("Relay OFF"); // output to serial monitor
delay(2000); // wait for 2 seconds
}بعد ذلك، نطفئ المرحل عن طريق ضبطrelayPinإلى HIGH، مما يوقف تدفق التيار إلى الحمل. مرة أخرى، نطبع رسالة على نافذة المراقبة التسلسلية للإشارة إلى حالة المرحل. يتكرر هذا الإجراء بلا نهاية، حيث يتم تشغيل وإيقاف المرحل كل ثانيتين.
للاطلاع على كود Arduino الكامل، يرجى مراجعة الكود الكامل المحمّل أسفل المقال.
عرض توضيحي / ما الذي تتوقعه
عند رفع الكود إلى لوحة الأردوينو، ينبغي أن ترى المرحل ينقر تشغيلًا وإيقافًا، مشغّلًا المصباح المتصل ومطفئًا إياه كل ثانيتين. إذا لم يعمل المرحل كما هو متوقع، فافحص توصيلات الأسلاك وتأكد من أن المرحل يتلقى إشارة التحكم الصحيحة. من المشاكل الشائعة عكس القطبية على جانب الحمل أو التوصيلات الخاطئة في لوحة الأردوينو.
للحصول على تأكيد بصري إضافي على عمل المرحل، راجع الفيديو (في الفيديو عند 06:00) حيث يظهر المصباح وهو يشتعل وينطفئ أثناء تنشيط المرحل.
الطوابع الزمنية للفيديو
- 00:00- مقدمة عن المشروع
- 01:30- إعداد الأجهزة
- 03:15- شرح الكود
- 05:45- عرض مباشر
- 07:00- الخاتمة
/*
* 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 File
-
وحدة ريل عالي المستوى بحالة صلبة
Solid State High Level Relay Module .fzpz0.04 MB