李清海,朱 黎,田相鵬
(湖北民族大學(xué) 信息工程學(xué)院,湖北 恩施 445000)
隨著智能電網(wǎng)與物聯(lián)網(wǎng)的發(fā)展,傳統(tǒng)的抄表系統(tǒng)逐漸被智能電表系統(tǒng)取代[1].目前智能電表的數(shù)據(jù)傳輸主要以RS-485、Wi-Fi、電力載波、Nb-IoT模塊為主要通訊主體.其中,使用基于RS-485通訊會(huì)造成智能電表系統(tǒng)集成表箱里走線復(fù)雜,且在發(fā)生通訊故障時(shí)復(fù)雜走線會(huì)使維護(hù)難度加大[2];基于Wi-Fi通訊雖然可以滿足智能電表系統(tǒng)的通訊要求,但電表都常常安裝在樓層的電井表箱內(nèi),通訊質(zhì)量在封閉環(huán)境中得不到保證[3];而使用基于Nb-IoT模塊的通訊方式的智能電表系統(tǒng)雖然解決了表箱內(nèi)走線復(fù)雜、二次維護(hù)復(fù)雜的問(wèn)題,但目前的Nb-IoT模塊價(jià)位相對(duì)較高,這樣使智能電表的性價(jià)比下降[4].荊永震等[5]提出了以LoRa通訊為通訊主體的抄表方案,該方案采用SX1278調(diào)制解調(diào)無(wú)線信號(hào),實(shí)現(xiàn)了長(zhǎng)距離、高通訊率的數(shù)據(jù)傳播,適用于居民區(qū)、商業(yè)廣場(chǎng)等場(chǎng)景的用電系統(tǒng).但是目前的LoRa相對(duì)來(lái)說(shuō)還是比較昂貴,性價(jià)比較低.曹舒[6]提出了一種將ZigBee通訊技術(shù)與GPRS網(wǎng)絡(luò)相結(jié)合的智能電表系統(tǒng)設(shè)計(jì)方案,其中集中器、路由器、采集器分別采用PIC24FJ64GA002與RCM6700作為MCU,再通過(guò)外擴(kuò)無(wú)線通信接口接入相應(yīng)的無(wú)線模塊,造成軟件設(shè)計(jì)周期長(zhǎng),硬件成本高的問(wèn)題.
本文設(shè)計(jì)的智能電表采集終端通過(guò)STM32作為主控芯片來(lái)讀取計(jì)量芯片采集到的電氣參數(shù),將數(shù)據(jù)通過(guò)串口傳輸給CC2530模塊,并由CC2530發(fā)送給網(wǎng)關(guān)模塊;網(wǎng)關(guān)模塊作為ZigBee網(wǎng)絡(luò)里的協(xié)調(diào)器收集所有終端數(shù)據(jù),再基于LwIP協(xié)議把數(shù)據(jù)傳輸給服務(wù)器;服務(wù)器則能遠(yuǎn)程控制和監(jiān)控各個(gè)電表的運(yùn)行狀態(tài)和測(cè)量參數(shù)且改變各個(gè)電表的開(kāi)關(guān)狀態(tài),實(shí)現(xiàn)用戶電表數(shù)據(jù)遠(yuǎn)程采集與開(kāi)關(guān)控制.ZigBee無(wú)線傳感網(wǎng)絡(luò)具有成本低廉、功耗低微、時(shí)延短暫、自組能力強(qiáng)等顯著優(yōu)勢(shì),還可以大大簡(jiǎn)化集中表箱中的走線,方便后期的維護(hù).
如圖1所示為系統(tǒng)結(jié)構(gòu)圖,各個(gè)電表為組網(wǎng)里的終端節(jié)點(diǎn),每個(gè)電表的控制芯片STM32F103來(lái)讀取計(jì)量芯片采集到的電氣參數(shù),然后通過(guò)串口將數(shù)據(jù)傳輸給CC2530芯片.各個(gè)終端節(jié)點(diǎn)用CC2530芯片的射頻模塊將數(shù)據(jù)發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器經(jīng)串口將數(shù)據(jù)傳輸給網(wǎng)關(guān)的主控芯片STM32F429,數(shù)據(jù)在主控芯片內(nèi)被分類(lèi)處理后最終通過(guò)網(wǎng)口傳給服務(wù)器.
圖1 遠(yuǎn)程抄表系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure diagram of remote meter reading system
智能電表主要是由計(jì)量芯片電路,控制芯片電路及外圍電路部分組成.STM32F103是電表的控制芯片.市電經(jīng)電壓電流采集電路將電氣參數(shù)存入計(jì)量芯片ATM90E26的寄存器中,計(jì)量芯片再通過(guò)SPI通信傳輸給控制芯片.數(shù)據(jù)經(jīng)過(guò)控制芯片數(shù)據(jù)還原打包處理后,通過(guò)串口給ZigBee通訊模塊再傳給網(wǎng)關(guān),同時(shí)數(shù)據(jù)還會(huì)通過(guò)串口傳輸?shù)酱谄辽巷@示.周?chē)哪K電路受到主控芯片控制,電源模塊給整個(gè)系統(tǒng)提供需要的工作電壓.智能電表終端結(jié)構(gòu)如圖2所示.
圖2 智能電表結(jié)構(gòu)框圖Fig.2 The structure of intelligent meter
本電路主要是給整個(gè)智能電表提供穩(wěn)定的+5 V和+3.3 V的穩(wěn)定工作電壓[7].市電220 V電壓的火線端接L_IN,零線端接N_IN.保險(xiǎn)絲F1,溫敏電阻R16,壓敏電阻RV1組成保護(hù)電路.保險(xiǎn)絲在電流過(guò)大時(shí)會(huì)自動(dòng)熔斷,起到保護(hù)電路的作用;溫敏電阻是防止電路上電后,給濾波電容充電時(shí)的沖擊電流過(guò)大,且電流過(guò)大時(shí)線路溫度升高,溫敏電阻的阻值上升從而達(dá)到限流的作用;壓敏電阻則是起到電壓鉗位的作用.C20與L3組成濾波電路,過(guò)濾掉市電中的高頻信號(hào)與共模干擾,共模電容、電感的計(jì)算公式為:
(1)
(2)
其中:VX是電容CX上的壓降,Iy是對(duì)地漏電流,對(duì)地漏電流要求越小越好,一般標(biāo)準(zhǔn)通常幾百微安到幾百毫安.C24與C25接外殼可以做到操作人員防觸電.電源模塊U6直接將220 V的交流電壓轉(zhuǎn)換為+12 V的直流電壓,12 V的直流電壓再經(jīng)穩(wěn)壓器U4與U5輸出+5 V、+3.3 V的電壓.系統(tǒng)電源電路原理圖如圖3所示.
圖3 系統(tǒng)電源電路Fig.3 System power circuit
計(jì)量電路主要以計(jì)量芯片ATM90E26為核心的測(cè)量電路,計(jì)量芯片ATM90E26芯片內(nèi)部集成了三個(gè)Σ-Δ型ADC[8].Σ-Δ型ADC將采樣電路的模擬信號(hào)經(jīng)Σ-Δ調(diào)制器以及數(shù)字濾波器處理后,轉(zhuǎn)換為數(shù)字信號(hào)送至DSP模塊中.DSP模塊將數(shù)字信號(hào)經(jīng)過(guò)進(jìn)一步數(shù)據(jù)處理后,把計(jì)算得到的電能、功率、電壓、頻率等電氣信息放至相應(yīng)的寄存器[9].如圖4所示,火線與零線分別經(jīng)過(guò)電壓電流采樣電路后,將電壓值縮小至計(jì)量芯片可測(cè)量的電壓范圍,本設(shè)計(jì)將計(jì)量芯片測(cè)量增益配置為1時(shí),電壓電流端口交流有效值電壓為120 μV~600 mV.零線的電流測(cè)試端口為引腳I2P與I2N,火線的電流測(cè)試端口為引腳I1P與I1N,就此完成電流采集;電壓值測(cè)量端口為VP與VN引腳.Reset引腳引出硬件重置電路,USEL為通訊方式選擇引腳,當(dāng)輸入低電平時(shí)計(jì)量芯片與控制芯片STM32F103為SPI通信,當(dāng)輸入高電平時(shí)計(jì)量芯片與控制芯片為串口通信.本文選擇SPI通信,R7電阻為預(yù)留電阻,在焊接時(shí)不連接可將USEL引腳拉低至低電平.SDI、SDO、SCLK、CS引腳組成SPI通訊接口,將各個(gè)數(shù)據(jù)寄存器的數(shù)據(jù)傳輸給控制芯片.OSCO與OSCI連接一個(gè)8 MHZ的無(wú)源晶振為計(jì)量提供工作頻率.
圖4 計(jì)量電路Fig.4 Measurement circuit
如圖5所示,市電接入電壓互感器將電壓降壓后,然后接一個(gè)由運(yùn)算放大器組成的電壓跟隨器將電流放大至可以驅(qū)動(dòng)光電耦合器,當(dāng)通電時(shí),光電耦合器導(dǎo)通,給控制芯片的ADC端口一個(gè)電壓值.當(dāng)斷電時(shí),ADC采集電壓為0 V,控制芯片將斷電信息上傳給服務(wù)器.其次光電耦合器起到電氣隔離的作用,可以防止大電流涌入,直接接入控制芯片把芯片燒毀.
圖5 掉電檢測(cè)電路Fig.5 Drop detection circuit
圖6為繼電器控制電路,端口P6接控制芯片的GPIO端口,控制芯片通過(guò)輸出高低電平來(lái)控制繼電器的開(kāi)合;即操作人員可以在遠(yuǎn)程通過(guò)服務(wù)器,發(fā)動(dòng)操作指令給網(wǎng)關(guān),網(wǎng)關(guān)模塊控制電表的控制芯片,最終控制繼電器的開(kāi)合來(lái)選擇是否給用戶供電.
圖6 繼電器控制電路Fig.6 Relay control circuit diagram
如圖7所示,此模塊使用CC2530射頻芯片,芯片內(nèi)部集成了8051單片機(jī)及無(wú)線收發(fā)器,集成PA+LNA,極大的擴(kuò)展通信距離、提升通信穩(wěn)定性[10].除此之外協(xié)調(diào)器上電自動(dòng)組建網(wǎng)絡(luò),終端和路由器自動(dòng)搜索并加入網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)中間節(jié)點(diǎn)丟失,其他網(wǎng)絡(luò)自動(dòng)加入或保持原網(wǎng)絡(luò);若是協(xié)調(diào)器丟失,原網(wǎng)絡(luò)存在非孤立節(jié)點(diǎn),協(xié)調(diào)器可再次加入該網(wǎng)絡(luò)或者相同用戶設(shè)置的原網(wǎng)絡(luò)PAN_ID的協(xié)調(diào)器加入原網(wǎng)絡(luò)[11].并且設(shè)備在終端狀態(tài)下可以設(shè)置為低功耗模式,低功耗模式下待機(jī)功耗小于2 μA.這樣的特性保證了電表的無(wú)線通信質(zhì)量.本文中將電表設(shè)置為終端,將網(wǎng)關(guān)設(shè)置為協(xié)調(diào)器進(jìn)行組網(wǎng).在圖7中DD、DC為軟件下載口,P1_4~P1_7為SPI通信引腳,P2_1~P2_5為串口通信引腳,根據(jù)實(shí)際需求選擇通訊方式.RF_P與RF_N為射頻模塊的天線引腳,P2_4與P2_3是給51單片機(jī)提供32 MHz的工作頻率,XOSC32M_Q1與Q2給射頻模塊提供32 KHz的工作頻率.
圖7 CC2530模塊電路Fig.7 CC2530 module circuit diagram
網(wǎng)關(guān)設(shè)計(jì)STM32F429為MCU,搭配相關(guān)外設(shè)組成的.將一個(gè)電表柜里的所有電表通過(guò)ZigBee組網(wǎng)最終與協(xié)調(diào)器無(wú)線通信,ZigBee組網(wǎng)內(nèi)的協(xié)調(diào)器通過(guò)串口來(lái)與MCU通信,將各個(gè)電表的電氣信息收集起來(lái),進(jìn)行數(shù)據(jù)處理后通過(guò)串口發(fā)送給網(wǎng)卡,如圖8所示,U1為以太網(wǎng)收發(fā)器LAN8720A,支持通過(guò)RMII接口與以太網(wǎng)通信,MUC將處理后的數(shù)據(jù)通過(guò)引腳1-9組成的RMII接口發(fā)送給網(wǎng)卡,然后通過(guò)引腳TXN、TXP、RXN、RXP組成的MDI接口與以太網(wǎng)接口J1相連,實(shí)現(xiàn)與服務(wù)器的數(shù)據(jù)互傳.
圖8 網(wǎng)關(guān)模塊電路Fig.8 Gateway module circuit diagram
電能表軟件設(shè)計(jì)的集成開(kāi)發(fā)環(huán)境采用美國(guó)Keil Software公司開(kāi)發(fā)的Keil μVision 5,它支持ARM芯片[12],設(shè)計(jì)語(yǔ)言采用C語(yǔ)言編程.如圖9所示,當(dāng)打開(kāi)電表開(kāi)關(guān)按鈕,首先進(jìn)行系統(tǒng)的初始化,即對(duì)STM32需要工作的GPIO、ADC、SPI通信、串口通信、外部中斷等進(jìn)行初始化;初始化結(jié)束后利用ADC和掉電檢測(cè)模塊對(duì)火線進(jìn)行電壓檢測(cè);若沒(méi)有電壓則觸發(fā)外部中斷,蜂鳴器警報(bào),且STM32通過(guò)電池供電進(jìn)入低功耗模式,將掉電事件發(fā)送給網(wǎng)關(guān)報(bào)告服務(wù)器.當(dāng)火線上有電壓時(shí),啟動(dòng)計(jì)量芯片ATM90E26,STM32運(yùn)用SPI通訊讀取計(jì)量芯片的數(shù)據(jù)寄存器;由于寄存器內(nèi)存儲(chǔ)的數(shù)據(jù)并不是真實(shí)準(zhǔn)確數(shù)據(jù),STM32需要通過(guò)正確的算法將數(shù)據(jù)進(jìn)行處理,處理后的數(shù)據(jù)通過(guò)串口顯示到串口屏上和通過(guò)ZigBee模塊發(fā)送給網(wǎng)關(guān).
圖9 主程序流程圖Fig.9 Main program flow chart
通信協(xié)議上使用的是LwIP協(xié)議.LwIP協(xié)議是輕量化的TCP/IP協(xié)議,它可以用少量的資源消耗實(shí)現(xiàn)一個(gè)較為完整的TCP/IP協(xié)議棧,首先對(duì)網(wǎng)卡進(jìn)行初始化,然后從網(wǎng)卡接收一個(gè)數(shù)據(jù)包,獲取數(shù)據(jù)包的方式有兩種,一種是查詢方式,另一種是中斷方式.查詢方式通過(guò)主函數(shù)的While循環(huán)進(jìn)行周期性處理,去獲取網(wǎng)卡中是否接收到數(shù)據(jù)包,然后遞交給上層協(xié)議取出來(lái),而中斷方式則是在網(wǎng)卡接收到一個(gè)數(shù)據(jù)包時(shí)候,就觸發(fā)中斷,通知CPU去處理,這樣效率就會(huì)高很多.本文采用中斷方式接收數(shù)據(jù),然后將數(shù)據(jù)封裝成消息投遞到LwIP內(nèi)核上.在網(wǎng)關(guān)模塊主函數(shù)里,主要是對(duì)接收到的數(shù)據(jù)進(jìn)行分解處理,在協(xié)議棧里規(guī)定了數(shù)據(jù)以20字節(jié)的形式傳輸,當(dāng)20字節(jié)滿了數(shù)據(jù)才會(huì)傳輸給MCU里,然后再將數(shù)據(jù)包的標(biāo)志位清除,留下真實(shí)數(shù)據(jù)進(jìn)行還原,還原后的數(shù)據(jù)再以LwIP協(xié)議的方式傳輸給服務(wù)器.主函數(shù)的流程圖如圖10所示.除此之外,網(wǎng)關(guān)還可以接收服務(wù)器的操作指令,對(duì)網(wǎng)關(guān)和終端節(jié)點(diǎn)進(jìn)行控制.
圖10 網(wǎng)關(guān)主函數(shù)流程圖Fig.10 Gateway main function flow chart
為了測(cè)試節(jié)點(diǎn)的運(yùn)行效果,在實(shí)驗(yàn)室中搭建測(cè)試網(wǎng)絡(luò)進(jìn)行組網(wǎng)測(cè)試.測(cè)試網(wǎng)絡(luò)由5個(gè)終端節(jié)點(diǎn)和1個(gè)網(wǎng)關(guān)模塊(協(xié)調(diào)器)組成星型網(wǎng)絡(luò).1臺(tái)PC機(jī)通過(guò)RS-232與網(wǎng)關(guān)相聯(lián),同時(shí)配置網(wǎng)絡(luò)調(diào)試助手對(duì)網(wǎng)關(guān)數(shù)據(jù)通信情況進(jìn)行監(jiān)聽(tīng).網(wǎng)絡(luò)調(diào)試助手能夠監(jiān)聽(tīng)到終端節(jié)點(diǎn)發(fā)送給網(wǎng)關(guān)模塊的采集數(shù)據(jù)如圖11所示,采集數(shù)據(jù)包括接入智能電表火線上的電流、電壓、有功功率、視載功率、消耗的電量以及零線上的電流.由于測(cè)試時(shí)終端沒(méi)有接入測(cè)試電壓和用電器,所以各項(xiàng)電氣數(shù)值顯示為0,但可以驗(yàn)證終端節(jié)點(diǎn)的數(shù)據(jù)是完整的傳輸給服務(wù)器,網(wǎng)關(guān)模塊可以正常的運(yùn)行且遠(yuǎn)程監(jiān)測(cè)用戶的各個(gè)電氣參數(shù).
圖11 網(wǎng)絡(luò)調(diào)試助手Fig.11 Network debugging assistant
同時(shí),由于ZigBee技術(shù)和無(wú)線局域網(wǎng)Wi-Fi都是在ISM 2.4 GHz頻段上的無(wú)線通信技術(shù),這兩種短距離通信系統(tǒng)共處同一空間應(yīng)用也越來(lái)越普遍,室內(nèi)環(huán)境下的同頻干擾問(wèn)題變得尤為突出.在上述測(cè)試網(wǎng)絡(luò)中布置3個(gè)Wi-Fi干擾源,3個(gè)干擾源分別工作在3個(gè)不同的信道(1、 6和11),選擇其中1個(gè)終端節(jié)點(diǎn)和1個(gè)網(wǎng)關(guān)模塊(協(xié)調(diào)器)進(jìn)行點(diǎn)到點(diǎn)通信測(cè)試同頻干擾情況,調(diào)整該終端節(jié)點(diǎn)的信道依次從11信道到26信道,測(cè)出在Wi-Fi干擾源信道不變的情況下,ZigBee網(wǎng)絡(luò)中16個(gè)信道的通信質(zhì)量情況.同頻干擾測(cè)試結(jié)果如圖12所示,橫坐標(biāo)是ZigBee信道,縱坐標(biāo)是誤包率.通過(guò)結(jié)果可以看出,在所有信道中,PER較低的是第15,20,25,26這四個(gè)信道,第12,13,17,18,22,23信道PER明顯增加,特別是第12,18和23信道,達(dá)到波峰,驗(yàn)證了在這幾個(gè)頻譜范圍Wi-Fi與ZigBee發(fā)生了重疊,而在第15,20,25,26信道上,PER較小,滿足通訊要求.上述測(cè)試結(jié)果為本采集系統(tǒng)在室內(nèi)環(huán)境下中的實(shí)際應(yīng)用提供了一定的參考.
圖12 3個(gè)Wi-Fi信道干擾下的ZigBee誤包率Fig.12 ZigBee packet error rate under 3 Wi-Fi channel interference
智能電表通過(guò)計(jì)量芯片測(cè)量用電設(shè)備的電壓、電流、有功功率、無(wú)功功率、功率因素、電能量.由于計(jì)量芯片將相關(guān)數(shù)據(jù)放在數(shù)據(jù)寄存器中,主控芯片通過(guò)SPI通訊讀取出后發(fā)送至主控芯片的串口上,根據(jù)國(guó)家電網(wǎng)公司對(duì)單相智能電能表的規(guī)格要求,精確度應(yīng)為有功2級(jí),有功功率誤差在控制在±2%之間.即功率因數(shù)為1、電壓范圍在0.9 Un~1.1 Un(Un為參比電壓220 V)時(shí),允許相對(duì)誤差控制在±2%之間.進(jìn)行電壓改變測(cè)試有功誤差實(shí)驗(yàn),智能電表終端接入一個(gè)發(fā)熱用電設(shè)備,通過(guò)改變擋位來(lái)調(diào)整用電功率.發(fā)熱用電設(shè)備功率因數(shù)趨近于1,數(shù)據(jù)如表1所示,誤差率皆滿足規(guī)范要求.
表1 實(shí)驗(yàn)測(cè)試數(shù)據(jù)Tab.1 Experimental test data
首先介紹了基于智能電表遠(yuǎn)程抄表系統(tǒng)的主要通訊方式和研究現(xiàn)狀,在此背景下提出了基于ZigBee技術(shù)的智能電表用電數(shù)據(jù)采集系統(tǒng).本文從硬件設(shè)計(jì)與軟件設(shè)計(jì)兩方面入手,利用STM32與CC2530模塊的低功耗、高速率的特點(diǎn),將兩者作為智能電表硬件設(shè)計(jì)的主控芯片和數(shù)據(jù)傳輸方式,同樣利用ZigBee技術(shù)的高性價(jià)比,將各個(gè)智能電表終端組網(wǎng)由網(wǎng)關(guān)模塊統(tǒng)一管理.文章著重基于LwIP協(xié)議的輕量化的特點(diǎn),使其作為網(wǎng)關(guān)的協(xié)議棧與服務(wù)器通訊,構(gòu)成完整的智能電表數(shù)據(jù)采集系統(tǒng).經(jīng)過(guò)PCB開(kāi)板調(diào)試實(shí)驗(yàn),系統(tǒng)可以正常穩(wěn)定的運(yùn)行,數(shù)據(jù)可以正常傳送至服務(wù)器.可以預(yù)見(jiàn),由于ZigBee技術(shù)的低功耗、高性價(jià)比,未來(lái)在物聯(lián)網(wǎng)領(lǐng)域還有廣闊的前景[13].