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)發送訊號後繼電器的反應時間,分別有開跟關。
材料:
- Arduino NANO
- 繼電器模組
- 杜邦線若干條
- 示波器一台+探棒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)發送訊號後繼電器的反應時間,分別有開跟關。
- ESP32 NodeMCU
- 繼電器模組
- 杜邦線若干條
- 示波器一台+探棒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發送較快速開關訊號(超過規格),觀察繼電器的反應時間及狀態。
- Arduino NANO x1
- 繼電器模組x1
- 杜邦線若干條
- 示波器一台+探棒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 搜尋