โครงการ: RJT520 รีเลย์ไทม์เมอร์, 555, 6V ถึง 18V, 20A
ในบทแนะนำนี้ เราจะสร้างวงจรตั้งเวลารีเลย์โดยใช้รีเลย์ RJT520 และไอซีตั้งเวลา 555 ที่ทำงานในช่วงแรงดันไฟฟ้า 6V ถึง 18V โครงการนี้เหมาะสำหรับการควบคุมอุปกรณ์ที่ต้องการการหน่วงเวลาก่อนที่จะเปิดหรือปิด เช่น ไฟหรือเครื่องใช้ไฟฟ้า ผลลัพธ์จะเป็นรีเลย์ตั้งเวลาที่ใช้งานได้ซึ่งสามารถรองรับกระแสได้สูงสุดถึง 20A ทำให้สามารถนำไปใช้ได้หลากหลายประเภท

เราจะใช้ไอซี 555 ไทม์เมอร์ในโหมดโมโนสเตเบิลเพื่อสร้างตัวจับเวลา เมื่อถูกกระตุ้น ตัวจับเวลาจะเปิดรีเลย์เป็นระยะเวลาที่กำหนดก่อนที่จะปิด นี่คือโปรเจกต์ที่ง่ายแต่มีประสิทธิภาพ ทำให้เป็นการเพิ่มเติมที่ยอดเยี่ยมในชุดเครื่องมืออิเล็กทรอนิกส์ของคุณ สำหรับคำอธิบายที่ชัดเจนยิ่งขึ้น อย่าลืมดูวิดีโอ (ในวิดีโอที่ 02:15)
อธิบายฮาร์ดแวร์
ส่วนประกอบหลักของโครงการนี้ประกอบด้วยรีเลย์ RJT520, ไอซีจับเวลา 555 และแหล่งจ่ายไฟ รีเลย์ RJT520 เป็นรีเลย์กำลังสูงที่สามารถสลับโหลดได้สูงสุดถึง 20A ทำให้เหมาะสำหรับการควบคุมอุปกรณ์ขนาดใหญ่ ไอซีจับเวลา 555 เป็นส่วนประกอบที่หลากหลายซึ่งสามารถกำหนดค่าในโหมดต่างๆ รวมถึงโหมดโมโนสเตเบิล ซึ่งเราจะใช้สำหรับจับเวลาของเรา

รีเลย์ทำงานโดยการใช้แม่เหล็กไฟฟ้าในการสลับชุดของการติดต่อทางกล เมื่อเอาต์พุตของไทม์เมอร์ 555 สูงขึ้น มันจะทำให้ขดลวดรีเลย์มีพลังงาน ทำให้การติดต่อปิดและอนุญาตให้กระแสไหลไปยังโหลดที่เชื่อมต่อ การตั้งค่านี้มีประโยชน์สำหรับการใช้งานที่ต้องการการทำงานจากระยะไกลหรือการทำงานอัตโนมัติ
รายละเอียดแผ่นข้อมูล
| ผู้ผลิต | RJT |
|---|---|
| หมายเลขชิ้นส่วน | RJT520 |
| แรงดันไฟฟ้าจ่าย | 6-18 โวลต์ |
| กระแสไฟฟ้าออก | 20 A สูงสุด |
| กระแสในขดลวด | 70 mA โดยประมาณ |
| แรงดันไฟฟ้าที่เปลี่ยนแปลง | 250 โวลต์ AC / 30 โวลต์ DC |
| การกำหนดค่าติดต่อ | SPDT |
| อุณหภูมิในการทำงาน | -40 ถึง 85 °C |
| แพ็คเกจ | แพ็คเกจรีเลย์มาตรฐาน |
- ตรวจสอบให้แน่ใจว่ารีเลย์สามารถรองรับกระแสโหลดได้ (สูงสุด 20 A)
- ใช้การระบายความร้อนที่เหมาะสมหากรีเลย์ทำงานที่อุณหภูมิสูง
- ตรวจสอบระดับแรงดันไฟฟ้าเพื่อหลีกเลี่ยงความเสียหายต่อไทม์เมอร์ 555
- ใช้ตัวเก็บประจุแบบแยกใกล้กับขาไฟฟ้าของไทม์เมอร์ 555
- ตรวจสอบการสัมผัสของรีเลย์ว่ามีการสึกหรอหรือไม่ และเปลี่ยนถ้าจำเป็น
- ระมัดระวังแรงดันย้อนกลับเมื่อสลับโหลดเหนี่ยวนำ
คำแนะนำการเดินสาย

ในการเดินสายวงจรตัวจับเวลา RJT520 ให้เริ่มจากการเชื่อมต่อ IC ตัวจับเวลา 555 เชื่อมต่อขา 1 (GND) ของตัวจับเวลา 555 เข้ากับกราวด์ของแหล่งจ่ายไฟของคุณ จากนั้นเชื่อมต่อขา 8 (VCC) เข้ากับขั้วบวกของแหล่งจ่ายไฟของคุณ (6V ถึง 18V)

ถัดไป ให้เชื่อมต่อขา 2 (TRIG) กับสวิตช์กระตุ้นหรือสัญญาณนำเข้า ขานี้จะทำให้ตัวจับเวลาเริ่มทำงานเมื่อได้รับพัลส์ต่ำ เชื่อมต่อขา 3 (OUT) ของตัวจับเวลา 555 เข้ากับขั้วหนึ่งของขดลวดรีเลย์ และเชื่อมต่อขั้วอีกข้างของขดลวดเข้ากับกราวด์ อย่าลืมเพิ่มไดโอดข้ามขดลวดรีเลย์เพื่อป้องกันวงจรจาก EMF กลับ
สำหรับเอาต์พุตรีเลย์ ให้เชื่อมต่อขั้วทั่วไปหนึ่งขั้วกับโหลดที่คุณต้องการควบคุม และขั้วอื่นกับแหล่งจ่ายไฟ ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อขั้วอื่นของโหลดกลับไปยังกราวด์ทั่วไป สุดท้ายให้กำหนดค่าชิ้นส่วนเวลา (ตัวต้านทานและตัวเก็บประจุ) ที่เชื่อมต่อกับขา 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สูง หากเป็นเช่นนั้น เราจะเปิดรีเลย์และรักษาให้ทำงานต่อเนื่องเป็นเวลา 1 วินาทีโดยใช้delay()ฟังก์ชัน ปรับความล่าช้าตามที่จำเป็นสำหรับแอปพลิเคชันของคุณ
การสาธิต / สิ่งที่คาดหวัง
เมื่อการเดินสายและการตั้งโปรแกรมสำเร็จ รีเลย์ควรทำงานเมื่อมีการกระตุ้น คุณสามารถทดสอบโหลดต่างๆ เพื่อให้แน่ใจว่ารีเลย์ทำงานได้อย่างถูกต้องภายในสเปคที่กำหนด ข้อผิดพลาดทั่วไป ได้แก่ การเชื่อมต่อแรงดันไฟฟ้าที่ไม่ถูกต้องและการไม่ป้องกันการเกิด EMF กลับ ซึ่งอาจทำให้วงจรเสียหาย
รหัสเวลาในวิดีโอ
- 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