作者:Bird
上篇文章【Maker電子學】淺談繼電器的原理與應用,我們聊了繼電器的歷史與原理,這次我們來探討實際應用繼電器時,該如何選用以及如何正確地驅動。
繼電器的規格
一般繼電器的規格主要分成兩個部分:「驅動側」的規格及負載側的規格。驅動側的規格,其實就是要驅動繼電器的電磁線圈動作時需要的電氣特性,它的範圍很廣,小至 3 V、5 V 這種邏輯電路位準,大到數十伏特甚至上百伏特都有;「負載側」的規格,就是繼電器的機械節點的負載大小,其範圍也很廣,例如訊號切換用的繼電器就不用承受太大的電流,但用來控制電熱水器或是抽水馬達的繼電器可能就要承受上百伏特、數十安培的電流。
因爲繼電器當初發明的目的是用已經衰減後的小訊號來重新產生較大的訊號,一般來說負載側的規格會比驅動側的大。以下用一個實際的繼電器規格書來說明:

Omron G5RL 系列 PCB 插板式繼電器規格書(圖片來源:Bird 提供)
G5RL 系列是設計裝在 PC 板上的繼電器,它其實是一整個系列的產品,有不同的驅動電壓。照片中這三顆是 12 V 的板本。仔細看一下右下角這顆繼電器殼體上的字樣: G5RL-1A-LN 是它的型號,通常如果你拿到一顆繼電器不知道該如何設計電路,這個型號可以幫助你查到它的規格書。
除了型號外,繼電器上面通常會寫上驅動側和負載側的關鍵參數。這顆繼電器上面寫的「12 V DC」就是它的驅動側規格,也就是說它的線圈要用 12 V 來驅動;另一行小字「12 A 250 V AC」,則是它的負載規格,它最大可以承受 250 V 交流電、12 A 的負載。
但光是這些資訊其實還不夠我們設計電路,比方說它的驅動電壓是 12 V,但它的線圈阻抗是多大呢?加了 12 V 上去後究竟會有多少電流?我們需要準備多大電流的驅動電路才能讓它的線圈工作呢?這時候就要細讀它的規格書了。
線圈
在規格書的 ratings(額定規格)之下,有這麼一個表格寫着「coil」:

(圖片來源:Bird 提供)
這邊列出了這顆繼電器的線圈規格。以 12 V 驅動的這顆來說,它的線圈電流是 44.2 mA,線圈的電阻是 272 歐姆,我們可以驗算一下:
12 V / 272 Ω = 0.044117 A = 44.117 mA
這表示線圈的電阻在它的額定電壓下剛好就可以造出額定電流,不需要另外再加限流電路;另外,後面有幾個數字,則是關於這個繼電器的線圈的切換特性:
- Must Operate Voltage:「要讓線圈動作的最低電壓」。在這裡是額定電壓的 70 %,也就是說 12 V 的繼電器,你至少要加 12*0.7 = 8.4(V)的電壓,它的線圈才有能力吸引金屬節點,讓它導通。
- Must Release Voltage:「要讓線圈鬆開的最高電壓」。當線圈吸引金屬接點後,由於磁滯特性,它會傾向一直吸著(即使電壓降低到最低動作電壓以下),這個電壓就是告訴你「要讓接點鬆開,你至少要讓線圈電壓降低到額定電壓的 10% 以下」;以 12 V 來說,當線圈電壓低於 12*0.1=1.2(V)以下,線圈產生的磁性就不足以維持接點的接觸,接點本身的彈性會讓接點分開。
- Max Voltage:「線圈所能承受的最高電壓」。以 12 V 這顆來說,不能超過 12*1.1 = 13.2(V),否則就可能造成繼電器的損壞(通常是燒線圈)。
- Power Consumption:「線圈上的功耗」。我們可以用線圈的電壓和電流來驗算一下:12 V * 0.044 A = 0.528 W = 528 mW,可以發現「同一系列不同電壓驅動的繼電器,它的功耗都一樣」,這是因爲不管用幾伏特驅動線圈,它都必須造出一樣強的磁場才能吸引金屬接點,因此驅動電壓越低,線圈阻抗就會越小,電流會越大。
接點
接下來我們看負載側的規格。「contacts」這個表格裡列出來的就是接點,也就是負載側的規格。

(圖片來源:Bird 提供)
這份 datasheet 中有一整個系列的繼電器規格,而我們剛剛看的 G5RL-1A-LN 是 standard 系列,因此要看左邊這一欄;如果是 G5RL-1A-E-LN 大電流系列,就要看右邊那欄 high-capacity。
- Contact Form:告訴我們它的接點形式,這裡寫的是「SPST-NO」,也就是 single-pole、 single-throw、normal open 的意思,如果忘了這是什麼意思的讀者,可以看一下這個系列的上一篇文章。SPST 是繼電器接點最簡單的一種形式,電路圖上是這樣表示:

(圖片來源:Bird 提供)
- Normal Open:代表這個繼電器唯一的接點在線圈不通電時是開路的,這也是最常見的形式。偶爾我們會需要線圈沒通電時導通、通電時斷開的繼電器,這時候如果用的是 SPST 的繼電器,就要選 NC(normal Close)的形式,但如果用的是 SPDT 的繼電器,因爲它有 double throw,一定有一個 NO、一個 NC 接點,就不用煩惱這個問題。
- 接點可承受的最大負載:這裡寫的是 12 A at 250 V AC/12 A at 24 V DC。從規格上看來,這顆繼電器可以承受的最大電流就是 12 A,但是爲什麼交流電可以耐到 250 V,直流電只到 24 V 呢?這牽涉到金屬接點的物理特性。
繼電器裡面的金屬接點打開時,是一個很微小的間隙,通常只有零點幾個 mm 左右。當接點有電流在流動,如果把接點拉開,在接點的間隙中間會放電形成電弧,讓電流繼續流動;電弧的形成與維持和電場強度、間隙大小有關,電場越強,越容易形成電弧,因此在高壓輸配電系統中的開關零件中,接點之間的電弧是非常令人頭痛的問題(電弧所產生的電漿高溫足以讓接點的金屬氣化),接點若持續產生電弧將會讓接點的壽命快速減少。
因此爲了避免繼電器的接點在斷開時產生電弧,往往要根據接點的間隙大小和其它機械特性,限制接點所能流過的最大電壓,這個電壓指的是當接點斷開時,接點兩側的電壓差(接點閉合時,由於電阻很小,接點上幾乎不會有電壓差)。以這顆繼電器來說,它所能耐受的最高直流電壓是 24 V,當電壓超過 24 V,就有可能因爲形成電弧而讓接點無法完全斷開,同時快速損耗接點。
但交流電可以耐受 250 V 是怎麼回事呢?因爲交流電是方向不斷變換的電流,它在每次換向時,都會有一個電壓降到 0 的瞬間,這個瞬間稱之爲 zero crossing,也就是「零跨越點」。

(圖片來源:Bird 提供)
在這個瞬間,由於電壓爲 0,因此電場也爲 0,此時就算電弧已經產生,也無法維持,因此交流負載的電弧控制相對於直流來說比較容易,這就是爲什麼繼電器的交流負載容許電壓通常都高於直流負載的原因。
繼電器的驅動
看懂繼電器的規格後,我們就可以來設計繼電器的驅動電路了。假設我們要用 Arduino 的 GPIO 控制一顆 5 V 的 G5RL-1A-LN 繼電器,並用它來控制一顆 110 V 的燈泡,該怎麼接呢?
首先我們要算一下線圈的驅動參數。根據上面的規格書,5 V 的 G5RL-1A-LN 線圈電阻是 47.2 歐姆,驅動電流是 106 mA,一般的 CMOS 邏輯電路再猛也不太可能輸出這麼大的電流,因此我們不能直接用 GPIO 驅動繼電器的線圈,而要用一個電流放大電路來推動它。
我們選用常用的小信號 NPN 電晶體 2N2222 來設計這個電路,電路圖如下:

(圖片來源:Bird 提供)
根據 2N2222 的 datasheet,它的電流放大率在 IC=150 mA 時有 100 倍左右,因此如果我們需要 106 mA 的電流來驅動線圈,就需要最少這麼大的 IB:106 mA / 100 = 1.06 mA。
1 mA 左右的電流對 Arduino 的 GPIO 來說輕而易舉。Arduino UNO 所使用的 ATmega328P 的 GPIO 在 5 V 供電時,可以輸出到 20 mA,並且電壓維持在 4.2 V,因此 1 mA 對它來說只是小菜一碟。
雖然它可以輸出這麼大的電流,但我們也不用真的把它榨乾,因此可以在電路中加上 R1 這個限流電阻。這個電阻可以用來控制流入 Q1 基極的電流 IB,它的計算方式是這樣的:首先我們要知道 R1 上的電壓差,這個電壓其實就是 GPIO 輸出 high 時的電壓,減去電晶體 BE 兩極之間的電壓差。
矽電晶體的 VBE 通常都在 0.6~0.7 V 左右(另一種現在幾乎已經不再使用的鍺電晶體則是在 0.2V 上下),這個電壓會隨著 IB 和 IC 增加而增大,但會有一個飽和電壓。以 2N2907 來說,它在 IB = 15 mA、IC =150 mA 時,VBE 會來到 1.3 V,但由於我們不會將這顆電晶體驅動到這麼大的電流,因此 VBE 可以用 0.7 V 來計算。
Arduino 的 GPIO 在小電流輸出時可以到 5 V,因此 R1 上的電壓就是:5 V – 0.7 V = 4.3 V,而我們希望限制 R1 上的電流在 1 mA 左右(比 1 mA 稍大一點),因此可以這樣求解 R1:
R = V / I = 4.3 V / 0.001 A = 4.3 K
我們希望 IB 稍大於 1 mA,以確定 2N2222 能進入飽和區,因此選 E24 系列電阻下一級的數字 3.9 K。決定好零件數值後,再來驗算一下,R1 上的電流是:
I = V / R = 4.3 V / 3900Ω = 0.0011 A = 1.1 mA
此時電晶體能流過的最大電流是:
IC = IB * hfe = 1.1 mA * 100 = 110 mA > 106 mA
這個電流已經大於繼電器線圈所需要的電流,因此我們可以很確定 2N2222 會進入飽和區。以上的計算其實忽略了 2N2222 在飽和時,CE 之間的飽和電壓 VCE(sat),但由於這個電壓在電流不大時大概只有 0.1~0.3 V 左右,因此忽略它並不影響計算結果。整理一下,最後的電路長這樣:

(圖片來源:Bird 提供)
眼尖的讀者一定發現多了一顆二極體 D1(這個二極體是爲了保護電晶體而加上去的)。由於繼電器的線圈是一個電感性的負載,當電感上的電流被切斷時,它上面的磁場在崩潰的過程中會在線圈上感應出一個很高的電壓,而這個電壓通常高到足以損壞電晶體。
如果加上保護二極體,就能提供這個反電動勢一條泄漏的路徑,可避免電晶體在關閉線圈的那一瞬間,被線圈的反電動勢打壞,這對繼電器的驅動電路設計而言,是很重要的關鍵。至於二極體的特性,由於反電動勢的電壓雖高,但時間很短,電流也不大,因此一般的小信號二極體就很夠用了,而繼電器不會快速開關,因此也不需要用到快速回復的 Schottky diode。
至於負載側要用來控制什麼東西,就留給讀者們的創意自行去發揮了。
(責任編輯:賴佩萱)
- 【Maker電子學】Flash 記憶體的原理與應用—PART22 - 2025/02/27
- 【Maker電子學】Flash 記憶體的原理與應用—PART21 - 2025/02/21
- 【Maker電子學】Flash 記憶體的原理與應用—PART20 - 2025/01/24
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!
2021/09/24
您好看您的文章學到很多(我不是電子背景), 想請教我目前有個儀器訊號來源output為3.5mm音源線, 訊號特性如下, 是否有辦法能設計放大電路接上一般 3V驅動的繼電器呢?
平常沒訊號時: 0.065V AC, 0.000mA 穩定數值
按下按鈕觸發訊號時: 會突然降至 0.015V AC 大約一秒左右逐漸恢復回 0.065V AC, 觸發後產生 0.001~0.002mA 持續約一秒後歸零
2021/04/15
Bird很多文章都寫得很好~~~
很適合新手學習跟老手複習
另此文的2N2907 應為PNP?
2021/04/16
謝謝指正,文章中用以驅動繼電器的電晶體應爲 NPN 的 2N2222,已修正。