??? 摘 要: 基于藍(lán)牙技術(shù)的網(wǎng)絡(luò)空調(diào)程控" title="網(wǎng)絡(luò)空調(diào)程控">網(wǎng)絡(luò)空調(diào)程控系統(tǒng),采用藍(lán)牙技術(shù)中的RFCOMM協(xié)議建立無線虛擬串行口, PC通過無線串口" title="串口">串口以半雙工方式對嵌入藍(lán)牙從模塊的家用空調(diào)的各種狀態(tài)進行點對多點的信息交互,并對其實體進行實時控制。該系統(tǒng)除了具有常規(guī)空調(diào)的全部功能外,還能通過Internet進行遠(yuǎn)程監(jiān)控,實現(xiàn)家用空調(diào)的無線化與網(wǎng)絡(luò)化。
??? 關(guān)鍵詞: 藍(lán)牙技術(shù); 信息家電" title="信息家電">信息家電; 網(wǎng)絡(luò)空調(diào); SPP; PG電機
?
??? 智能家居網(wǎng)絡(luò)將計算機數(shù)字化技術(shù)、現(xiàn)代通信技術(shù)融入傳統(tǒng)的家用電器中,使之智能化并具有網(wǎng)絡(luò)信息終端主動發(fā)布、獲取和處理信息等功能[3]?;谒{(lán)牙技術(shù)的網(wǎng)絡(luò)空調(diào)是信息家電的一部分,與常規(guī)家用空調(diào)相比,它具有無線化和網(wǎng)絡(luò)化的優(yōu)點。所謂無線化,即不消耗任何的空間資源,在原有的PC上接入無線藍(lán)牙Dongle即可對多部藍(lán)牙空調(diào)實現(xiàn)一對多的雙工無線網(wǎng)絡(luò)互動;而網(wǎng)絡(luò)化就是在網(wǎng)站上建立虛擬空調(diào),通過無線模塊以及Internet達到與家用空調(diào)的同步控制,實現(xiàn)家庭空調(diào)的網(wǎng)絡(luò)可視化。
??? 目前,許多網(wǎng)絡(luò)接入方案如參考文獻[5]和[6]采用將網(wǎng)卡(Modem)嵌入空調(diào)內(nèi)部,通過外接網(wǎng)線(電話線)直接連接服務(wù)器。該方案可以實現(xiàn)信息家電的所有功能,但是必須為每臺家電分配專用的網(wǎng)絡(luò)IP以及接口,而這種方式對于家庭有線線路的重新布局會造成極大不便,嵌入無線網(wǎng)卡可以解決此問題,但是增加空調(diào)成本,并且?guī)挼馁Y源利用率不高。本文使用無線藍(lán)牙模塊,只需一臺具備上網(wǎng)功能的PC機外接藍(lán)牙Dongle,即能控制室內(nèi)所有嵌入藍(lán)牙從模塊的家用電器,藍(lán)牙(CLASS I)的傳輸距離一般可達10m,這使藍(lán)牙模塊的嵌入式設(shè)計成為信息家電系統(tǒng)的最佳選擇。
1藍(lán)牙技術(shù)
1.1 藍(lán)牙結(jié)構(gòu)
??? 藍(lán)牙協(xié)議體系結(jié)構(gòu)具體分為三部分[4]:(1)底層硬件模塊,包括射頻(RF)、基帶層(BB)和鏈路管理層(LM),負(fù)責(zé)在藍(lán)牙單元之間建立物理射頻鏈路;(2)中間協(xié)議層,包括邏輯鏈路控制適配協(xié)議(L2CAP)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、串行仿真協(xié)議(RFCOMM)和電話控制協(xié)議(TCS), 負(fù)責(zé)為應(yīng)用層提供通用服務(wù)接口;(3)高端應(yīng)用層,包含通用接入 Profile(GAP)、串行端口Profile(SPP)、頭戴式設(shè)備Profile(HSP)、通用對象交換Profile(GOEP)、文件傳輸Profile(FTP)等。藍(lán)牙SPP虛擬串口應(yīng)用就是以應(yīng)用層的各Profile相互堆積而成的,呈“金字塔”結(jié)構(gòu)[2],如圖1所示。
?
圖1 藍(lán)牙串口應(yīng)用結(jié)構(gòu)圖
?
1.2 藍(lán)牙RFCOMM
??? 目前很多傳統(tǒng)的應(yīng)用都是基于有線方式開發(fā)的,藍(lán)牙如果不能解決對傳統(tǒng)協(xié)議的適配問題,就很難成為一個廣泛應(yīng)用的標(biāo)準(zhǔn)了。因此,藍(lán)牙制定了一些“適配協(xié)議”,實現(xiàn)對傳統(tǒng)應(yīng)用的支持。電纜替代協(xié)議(RFCOMM)是一個簡單傳輸協(xié)議,附加了RS-232串口仿真的規(guī)定,在藍(lán)牙基帶協(xié)議(Baseband)上仿真RS232的控制和數(shù)據(jù)信號。為使用串行線傳送機制的上層協(xié)議提供服務(wù)支持, RFCOMM可以提供一個RS-232的物理接口,通過PIN對PIN的硬件接口進行非RFCOMM部分的流控制操作。
1.3? 藍(lán)牙串行口Profile
??? 藍(lán)牙串行通信接口Profile(SPP)是RFCOMM協(xié)議的典型應(yīng)用。在兩個設(shè)備之間建立虛擬串口,并用藍(lán)牙連接兩個設(shè)備的有線串口電纜。任何現(xiàn)成的應(yīng)用都可以在兩個設(shè)備上運行,使用虛擬仿真串口就像存在一個真正的串口電纜連接兩個設(shè)備,串口的波特率可達到128kb/s。本設(shè)計采用CSR公司的IDE軟件bluelab3.5.2對CSR藍(lán)牙模塊BlueCore3-Multimedia進行編程,其流程圖如圖2所示。
?
1.4 藍(lán)牙傳輸數(shù)據(jù)幀" title="數(shù)據(jù)幀">數(shù)據(jù)幀格式
??? 無線通信系統(tǒng)的一對多傳輸必然會出現(xiàn)隱藏終端和暴露終端的問題, 因此,不同ID的藍(lán)牙空調(diào)與PC主機進行通信必須由主機統(tǒng)一分配。在初始化過程中,主機將發(fā)送廣播信息搜集主機廣播范圍內(nèi)所有應(yīng)答的從機ID,通過不同的ID范圍,PC主機可以辨認(rèn)每一個從機類型,針對不同的家用電器進行相應(yīng)數(shù)據(jù)類型的通信。當(dāng)主機主動發(fā)出控制命令時,不需通過廣播信息,直接尋址發(fā)送控制命令至從機,從機完成相關(guān)命令后,發(fā)送ACK應(yīng)答報告命令執(zhí)行完畢,應(yīng)答幀中應(yīng)該包含對應(yīng)控制命令更改后的參數(shù)值,使得主從同步。當(dāng)從機有事件發(fā)生需要報告主機時,必須先發(fā)送RTS信號至主機,如果收到CTS信號,則說明主機模塊處于空閑狀態(tài),從機就可以發(fā)送狀態(tài)數(shù)據(jù)幀至主機,否則說明主機忙,需回避一段隨機時間后再次發(fā)送RTS至主機應(yīng)答為止,這樣,就能夠避免出現(xiàn)主機與兩個或兩個以上從機通信時不同從機的干擾。由于數(shù)據(jù)幀的傳輸是按需進行的,所以從機碰撞概率很低,采用RTS-CTS的方式已經(jīng)能很好地實現(xiàn)一主多從的通信模式。
??? 藍(lán)牙主從模塊通信的數(shù)據(jù)幀格式如圖3所示,其中器件地址包括從機地址和廣播地址。所有從機對廣播地址的數(shù)據(jù)幀都具有接收功能,因此,藍(lán)牙主機可以喚醒216-1=65 535個從機。幀功能傳送包括模式切換、溫度、開關(guān)、風(fēng)速等信息。數(shù)據(jù)長度包括幀功能、數(shù)據(jù)信息和校驗碼的字節(jié)長度。數(shù)據(jù)信息為傳送的數(shù)據(jù),包括命令和數(shù)據(jù)。累加和校驗碼是數(shù)據(jù)長度、幀功能和數(shù)據(jù)信息的累加和。
?
?
圖3 藍(lán)牙通信數(shù)據(jù)幀格式
2 網(wǎng)絡(luò)空調(diào)程控系統(tǒng)的硬件設(shè)計
2.1?硬件框圖
??? 藍(lán)牙空調(diào)硬件框圖如圖4所示。常規(guī)空調(diào)的控制實體主要有室外風(fēng)機、壓縮機、室內(nèi)風(fēng)機、換向閥和風(fēng)門電機五部分,以紅外遙控作為輸入,蜂鳴器、數(shù)碼管(LED燈)作為程控系統(tǒng)的輸出。而藍(lán)牙空調(diào)加入雙工藍(lán)牙模塊,實現(xiàn)與PC機的短距離無線通信,能實時獲取空調(diào)內(nèi)部狀態(tài)反饋,通過PC機與空調(diào)的交互,增強控制的穩(wěn)定性與可靠性。
?
2.2?風(fēng)門電機
??? 風(fēng)門電機負(fù)責(zé)控制空調(diào)送風(fēng)扇頁的角度,達到定點送風(fēng)的目的,一般具備至少5個不同的固定角度以及各角度定時切換到自動和擺動功能。自動模式每隔一段較長的時間就改變一次扇頁角度,每次更改均會回擺至最大校正角再返回特定角位;而擺動模式不需要回擺校正角,不斷(短間隔)地在中間角度來回擺動,給人一種自然風(fēng)的感覺。因此,風(fēng)門電機必須具有比較精確的旋轉(zhuǎn)角度控制,具有正/反轉(zhuǎn)控制功能和慢速調(diào)整功能。本系統(tǒng)選用步角距為5.625度/64四相六線式的步進" title="步進">步進電機,由其步角距可以計算得到步進電機完成一周需要4 096次步進,如果每5ms進行一次步進,則正轉(zhuǎn)一周需要20s,而且5.625度/64的精度也能達到上述要求。步進電機的原理如圖5所示,對于單片機控制來說,四相引腳按照A、AB、B、BC、C、CD、D、DA八個節(jié)拍循環(huán)的順序以5ms的間隔進行賦值并用寄存器實時計算步進角即能達到空調(diào)扇頁的精確控制[7]。值得注意的是,一般的TTL電平很難產(chǎn)生足夠的扭力轉(zhuǎn)動扇頁,所以必須加入ULN2003提高驅(qū)動電流來帶動扇頁運轉(zhuǎn),如圖6所示。
?
?
圖6 藍(lán)牙網(wǎng)絡(luò)空調(diào)原理圖
?
2.3?PG電機的控制
??? PG電機負(fù)責(zé)室內(nèi)風(fēng)機強風(fēng)、中風(fēng)和微風(fēng)三種不同風(fēng)速的相互切換,利用反饋信號產(chǎn)生閉環(huán)控制達到無級調(diào)速的目的[8]。PG電機每轉(zhuǎn)動一圈,反饋端將產(chǎn)生一個或三個脈沖,這樣就能及時測出電機的轉(zhuǎn)速。對于PG電機的平穩(wěn)調(diào)速[9],本文分用戶層和底層兩個層次進行控制。在用戶層,每隔1s MCU利用實測的轉(zhuǎn)速和用戶設(shè)定的轉(zhuǎn)速的差值調(diào)整調(diào)制深度,如表1所示。粗調(diào)可以節(jié)省調(diào)制時間,加快空調(diào)的響應(yīng)速度,微調(diào)可以增加精度,這樣不斷地從反饋轉(zhuǎn)速中獲取應(yīng)變原則,不斷修正轉(zhuǎn)速曲線以平穩(wěn)地達到用戶要求的修正值。
?
??? PG電機底層可以分為三個部分:過零檢測、轉(zhuǎn)速檢測和風(fēng)速驅(qū)動部分。如圖6所示,單片機每25ms由過零檢測電路檢測到相線零點后開始計時,延時用戶層中設(shè)定延遲時間后,由單片機啟動可控硅導(dǎo)通,通過每秒鐘步進導(dǎo)通角(間隔125μs)的次數(shù)即可以達到調(diào)速的目的。
2.4?壓縮機和室外風(fēng)機
??? 壓縮機和室外風(fēng)機的控制信號由ULN2003提供。值得注意的是,頻繁啟動對壓縮機的損害很大,為了更好地延長壓縮機的壽命,最好先啟動室外風(fēng)機,再啟動壓縮機,并在壓縮機關(guān)閉后,必須延時一段時間后才允許重新啟動,所以,本設(shè)計做出以下規(guī)定:(1)當(dāng)室溫-設(shè)定溫度≥1℃時,壓縮機滿足3min延時條件,室外風(fēng)機先啟動5s,接著壓縮機工作; (2)室溫-設(shè)定溫度≤1℃,壓縮機停機,室外風(fēng)機延時20s停機,壓縮機需延時3min,才能再次啟動。
3 網(wǎng)絡(luò)空調(diào)程控系統(tǒng)的軟件設(shè)計
?? 從軟件層面來說該系統(tǒng)可以分為三大部分,分別是(1)控制實體:壓縮機模塊、風(fēng)門電機模塊、室內(nèi)風(fēng)機模塊、室外風(fēng)機模塊和換向閥模塊;(2)輸入輸出部件:E2PROM存儲模塊、數(shù)碼管顯示模塊、溫濕度采集模塊;(3)接口:UART串口模塊、紅外接收模塊。三大部件統(tǒng)一由多任務(wù)調(diào)配模塊和定時器分配模塊進行任務(wù)的調(diào)度,由任務(wù)調(diào)度定時器產(chǎn)生從5ms~1min不同等級的定時中斷標(biāo)志,設(shè)定時間到則激活相應(yīng)的任務(wù)標(biāo)志位,主線程檢測到標(biāo)志位為1時運作相應(yīng)的模塊,這樣,就可以避免模塊間的相互干擾,利用時分復(fù)用方法呈現(xiàn)多任務(wù)并行的表現(xiàn)形式。主線程不斷循環(huán)檢測標(biāo)志位,在入口處先判斷空調(diào)的操作模式,一般空調(diào)分為制冷、制熱、除濕、送風(fēng)及溫感自動(即根據(jù)室溫判斷冷熱模式)五種模式,然后根據(jù)操作模式的不同激活相應(yīng)的模塊。以制冷模式為例,其流程圖如圖7所示,充分體現(xiàn)了以上原則;該圖中,由于制冷模式是溫感模式中的一部分,故程序入口必須判斷室溫是否達到溫感控制的要求退出制冷模式;程序以輪詢的方式分別從E2PROM獲得默認(rèn)參數(shù),設(shè)定風(fēng)門電機的正反方向的擺動角度,設(shè)置內(nèi)風(fēng)機的風(fēng)速大小,外風(fēng)機的啟動時間以及壓縮機的限時保護等。系統(tǒng)按步驟獨立地高速運行,以達穩(wěn)定性要求。
?
??? 單片機內(nèi)部資源的利用率達到90%以上,其中外部中斷0用于PG電機轉(zhuǎn)速反饋的計數(shù);外部中斷1用于過零檢測啟動控制PG電機的可控硅導(dǎo)通計時;定時器0采用定時方式3,上半部TH0產(chǎn)生125μs即8kHz的采樣頻率計算可控硅導(dǎo)通時間以及紅外接收的占空比大?。籘L0將定時器中斷作為外部中斷判斷紅外接收占空比計數(shù)的開始與結(jié)束;定時器1被用作串口的波特率發(fā)生器;定時器2是程序的核心,產(chǎn)生5ms~1min不同級別的定時要求。應(yīng)該注意的是不同模塊的兼容性問題,例如μs級精確延時(如18B20單總線溫度采集、紅外接收)可能存在被長延時中斷或外部中斷截斷而導(dǎo)致模塊失控甚至系統(tǒng)崩潰,因而必須提高μs級延時的中斷優(yōu)先權(quán)以及在執(zhí)行前暫停其他的中斷允許位,避開不穩(wěn)定因素。
??? 在廣東江門金羚集團的支持下,本系統(tǒng)采用藍(lán)牙無線通信技術(shù),構(gòu)造了信息家電系統(tǒng)的整體框架,并在此基礎(chǔ)上設(shè)計了新型的網(wǎng)絡(luò)空調(diào)程控系統(tǒng),試驗樣機表明:該樣機能達到較好的制冷效果和較高的監(jiān)控性能。與常規(guī)的全自動空調(diào)相比,樣機除了具備普通空調(diào)功能外,還實現(xiàn)了無線的藍(lán)牙雙工信息傳輸功能以及遠(yuǎn)程的網(wǎng)絡(luò)監(jiān)視功能,無須在空調(diào)外圍添加任何設(shè)備或?qū)>€、在PC上外接藍(lán)牙主模塊就能異地對樣機進行無線監(jiān)視與控制。
參考文獻
[1]?Bluetooth SIG. Specification of the Bluetooth System: Specification Volume 1-Core. Version 1.1[S].
[2]?Bluetooth SIG. Specification of the bluetooth system: Specification Volume 2-Profile. Version 1.1[S].
[3]?劉書生,趙海. 藍(lán)牙技術(shù)應(yīng)用[M]. 沈陽: 東北大學(xué)出版社, 2001.
[4]?張祿林, 雷春娟, 郎曉虹.藍(lán)牙協(xié)議及其實現(xiàn)[M].北京:?人民郵電出版社, 2001.
[5]?吳兆垠.網(wǎng)絡(luò)空調(diào)器的設(shè)計[J].家電科技, 2004, 26(01):44-47.
[6]?金建軒, 陳建設(shè). 網(wǎng)絡(luò)空調(diào)解決方案[J]. 電子產(chǎn)品世界, 2002,14(09):74-75.
[7]?關(guān)學(xué)忠, 胡松. 單片機與TA8435的步進電機細(xì)分控制[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2006, 6(03):76-80.
[8]?石文星, 李先庭, 邵雙全. 變頻空調(diào)系統(tǒng)運行特性的研究[C]. 2000年中國家用電器技術(shù)大會論文集, 2000:129-136.
[9]?肖燦, 江永清, 肖耀友. 利用脈寬調(diào)制實現(xiàn)PG電機的平穩(wěn)調(diào)速[J]. 微特電機, 2006,34(04):27-29.