Arduino輸出電流有限,在需要控制大電流時,就需要使用到繼電器!
本篇將使用Arduino控制微型水泵當作範例,之後可以做澆花系統等等應用
就讓我們繼續看下去吧!
內容目錄
材料

材料名稱 | 蝦皮連結 |
---|---|
【樂意創客官方店】《附發票》《送USB傳輸線》Arduino UNO R3 開發板 | |
【樂意創客官方店】《附發票》一路10A 繼電器 Relay模塊 5V/12V一路繼電器模組擴展板支持低電平觸發 | |
【樂意創客官方店】《附發票》3號 AA 4節6V電池盒 附引線、蓋、開關 DIY 1.5Vx4顆 | |
【樂意創客官方店】《已含稅、附發票》迷你微型水泵、直流抽水馬達 DC3V~6V 另賣水管 | |
【樂意創客官方店】杜邦線 長30cm 20cm 10cm 1P-1P雙頭 10條一組 |
繼電器介紹
基本構造

繼電器構造其實很簡單,透過電磁線圈產生的磁場來吸引金屬可動電樞,讓被控制的迴路切換。
NO(normal open): 常開
NC(normal close): 常閉
COM(Common Ground):共接點(公共端)
為何要使用繼電器?

假如我今天想要用arduino直接供電給微型水泵,下表示為Arduino輸出規格與微型水泵規格比較。
Arduino | 微型水泵工作規格 |
---|---|
輸出最大電壓5V | 額定電壓 :DC3V或4.5V (3-6V均可以工作) |
輸出最大電流0.04A(40mA) | 負荷時額定電流 : 0.18A(180mA) |
我們可以發現,Arduino無法提供給水泵需要的工作電流,因此需要透過其他電源來推動水泵。
這時候就需要繼電器啦,Arduino提供輸出給電磁線圈,線圈激磁,讓另一邊迴路導通,使額外的電源可以供給水泵,使水泵開始運轉。
繼電器規格?

在選擇繼電器上要注意以下兩點:
線圈驅動電壓規格: Arduino輸出為5V,因此選用5V驅動電壓。
負載側電壓電流規格: 為最大可承受之電流及電壓。
參考資料:【Maker電子學】淺談繼電器規格與驅動
電路連接


在本範例使用的繼電器是低電平觸發,
也就是當Arduino輸出LOW時繼電器就會觸發線圈激磁,
反之輸出HIGH時繼電器將不會激磁。
延伸閱讀: 三用電錶使用教學,檢查電路必備工具!!
Arduino程式
這裡我使用序列埠來作控制,以’1’為判斷條件,
輸入’1’時,啟動水泵,
輸入不是’1’時,關閉水泵。
char Num;
void setup() {
pinMode(8,OUTPUT);
Serial.begin(9600);
}
void loop() {
//讀取序列埠傳入的字元
if(Serial.available()){
Num=Serial.read();
Serial.println(Num);
}
delay(10);
if(Num=='1'){
digitalWrite(8,LOW); //低電平觸發,LOW時繼電器觸發
}
else{
digitalWrite(8,HIGH);
}
}
其實這裡也可以使用按鈕開關來控制水泵,
但因為我懶得接按鈕,所以直接使用序列埠來控制🤣🤣。
也沒有辦法將1、0 的手動輸入方式變成信號感測的輸入方式呀?
可以啊,感測器回傳數值,再設條件式去判斷控制電器的arduino腳位是否要輸出high或low。
不好意思,請問給繼電器的電壓有限制嗎?範例中是使用一般電池四顆1.5V合計6V,如果我換成充電電池1.2V一樣裝四顆只有4.8V會有什麼樣的差異呢?查了其他資料好像沒有特別提到這部分的要求,不知道是不是沒有差?
可以參考負載側電壓電流規格,通常會標示在繼電器上,
像文章中使用的繼電器規格就是:
10A 250VAC/30VDC
12A 123VAC/28VDC
不要超過這個範圍都可以。
請問可否降低水泵的流速