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