2011年3月26日 星期六

繼電器簡介

前言

為了使用繼電器,我上網做了一些功課,底下摘要整理我所吸收到的資訊:

什麼是繼電器?

image
▲ 各式各樣的繼電器 (圖片來源: http://kjsconsulting.biz/ )

繼電器 (Relay) 是一種可以讓小電力控制大電力的開關。例如,小電壓的電池或者是微控制器,只要用繼電器就可以切換馬達 (motors)、變壓器 (transformers)、電暖爐 (heaters)、燈泡 (bulbs) 等大電流設備的開關。

繼電器的運作原理可參考下圖:

 

 image  
▲ 控制繼電器的電路

當微控制器送出訊號時,電晶體會打開使得電流流進線圈,當微控制器關閉訊號時,電晶體會關閉形成斷路,電流就不會流通,不會驅動繼電器中的線圈。

當電流流經線圈 (激磁) 的時候,線圈產生的磁力會使得繼電器的銜鐵 (lever) 被吸引而改變接觸點,而當流經線圈的電流消失後,銜鐵會因為彈簧的反作用力返回原來的位置,因此利用電磁的吸合與釋放就可以控制大電力設備的開關。輸入電路 (小電力) 和輸出電路 (大電力) 之間是沒有實際電氣接觸的,非常安全,如果輸出電路有 120VAC 的電通過,不用擔心 120VAC 會弄壞你的微控制器。在打開繼電器線圈被激磁的時候,你會聽到一個吸合的聲音 (嗒的一聲)。底下是一個透明的 SPDT (Single Pole Double Throw, 單刀單擲) 繼電器的圖,你可以清楚的看到它的線圈。

image
▲ 12V SPDT 繼電器 (圖片來源: Arduino for beginners)

繼電器線圈激磁所需的電流會比較大一些,通常是 30mA/12V,大部份的微控制器沒有辦法提供這麼大的電流,因此通常會接一顆 NPN 電晶體來放大電流。

另外,要特別注意一件事,在關閉繼電器的時候,線圈會產生一個短暫的反電動勢 (Back Electro Motive Force),反電動勢可能會把電晶體與微控制器給弄壞掉,為了避免損毀,必須在線圈上並聯一顆反向二極體 (如 1N4004~1N4007, 1N4148) 以洩放突波。

繼電器的接線

繼電器有很多形式,比較常見的是 SPDT (Single Pole Double Throw, 單刀單擲) 或 DPDT (Double Pole Double Throw, 雙刀雙擲) 這兩種開關,如下圖所示:

image 

其中:

  • COM (Common) 為共接點
  • NO (Normal Open) 為常開接點,平時與 COM 成開路狀態,線圈激磁時與 COM 導通
  • NC (Normal Closed) 為常關接點,平時與 COM 導通,線圈消磁時與 COM 成開路狀態

繼電器的接點似乎也稱為端子 (Terminal),如 COM 端子、NO 端子以及 NC 端子。

以 SPDT 繼電器而言,加上線圈的 2 支接腳,總共是 5 支接腳,至於 DPDT 繼電器,加上線圈的 2 支接腳,總共是 8 支接腳。在接線的時候,一定要看繼電器的 datasheet 參考它的接線圖。

關於 SPDT, DPDT 等開關的種類,請見「如何閱讀電路圖」一文的介紹。

選擇繼電器的注意事項

在選擇繼電器的時候,有幾個需要考慮的事情:

  1. 線圈額定電壓 (Coil Rating Voltage): 要注意線圈激磁所需的電壓。很多繼電器用的都是 12V 的,不過也有 5V 跟 24V 的繼電器。
  2. 開關額定電壓與電流 (Switch Rating Voltage and current): 要注意繼電器可以驅動開關的電壓與電流有多大。

通常繼電器上都會標示線圈電壓與開關電壓電流,以底下這個 RAS-0515 小型繼電器為例,它的線圈電壓是直流 5V,開關電流與電壓為 15A/120VAC (24VDC), 10A/250VAC:

image
▲ RAS-0515

而底下這個 BS-115C 繼電器,它的線圈電壓是直流 12V,而開關電流與電壓則為 12A/120VAC, 10A 240VAC (28VDC):

image
▲ BS-115C 繼電器

延伸閱讀

14 意見:

l21019 提到...

你好,當微控制器送出訊號時,電晶體打開,那電流是一部分流進線圈跟一部分留進二極體嗎?還是大部分都流進線圈呢?為什麼?

coopermaa 提到...

電晶體打開的時候,電流會流進線圈,然後流進電晶體集極 (Collector)接著到射極 (Emitter)。FYI:
http://www.electronics-tutorials.ws/transistor/tran_2.html

ioploki 提到...

微控制器是輸出5v和0v 而上面的電路圖是一樣可以動作的嗎?

coopermaa 提到...

可以動作,Arduino 輸出的是 5v 和 0v,我在「Arduino 筆記 - Lab21 用繼電器控制 12V 風扇」這篇就是用 Arduino 控制繼電器的動作。

神域 提到...

請問如果要向機車方向燈那樣一閃一閃 繼電器要怎接LED燈

cooper maa 提到...

像機車方向燈那樣一閃一閃?
我突然想到,方向燈在閃的時候會有嗒嗒嗒的聲音...
呵~ 難不成機車方向燈也是用繼電器控制的嗎?
不知道方向燈的電路為何,會不會是用 Timer 在控制閃爍?

如果你要用微控制器控制 LED 一閃一閃,方向很簡單,可以用 Arduino 寫個小程式就辦得到了。

LCW 提到...

在下有壞掉機車"方向燈蜂鳴器"的經驗,方向燈會閃,但是沒有聲音...
所以就去機車行修理,老闆換了蜂鳴器就有聲音了XD

所以我想機車方向燈應該沒用繼電器吧!!

如果單純要控制LED閃爍Blink範例程式就可以做到,但是機車應該不會用到微處理器去控制方向燈閃爍吧!!

cooper maa 提到...

換蜂鳴器?
所以方向燈閃的時候發出嗒嗒嗒聲音是蜂鳴器的關係?

剛上 Yahoo 知識+ 查,有網友說方向燈會閃,是因為有個熱偶片在控制:

"通過電流時 熱偶片會發熱..像炒魷魚一樣 捲起來,捲起來時 就沒有通電了,方向燈就熄掉了
沒有電流經過時 冷卻下來 又恢復原狀..此時又通電了"

來源:
http://tw.knowledge.yahoo.com/question/question?qid=1405110103719

LCW 提到...

你好!

我剛也稍微看過一你給的資料 還有搜尋了一些結果,似乎好像有很多種的可能,可能是relay的達達聲音,也可能是熱藕片的聲音,然後也有可能是本身relay聲音過小,會有蜂鳴器來加強。

機車行老闆是跟我說那個換掉的東西是蜂鳴器ORZ

cooper maa 提到...

Hi, 嗯,看起來應該是有很多種方法
下次我去機車行換機油,就來考考機車行老闆..
哈!

Kenson chou 提到...

寫得很仔細, 花了很多功夫, 最近我才發現
arduino, 發覺可以省下許多寫driver 的時間,
可以把資源投注在產品應用上. 正在想做幾個arduino 產品, 希望能交流交流
kenson

coopermaa 提到...

謝謝你的鼓勵
沒錯,Arduino 的世界有很多資源可以利用
做產品和韌體研發的人,應該要認真把 Arduino 當作 Product Prototyping 的一個平台

Memory Station 提到...

请问在你上面的继电器电路中,arduino的GND和继电器开关部分的GND是否需要连接在一起?

coopermaa 提到...

GND 要接在一起喔!