《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于電力載波通信的家電控制系統(tǒng)設計與實現(xiàn)
基于電力載波通信的家電控制系統(tǒng)設計與實現(xiàn)
來源:微型機與應用2012年第1期
孫 萍,馬維華
(南京航空航天大學 計算機系,江蘇 南京 210016)
摘要: 設計并實現(xiàn)了一種利用電力載波通信的家用電器智能控制系統(tǒng)。該系統(tǒng)以ARM Cortex-M0為主控制器,集成了電力線載波芯片BWP08、傳感器、紅外學習與發(fā)送電路以及基本外圍接口等電路,實現(xiàn)了家用電器的集中化和自動化控制。該系統(tǒng)通過PC或者智能終端發(fā)出控制命令,經(jīng)載波芯片和調(diào)制電路耦合傳送到各個接收終端,由微控制器進行命令解析與執(zhí)行,實現(xiàn)家電的集中控制,微控制器亦可根據(jù)傳感器上傳的數(shù)值對家電進行自動化控制。實驗結果表明,該系統(tǒng)方便、穩(wěn)定、可靠。
Abstract:
Key words :

摘  要: 設計并實現(xiàn)了一種利用電力載波通信的家用電器智能控制系統(tǒng)。該系統(tǒng)以ARM Cortex-M0為主控制器,集成了電力線載波芯片BWP08、傳感器紅外學習與發(fā)送電路以及基本外圍接口等電路,實現(xiàn)了家用電器的集中化和自動化控制。該系統(tǒng)通過PC或者智能終端發(fā)出控制命令,經(jīng)載波芯片和調(diào)制電路耦合傳送到各個接收終端,由微控制器進行命令解析與執(zhí)行,實現(xiàn)家電的集中控制,微控制器亦可根據(jù)傳感器上傳的數(shù)值對家電進行自動化控制。實驗結果表明,該系統(tǒng)方便、穩(wěn)定、可靠。
關鍵詞: 電力載波通信;Cortex-M0;傳感器;紅外學習;智能家居

 電力載波通信PLC(Power Line Communication)是電力系統(tǒng)特有的通信方式。它是利用現(xiàn)有電力線,通過載波方式將模擬或數(shù)字信號進行高速傳輸?shù)募夹g。由于其自身的一些局限性,如配電變壓器對電力載波信號有阻隔作用;不同的信號耦合方式對電力載波信號損失不同;電力線上的固有的脈沖干擾對信號的高度削減,因此,PLC的生存空間不斷地被其他接入方式壓縮,但在遠程抄表上還是有著廣泛的應用。隨著數(shù)字家庭和智能樓宇的廣泛應用,PLC技術重新得到了重視,它不需要重新架設網(wǎng)絡就可以進行數(shù)據(jù)傳送,并且在一個家庭或一個樓宇范圍內(nèi)充分屏蔽PLC的局限性,因此,PLC在智能家居系統(tǒng)中的應用越來越廣泛。本文利用PLC設計了一個基于ARM Cortex-M0的家電集中化與自動化控制系統(tǒng),使用戶可以通過PC或定制的智能終端對家用電器進行監(jiān)視與控制。
1 系統(tǒng)結構
 家用電器的智能控制系統(tǒng)由檢測模塊(亮度傳感器、溫濕度傳感器等)、微控制模塊、電力載波模塊、紅外學習與控制模塊以及上位機軟件組成,系統(tǒng)結構圖如圖1所示。

 用戶通過智能家居終端(PC或定制終端)下發(fā)控制命令,命令通過電力載波芯片BWP08以及耦合電路耦合到電力線上進行傳輸,接收端(由BWP08及耦合電路組成)接收到電力線上的高頻信號后將數(shù)據(jù)解調(diào)并發(fā)送至微控制器(MCU),微控制器經(jīng)數(shù)據(jù)驗證后,對命令進行解析,通過紅外或是其他控制方式對家用電器進行控制,實現(xiàn)了對家電的集中控制。同時,微控制器可接收亮度傳感器和溫濕度傳感器的檢測數(shù)值(光強度、溫濕度),根據(jù)光強度與用戶設定的閾值進行比較進行百葉窗的自動調(diào)節(jié)及燈光控制,根據(jù)溫、濕度與閾值的比較進行空調(diào)或供暖系統(tǒng)的自動控制,從而制造了一個自適應的舒適環(huán)境,實現(xiàn)了家用電器的自動控制。控制的閾值可通過命令寫入微控制器,微控制器也可以把傳感器采集數(shù)據(jù)及命令操作后的結果傳輸至上位機數(shù)據(jù)庫,供用戶查詢與設定自動控制條件。
2 硬件電路設計
2.1 微控制器模塊

 微控制器是整個系統(tǒng)中最重要的模塊,需進行數(shù)據(jù)的實時采集、家電狀態(tài)監(jiān)控、紅外遙控器功能學習,家電控制等任務。微控制器選用NuMicro M051系列中的M0516LAN(以下簡稱M0),它是基于ARM Cortex-M0內(nèi)核的32 bit微控制器,提供多種通信接口,包括多組GPIO、UART、SPI、I2C,可直接與各類外接設備通信,內(nèi)建8 KB Flash存儲器,4 KB非易失性數(shù)據(jù)存儲區(qū),可用于存儲各類紅外遙控器編碼。微控制器模塊除了電源模塊、時鐘電路、復位電路、調(diào)試接口等基本電路,還包括與檢測模塊接口電路、燈具控制電路、紅外學習與發(fā)送電路以及與載波芯片的連接電路,M0的電源模塊、時鐘電路等基本外圍電路如圖2所示。電源采用5 V電源輸入,經(jīng)AMS1117-3.3轉為穩(wěn)定3.3 V數(shù)字電壓輸出供芯片工作,并經(jīng)電感濾除高頻干擾可得模擬電壓3.3 V;時鐘電路采用12 MHz晶振電路;復位電路使用按鍵復位降低成本。

2.2 檢測模塊接口電路
 溫度傳感器采用DHT11,它是一款集溫度、濕度為一體的數(shù)字傳感器,包括一個電阻式測濕元件和一個 NTC測溫元件,可以實時采集本地環(huán)境的濕度和溫度,提供單總線方式與控制器通信,設計中使用M0的I/O口與之通信,傳輸距離可達20 m。為了準確全面獲取室內(nèi)空間的溫濕度,可連接多個DHT11。
 光強傳感器使用ROHM公司的16 bit串行輸出型環(huán)境光亮度傳感器BH1710FVC,擁有優(yōu)異的分光感度特性,無論是暗處還是在陽光直射下都近似于人類視覺感應,能夠進行大范圍的亮度測定,提供I2C接口。而M0擁有數(shù)據(jù)傳輸率高達1 Mb/s的I2C總線,通過限流電阻R4、R5與上拉電阻R1、R2分別與BH1710FVC的SCL、SDA相連,時鐘信號由主機M0提供,利用主從通信方式進行測量命令的寫入與測量結果的讀出。傳感器與M0硬件連接圖如圖3所示。

 

 

2.3 控制模塊接口電路
 家電智能控制系統(tǒng)可以用來集中控制提供控制接口的電器以及一些僅有開、關狀態(tài)的電器,如普通燈具、飲水機。對于機械式開關的電器及插座,通過M0的I/O口控制繼電器,從而控制電器的上電、斷電,使用一組I/O便可控制一組燈具的開關。而電視、空調(diào)、百葉窗提供紅外控制接口,本系統(tǒng)實現(xiàn)了萬能遙控器的功能,不但可紅外遙控不同品牌的同種電器,也可對不同電器進行控制。只需先運行一次M0的紅外學習功能,將不同遙控器的不同功能的編碼學習到M0中,即可實現(xiàn)萬能遙控。紅外學習硬件電路設計如圖4(a)所示,僅由紅外接收器HS0038b及濾波電容電阻組成。HS0038b可接收主要的傳輸碼,解調(diào)信號通過OUT腳上傳至微處理器解碼,根據(jù)高低電平持續(xù)時間長短判斷為0或1。編碼由引導碼、功能編碼、結束碼組成,將編碼與功能對應存儲到M0的Flash存儲器中。當微控制器接收上位機的操作命令時,查找功能編碼表,將對應編碼通過I/O腳電平發(fā)出、低頻電平信號經(jīng)過紅外發(fā)射電路變?yōu)楦哳l信號,受控的電器接收后即可執(zhí)行相應操作。對電器而言,這一操作無異于原配的遙控器操作。紅外發(fā)射電路如圖4(b)所示,電平信號經(jīng)過低頻放大器9013與高頻放大器8050,即可將信號變?yōu)榧t外發(fā)射頻段,由紅外發(fā)射二極管發(fā)出紅外線。

2.4 電力載波模塊
 上位機下達控制命令到微控制器,微控制器上傳數(shù)據(jù)到上位機,傳輸介質(zhì)使用家中已布好的電力線。為使信號能在電力線上傳輸,需要電力載波芯片及耦合電路。本系統(tǒng)選用深圳必威爾科技有限公司專門針對智能家居及燈飾控制市場研發(fā)設計的專業(yè)電力線載波產(chǎn)品BWP08,其核心芯片采用專用電力載波集成電路,采用擴頻編碼方式,通信速率高,通信可靠,抗雜波干擾能力強,通信距離遠,產(chǎn)品體積小。BWP08提供UART和SPI兩種接口與控制器通信,電力線上高頻信號由SIN腳進入芯片,片內(nèi)集成電路進行解調(diào),解調(diào)后的數(shù)據(jù)經(jīng)UART或SPI接口輸出。同理,輸入的低頻信號經(jīng)電路調(diào)制變?yōu)楦哳l信號由VO腳輸出,載波頻率可調(diào)。EN50065-1標準規(guī)定,用戶可使用的載波頻率范圍為95 kHz~148.5 kHz,BWP08提供65 kHz、88 kHz、113 kHz、140 kHz、170 kHz和202 kHz這6種載波頻率,使用113 kHz載波頻率即可。BWP08與電力線及微控制器連接電路如圖5所示。

 BWP08與微控制器通過UART相連,連接讀寫數(shù)據(jù)比SPI簡單方便。與電力線的連接相對復雜些。第2管腳F連接100 μF的濾波電容,在輸入輸出腳上并接調(diào)諧電路,選擇電感線圈與電容大小,使LC諧振電路諧振點在載波頻率附近,此時的電路電阻達到最大值,信號可輸入或輸出,當有噪音干擾信號傳來時將過濾到大地。輸出信號經(jīng)過三極管BD237使電流放大輸入到變壓器耦合電路前端,在12 V的工作電路中將傳輸信號耦合到變壓器后端的220 V電力線上。電力線上有壓敏電阻、保險絲等保護電路。電路中P6Ke20CA、P6Ke30CA可抑制雷擊等瞬態(tài)高壓對電路造成的侵害。BWP08電力載波模塊不能跨相傳輸數(shù)據(jù),所有相互通信的模塊必須處于同一相中。如果用戶無法確認相互通信的模塊是否處于同一相中,可在主控模塊處增加一個三相耦合器,確保主控模塊與三相下的任意一個模塊進行通信。由于PC提供標準RS232接口,BWP08與PC連接時需增加串口電平轉換芯片MAX232進行電平轉換。
3 軟件設計
3.1 通信協(xié)議

 本系統(tǒng)中,多個設備安裝在同一條電線上,又是異步半雙工的工作方式,為確保數(shù)據(jù)的可靠傳輸,采用主從通信方式,每次通信由上位機發(fā)起,從機中斷接收,然后將數(shù)據(jù)反饋給主機,主機收到反饋數(shù)據(jù)后再發(fā)起新的一輪通信。BWP08模塊提供固定字節(jié)長度和固定幀長度兩種數(shù)據(jù)傳輸格式:固定字節(jié)長度指接收模塊每次收到數(shù)據(jù)幀頭后,只接收預設長度的用戶數(shù)據(jù);固定幀長度指接收模塊每次可以接收小于或者等于預設幀長度的數(shù)據(jù),但如果在數(shù)據(jù)接收時,數(shù)據(jù)幀尾丟失,那么接收模塊必須收滿預設最大幀長度為止。幀頭和幀尾是載波模塊自動加入的,用戶不可見,固定字節(jié)長度傳輸模式無需幀尾,且數(shù)據(jù)字節(jié)數(shù)可任意定,而固定幀長度格式最小幀長度為32 B。在本系統(tǒng)中,主機下達給從機的命令有開關燈、開關空調(diào)、調(diào)節(jié)溫度、調(diào)節(jié)百葉窗及相應的紅外命令學習等;下位機上傳至上位機的數(shù)據(jù)有溫濕度、光強、燈狀態(tài)、空調(diào)工作狀態(tài)、紅外學習編碼等,在一次控制家電操作中,所要傳輸?shù)臄?shù)據(jù)量較少,因此選擇固定字節(jié)長度格式。為避免電力線上的雜波信號被當作有用數(shù)據(jù)被本系統(tǒng)主機或從機所誤接收,發(fā)送數(shù)據(jù)加上固定字頭和字尾,各占1 B,主機、從機地址占1 B,控制命令或反饋數(shù)據(jù)占4 B,校驗碼是對此碼前所傳送的所有數(shù)據(jù)進行加法,進位溢出保留尾數(shù)1 B,接收方接收數(shù)據(jù)后進行數(shù)據(jù)的正確性驗證,數(shù)據(jù)傳輸共8 B,格式如表1所示。

 BWP08模塊提供1 200 b/s、2 400 b/s、4 800 b/s及9 600 b/s 4種串口波特率。實驗間隔1 ms連續(xù)發(fā)送數(shù)據(jù),采用1 200 b/s波特率進行傳輸,數(shù)據(jù)無丟包、錯亂,因此系統(tǒng)的PC端、M0控制端和BWP08傳輸端全部將波特率設置為1 200 b/s。
3.2 上位機軟件實現(xiàn)
 上位機采用VC++6.0作為開發(fā)環(huán)境,Windows系統(tǒng)提供的API函數(shù)可以簡單地實現(xiàn)Socket、串口編程與多線程技術,通過人機交互輕松地實現(xiàn)串口通信與后臺服務處理。界面開發(fā)使用MFC,數(shù)據(jù)庫使用Access。MFC框架與Access同為微軟開發(fā),Access為微軟Office中提供的一個輕量級數(shù)據(jù)庫,適合個人使用;同時,MFC中封裝了對Access的直接訪問控件ADO Data Control,通過該控件可以輕松地訪問數(shù)據(jù)庫中的數(shù)據(jù);MFC使用Win API實現(xiàn)串口通信。通信軟件中,主線程負責通過串口控制對微型控制器下發(fā)命令,多個下發(fā)命令需排隊等待發(fā)送;子線程負責監(jiān)聽微控制器的返回上報請求,收到反饋數(shù)據(jù)后喚醒主進程隊列進行發(fā)送。
3.3 下位機軟件實現(xiàn)
 上電后,M0516LAN進行串口初始化、定時器初始化等,然后定時讀取溫濕度數(shù)據(jù)、光強度數(shù)據(jù),連續(xù)讀滿10次。去掉干擾數(shù)據(jù)后進行數(shù)據(jù)處理,將數(shù)據(jù)打包等待發(fā)送。串口利用中斷接收,當收到數(shù)據(jù)時,收滿8 B數(shù)據(jù),若為本機地址,進行數(shù)據(jù)校驗,否則丟棄。校驗正確后,通知M0接收到命令。主循環(huán)判斷是否接收到上位機命令,進行命令解析并執(zhí)行,然后將M0準備好的數(shù)據(jù)及命令執(zhí)行后的狀態(tài)返回給上位機。M0的軟件流程圖如圖6所示。

 上位機發(fā)送的命令有三類:(1)設定系統(tǒng)為自動控制方式,M0根據(jù)采集的溫濕度、光強度進行家電的自動控制,上位機定時獲取采集數(shù)據(jù);(2)設定系統(tǒng)為集中控制方式,家電的控制命令皆由上位機發(fā)送;(3)開啟紅外學習,上位機發(fā)送學習要求,M0保存收到的紅外編碼,將兩者形成表格存儲在M0中,上位機可以把整張表格取走,發(fā)送給其他M0。
 實驗證明,PC機可以利用電力載波通信技術與微控制器進行數(shù)據(jù)傳輸,從而達到控制各個房間家用電器的目的,做到家電集中控制與自動控制,給人提供一種舒適、智能的家居環(huán)境。系統(tǒng)選用的Cortex-M0資源廣泛、性能可靠、成本低廉,可留作以后更多的功能擴展。例如,可以增加網(wǎng)絡模塊使家電網(wǎng)絡化,擴展音頻模塊可語音控制家電,使得智能家居真正智能化。在實際環(huán)境測試中,交流電網(wǎng)干擾因素較多,應從系統(tǒng)的軟硬件同時改進以減少干擾帶來的數(shù)據(jù)錯誤與控制錯誤。電力載波通信的優(yōu)勢在家庭應用中日益顯現(xiàn),同時也廣泛應用于無線抄表、遠程路燈控制等。
參考文獻
[1] 謝昆.基于電力載波通訊的智能家居控制系統(tǒng)[EB/OL].[2005-07].www.ecnchina.com
[2] 許文香,蔡麗娟,張文勇.基于電力載波的教室電器智能節(jié)能系統(tǒng)設計[J].現(xiàn)代電子技術,2008(8):189-191.
[3] 朱兆優(yōu).低壓電力載波通信中的抗干擾設計[J].電器應用,2006,25(3):75.
[4] SWANKE J E. Visual C++ MFC擴展編程實例[M].前導工作室,譯.北京:機械工業(yè)出版社,2000.
[5] 范云龍,方安平,李寧.Cortex-M0處理器初探[J].單片機與嵌入式系統(tǒng)應用,2010(6):78-81.

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