單片機小製作,紅外遙控版LED球泡燈

記得1年前我家孩子剛出生那會兒,我給老婆買了個小夜燈插在牆壁上。每當小孩哭的時候就打開那個小燈給孩子餵奶、換尿布。之後的一段時間,每次半夜都還要起床開燈,感覺有點麻煩。於是,下面的這個小製作便產生了——紅外搖控球泡燈,它只需要用自己家裡的搖控器,對著燈的方向,按任意按鈕,即可實現開、關LED燈泡。這樣,老婆自己就可以拿著遙控器開、關燈泡了。不過當我做完這個製作時,孩子已經長大些了,這個製作就留給來家裡的客人上洗手間用吧!這次的製作需要對一個220V供電的LED燈進行改造,因此要格外小心。改裝完成的LED燈結構和原來一樣,只是燈泡裡增加了紅外控制電路。我用的LED燈為E27接口,即普通家用的220V大螺旋接口。它是我在網上用11元包郵買回來的。它的額定功率為3W,根據官方宣傳:它比節能燈節能70%,在相同功率下,比節能燈亮2倍,而且壽命是節能燈的10倍、白熾燈的25倍。

單片機小製作,紅外遙控版LED球泡燈

選擇LED球泡燈的理由

LED球泡燈是替代傳統白熾燈泡的新型綠色光源,LED球泡燈大多采用大功率LED芯片製作。為了防止眩光問題,外殼通常會使用磨砂玻璃或亞克力來製作,可以直接由市電驅動。大部分產品可以適用於AC 85~269V的電壓輸入。

我選擇使用它是看重它的如下特點。

(1)節能,白光LED的能耗僅為白熾燈的1/10、節能燈的1/4。

(2)壽命長,用於普通家庭照明,基本可以實現“一勞永逸”。

(3)可以工作在高速開、關狀態。

(4)純直流工作,無頻閃,消除了傳統光源頻閃引起的視覺疲勞。

(5)採用PWM恆流技術,效率高、熱量低、恆流精度高。

(6)通用標準燈頭,可直接替換現有多種光源。

製作所需材料

這次製作的主要元器件有:ATtiny13單片機、紅外一體接收頭和NMOS管,見圖4.1。還有一些製作時使用到的輔料,如穩壓芯片、萬用板、插座、絕緣導線等。具體零件清單如表4.1所示。

單片機小製作,紅外遙控版LED球泡燈

圖4.1 製作所用元器件

單片機小製作,紅外遙控版LED球泡燈

表4.1 元器件清單

電路設計

最初,我想在220V電源上增加變壓器進行變壓,同時使用穩壓芯片和濾波電容進行穩壓。可是要在燈泡裡增加變壓器那可太有難度了。於是我打開燈泡一邊看,一邊想。LED燈不是有很好的穩壓特性嗎?經過帶電測量,3節LED燈上能有穩定的9.9V壓降。那LED燈斷開(開路)時的電壓又是怎樣的呢?於是我把燈泡上的電源導線焊下來,通過萬用表再次測量,為13V左右。真是高興,這樣我就可以直接用穩壓芯片了。有了輸入13V左右的電壓,經過芯片1117-5.0穩定到5.0V電壓就可以給單片機和一體化接收頭供電了。由於手頭的最後一片1117-5.0壞了,我不得不用1117-3.3代替。還好單片機和一體化接收頭都能在3.3V的電壓下正常工作。

那麼如何控制LED燈電流的通、斷呢?剛開始我第一個想到的是超薄、超輕的繼電器。買來它好久了,卻一直沒用上。不過經計算發現,流過LED燈的電流在300mA左右。這麼點電流用MOS管控制也是沒問題的,而且MOS管還沒有繼電器開、關時的“滴答”聲呢!

單片機的PB1引腳和紅外一體化接收頭相連接,當遙控器對著接收頭按下按鈕時,PB1就會有一個低電平。一般遙控器發出的紅外調制信號,會讓一體化接收頭產生9ms的低電平(大多數),作為遙控編碼的引導條件。通過計算低電平的持續時間,來判斷是否接收到了正確的紅外信號。

電路原理圖如圖4.2所示。

單片機小製作,紅外遙控版LED球泡燈

圖4.2 電路原理圖

製作過程

方案確定下來了,就開始我們的製作之旅吧!

1 切割洞洞板到合適的尺寸,至少能裝到燈泡內的大小。

單片機小製作,紅外遙控版LED球泡燈

2 打磨洞洞板的邊緣。

單片機小製作,紅外遙控版LED球泡燈

3 焊接單片機和紅外一體接收頭插座。

單片機小製作,紅外遙控版LED球泡燈

4 焊接穩壓芯片和對應的2個電解電容。

單片機小製作,紅外遙控版LED球泡燈

5 焊接紅外接收頭用的濾波電容。

單片機小製作,紅外遙控版LED球泡燈

6 焊接場效應管和對應的2個電阻。

單片機小製作,紅外遙控版LED球泡燈

7 根據原理圖焊接相應的導線

單片機小製作,紅外遙控版LED球泡燈

8 把燒錄好程序的單片機插到8pin插座上,把一體化接收頭也插到3pin插座上。

單片機小製作,紅外遙控版LED球泡燈

9 旋開LED燈泡的白色外殼。

單片機小製作,紅外遙控版LED球泡燈

10 用剪下來的元件引腳,焊接控制板到燈泡的電路板上。

單片機小製作,紅外遙控版LED球泡燈

單片機小製作,紅外遙控版LED球泡燈

11 最終制作好的效果。

單片機小製作,紅外遙控版LED球泡燈

單片機小製作,紅外遙控版LED球泡燈

12 通過3s(11.1V)電池驅動8個LED(合計8W功率)的效果。

單片機小製作,紅外遙控版LED球泡燈

單片機小製作,紅外遙控版LED球泡燈

編程思路

單片機程序通過判斷低電平的持續時間是否為6~10ms,進而判斷遙控按鈕是否被按下。當低電平時間滿足條件後,連接在NMOS的PB0引腳就會產生高電平,用於驅動MOS管,使其導通。當程序再次收到紅外引導編碼時間為6~10ms時,PB0就會產生低電平。用於關閉MOS管的電流。如果你的遙控器沒有這種編碼特點,那就要修改源代碼的時間觸發長度了。

在這次編寫的程序中,我使用了2箇中斷:外部引腳中斷和定時器中斷。外部中斷設置成下降沿。當有外部下降沿時,開啟定時器進行計數。對定時器的時鐘進行64分頻,就能產生150kHz的計數頻率。最終設置times這個全局變量來記錄定時器的溢出次數,從而判斷時間的長短。

ATTINY13使用的是內部9.6MHz的RC晶體振盪器。在初次燒錄文件時,記得對熔絲位進行相應的設置。


分享到:


相關文章: