2016年7月7日

用Arduino透過繼電器控制家電

一般家電(電風、檯燈)等用的是110v的電壓,而Arduino輸出的電壓是5v,怎麼利用Arduino控制這些家電呢?使用繼電器就可以。

有一種給Arduino用的繼電器模組,是已經把繼電器、二極體等都做成一塊模組了,使用者只要知道怎麼接就可以了。不過為了使用方便,還是需要多一些改裝。

1.壓克力板鑽孔之後,把繼電器模組用銅柱固定在上面,避免模組底部的焊點不小心短路,或是手去摸到被電到,畢竟這有110v的電啊。

2.把插座和插頭都固定上去。模組上面的繼電器有三個接點,分別是COM、NO、NC。


IMAG2142


繼電器怎麼跟電器連接
NC,指的是normal close,模組擺在那邊都沒上電的時候,NC就是跟com連接的(線連在一起,就是close,NC指的就是平常就是連接在一起的狀態)

相對的,NO,就是normal open,就是平常都是開路(沒連接com),等到繼電器通電做了動作之後,NO才會和COM連接。

知道了這三個接點,然後怎麼連插座和插頭呢?插頭當然是用來插牆壁上的插座囉,而插座就是給電器插的,這些零件在五金材料行都買得到,自己拿回來組合就可以。

注意插頭到插座有兩條線,其中一條線是直接連接的,中間沒剪斷,而另外一條線是剪斷的,請對照上圖看看。中間剪斷的部份,一端接到繼電器的COM,另一端則是繼電器的NC
IMAG2141

這樣連可以做成什麼效果呢?比如說你把檯燈插上模組的插座,而模組的插頭也插到牆壁的插座上。就光是這樣插,因為NC本來就是跟COM連接的(記得NC叫做Normal Close),相當於那條電線是沒有剪斷的狀態,當然檯燈就會是亮起來的。

而如果你讓繼電器產生動作的話,那麼檯燈就會關起來。(內部的金屬簧片就會讓NC失效,變成COM跟NO連接)

看得有點搞不懂嗎?整理一下

在這種狀況下
電線連COM
電線連NC
--->平常:插座有電,繼電器動作時:插座沒電


反過來,如果你希望是平常不會通電,繼電器動作時要通電,那麼就要把剪斷的電線,其中一端接COM,另外一端是NO。


繼電器如何跟Arduino連接
接下來的問題就是要怎麼讓繼電器動作呢?
繼電器模組一般就三條線,一條VCC接arduino的5V,一條GND就接Arduino的GND,還有一條是訊號線,就是讓Arduino去控制繼電器開關的。

你只要把訊號線接到Arduino的D13,然後用Arduino的範例 Blink就可以控制繼電器開關了。不過要記得不要讓繼電器動作得那麼頻繁,記得把範例裡的delaytime改長一點。

延伸
你有這樣的模組之後,可以作什麼應用呢?最簡單的應用,例如定時開關燈、定時開關電扇,像是想試試看植物的黑暗期中斷實驗,你就可以設定一個晚上固定開啟幾次燈光,一次開啟多久。

又或者你可以接上溫度感測器,設定當溫度高於某個數值時,就開啟風扇散熱。或是低於某個數值時,開啟鎢絲光源用來增溫。不過這要注意緩衝帶的設定,不然溫度在某個數值飄上飄下時,開關就會開開關關。而且光用繼電器的控制,其實沒辦法讓溫度維持在某個穩定的數值。

你想想如果你的車子油門只有時速100公里的設定值,採下去就是衝100,放開就是0,那麼要維持在時速50,是不是會蠻困難的。真要穩定數值,通常就是用PWM,或在再更進一步用PID控制了。

也可以接上人體紅外線感測開關,當生物靠近的時候,就開啟電燈。比方說在老鼠籠裡弄一個這東西,當牠一靠近某物,燈就會打開,那就可以看看牠是不是會學習了。

總之,有了方法,應用就很多,接下來就是創意和想法了。