Ардуино коды және қатты күйдегі реле арқылы айнымалы ток шамын немесе жүктемені басқаруға арналған бейне
Бұл оқулықта біз қатты күйдегі реле (SSR) арқылы айнымалы немесе тұрақты ток жүктемесін, мысалы, жарық шамын басқаруды қарастырамыз. Қатты күйдегі реле Arduino-дан төмен вольтты сигнал арқылы электр жүктемелерін қауіпсіз және тиімді ауыстыруға мүмкіндік береді. Осы оқулықтың соңында сізде шамды белгіленген аралықтарда қосуға және өшіруге болатын жұмыс істейтін құрылғы болады.

Бұл жобаны жүзеге асыру үшін біз SSR, нақтырақ айтқанда, 2A дейінгі жүктемелерді өңдей алатын G3MB-202P моделін қолданамыз. Реле Arduino платасындағы цифрлық пин арқылы басқарылады, бұл жүктемені қосу немесе өшіру сигналын жіберуге мүмкіндік береді. Бұл жоба тек практикалық қана емес, сонымен қатар реле және Arduino-мен жұмыс істеуге тамаша кіріспе болып табылады.
Егжей-тегжейлі визуалды түсіндіру үшін ілеспе бейнені міндетті түрде қараңыз (бейнеде 00:00).
Аппараттық құрал түсіндірмесі
Бұл жобада негізгі компонент G3MB-202P қатты күйдегі реле болып табылады. Бұл реле төмен вольтты сигналмен жоғары вольтты жүктемені басқаруға мүмкіндік береді. Ол жүктеме тізбегін ауыстыру үшін оптооқшаулағышты қолданады, басқару және жүктеме жақтары арасында электрлік оқшаулауды қамтамасыз етеді. Реледе үш пин бар: DC+, DC- және Arduino-ға қосылатын кіріс арнасы.
Кіріс сигналы төмен болғанда (0V), реле іске қосылады және жүктеме арқылы токтың өтуіне мүмкіндік береді. Керісінше, кіріс сигналы жоғары болғанда (5V), реле өшеді, жүктемеге токты тоқтатады. Бұл төмен триггер механизмі жоғары вольтты құрылғыларды тікелей электрлік жанасусыз қауіпсіз басқару үшін маңызды.
Деректер парағының мәліметтері
| Өндіруші | Omron |
|---|---|
| Бөлшек нөмірі | G3MB-202P |
| Логика/IO кернеуі | 5 В |
| Қоректендіру кернеуі | 5–24 В |
| Шығыс тогы (арнаға) | 2 А |
| Шың тогы (арнаға) | 4 А |
| PWM жиілігі бойынша нұсқау | 1 кГц дейін |
| Кіріс логикалық шектері | Төмен: 0–1.5 В, Жоғары: 3–30 В |
| Кернеу төмендеуі / RDS(on) / қанығу | 1.5 В макс |
| Жылулық шектер | –30-дан 100 °C-қа дейін |
| Қаптама | Тесік арқылы орнату |
| Ескертулер / нұсқалар | Әртүрлі кіріс кернеуі рейтингтерінде қолжетімді |
- Реленің басқаратын жүктемеңізге сәйкес рейтингте екеніне көз жеткізіңіз.
- Максималды ток рейтингіне жақын жұмыс істегенде тиісті жылу таратқышты қолданыңыз.
- Полярлықтың ауысу мәселелерін болдырмау үшін сымдарды қосуды екі рет тексеріңіз.
- Қоректендіру желілерінде разрядтау конденсаторларын қолданыңыз.
- Қалқымалы кірістерден сақ болыңыз; басқару сигналының дұрыс жерге тұйықталғанына көз жеткізіңіз.
- Ауыстыру қолданбалары үшін PWM жиілігінің реле сипаттамаларына сәйкес екенін растаңыз.
Сымдарды қосу нұсқаулары

Қатты күйдегі релені қосу қарапайым. Реленің оң терминалын (DC+) Arduino-дағы 5V пиніне қосыңыз. Теріс терминал (DC-) Arduino-ның жерге (GND) қосылуы керек. Релені басқаратын кіріс пині Arduino-дағы 8 цифрлық пинге қосылады. Бұл пин релені іске қосу немесе өшіру үшін төмен немесе жоғары сигнал жібереді.
Жүктеме жағында, айнымалы ток шамынан бір сымды реленің шығыс терминалына, ал екінші сымды айнымалы ток көзіне қосыңыз. Тиісті қосқыштарды қолданыңыз және барлық қосылымдардың сенімді екеніне көз жеткізіңіз, электр қауіптерін болдырмау үшін.
Код мысалдары және түсіндірме
Қатты күйдегі релені басқаруға арналған 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 - Қорытынды
/*
* 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 файлы
-
Қатты күйдегі жоғары деңгейлі реле модулі
Solid State High Level Relay Module .fzpz0.04 MB