2022年5月21日星期六

Arduino 繼電器模組 Relay Module

Arduino 繼電器模組

        寫這篇文章,主要紀錄一下繼電器的特性及常見問題,也分享一下繼電器模組的規格辨識、如何使用及特性,與常見問題說明,並透過實驗一、實驗二、實驗三觀察繼電器的動作。

(本次實驗用的繼電器)
 (模組電路)

繼電器簡介

        繼電器的種類其實很多,在工業上的不同領域會有不同樣式的繼電器,主要根據自己需要的使用場合挑選合適的繼電器即可,但比較常見的就是上面藍色的那個。詳細請參見維基百科

軟體

Arduino IDE

程式碼

後面的實驗都會使用同一個程式碼,只修改時延遲的時間

#define RelayPin 4

void setup() {

  pinMode(RelayPin, OUTPUT); //設定GPIO

}

void loop() {

  digitalWrite(RelayPin, HIGH);//設定GPIO HIGH

  delay(10);//間隔時間

  digitalWrite(RelayPin, LOW);//設定GPIO LOW

  delay(10);//間隔時間

}

繼電器的規格怎麼看?

        每個繼電器的規格都不太一樣,但大同小異,此處以SRD-05VDC-SL-C說明,主要注意控制的電壓多少及開關側可承受的電壓電流為多少(這很重要!!!)


        可操作的承受電壓會依照規格的不同也有所不同,本次實驗用的是DC 5V 驅動的,此款繼電器是靠內部線圈產生磁力,使其吸引導電片進行開關的行為,所以勢必會有切換的反應時間。正確的控制時間也會影響繼電器的動作,下圖為繼電器的反應時間相關參數。


 










Operation Time 操作時間最大是10ms,但是實際上每個繼電器會有所不同

Release Time 釋放後繼電器的回復時間

Max. ON/OFF Swithing 最大的開關動作速度,機械結構是每分鐘300次.

實驗一

目標:
觀察Arduino NANO (5V)發送訊號後繼電器的反應時間,分別有開跟關。
材料:
  1. Arduino NANO
  2. 繼電器模組
  3. 杜邦線若干條
  4. 示波器一台+探棒x2
電路接線

 程式碼

#define RelayPin 4

void setup() {

  pinMode(RelayPin, OUTPUT); //設定GPIO

}

void loop() {

  digitalWrite(RelayPin, HIGH);//設定GPIO HIGH

  delay(500);//間隔時間

  digitalWrite(RelayPin, LOW);//設定GPIO LOW

  delay(500);//間隔時間

}

實驗結果 

1.使用NANO 發送HIGH電位訊號後,繼電器約5.76ms後才穩定,機電器動作過程中會有彈跳現象。

2.使用NANO 發送LOW電位訊號後,繼電器約4ms後才穩定。


實驗二

目標:
觀察ESP32(3.3V)發送訊號後繼電器的反應時間,分別有開跟關。
材料:
  1. ESP32 NodeMCU
  2. 繼電器模組
  3. 杜邦線若干條
  4. 示波器一台+探棒x2
電路接線說明

 程式碼

#define RelayPin 4

void setup() {

  pinMode(RelayPin, OUTPUT); //設定GPIO

}

void loop() {

  digitalWrite(RelayPin, HIGH);//設定GPIO HIGH

  delay(500);//間隔時間

  digitalWrite(RelayPin, LOW);//設定GPIO LOW

  delay(500);//間隔時間

}

實驗結果

1.使用ESP32發送HIGH電位訊號後,繼電器導通的時間會比較久,相較於使用arduino NANO (5V)


2.用ESP32發送LOW電位訊號後,會發現繼電器回復的速度很快 


實驗三

目標:
觀察Arduino NANO發送較快速開關訊號(超過規格),觀察繼電器的反應時間及狀態。
材料:
  1. Arduino NANO x1
  2. 繼電器模組x1
  3. 杜邦線若干條
  4. 示波器一台+探棒x2
電路接線說明

程式碼

#define RelayPin 4

void setup() {

  pinMode(RelayPin, OUTPUT); //設定GPIO

}

void loop() {

  digitalWrite(RelayPin, HIGH);//設定GPIO HIGH

  delay(5);//間隔時間

  digitalWrite(RelayPin, LOW);//設定GPIO LOW

  delay(5);//間隔時間

} 

 實驗結果

        高速開關繼電器,觀察繼電器動作狀況,會發現Arduino NANO訊號已經關閉,繼電器才剛打開的現象,及繼電器還沒關閉的現象。



使用繼電器模組時常見的問題

1. 未注意IO電位導致推不動(使用推動電壓低於規格)
2. 用杜邦線接觸不良
3. 開關幾次後就不會動了,有可能是負載過大導致內部導電片被電焊了
4. 繼電器可承受電壓,須符合欲控制項目的需求電壓
5.     如果開關繼電器會讓MCU 重啟,需替換成有帶光耦合隔離的及做電源隔離
6.     如果控制的負載會讓繼電器產生火花,記得加火花消除電路

資料來源


繼電器元件手冊
圖片來源
Goolge 搜尋

沒有留言:

發佈留言

打賞按讚