DIY電燈遙控開關電路
一、功能構思
使用單片機解碼。上電默認關燈,每按一次遙控器按鈕改變一次燈的狀態。最好另設一個手動按鈕,以便未帶遙控器時開關燈。
二、硬件部分
由于用的是單片機解碼,硬件部分自由度很大。首先要接收到遙控器發出的紅外光信號,并將它放大,解調成脈沖信號。這個任務就交給紅外接收頭了。紅外接收頭型號繁多,外形各異。只要是解調頻率是38kHz的脈沖型接收頭都行。本人用的接收頭型號為SFH506-38。為降低功耗,原來設想用雙向可控硅作開關,后來考慮到假如用的是節能燈,可能關燈后會有燈管閃爍問題,權衡之下就用了繼電器,型號是JQC-3,線圈電壓l2V。單片機選AT89C2051。光耦是廢手機充電器上拆的,型號為PC718。變壓器次級電壓12.5V,功率lW左右。其余元件見下圖的標注。PCB極見中圖。下圖是元件安裝圖。
三、軟件部分
紅外編碼格式是有標準的,如常用的NEC編碼,就是由前導碼、機器碼、數據碼,重復碼四部分組成。前導碼包括9ms低電平和4.5ms高電平。結束碼是0.56ms低電平。機器碼和數據碼共32位二進制數,分4個字節。前2個字節是機器碼,用以區分每個遙控器。后2個字節是數據碼,用于區分各個按鍵。為了達到校驗作用數據碼的2個字節互為反碼。每位數據碼也由一個低電平和一個高電平組成。一般規定以0.56ms低電平和0.56ms高電平表示邏輯0,0.56ms低電平和1.68ms高電平表示邏輯l。單片機解碼可以采用查詢方式或中斷方式。
以使用外部中斷0方式為例:紅外接收頭收到信號后輸出低電平觸發中斷,程序轉至中斷子程序。在中斷程序中首先判斷前導碼是否正確。具體可以每X毫秒判斷一次INT0口電平狀態,連續判斷N次(NX應該稍小于9ms)。
只要有一次不是低電平就視為干擾信號,程序退出。若N次判斷均為低電平,則程序原地踏步,等待前導碼中4.5ms高電平的到來。4.5ms高電平到后也用上述方法進行多次,當然這時INT0腳應該每次都為高電平,并且多次判斷的累加時間應稍小于4.5ms。如果前導碼正確,接下來開始解第一位機器碼。因為機器碼數據“0”和“1”的區別僅是高電平的延續時間不同,所以我們等機器碼的前半部分0.56ms低電平到來后先延時Y毫秒(5.6<Y<1.68)再將此時INT0口的電平送入CY位,并通過帶CY位循環移位指令將解出的碼移入累加器A中暫存。解出8位機器碼后將累加器中數據傳送到內部某個RAM單元。第二次8位解完后放入內部RAM另一單元。如此循環直至將16位機器碼全部解出并分別放入內部RAM的2個單元中。解數據碼的方法也和解機器碼的一樣。這個小遙控器的編碼很特別。圖5是用COOL EDIT PR02.1軟件捕獲的波形圖。可見它沒有前導碼,只有3個字節的數據碼。每位碼由1個低電平和1個高電平組成。假設我們規定用1.5ms低電平和0.6ms高電平表示數據碼0,用0.6ms低電平和1.5ms高電平表示數據碼l,并按高位在左低位在右的原則分析波形后,得到此遙控器的十六進制編碼是FBH、BEH、FOH。如果要用這個遙控器來控制電燈,可以預先把它的編碼加載于RAM中,再將接收到的紅外信號解出碼后和它相比較,如果相同,說明是這個遙控器發出的指令,燈的狀態就改變一次。解碼的方法可以借鑒前面介紹的原理,做小小的修改即可。完整的程序如下:
該程序初始化部分主要是開啟外部中斷1,并將遙控器的數據碼送71H、72H、73H單元。主循環部分判斷手動按鈕,按鈕每閉合一次燈的狀態就改變一次。中斷子程序先是將紅外信號解碼,解碼后的數據存入74H、75H、75H單元,并分別和71H、72H、73H中的數據比較。如果相等則改變燈的狀態。
硬件焊接完畢,將燒寫有上面程序的89C2051插入電路中,只要元件無誤上電就能正常工作。
紅外遙控電燈開關電路圖
一、電路原理
![自制電燈遙控開關電路詳細介紹](http://file.elecfans.com/web1/M00/45/7E/o4YBAFpu3TSADf2AAAApWsXBSeM459.jpg)
本人經過反復試驗,提出了一種簡易紅外遙控電燈開關的電路方案(上圖):遙控發射器可使用家中任何一種紅外發射器代用,不需專門制作;遙控接收電器選用普通二極管和三極管等元器件,成本低,易制作,每套只需9元左右。
電路原理簡易型電燈遙控開關電路原理圖如下圖所示。整個電路可以分成三部分。
1、下圖3中,IR為紅外線遙控接收頭,未接收到紅外線信號時,1腳輸出高電平,接收到紅外線信號時,1腳輸出一連串低電平脈沖。
2、圖4中,R4、C2與R7、C3組成兩個積分電路,VT4、VT5、K組成繼電器控制電路。
3、圖5中,發光二極管作為電路工作的指示燈。
電燈平時或上電后的初始狀態是VT1導通,VT2截止,VT5截止,繼電器K不工作。
短按遙控器按鈕(小于0.5s),在這較短的時間內,因C3容量遠大于C2,故B點電位很快升到高電位(約1V左右),而A點電位上升不到0.6V,因此VT3不能導通,只有VT2導通,這樣,C點為高電位,VT5導通,繼電器K動作,其接點K-1、K-2同時趿臺,K-2接通電器電源。
這時即使IR不再收到信號,因電源經R11向VT5提供偏置,故VT5保持導通,K仍繼續吸合,達到短按遙控器按鈕實現開燈的目的。
長按遙控器按鈕(3秒以上)時,IR輸出低電平脈沖使VT1輸出高電平脈沖,經VD1整流后送至A點、B點進行積分處理,最終使A點電位大于1V(實測為1.3V左右),VT3導通,D點為高電平,VT4導通,C點為低電平,致使VT5截止,K釋放,K-1、K-2斷開,達到長按遙控器按鈕實現關燈的目的。松開遙控器按鈕后,IR不再收到紅外線信號,C2、C3放電,VT2、VT3截止,電路又進入等待狀態。只有再次短按遙控器按鈕,電路才會重新動作,重復遙控開燈的過程。
二、電路的測試
第一步:用在K-2處接上發光二極管和5.1k的電阻代替電燈,見圖6。
在一個沒有電視機的房間里,用康佳電視機遙控器作為開關遙控。在12小時內,二極管能正常工作。
第二步:在有康佳電視機的大廳里,繼續用康佳遙控器遙控,但當用遙控器關電視機時,燈的亮滅也隨著變化。作品在遠離遙控器8m時才不發揮作用。也就是說,遙控距離大概是8m,它的啟用有可能會影響其他使用該遙控器設備的正常工作。
第三步:用不同的遙控器(我們用了美的空調的,摩托車的開關,普通紅外發射器等)對作品進行遙控,遇到與第一、第二步相同的現象。這說明作品能給任何遙控器控制。
第四步:在做好對作品絕緣的準備后,把接二極管和電阻改為接上臺燈,用市電供電,見圖7。
重復上面三個步驟,所得的現象與上面的類似。
三、作品的缺點與改進及相關說明
1.從上面的測試可知,該設計做出的實物使用起來可能造成生活的混亂——關電視機也關燈了,關燈卻連空調也關了。所以要專門設計一個紅外發射器與對應的接收器,但這樣成本就大大的提高了。其中一個解決的辦法就是,在有電視機的地方就用空調的遙控器或者用電視機遙控器里面的不會影響此時電視機狀態的按鈕。其他的類似。
2.本作品采用焊接的方法進行制作,一方面是為了說明普通老百姓也可以制作,二來對于小批量的制作成本會更低,三來說明此方案非常容易實現。
評論