Жоба: RJT520 реле таймері, 555, 6В-18В, 20А
Бұл оқулықта біз RJT520 релеі мен 6В-тан 18В-қа дейінгі кернеу диапазонында жұмыс істейтін 555 таймерлік интегралды схеманы пайдаланып, реле таймерлік схемасын құрамыз. Бұл жоба қосу немесе өшіру алдында кідіріс қажет ететін құрылғыларды, мысалы, жарықтар немесе тұрмыстық техника, басқару үшін өте қолайлы. Нәтижесінде 20А-ға дейінгі токты көтере алатын функционалды реле таймері пайда болады, бұл кең ауқымды қолданбаларға мүмкіндік береді.

Біз 555 таймерлік интегралды схеманы моностабильді режимде пайдаланып, кешіктіру таймерін жасаймыз. Триггерленген кезде, таймер реле жұмысын белгілі бір уақытқа қосып, кейін оны өшіреді. Бұл жоба қарапайым, бірақ тиімді, сондықтан ол сіздің электроника құралдары жинағыңызға тамаша қосымша болады. Көбірек визуалды түсінік алу үшін, бейнені тексеруді ұмытпаңыз (бейне 02:15).
Аппараттық құралдар түсіндірілді
Бұл жобаның негізгі компоненттері RJT520 реле, 555 таймер ИС және қуат көзі болып табылады. RJT520 реле - 20A-ға дейін жүктемелерді ауыстыра алатын қуатты реле, бұл оны үлкен құрылғыларды басқаруға жарамды етеді. 555 таймер ИС - әртүрлі режимдерде конфигурацияланатын әмбебап компонент, оның ішінде біз таймеріміз үшін қолданатын моностабильді режим бар.

Реле электромагнитті пайдаланып, контактілер жиынтығын механикалық түрде ауыстыру арқылы жұмыс істейді. 555 таймерінің шығысы жоғары болғанда, реле катушкасын қуаттандырады, контактілерді жабады және токтың қосылған жүктемеге ағып кетуіне мүмкіндік береді. Бұл конфигурация алыстан басқару немесе автоматтандыруды қажет ететін қолданбалар үшін пайдалы.
Техникалық сипаттама мәліметтері
| Өндіруші | RJT |
|---|---|
| Бөлшек нөмірі | RJT520 |
| Жабдықтау кернеуі | 6-18 В |
| Шығыс ток | 20 A макс |
| Катушка тогы | 70 мА тип. |
| Ауыстыру кернеуі | 250 В АС / 30 В DC |
| Байланыс конфигурациясы | SPDT |
| Жұмыс температурасы | -40-тан 85 °C-қа дейін |
| Пакет | Стандартты реле пакеті |
- Реле жүктеме токын (максимум 20 А) көтере алатынына көз жеткізіңіз.
- Реле жоғары температурада жұмыс істесе, тиісті жылу тарату құралдарын пайдаланыңыз.
- 555 таймерді зақымдамау үшін кернеу деңгейлерін тексеріңіз.
- 555 таймерінің қуат пиндеріне жақын декуплирующие конденсаторларды пайдаланыңыз.
- Реле контактарын тозу үшін тексеріңіз және қажет болса ауыстырыңыз.
- Индуктивті жүктемелерді қосқанда, кері ЭМҚ-дан сақ болыңыз.
Сымдарды қосу нұсқаулары

RJT520 реле таймерінің схемасын қосу үшін, алдымен 555 таймерлік интегралды схеманы қосыңыз. 555 таймерінің 1-ші пинін (GND) қуат көзінің жеріне қосыңыз. Содан кейін 8-ші пинді (VCC) қуат көзінің оң терминалына (6V-тан 18V-қа дейін) қосыңыз.

Келесі, 2-пинді (TRIG) триггер қосқышыңызға немесе кіріс сигналына қосыңыз. Бұл пин таймерді төмен импульс алған кезде іске қосады. 555 таймерінің 3-пинін реле катушкасының бір терминалына қосыңыз, ал катушканың екінші терминалын жерге қосыңыз. Циклді кері ЭМП-дан қорғау үшін реле катушкасының үстіне диодты ұмытпаңыз.
Реле шығысы үшін, жалпы терминалдардың бірін басқарғыңыз келетін жүктемеге қосыңыз, ал екінші терминалды қуат көзіне қосыңыз. Жүктеменің басқа терминалын жалпы жерге қайта қосқаныңызға көз жеткізіңіз. Соңында, 6 және 2 пиндерге қосылған уақыт компоненттерін (резистор мен конденсатор) қалаған кідірісіңізге конфигурациялаңыз.
Код мысалдары мен нұсқаулық
Кодта біз кілт идентификаторларын анықтаймыз, мысалыtriggerPinкіріс триггері үшін жәнеrelayPinреле шығысы үшін. Орнату функциясы осы пиндерді инициализациялайды, ал цикл функциясы триггер күйін бақылап отырады.
const int triggerPin = 2; // Input trigger pin
const int relayPin = 3; // Relay control pin
void setup() {
pinMode(triggerPin, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
if (digitalRead(triggerPin) == HIGH) {
digitalWrite(relayPin, HIGH); // Activate relay
delay(1000); // Keep relay on for 1 second
digitalWrite(relayPin, LOW); // Deactivate relay
}
}
Бұл үзінді пиндерді инициализациялайды және триггер пині HIGH сигналын алған сайын реле бір секундқа қосылатындай етіп орнатады. Сіздің нақты уақыт талаптарыңызға сәйкес кешіктіруді реттеуді ұмытпаңыз.
void loop() {
if (digitalRead(triggerPin) == HIGH) {
digitalWrite(relayPin, HIGH); // Activate relay
delay(1000); // Keep relay on for 1 second
digitalWrite(relayPin, LOW); // Deactivate relay
}
}
Мұнда біз тексереміз, егерtriggerPinжоғары. Егер солай болса, реле қосылады және оны бір секунд бойы белсенді ұстаймыз, пайдалана отырыпdelay()функция. Қажет болса, сіздің қосымшаңыз үшін кідірісті реттеңіз.
Көрсетілім / Не күту керек
Сәтті сыммен қосу және бағдарламалау кезінде реле триггер қосылғанда іске қосылуы тиіс. Реленің өзіне тән сипаттамаларына сәйкес жұмыс істейтінін тексеру үшін әртүрлі жүктемелерді сынап көруге болады. Жиі кездесетін қателіктерге дұрыс емес кернеу қосылымдары және кері ЭМҚ-дан қорғауды қамтамасыз етпеу жатады, бұл схеманы зақымдауы мүмкін.
Бейне уақыт белгілері
- 00:00- Кіріспе
- 02:15- Сымдарды түсіндіру
- 05:30- Кодты қарау
- 07:45- Көрсету
Суреттер
/*
This code is for:
Building an H-Bridge Motor driver using TIP120 and TIP125 on a breadboard and full PCB Design with Arduino
https://youtu.be/6ugrL5ziPn8
This code has been downloaded from Robojax.com
You can access the resources page and download the Gerber file to produce
the PCB or a fully assembled PCB from PCBX.com
Visit https://robojax.com/tutorial_view.php?id=392
to control a DC motor using TIP120 and TIP125 as an
H bridge
Written by Ahmad Shamshiri
26 Aug 2024
*/
const int PWM1= 9;//pin with ~
const int EN1= 8;
const int PWM2= 3;//pin with ~
const int EN2= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int);//prototype
void brake();//prototype
void setup() {
Serial.begin(9600);
Serial.println("TIP120 H Bridge by Robojax");
pinMode(PWM1, OUTPUT);
pinMode(EN1, OUTPUT);
pinMode(PWM2, OUTPUT);
pinMode(EN2, OUTPUT);
}
void loop() {
Motor(CW, 50);//in CW at 50% speed
delay(5000);
stop();
delay(2000);
Motor(CCW, 80);//in CCW at 80% speed
delay(5000);
brake();
delay(2000);
for (int i=0; i<=100; i++)
{
Motor(CCW, i);
delay(25);
}
delay(5000);
brake();
delay(2000);
}
/*
stop()
stops the output
*/
void stop()
{
Serial.println ("=== Stop");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}
/*
brake()
*/
void brake()
{
Serial.println ("=== Brake");
digitalWrite(PWM1, HIGH);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, HIGH);
digitalWrite(EN2, LOW);
}
void Motor(boolean direction, int speed=0)
{
int speedPWM = map(speed, 0, 100, 0, 255);
Serial.print("Speed: "); Serial.print (speedPWM);
Serial.print ("(");Serial.print (speed);Serial.print ("%)");
if(direction){
Serial.print(" dir: ");Serial.println ("CW");
analogWrite(PWM1, speedPWM);
digitalWrite(EN1, HIGH);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}else{
Serial.print(" dir: ");Serial.println ("CCW");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
analogWrite(PWM2, speedPWM);
digitalWrite(EN2, HIGH);
}
}
Ресурстар мен сілтемелер
-
Сыртқы555 Timer Book by Colin Mitchelltalkingelectronics.com
-
Сыртқы
-
Сыртқы
Файлдар📁
Gerber files
-
555 Relay Timer-Gerber File for PCBXincluded the Gerber files 555 Relay Timer-Aug31.zip, 555 Relay Timer-BOM.xls and 555 Relay Timer-coor to place order
555 Relay Timer-Gerber File_3in1.zip0.16 MB