DIY電燈遙控開關(guān)電路
一、功能構(gòu)思
使用單片機解碼。上電默認關(guān)燈,每按一次遙控器按鈕改變一次燈的狀態(tài)。最好另設(shè)一個手動按鈕,以便未帶遙控器時開關(guān)燈。
二、硬件部分
由于用的是單片機解碼,硬件部分自由度很大。首先要接收到遙控器發(fā)出的紅外光信號,并將它放大,解調(diào)成脈沖信號。這個任務(wù)就交給紅外接收頭了。紅外接收頭型號繁多,外形各異。只要是解調(diào)頻率是38kHz的脈沖型接收頭都行。本人用的接收頭型號為SFH506-38。為降低功耗,原來設(shè)想用雙向可控硅作開關(guān),后來考慮到假如用的是節(jié)能燈,可能關(guān)燈后會有燈管閃爍問題,權(quán)衡之下就用了繼電器,型號是JQC-3,線圈電壓l2V。單片機選AT89C2051。光耦是廢手機充電器上拆的,型號為PC718。變壓器次級電壓12.5V,功率lW左右。其余元件見下圖的標(biāo)注。PCB極見中圖。下圖是元件安裝圖。
三、軟件部分
紅外編碼格式是有標(biāo)準(zhǔn)的,如常用的NEC編碼,就是由前導(dǎo)碼、機器碼、數(shù)據(jù)碼,重復(fù)碼四部分組成。前導(dǎo)碼包括9ms低電平和4.5ms高電平。結(jié)束碼是0.56ms低電平。機器碼和數(shù)據(jù)碼共32位二進制數(shù),分4個字節(jié)。前2個字節(jié)是機器碼,用以區(qū)分每個遙控器。后2個字節(jié)是數(shù)據(jù)碼,用于區(qū)分各個按鍵。為了達到校驗作用數(shù)據(jù)碼的2個字節(jié)互為反碼。每位數(shù)據(jù)碼也由一個低電平和一個高電平組成。一般規(guī)定以0.56ms低電平和0.56ms高電平表示邏輯0,0.56ms低電平和1.68ms高電平表示邏輯l。單片機解碼可以采用查詢方式或中斷方式。
以使用外部中斷0方式為例:紅外接收頭收到信號后輸出低電平觸發(fā)中斷,程序轉(zhuǎn)至中斷子程序。在中斷程序中首先判斷前導(dǎo)碼是否正確。具體可以每X毫秒判斷一次INT0口電平狀態(tài),連續(xù)判斷N次(NX應(yīng)該稍小于9ms)。
只要有一次不是低電平就視為干擾信號,程序退出。若N次判斷均為低電平,則程序原地踏步,等待前導(dǎo)碼中4.5ms高電平的到來。4.5ms高電平到后也用上述方法進行多次,當(dāng)然這時INT0腳應(yīng)該每次都為高電平,并且多次判斷的累加時間應(yīng)稍小于4.5ms。如果前導(dǎo)碼正確,接下來開始解第一位機器碼。因為機器碼數(shù)據(jù)“0”和“1”的區(qū)別僅是高電平的延續(xù)時間不同,所以我們等機器碼的前半部分0.56ms低電平到來后先延時Y毫秒(5.6<Y<1.68)再將此時INT0口的電平送入CY位,并通過帶CY位循環(huán)移位指令將解出的碼移入累加器A中暫存。解出8位機器碼后將累加器中數(shù)據(jù)傳送到內(nèi)部某個RAM單元。第二次8位解完后放入內(nèi)部RAM另一單元。如此循環(huán)直至將16位機器碼全部解出并分別放入內(nèi)部RAM的2個單元中。解數(shù)據(jù)碼的方法也和解機器碼的一樣。這個小遙控器的編碼很特別。圖5是用COOL EDIT PR02.1軟件捕獲的波形圖。可見它沒有前導(dǎo)碼,只有3個字節(jié)的數(shù)據(jù)碼。每位碼由1個低電平和1個高電平組成。假設(shè)我們規(guī)定用1.5ms低電平和0.6ms高電平表示數(shù)據(jù)碼0,用0.6ms低電平和1.5ms高電平表示數(shù)據(jù)碼l,并按高位在左低位在右的原則分析波形后,得到此遙控器的十六進制編碼是FBH、BEH、FOH。如果要用這個遙控器來控制電燈,可以預(yù)先把它的編碼加載于RAM中,再將接收到的紅外信號解出碼后和它相比較,如果相同,說明是這個遙控器發(fā)出的指令,燈的狀態(tài)就改變一次。解碼的方法可以借鑒前面介紹的原理,做小小的修改即可。完整的程序如下:
該程序初始化部分主要是開啟外部中斷1,并將遙控器的數(shù)據(jù)碼送71H、72H、73H單元。主循環(huán)部分判斷手動按鈕,按鈕每閉合一次燈的狀態(tài)就改變一次。中斷子程序先是將紅外信號解碼,解碼后的數(shù)據(jù)存入74H、75H、75H單元,并分別和71H、72H、73H中的數(shù)據(jù)比較。如果相等則改變燈的狀態(tài)。
硬件焊接完畢,將燒寫有上面程序的89C2051插入電路中,只要元件無誤上電就能正常工作。
紅外遙控電燈開關(guān)電路圖
一、電路原理

本人經(jīng)過反復(fù)試驗,提出了一種簡易紅外遙控電燈開關(guān)的電路方案(上圖):遙控發(fā)射器可使用家中任何一種紅外發(fā)射器代用,不需專門制作;遙控接收電器選用普通二極管和三極管等元器件,成本低,易制作,每套只需9元左右。
電路原理簡易型電燈遙控開關(guān)電路原理圖如下圖所示。整個電路可以分成三部分。
1、下圖3中,IR為紅外線遙控接收頭,未接收到紅外線信號時,1腳輸出高電平,接收到紅外線信號時,1腳輸出一連串低電平脈沖。
2、圖4中,R4、C2與R7、C3組成兩個積分電路,VT4、VT5、K組成繼電器控制電路。
3、圖5中,發(fā)光二極管作為電路工作的指示燈。
電燈平時或上電后的初始狀態(tài)是VT1導(dǎo)通,VT2截止,VT5截止,繼電器K不工作。
短按遙控器按鈕(小于0.5s),在這較短的時間內(nèi),因C3容量遠大于C2,故B點電位很快升到高電位(約1V左右),而A點電位上升不到0.6V,因此VT3不能導(dǎo)通,只有VT2導(dǎo)通,這樣,C點為高電位,VT5導(dǎo)通,繼電器K動作,其接點K-1、K-2同時趿臺,K-2接通電器電源。
這時即使IR不再收到信號,因電源經(jīng)R11向VT5提供偏置,故VT5保持導(dǎo)通,K仍繼續(xù)吸合,達到短按遙控器按鈕實現(xiàn)開燈的目的。
長按遙控器按鈕(3秒以上)時,IR輸出低電平脈沖使VT1輸出高電平脈沖,經(jīng)VD1整流后送至A點、B點進行積分處理,最終使A點電位大于1V(實測為1.3V左右),VT3導(dǎo)通,D點為高電平,VT4導(dǎo)通,C點為低電平,致使VT5截止,K釋放,K-1、K-2斷開,達到長按遙控器按鈕實現(xiàn)關(guān)燈的目的。松開遙控器按鈕后,IR不再收到紅外線信號,C2、C3放電,VT2、VT3截止,電路又進入等待狀態(tài)。只有再次短按遙控器按鈕,電路才會重新動作,重復(fù)遙控開燈的過程。
二、電路的測試
第一步:用在K-2處接上發(fā)光二極管和5.1k的電阻代替電燈,見圖6。
在一個沒有電視機的房間里,用康佳電視機遙控器作為開關(guān)遙控。在12小時內(nèi),二極管能正常工作。
第二步:在有康佳電視機的大廳里,繼續(xù)用康佳遙控器遙控,但當(dāng)用遙控器關(guān)電視機時,燈的亮滅也隨著變化。作品在遠離遙控器8m時才不發(fā)揮作用。也就是說,遙控距離大概是8m,它的啟用有可能會影響其他使用該遙控器設(shè)備的正常工作。
第三步:用不同的遙控器(我們用了美的空調(diào)的,摩托車的開關(guān),普通紅外發(fā)射器等)對作品進行遙控,遇到與第一、第二步相同的現(xiàn)象。這說明作品能給任何遙控器控制。
第四步:在做好對作品絕緣的準(zhǔn)備后,把接二極管和電阻改為接上臺燈,用市電供電,見圖7。
重復(fù)上面三個步驟,所得的現(xiàn)象與上面的類似。
三、作品的缺點與改進及相關(guān)說明
1.從上面的測試可知,該設(shè)計做出的實物使用起來可能造成生活的混亂——關(guān)電視機也關(guān)燈了,關(guān)燈卻連空調(diào)也關(guān)了。所以要專門設(shè)計一個紅外發(fā)射器與對應(yīng)的接收器,但這樣成本就大大的提高了。其中一個解決的辦法就是,在有電視機的地方就用空調(diào)的遙控器或者用電視機遙控器里面的不會影響此時電視機狀態(tài)的按鈕。其他的類似。
2.本作品采用焊接的方法進行制作,一方面是為了說明普通老百姓也可以制作,二來對于小批量的制作成本會更低,三來說明此方案非常容易實現(xiàn)。
評論