宋紹劍 薛春偉
(廣西大學(xué) 電氣工程學(xué)院,廣西 南寧市 530004)
近年來,隨著城市道路照明現(xiàn)代化進(jìn)程的加快,路燈監(jiān)控系統(tǒng)受到很大關(guān)注。國內(nèi)外已經(jīng)出現(xiàn)了大量路燈監(jiān)控系統(tǒng)方案,例如:采用GSM無線公共網(wǎng)短消息、基于PLC、基于組態(tài)王及GPRS通訊、基于Lonworks等[1]。然而這些方案實(shí)施復(fù)雜,費(fèi)用也不低廉,而Zigbee技術(shù)是一種基于 IEEE 802.15.4的物理層和媒體訪問層標(biāo)準(zhǔn),與其他短距離無線協(xié)議相比,具有功耗低、可靠性高、復(fù)雜度低、支持大量網(wǎng)絡(luò)節(jié)點(diǎn)和運(yùn)行費(fèi)用較低等顯著優(yōu)點(diǎn),非常適合在城市路燈系統(tǒng)中應(yīng)用[2~3]。本文針對目前城市路燈照明系統(tǒng)存在的問題,如自動(dòng)化管理水平還不很高、系統(tǒng)可靠性不高等,提出了一套基于Zigbee的路燈集中監(jiān)控系統(tǒng)。該系統(tǒng)集無線通訊技術(shù)、自動(dòng)化控制技術(shù)、監(jiān)控系統(tǒng)組網(wǎng)技術(shù)和數(shù)據(jù)庫技術(shù)于一體,為城市路燈照明系統(tǒng)的新建或改造升級提供穩(wěn)定、可靠、低成本的實(shí)施方案,有著廣闊的應(yīng)用前景。
本文所設(shè)計(jì)的城市路燈智能監(jiān)控系統(tǒng)由監(jiān)控終端控制器、Zigbee網(wǎng)絡(luò)、監(jiān)控中心三部分構(gòu)成,如圖1所示。其中監(jiān)控終端控制器由電參數(shù)采集板、ATmega128核心控制板、繼電器模塊、LCD顯示和Zigbee模塊組成,如圖2所示。系統(tǒng)工作原理如下:首先,通過電壓互感器和電流互感器將路燈的電參數(shù)送給電參數(shù)采集板,電參數(shù)采集板的ATT7O22B芯片讀取各類電參數(shù),然后ATT7022B通過 SPI口將電參數(shù)的數(shù)據(jù)傳給控制核心板,并通過LCD模塊進(jìn)行顯示;同時(shí),還可以運(yùn)用鍵盤模塊對ATmega128發(fā)送命令,ATmega128再通過 RS232接口將數(shù)據(jù)或命令傳給Zigbee終端節(jié)點(diǎn),終端節(jié)點(diǎn)與相鄰節(jié)點(diǎn)互傳數(shù)據(jù),匯總于匯節(jié)點(diǎn),最終通過GPRS網(wǎng)絡(luò)傳給監(jiān)控中心。

圖1 城市路燈智能監(jiān)控系統(tǒng)部署圖

圖2 監(jiān)控終端控制器結(jié)構(gòu)框圖
核心控制板的CPU選用ATmega128單片機(jī),它是8位基于AVR RISC結(jié)構(gòu)的低功耗CMOS微處理器,具有性價(jià)比高、功耗小、可靠性高等特點(diǎn)。LCD模塊選用LCD12864帶中文字符型液晶顯示屏,它自帶漢字字庫,通過查詢中文字庫表便能實(shí)現(xiàn)LCD的中文顯示,只用三個(gè)管腳就能完成通訊和控制。繼電器模塊的工作線圈為24V。鍵盤模塊采用了一個(gè)4×4的矩陣鍵盤。時(shí)鐘模塊選用DS1302芯片,為CPU提供實(shí)時(shí)時(shí)鐘。它采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能,編程簡單,功耗小 (見圖3)。

圖3 核心控制板主要模塊原理圖
電參數(shù)采集板的采集芯片采用ATT7022B芯片。它是一顆高精度的三相多功能電能計(jì)量專用芯片,集成了七路二階sigma-delta ADC,參考電壓電路以及所有功率、能量、有效值、功率因數(shù)、頻率測量的數(shù)字信號處理等電路,適用于三相三線和三相四線應(yīng)用。電壓與電流互感器分別選擇了北京雙電的PT01(微型精密電壓互感器)和 CT01(微型精密電流互感器5A系列)。Zigbee模塊采用上海順舟網(wǎng)絡(luò)科技有限公司的SZ02系列Zigbee無線RS232串口通信設(shè)備,采用了加強(qiáng)型的Zigbee無線技術(shù),是符合工業(yè)標(biāo)準(zhǔn)應(yīng)用的無線數(shù)據(jù)通信設(shè)備。它具有通訊距離遠(yuǎn)、抗干擾能力強(qiáng)、組網(wǎng)靈活等優(yōu)點(diǎn)和特性,可實(shí)現(xiàn)多設(shè)備間的數(shù)據(jù)透明傳輸,可組MESH型的網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)。
ATmega128單片機(jī)集成的指令功能豐富,內(nèi)存等資源也都比較豐富,為了提高編程效率、代碼的可讀性、可移植性和可維護(hù)性,本系統(tǒng)使用C語言開發(fā)系統(tǒng)軟件。電參數(shù)采集芯片ATT7022B提供一個(gè)SPI接口,方便與外部MCU之間進(jìn)行計(jì)量參數(shù)以及校表參數(shù)的傳遞。其SPI接口采用從屬方式工作,使用2條控制線和2條數(shù)據(jù)線:CS、SCLK、DIN和DOUT。ATT7022B能夠測量各相以及合相的有功功率、無功功率、視在功率、有功能量以及無功能量,同時(shí)還能測量各相電流、電壓有效值、功率因數(shù)、相角、頻率等參數(shù),充分滿足三相復(fù)費(fèi)率多功能電能表的需求。時(shí)鐘芯片DS1302采用串行數(shù)據(jù)傳輸,與CPU的連接需要三條線,即 SCLK(7)、I/O(6)、RST(5)。它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。
系統(tǒng)的主程序流程如圖4所示。系統(tǒng)通電后,首先初始化各底層硬件 (包括LCD設(shè)備、串口參數(shù)等)和電參數(shù)測量 I/O口。初始化完成后,ATmega128通過DS1302和繼電器模塊定時(shí)開關(guān)路燈,然后循環(huán)讀取ATT7022B芯片發(fā)送的數(shù)據(jù),獲取電壓、電流、功率、功率因數(shù)等各類電參數(shù),將各種參數(shù)打包后,通過串行通訊口RS232上傳至Zigbee模塊,同時(shí)在本地LCD上顯示出來。

圖4 主程序流程圖
4.2.1 SPI通訊口介紹
ATT7022B內(nèi)部集成了一個(gè)SPI串行通訊接口。ATT7022B的SPI接口采用從屬方式工作,使用2條控制線和2條數(shù)據(jù)線:CS、SCLK、DIN和DOUT。
CS:片選 (輸入腳),允許訪問串口的控制線。CS由高電平變?yōu)榈碗娖綍r(shí)表示 SPI操作開始,CS由低電平變?yōu)楦唠娖綍r(shí)表示SPI操作結(jié)束。所以每次SPI操作時(shí)CS必須出現(xiàn)下降沿,CS出現(xiàn)上升沿時(shí)表示SPI操作結(jié)束。
DIN:串行數(shù)據(jù)輸入 (輸入腳),用于把用戶的數(shù)據(jù) (如:數(shù)據(jù)、命令、地址等)傳輸?shù)紸TT7022B。
DOUT:串行數(shù)據(jù)輸出 (輸出腳),用于從ATT7022B寄存器讀出數(shù)據(jù)。
SCLK:串行時(shí)鐘 (輸入腳),控制數(shù)據(jù)移出或移入串行口的傳輸率。上升沿放數(shù)據(jù),下降沿取數(shù)據(jù)。SCLK下降沿時(shí)將DIN上的數(shù)據(jù)采樣到ATT7022B中,SCLK上升沿時(shí)將ATT7022B的數(shù)據(jù)放置于DOUT上輸出。
4.2.2 SPI讀、寫操作
SPI讀工作過程:通過SPI寫入一個(gè)8Bits的命令字后,可能需要一個(gè)等待時(shí)間,然后才能通過SPI讀取24Bits的數(shù)據(jù)。在 SCLK低于 200kHz時(shí),可以不需要等待,即等待時(shí)間為0us;當(dāng)SCLK頻率高于200kHz時(shí),則需要等待大約3us。
SPI寫工作過程:通過SPI寫入一個(gè)8Bits的命令字后,不需要等待繼續(xù)通過SPI讀取24Bits的數(shù)據(jù)即可 (見圖5)。

圖5 SPI讀、寫時(shí)序圖
4.2.3 電參數(shù)測量程序
核心板通電后,先對電參數(shù)測量I/O口進(jìn)行初始化,初始化函數(shù)如下:

按照ATT7022B芯片的寫入?yún)f(xié)議要求,在同步時(shí)鐘的作用下,從LSB到HSB按位串行輸入。當(dāng)向該芯片寫入一個(gè)命令時(shí),操作如下:

按照ATT7022B芯片的讀出協(xié)議要求,用ElePar_WriteByte(uint8 Com)向ATT7022B發(fā)送讀某一數(shù)據(jù)寄存器的命令后,ATT7022B將從HSB到LSB以串行方式向ATmega128輸出4個(gè)字節(jié)24位數(shù)據(jù),操作如下:


向ATT7022B發(fā)送不同的命令 (一個(gè)字節(jié)的16進(jìn)制形式),就可以方便地讀出各種電量參數(shù),如要讀出A相電壓,操作如下:

函數(shù)返回的電壓、電流和功率均是16進(jìn)制整數(shù),代表實(shí)際測量得到的電壓、電流和功率的值,經(jīng)過打包處理后可以上傳給控制中心,同時(shí)也在本地LCD顯示。
Zigbee采用按需路由算法 AODV,在節(jié)能和網(wǎng)絡(luò)性能上都有著很大的優(yōu)勢。AODV路由協(xié)議是一種基于距離矢量的按需路由算法,只保持需要的路由,而不需要節(jié)點(diǎn)維持通信過程中未達(dá)目的節(jié)點(diǎn)的路由。節(jié)點(diǎn)僅記住下一跳,而不像源節(jié)點(diǎn)路由那樣記住整個(gè)路由。它能在網(wǎng)絡(luò)中的各移動(dòng)節(jié)點(diǎn)之間動(dòng)態(tài)地、自啟動(dòng)地建立逐跳的路由。
當(dāng)鏈路斷開時(shí),AODV會(huì)通知受影響的節(jié)點(diǎn),從而使這些節(jié)點(diǎn)能被確認(rèn)為無效路由。AODV允許移動(dòng)節(jié)點(diǎn)響應(yīng)鏈路的破損情況,并以一種及時(shí)的方式更新網(wǎng)絡(luò)拓?fù)洹ODV操作是無環(huán)回的,并避免了當(dāng)Adhoc網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí)快速收斂的無限計(jì)算問題 (特別是當(dāng)一個(gè)節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò)時(shí))[4]。
本文對整個(gè)系統(tǒng)進(jìn)行了測試,系統(tǒng)運(yùn)行界面如圖6所示。通過測試可以計(jì)算城市路燈亮燈率,進(jìn)行電纜故障定位等。
本文綜合了單片機(jī)技術(shù)和無線傳感網(wǎng)絡(luò)技術(shù),開發(fā)了一套基于Zigbee的城市路燈智能監(jiān)控終端控制器,在解決城市路燈亮燈率計(jì)算、電纜故障定位和防盜等方面,技術(shù)先進(jìn)、成本低,相關(guān)技術(shù)的適用范圍廣,具有很好的推廣應(yīng)用前景。但同時(shí)Zigbee也存在不足,比如通信距離較短,應(yīng)用不夠廣泛等等。

圖6 系統(tǒng)運(yùn)行界面
[1]陳濤.照明控制與自動(dòng)化系統(tǒng)的完美結(jié)合—智能照明控制系統(tǒng)的再認(rèn)識 [J].照明工程學(xué)報(bào),2003,14(3):26~32.
[2]成小良,鄧志東.基于Zigbee規(guī)范構(gòu)建大規(guī)模無線傳感器網(wǎng)絡(luò) [J].通信學(xué)報(bào),2008(11):158~164.
[3]Zigbee Specification[S].Zigbee Standards Organization,2007.
[4]鄭鍇,童利標(biāo),何世杰等.一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)硬件結(jié)構(gòu)設(shè)計(jì) [J].儀表技術(shù)與傳感器,2009(9):78~80.