《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 電器開(kāi)關(guān)無(wú)線監(jiān)控系統(tǒng)設(shè)計(jì)
電器開(kāi)關(guān)無(wú)線監(jiān)控系統(tǒng)設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2012年第23期
程作霖,鄭天津,梁振杰,曹建民
(深圳大學(xué) 電子科學(xué)與技術(shù)學(xué)院,廣東 深圳 518060)
摘要: 設(shè)計(jì)了一種電器開(kāi)關(guān)無(wú)線監(jiān)控系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了對(duì)多臺(tái)電器電源的手動(dòng)開(kāi)關(guān)、本地計(jì)算機(jī)遙控開(kāi)關(guān)、遠(yuǎn)程網(wǎng)絡(luò)終端控制開(kāi)關(guān)三種控制方式的實(shí)時(shí)或定時(shí)控制,同時(shí)在本地計(jì)算機(jī)和遠(yuǎn)程網(wǎng)絡(luò)終端中提供了顯示受控電器的電源通斷狀態(tài)。系統(tǒng)硬件通過(guò)USB接口實(shí)現(xiàn)與上位機(jī)的通信,通過(guò)無(wú)線電實(shí)現(xiàn)對(duì)電器的監(jiān)控,并采用了跳頻和時(shí)分技術(shù),克服了無(wú)線傳輸過(guò)程中的同頻干擾等問(wèn)題。
Abstract:
Key words :

摘  要: 設(shè)計(jì)了一種電器開(kāi)關(guān)無(wú)線監(jiān)控系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了對(duì)多臺(tái)電器電源的手動(dòng)開(kāi)關(guān)、本地計(jì)算機(jī)遙控開(kāi)關(guān)、遠(yuǎn)程網(wǎng)絡(luò)終端控制開(kāi)關(guān)三種控制方式的實(shí)時(shí)或定時(shí)控制,同時(shí)在本地計(jì)算機(jī)和遠(yuǎn)程網(wǎng)絡(luò)終端中提供了顯示受控電器的電源通斷狀態(tài)。系統(tǒng)硬件通過(guò)USB接口實(shí)現(xiàn)與上位機(jī)的通信,通過(guò)無(wú)線電實(shí)現(xiàn)對(duì)電器的監(jiān)控,并采用了跳頻和時(shí)分技術(shù),克服了無(wú)線傳輸過(guò)程中的同頻干擾等問(wèn)題。
關(guān)鍵詞: 無(wú)線監(jiān)控;USB接口;同頻干擾;電器開(kāi)關(guān)

 隨著社會(huì)經(jīng)濟(jì)水平的發(fā)展,人們?cè)絹?lái)越追求舒適、便捷的生活方式,對(duì)家居的要求也趨向于智能化、自動(dòng)化。電子技術(shù)在智能家居產(chǎn)品中得到廣泛應(yīng)用,而融合了計(jì)算機(jī)網(wǎng)絡(luò)與通信技術(shù)的家居控制系統(tǒng)更給人們的生活帶來(lái)了全新的體驗(yàn)?,F(xiàn)有的家居電器控制系統(tǒng)可通過(guò)電話線、GSM網(wǎng)絡(luò)、GPRS無(wú)線網(wǎng)絡(luò)等方式實(shí)現(xiàn)對(duì)電器的遠(yuǎn)程控制[1-3],但控制方式比較單一,也比較少涉及對(duì)電器開(kāi)關(guān)狀態(tài)的監(jiān)視,遠(yuǎn)程用戶實(shí)際上是處于 一種盲操作狀態(tài):既不知當(dāng)前電器開(kāi)關(guān)狀態(tài),也不知操作后電器的執(zhí)行情況。
本文所述的電器開(kāi)關(guān)無(wú)線監(jiān)控系統(tǒng)不僅實(shí)現(xiàn)了對(duì)電器開(kāi)關(guān)多種方式的控制,而且也同時(shí)實(shí)現(xiàn)了對(duì)電器開(kāi)關(guān)多種方式的監(jiān)視,實(shí)現(xiàn)了真正意義上的監(jiān)控。具體包括如下幾種方式:
 (1)手動(dòng)開(kāi)關(guān)監(jiān)控。和人們的日常習(xí)慣相同,通過(guò)手動(dòng)控制開(kāi)關(guān),同時(shí)通過(guò)開(kāi)關(guān)指示燈提示開(kāi)關(guān)的狀態(tài)。
?。?)遙控開(kāi)關(guān)監(jiān)控。利用本地計(jì)算機(jī)集中控制開(kāi)關(guān),并能在計(jì)算機(jī)界面實(shí)時(shí)顯示各個(gè)開(kāi)關(guān)的狀態(tài),方便辦公室或家居用戶對(duì)所有電器的集中監(jiān)視、控制和管理。如辦公人員下班前即可在電腦前完成對(duì)辦公室所有電器的集中檢查,關(guān)掉不必要的電器,以節(jié)約能源并減少安全隱患。
?。?)遠(yuǎn)程網(wǎng)絡(luò)開(kāi)關(guān)監(jiān)控。通過(guò)計(jì)算機(jī)網(wǎng)絡(luò),在遠(yuǎn)程終端中實(shí)現(xiàn)對(duì)開(kāi)關(guān)的控制,并能夠顯示開(kāi)關(guān)的通斷狀態(tài),方便遠(yuǎn)程控制端的用戶對(duì)電器進(jìn)行實(shí)時(shí)監(jiān)視。如辦公人員下班以后、或者遇到雷電天氣時(shí),完成對(duì)辦公室所有電器的集中檢查,關(guān)掉不必要的電器,以節(jié)約能源并減少安全隱患。
系統(tǒng)采用USB作為硬件設(shè)備與上位機(jī)的通信接口,既可實(shí)現(xiàn)硬件設(shè)備的即插即用,又為設(shè)備提供了電源,免去外置電池,利用計(jì)算機(jī)作為控制平臺(tái),則可借用其豐富的硬件資源,方便地實(shí)現(xiàn)對(duì)電器多種方式的靈活控制。此外,系統(tǒng)采用跳頻和時(shí)分技術(shù),解決了無(wú)線傳輸過(guò)程中的同頻干擾等問(wèn)題,提高了系統(tǒng)的穩(wěn)定性。
1 系統(tǒng)設(shè)計(jì)
 系統(tǒng)采用了本地計(jì)算機(jī)、遠(yuǎn)程網(wǎng)絡(luò)終端、主控制設(shè)備及從設(shè)備的框架結(jié)構(gòu),如圖1所示。本地計(jì)算機(jī)和遠(yuǎn)程網(wǎng)絡(luò)終端的上位機(jī)應(yīng)用程序負(fù)責(zé)響應(yīng)用戶的控制指令并傳給主控制設(shè)備,由后者控制相應(yīng)的從設(shè)備做出響應(yīng);從設(shè)備除控制電器電源開(kāi)關(guān)外還負(fù)責(zé)采集其狀態(tài)信息,以供主控設(shè)備返回給上位機(jī)。

 主控制設(shè)備與多個(gè)從設(shè)備間采用無(wú)線雙向傳輸方式,以避免設(shè)備安裝時(shí)布線的麻煩。常用的無(wú)線傳輸方式有藍(lán)牙技術(shù)、ZigBee技術(shù)和基于nRF24L01射頻收發(fā)器件的2.4 GHz無(wú)線傳輸、基于PT2262/PT2272編解碼芯片的315 MHz或433 MHz無(wú)線傳輸?shù)萚3-5]。考慮到系統(tǒng)中每個(gè)受控電器均需一個(gè)從設(shè)備來(lái)單獨(dú)控制,因此從設(shè)備的結(jié)構(gòu)簡(jiǎn)單及成本低廉顯得尤為重要,故本設(shè)計(jì)采用基于PT2262/PT2272的無(wú)線傳輸方式,并采用跳頻技術(shù)和分時(shí)技術(shù)來(lái)克服干擾問(wèn)題。
2 系統(tǒng)硬件設(shè)計(jì)
 硬件電路系統(tǒng)包括一個(gè)主控制設(shè)備和多個(gè)從設(shè)備,每個(gè)從設(shè)備控制并監(jiān)測(cè)一臺(tái)電器。主控制設(shè)備通過(guò)USB接口與上位機(jī)通信,接收來(lái)自上位機(jī)的控制指令并解析,然后將其通過(guò)無(wú)線電傳給相應(yīng)的從設(shè)備,同時(shí)等待并接收從設(shè)備的反饋信息;相應(yīng)的從設(shè)備接收到控制指令后,做出相應(yīng)的響應(yīng),如改變電器電源通斷狀態(tài)或返回電器狀態(tài)信息等。
2.1 主控制設(shè)備電路
 主控制設(shè)備電路由控制電路、USB接口電路和無(wú)線電發(fā)射/接收模塊組成,其硬件結(jié)構(gòu)如圖2所示。USB接口電路用于與上位機(jī)的通信,無(wú)線電發(fā)射/接收模塊用于與從設(shè)備的數(shù)據(jù)交互,兩者均受控于單片機(jī)控制電路。

 單片機(jī)控制電路選用ATMEL公司的8 bit微處理器AT89S52作為主控芯片。USB接口電路采用PHILIPS公司接口芯片PDIUSBD12設(shè)計(jì)實(shí)現(xiàn)。
 發(fā)射模塊向各個(gè)從設(shè)備發(fā)送控制指令,接收模塊則實(shí)時(shí)監(jiān)聽(tīng)各個(gè)從設(shè)備返回的電器狀態(tài)信息。無(wú)線電發(fā)射/接收模塊由編解碼芯片PT2262/PT2272及高頻發(fā)射/接收模塊F05R和J05U組成,可實(shí)現(xiàn)315 MHz或433 MHz頻段的無(wú)線電通信。編碼芯片PT2262發(fā)出由地址碼、數(shù)據(jù)碼、同步碼組成的編碼信號(hào),解碼芯片PT2272接收到編碼信號(hào)后進(jìn)行發(fā)送端地址碼與接收端地址碼的比較判斷,地址一致則解碼有效,否則無(wú)效,其中發(fā)送端與接收端的地址碼均由各自的地址引腳電平?jīng)Q定。然而基于PT2262/PT2272的無(wú)線傳輸方式頻段少且?guī)捳?dāng)系統(tǒng)中兩個(gè)或兩個(gè)以上的發(fā)射模塊同時(shí)工作時(shí)容易造成同頻干擾等問(wèn)題。解決此類問(wèn)題的方法有跳頻技術(shù)、分時(shí)技術(shù)等[6]。本系統(tǒng)同時(shí)采用了這兩種技術(shù)。

?。?)采用跳頻技術(shù),即主設(shè)備向各個(gè)從設(shè)備的無(wú)線傳送采用433 MHz頻段,而各個(gè)從設(shè)備向主設(shè)備返回?cái)?shù)據(jù)則用315 MHz。但由于各個(gè)從設(shè)備的發(fā)射頻率均為315 MHz,仍存在同頻干擾的問(wèn)題。
?。?)采用分時(shí)技術(shù),以保證任意時(shí)刻最多只有一個(gè)無(wú)線發(fā)射模塊在工作。具體措施為:借鑒USB總線傳輸協(xié)議中主機(jī)發(fā)起傳輸、從機(jī)響應(yīng)主機(jī)請(qǐng)求的半雙工傳輸機(jī)制,由主設(shè)備發(fā)出“改變電器狀態(tài)”或“返回電器狀態(tài)”的指令,相應(yīng)的從設(shè)備收到后做出被動(dòng)響應(yīng),而主從設(shè)備的發(fā)射模塊只有在需要傳輸數(shù)據(jù)時(shí)才開(kāi)啟,其余時(shí)間均關(guān)閉,以避免成為其他發(fā)射模塊的干擾源。如此,只要主設(shè)備分配好各個(gè)發(fā)射模塊的工作時(shí)間,不令兩個(gè)以上的從設(shè)備同時(shí)返回?cái)?shù)據(jù)即可避免同頻干擾了。
 為配合分時(shí)抗干擾的應(yīng)用,在主控制設(shè)備的硬件電路中,主控芯片AT89S52需對(duì)無(wú)線電發(fā)射模塊進(jìn)行使能控制,通過(guò)一個(gè)I/O引腳控制發(fā)射模塊的工作電源,以實(shí)現(xiàn)只有在需要發(fā)射信號(hào)時(shí)才導(dǎo)通電源,其余時(shí)間則斷開(kāi)。設(shè)置連續(xù)控制從設(shè)備的時(shí)間間隔為1 s,這樣就很好地解決了同頻干擾的問(wèn)題。
2.2 從設(shè)備電路
 從設(shè)備電路包括電源轉(zhuǎn)換、繼電器電路、無(wú)線發(fā)射接收和控制等模塊,其電路如圖3所示。無(wú)線電發(fā)射接收模塊分別用于返回電器狀態(tài)信息和接收主控制設(shè)備的控制信號(hào);控制模塊依據(jù)無(wú)線接收模塊和手動(dòng)開(kāi)關(guān)的控制信號(hào)來(lái)控制繼電器電路的通斷狀態(tài),實(shí)現(xiàn)對(duì)電器的電源控制。

 從設(shè)備無(wú)線電發(fā)射接收模塊的電路設(shè)計(jì)與主控制設(shè)備的類似。PT2262接收主設(shè)備的控制信號(hào),并通過(guò)D0和D1引腳輸出,其中D0引腳的電平變化表示“改變電器的開(kāi)關(guān)狀態(tài)”,D1引腳電平變化則表示“返回電器開(kāi)關(guān)狀態(tài)”。此外,無(wú)線發(fā)射模塊中的F05R電源地引腳受控于控制模塊的發(fā)射使能信號(hào),使能信號(hào)有效時(shí),才啟動(dòng)并返回設(shè)備的開(kāi)關(guān)狀態(tài)。
 本系統(tǒng)電器的三種控制方式有:手動(dòng)開(kāi)關(guān)控制、本地計(jì)算機(jī)遙控開(kāi)關(guān)和遠(yuǎn)程網(wǎng)絡(luò)終端控制開(kāi)關(guān),后兩種控制方式是上位機(jī)應(yīng)用軟件通過(guò)主控制設(shè)備向從設(shè)備發(fā)送無(wú)線控制信號(hào)來(lái)完成的。為實(shí)現(xiàn)這三種方式的相互獨(dú)立控制,在從設(shè)備中,控制模塊采用74LS86組成“異或”電路,如此,則無(wú)論輸入端的手動(dòng)開(kāi)關(guān)控制信號(hào)還是無(wú)線控制信號(hào)發(fā)生變化都會(huì)導(dǎo)致輸出端信號(hào)的變化,從而引起電器電源通斷變化,達(dá)到手動(dòng)控制與軟件控制互不干擾的目的。
 為解決無(wú)線電相互干擾的問(wèn)題,同樣需要對(duì)無(wú)線電的發(fā)射模塊進(jìn)行使能控制。使能電路實(shí)際為由NE556雙時(shí)基電路構(gòu)成的兩個(gè)“暫穩(wěn)態(tài)”時(shí)間均為1 s的單穩(wěn)態(tài)電路。接收模塊的D1信號(hào)及其反信號(hào)~D1分別作為兩個(gè)單穩(wěn)態(tài)電路的觸發(fā)輸入,而它們的輸出則經(jīng)過(guò)相“與”后作為發(fā)射模塊的使能信號(hào)。如此,只需D1電平的變化即可觸發(fā)無(wú)線電發(fā)射模塊工作1 s??紤]到兩個(gè)單穩(wěn)態(tài)電路不會(huì)出現(xiàn)同時(shí)輸出低電平的情況,為節(jié)約資源,采用了74LS86空閑的兩個(gè)“異或”門(mén)實(shí)現(xiàn)相“與”的功能。
從設(shè)備控制核心結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定可靠,成本低廉。
3 系統(tǒng)軟件設(shè)計(jì)
 系統(tǒng)的軟件設(shè)計(jì)主要包括上位機(jī)應(yīng)用程序和單片機(jī)AT89S52固件程序的設(shè)計(jì),前者為用戶提供本地客戶端和遠(yuǎn)程客戶端的電器監(jiān)控界面并進(jìn)行相應(yīng)的后臺(tái)數(shù)據(jù)處理;后者控制PDIUSBD12響應(yīng)計(jì)算機(jī)的請(qǐng)求,實(shí)現(xiàn)與計(jì)算機(jī)的USB通信。此外,還通過(guò)無(wú)線發(fā)射/接收模塊完成對(duì)各個(gè)從設(shè)備的無(wú)線監(jiān)控。
3.1 上位機(jī)應(yīng)用程序

 


 上位機(jī)軟件分為本地客戶端和遠(yuǎn)程客戶端兩部分,分別應(yīng)用于本地計(jì)算機(jī)和遠(yuǎn)程網(wǎng)絡(luò)終端平臺(tái),兩者均是通過(guò)VC編程實(shí)現(xiàn)。
 本地客戶端軟件由用戶控制界面、狀態(tài)顯示界面、錯(cuò)誤警告、網(wǎng)絡(luò)接口、數(shù)據(jù)處理和USB接口等模塊組成,如圖4所示。用戶控制界面模塊用于采集用戶的控制信息,由數(shù)據(jù)處理模塊打包后通過(guò)USB接口模塊傳輸至硬件設(shè)備;數(shù)據(jù)處理模塊同時(shí)還接收硬件設(shè)備返回的受控電器的狀態(tài)信息和錯(cuò)誤警告信息,并分別提供給狀態(tài)顯示界面模塊和錯(cuò)誤警告模塊;網(wǎng)絡(luò)接口模塊則為通過(guò)了密碼驗(yàn)證的遠(yuǎn)程客戶端軟件提供數(shù)據(jù)接口。
用戶控制界面上包含了刷新、開(kāi)/關(guān)和定時(shí)等按鈕,分別用于刷新所有受控電器的狀態(tài)、實(shí)時(shí)和定時(shí)控制某個(gè)電器的開(kāi)關(guān),當(dāng)按鈕點(diǎn)擊事件處理函數(shù)捕獲到某個(gè)按鈕被按下時(shí),即將此控制信息傳送給數(shù)據(jù)處理模塊。
狀態(tài)顯示界面模塊接收電器的狀態(tài)信息并顯示在界面上。電器的顯示狀態(tài)有兩種更新?tīng)顟B(tài),一是用戶控制某個(gè)電器的開(kāi)或關(guān)時(shí),刷新顯示該電器執(zhí)行指令后的狀態(tài);二是用戶點(diǎn)擊控制界面上的“刷新”按鈕時(shí),刷新顯示所有受控電器的實(shí)時(shí)狀態(tài)。

 本設(shè)計(jì)的USB接口硬件屬于人機(jī)接口設(shè)備HID(Human Interface Device)類別,設(shè)備首次接上計(jì)算機(jī)主機(jī)時(shí),Window系統(tǒng)會(huì)自動(dòng)為其安裝驅(qū)動(dòng)程序。上位機(jī)的USB接口模塊首先調(diào)用Win32 API函數(shù)CreateFile()打開(kāi)設(shè)備,并取得訪問(wèn)設(shè)備驅(qū)動(dòng)程序的句柄,然后通過(guò)ReadFile()及WriteFile()函數(shù)實(shí)現(xiàn)與硬件HID設(shè)備的數(shù)據(jù)通信。
 遠(yuǎn)程客戶端軟件的設(shè)計(jì)除了沒(méi)有USB接口模塊外,其他的與本地客戶端軟件類似,兩者通過(guò)網(wǎng)絡(luò)接口模塊實(shí)現(xiàn)數(shù)據(jù)交互。
3.2 單片機(jī)固件程序
 固件程序使用Keil C51開(kāi)發(fā)。USB通信信道的建立及數(shù)據(jù)的交互是在中斷處理程序中實(shí)現(xiàn)的,程序通過(guò)判斷PC主機(jī)請(qǐng)求中斷的類型來(lái)作出不同的響應(yīng)。對(duì)從設(shè)備的無(wú)線監(jiān)控則是在主程序循環(huán)中實(shí)現(xiàn), 其流程圖如圖5所示。主程序初始化完成后便不斷地檢測(cè)上位機(jī)是否有控制指令下傳,若有,則進(jìn)行解析。若控制指令為“改變電器狀態(tài)”指令,則設(shè)置相應(yīng)的無(wú)線發(fā)射地址,發(fā)送指令,并稍作延遲后再次向該從設(shè)備額外發(fā)送“返回電器狀態(tài)”指令,令其返回指令執(zhí)行后的電器狀態(tài)信息;若為“刷新電器狀態(tài)”指令,為避免同頻干擾,主程序并不一起命令所有從設(shè)備同時(shí)返回狀態(tài)信息,而是以輪詢方式,即首先向第一臺(tái)從設(shè)備發(fā)送指令并接收其返回的狀態(tài)信息,然后更改發(fā)射地址,向第二臺(tái)從設(shè)備發(fā)送指令,如此循環(huán),直到取得所有電器的狀態(tài)信息。由于每個(gè)從設(shè)備接收到刷新指令后都會(huì)觸發(fā)其發(fā)射模塊工作1 s,所以在輪詢過(guò)程中,只要主設(shè)備在向下一個(gè)從設(shè)備發(fā)送控制指令前延遲1 s,使得連續(xù)控制從設(shè)備的時(shí)間間隔為1 s以上,即可避免多個(gè)從設(shè)備的發(fā)射模塊一起工作的情況,即可解決同頻干擾的問(wèn)題。

 本文設(shè)計(jì)并實(shí)現(xiàn)了一種電器開(kāi)關(guān)無(wú)線監(jiān)控系統(tǒng),可實(shí)現(xiàn)對(duì)電器開(kāi)關(guān)多種方式的靈活控制和實(shí)時(shí)監(jiān)視,實(shí)現(xiàn)了對(duì)電器開(kāi)關(guān)的聯(lián)網(wǎng)監(jiān)控。設(shè)計(jì)采用USB接口,實(shí)現(xiàn)了硬件設(shè)備的即插即用,并且靈活地借用了計(jì)算機(jī)豐富的硬件資源,無(wú)需復(fù)雜的硬件電路即可實(shí)現(xiàn)對(duì)家用電器的各種控制。此外,設(shè)計(jì)采用跳頻和時(shí)分技術(shù),解決了無(wú)線傳輸過(guò)程中的同頻干擾等問(wèn)題,提高了傳輸?shù)姆€(wěn)定性,降低了開(kāi)關(guān)從設(shè)備的成本。系統(tǒng)的設(shè)計(jì)及功能均得到了最終的實(shí)物驗(yàn)證。
參考文獻(xiàn)
[1] 孫瑩.智能家居控制系統(tǒng)設(shè)計(jì)[J].儀器儀表用戶,2011,18(4):17-19.
[2] 沈舒海,王曉東,胡珊逢,等.基于GPRS網(wǎng)絡(luò)的智能家居控制系統(tǒng)[J].電子器件,2012,35(2):199-203.
[3] 余熾業(yè),宋躍,曾國(guó)敬,等.一種智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].電測(cè)與儀表,2011,48(2):36-49.
[4] 陳龍濤,羅桂娥,周衛(wèi),等.基于ZigBee技術(shù)智能家居系統(tǒng)的研究與設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2010,29(20):100-102.
[5] 姬五勝,呂丁強(qiáng),邊立強(qiáng).智能家居照明控制無(wú)線開(kāi)關(guān)系統(tǒng)[J].微型機(jī)與應(yīng)用,2011,30(20):21-26.
[6] 邵連.簡(jiǎn)論無(wú)線通信中的抗干擾技術(shù)[J].電信快報(bào),2012(3):40-42.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。