摘 要: 設計了一個多門電源無線遙控開關,可用家庭用的紅外線遙控器控制該產品的主機無線遙控電路,再通過該主機無線遙控電路控制多門電源開關,每門電源開關與電源插座相串聯以控制某個家用電器設備。使用時在紅外線遙控器的多余按鍵上設置該主機無線遙控所對應的控制開關,就可以用一個紅外線遙控器進行多設備同時控制,如利用電視機遙控器,在看電視的同時隨時可以控制電熱水器、電風扇、房間燈等用電設備,十分方便。
關鍵詞: 紅外線遙控;無線遙控;電源開關;單片機;編碼與解碼
隨著電子技術的不斷發展,遙控電路已經相當普遍,家用電器大部分都有遙控器。本設計在家庭現有的紅外線遙控器的基礎上,用其多余的按鍵與本產品配合設置,實現可控制其他家用電器的目的。它具有在觀看電視的同時,無需更換遙控器就可以控制其他家用電器;更換遙控器后不需要更換本電子產品,只需重新設置;記憶功能,掉電后無需重新設置;家庭用的紅外線遙控器設置好后果基本上都可以對本電子產品的主機電路進行遙控;無線遙控距離可達20 m,能夠實現對家庭各角落用電器的遙控等優勢。
1 電路組成及各模塊的功能
本電子產品由家電紅外線遙控器、主機無線遙控電路和各路被無線遙控控制的電源開關3個模塊組成。其中模塊一主要用來發送要控制的各門開關的紅外線信號;模塊二主要由紅外線信號接收電路、單片機最小系統與外部存儲器電路、無線遙控發射電路組成,用來接收紅外線遙控器發送過來的信號并進行解密,再重新編碼以無線電信號發送給對應控制開關;模塊三主要由無線接收電路和繼電器電路組成,用來接收無線信號并進行解碼,將信號送給繼電器動作,使電源插座得電或斷電來控制相應家用電器。 其結構如圖1所示。
2 設計思路及主要元件選擇
2.1 紅外線遙控器模塊
本模塊由經過設置后的家電紅外線遙控器來實現控制,家庭用的大部分遙控器都可以對本產品進行控制,如電視機、風扇等紅外線遙控器。但不適合使用空調遙控器,因為本設計采用的紅外接收模塊接收的編碼為32 bit,而空調遙控器的編碼超過32 bit[1]。
2.2 主機無線遙控電路模塊
本模塊由紅外一體化接收頭、單片機最小系統與外部存儲器、無線遙控發射電路構成。紅外線一體化接收頭如圖2所示,采用了IR1308紅外線光敏三極管,負責對紅外信號的接收與解調,將信號由1腳送入單片機的P3.2口。單片機最小系統如圖3所示,單片機采用了AT89S52,由于需要斷電存儲功能,增加一個外部儲存器電路,如圖4所示,采用了24C02集成塊,單片機負責對解調后的紅外線信號進行解碼并在儲存器上保存。無線遙控發射電路采用了PT2262發射系統,負責對編碼信號進行發射,編碼最多有16組。
2.3 無線遙控電源開關模塊
本模塊由無線接收電路和繼電器組成。無線接收與解碼采用了PT2272,它與PT2262發射配對使用,負責接收無線信號并進行解碼、放大來控制相對應碼的繼電器。繼電器的常開觸頭做為開關與電源插座串聯使用,當接收到對應碼的繼電器動作,開關閉合電源插座得電,需要工作的家電工作。這樣的模塊設有16門,即一個“紅外線遙控器”對應一個“主機無線遙控電路”控制16門“無線遙控電源開關”。
3 產品的設計原理
3.1 紅外線遙控器
家用紅外遙控器按鍵的編碼信號是經過38 kHz載波調制后進行發射的,本產品使用紅外一體化接收頭進行接收并解調,解調出來的信號如圖5(a)所示。0信號與1信號的編碼如圖5(b)所示,0信號的高電平與低電平的持續時間相等,而1信號的低電平持續時間是高電平的3倍,從而區分0信號或1信號。紅外遙控器的任一個按鍵的信號編碼由頭脈沖、兩個系統碼(用戶碼)、資料碼(按鍵碼)、資料反碼、結束位構成[2],如圖5(a)所示。
3.2 紅外線一體化接收頭與單片機電路
紅外線一體化接收頭接收到信號,并解調出信號如圖5(a),再使用單片機進行解碼。單片機使用P3.2口對紅外一體化接收頭接收的信號進行導入,采用低電平觸發中斷方式,再通過單片機定時器0對兩個下降沿的持續時間進行計數[3]。定時器采用工作方式2,其計滿一次為256 ?滋s,頭脈沖的周期為9 500+4 500=14 000 ?滋s左右,定時器0在這期間可以計滿14 000/256=54.6次左右。信號1的周期為561×4=2 244 ?滋s,可以計滿2 244/256=8.77次左右;信號0的周期為561×2=1 122 ?滋s,可以計滿1 122/256=4.38次。單片機根據定時器0計滿的次數來判斷其為引導碼還是信號1或信號0。由于不同紅外遙控器的持續時間與以上數據略有偏差,為了不產生遺漏,所以本產品的程序設置為如果定時器計滿的次數在33~63次之間為引導碼。如果判斷出引導碼,則接下來為系統碼,再對系統碼各個位進行判斷,程序設計為定時器計滿7次及以上為信號1,7次以下為信號0。判斷完之后,再用單片機對判斷出來的數據進行組合,就構成了一個按鍵的碼值,如果采用16進制來表示,則為一個8位的16進制數,前4位為系統碼,第5、6位為資料碼,第7、8位為資料反碼。具體如圖6所示。
單片機完成了對紅外信號的解碼后,再根據外部連接P3.1的按鍵的狀態來進行處理。
(1)如果按鍵是按下,則表示在設置狀態,單片機就把解碼后的信號送到外部存儲器24C02進行存儲[4]。如果是設置期間第一個接收到的紅外信號,則存儲在0~3單元;如果是第二個信號,就存儲在4~7單元。后面的紅外信號以此類推。
(2)如果按鍵沒有按下,則表示在進行遙控操作狀態,單片機會把當前的紅外信號與存儲器的內容進行對比。先取出0~3單元與當前信號進行對比,如果相同,則表示要打開或關閉第一路開關,單片機會進行下一進程編碼;不相同,則會取出4~7單元進行對比,如果相同則為打開或關閉第二路開關,單片機進入下一進程編碼[5]。以此類推,直至判斷完16路。
3.3 無線發射器及指示燈電路
本單元主要是單片機來負責編碼,并由無線發射最小系統進行發射。無線發射采用PT2262芯片進行無線信號的編碼,它與單片機的P2口連接,單片機P2.4~P2.7連接PT2262的地址位A0~A4,P2.0~P2.3連接PT2262的數據口D0~D3。如果要打開或關閉第一路開關,單片機會輸出地址碼0001、數據碼0001到PT2262芯片進行編碼,再用振蕩電路進行無線發射;如果要打開或關閉第2路,單片機則會輸出地址碼0010、數據碼0001去控制無線模塊進行發射。第3路、第4路等以此類推,如圖7所示。無線發射距離為20 m~30 m左右。
發射機在發射的同時,為了讓用戶更好地了解當前的遙控操作有沒有生效,本產品設置了指示燈,在發射的同時單片機點亮連接的P1.5口上的LED燈進行指示,LED燈閃爍表示當前遙控操作生效。電路如圖8所示。
3.4 無線接收及繼電器電路
本模塊由PT2272解碼芯片為核心的無線接收電路和繼電器電路組成,當PT2272的地址碼與發射模塊PT2262的地址碼相同時,就會進行解碼。第1門開關電路的接收模塊PT2272的地址碼由硬件電路將其設定為0001,如圖9所示,管腳1是低位,4是高位;第2門設定為0010,以此類推。當單片機要控制第1門開關時,其給PT2262的地址碼為0001,則只有PT2272地址碼為0001的無線模塊會將其接收,其他模塊則不接收。控制其他門開關做法與之類似。
不同路的地址不同,但是控制時接收的數據碼相同,都為0001。本產品采用的是PT2272的T4自鎖型,其特點是輸出的數據能實現觸發翻轉工作邏輯,并且數據只要成功接收就能一直保持對應的電平狀態,直到下次觸發。對應發射器高電平輸出端的接收器輸出端狀態會翻轉一次,如發射端發射數據0001一次,接收器輸出端會從初始狀態0000變為0001,再發射數據0001一次,接收器輸出端又變回0000。PT2272的13管腳連接到繼電器模塊的輸入端,如果PT2272的13管腳原來輸出低電平并接收到數據0001,則會控制13腳翻轉為高電平,繼電器閉合,電插座得電,用電器電路導通;如果是高電平并接收到數據0001,則會控制13腳翻轉為低電平,繼電器打開,電插座失電,用電器電路斷開。
4 系統軟件設計
單片機程序流程圖如圖10所示。
使用時,首先要進行設置,設置方法:按下設置鍵,把遙控器的發射頭對準本產品主機無線遙控電路紅外線一體化接收頭,依次按下需要控制的按鍵。然后按下設置鍵將其彈出,完成設置。把本產品接收模塊的繼電器輸出導線串聯到待控制家用電器插座的火線上即可使用。最后使用設置過的遙控器按鍵對主機實行遙控,就可以控制家用電器。
參考文獻
[1] 李建華.實用遙控器原理與制作[M].北京:人民郵電出版社, 2008.
[2] 蘇長贊.紅外線與超聲波遙控[M]. 北京:人民郵電出版社,2007.
[3] 孫函芳.MCS-51系列單片機原理與應用[M].北京: 北京航天航空大學出版社,2009.
[4] 李華. MCS-51系列單片機實用接口技術[M]. 北京:北京航天航空大學出版社,2007.
[5] 周堅.單片機輕松入門[M].北京:北京航天航空大學出版社,2004