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

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

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

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

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

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

 

 

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

2.4 電力載波模塊
 上位機(jī)下達(dá)控制命令到微控制器,,微控制器上傳數(shù)據(jù)到上位機(jī),傳輸介質(zhì)使用家中已布好的電力線,。為使信號(hào)能在電力線上傳輸,,需要電力載波芯片及耦合電路。本系統(tǒng)選用深圳必威爾科技有限公司專門針對(duì)智能家居及燈飾控制市場研發(fā)設(shè)計(jì)的專業(yè)電力線載波產(chǎn)品BWP08,,其核心芯片采用專用電力載波集成電路,,采用擴(kuò)頻編碼方式,通信速率高,,通信可靠,,抗雜波干擾能力強(qiáng),通信距離遠(yuǎn),,產(chǎn)品體積小,。BWP08提供UART和SPI兩種接口與控制器通信,電力線上高頻信號(hào)由SIN腳進(jìn)入芯片,,片內(nèi)集成電路進(jìn)行解調(diào),解調(diào)后的數(shù)據(jù)經(jīng)UART或SPI接口輸出,。同理,,輸入的低頻信號(hào)經(jīng)電路調(diào)制變?yōu)楦哳l信號(hào)由VO腳輸出,載波頻率可調(diào),。EN50065-1標(biāo)準(zhǔn)規(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簡單方便,。與電力線的連接相對(duì)復(fù)雜些。第2管腳F連接100 μF的濾波電容,,在輸入輸出腳上并接調(diào)諧電路,,選擇電感線圈與電容大小,使LC諧振電路諧振點(diǎn)在載波頻率附近,,此時(shí)的電路電阻達(dá)到最大值,,信號(hào)可輸入或輸出,當(dāng)有噪音干擾信號(hào)傳來時(shí)將過濾到大地,。輸出信號(hào)經(jīng)過三極管BD237使電流放大輸入到變壓器耦合電路前端,,在12 V的工作電路中將傳輸信號(hào)耦合到變壓器后端的220 V電力線上。電力線上有壓敏電阻,、保險(xiǎn)絲等保護(hù)電路,。電路中P6Ke20CA、P6Ke30CA可抑制雷擊等瞬態(tài)高壓對(duì)電路造成的侵害,。BWP08電力載波模塊不能跨相傳輸數(shù)據(jù),,所有相互通信的模塊必須處于同一相中。如果用戶無法確認(rèn)相互通信的模塊是否處于同一相中,,可在主控模塊處增加一個(gè)三相耦合器,,確保主控模塊與三相下的任意一個(gè)模塊進(jìn)行通信。由于PC提供標(biāo)準(zhǔn)RS232接口,,BWP08與PC連接時(shí)需增加串口電平轉(zhuǎn)換芯片MAX232進(jìn)行電平轉(zhuǎn)換,。
3 軟件設(shè)計(jì)
3.1 通信協(xié)議

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

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

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

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