Search Code

项目:RJT520 继电器定时器,555,6V至18V,20A

项目:RJT520 继电器定时器,555,6V至18V,20A

喺呢個教學入面,我哋會用RJT520繼電器同555定時器IC嚟建造一個繼電器定時器電路,呢個電路可以喺6V到18V嘅電壓範圍內運作。呢個項目非常適合用嚟控制需要延遲先開或關嘅設備,例如燈或者家電。最終成果會係一個功能性嘅繼電器定時器,可以處理高達20A嘅電流,適合多種應用。

Relay Timer 555 6V to 18V 20A PCB 2

我們會利用555定時器IC以單穩態模式來創建一個延遲定時器。當觸發時,定時器會在指定的時間內啟動繼電器,然後關閉。這個項目簡單而有效,是你電子工具箱中的一個好補充。想要更直觀的解釋,記得查看視頻(在視頻的02:15)。

硬件解说

呢個項目嘅主要組件包括RJT520繼電器、555定時器IC同埋電源。RJT520繼電器係一個高功率繼電器,可以切換高達20A嘅負載,適合用來控制較大嘅設備。555定時器IC係一個多功能組件,可以以多種模式配置,包括單穩態模式,呢個模式我哋會用嚟做定時器。

Relay Timer 555 6V to 18V 20A PCB  Gerber file 6

繼電器透過使用電磁鐵來機械地切換一組接觸點運作。當555定時器的輸出變高時,會給繼電器線圈供電,關閉接觸點,讓電流流向連接的負載。這種設置對於需要遠程操作或自動化的應用非常有利。

數據表詳情

製造商RJT
零件號碼RJT520
供應電壓6-18 伏
輸出電流20 A 最大
線圈電流70 mA 典型。
切換電壓250 伏交流 / 30 伏直流
聯絡配置SPDT
操作温度-40至85°C
包裹標準繼電器包裝

  • 確保繼電器可以承受負載電流(最多 20 A)。
  • 如果繼電器在高溫下運作,請使用適當的散熱裝置。
  • 檢查電壓水平以避免損壞555定時器。
  • 喺555定時器嘅電源引腳附近使用解耦電容。
  • 檢查繼電器接觸點是否磨損,必要時更換。
  • 當切換感性負載時,要小心反向電動勢。

接線指示

555 Relay Timer of 20A 0-10 minutest on breadboard wiring
555 Relay Timer of 20A 0-10 minutest on breadboard wiring

要接駁RJT520繼電器定時器電路,首先連接555定時器IC。將555定時器的第1腳(GND)連接到電源的接地。然後,將第8腳(VCC)連接到電源的正極(6V至18V)。

Relay Timer 555 6V to 18V 20A PCB  Gerber file 8

接住,將針腳 2 (TRIG) 連接到你嘅觸發開關或者輸入信號。當呢個針腳收到低脈衝時,會啟動計時器。將 555 計時器嘅針腳 3 (OUT) 連接到繼電器線圈嘅一端,然後將線圈嘅另一端連接到地。唔好忘記喺繼電器線圈上加一個二極管,以保護電路免受反向電動勢影響。

對於繼電器輸出,將其中一個公共端子連接到你想控制的負載,另一個端子連接到電源。確保將負載的另一個端子連接回公共接地。最後,根據你想要的延遲,配置連接到第6和第2針腳的定時元件(電阻和電容)。

代碼示例及步驟講解

喺代碼入面,我哋會定義關鍵識別符,例如triggerPin對於輸入觸發器同relayPin用於繼電器輸出。setup 函數初始化這些引腳,而 loop 函數監控觸發狀態。

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
  }
}

呢段摘錄初始化咗引腳,並設置繼電器喺觸發引腳收到高電平信號時激活一秒。確保根據你嘅具體時間要求調整延遲。

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- 示範

圖片

Relay Timer 555 6V to 18V 20A PCB 1
Relay Timer 555 6V to 18V 20A PCB 1
Relay Timer 555 6V to 18V 20A PCB 2
Relay Timer 555 6V to 18V 20A PCB 2
Relay Timer 555 6V to 18V 20A PCB 3
Relay Timer 555 6V to 18V 20A PCB 3
Relay Timer 555 6V to 18V 20A PCB Gerber file 4
Relay Timer 555 6V to 18V 20A PCB Gerber file 4
Relay Timer 555 6V to 18V 20A PCB Gerber file 5
Relay Timer 555 6V to 18V 20A PCB Gerber file 5
Relay Timer 555 6V to 18V 20A PCB  Gerber file 6
Relay Timer 555 6V to 18V 20A PCB Gerber file 6
Relay Timer 555 6V to 18V 20A PCB  Gerber file  7
Relay Timer 555 6V to 18V 20A PCB Gerber file 7
Relay Timer 555 6V to 18V 20A PCB  Gerber file 8
Relay Timer 555 6V to 18V 20A PCB Gerber file 8
Relay Timer 555 6V to 18V 20A PCB  Gerber file 9
Relay Timer 555 6V to 18V 20A PCB Gerber file 9
555 Relay Timer of 20A 0-10 minutest on breadboard wiring
555 Relay Timer of 20A 0-10 minutest on breadboard wiring
371-Arduino code for H-Bridge Project with TIP120/TIP125 Transistors
語言: C++
/*
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); 
  }
 
}

資源與參考資料

文件📁

Gerber files

  • 555 Relay Timer-Gerber File for PCBX
    included 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.zip 0.16 MB