摘 要:通過分析當(dāng)前電量數(shù)據(jù)采集和傳輸?shù)默F(xiàn)狀,針對(duì)設(shè)備電量數(shù)據(jù)采集及其與上位機(jī)通信不便的問題,設(shè)計(jì)了一種基于ZigBee技術(shù)的電量數(shù)據(jù)傳輸系統(tǒng),詳細(xì)介紹了電量采集模塊和ZigBee數(shù)據(jù)傳輸模塊的軟硬件設(shè)計(jì)方法。分析測(cè)試表明:該系統(tǒng)符合設(shè)計(jì)要求,可實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸,能解決布線困難環(huán)境下電量的采集和無(wú)線傳輸問題,具有良好的應(yīng)用前景。
關(guān)鍵字:ZigBee技術(shù);電量數(shù)據(jù)采集;電量數(shù)據(jù)傳輸
中圖分類號(hào):TN965 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-1302(2014)01-0037-04
0 引 言
在電氣試驗(yàn)中常常需要采集電壓、電流、有功功率、無(wú)功功率、功率因數(shù)等電量數(shù)據(jù)進(jìn)行分析處理,這些電量參數(shù)對(duì)電氣設(shè)備有著至關(guān)重要的意義。目前,一般通過電量采集模塊采集電量參數(shù)后顯示在LCD上,然后人為記錄數(shù)據(jù)或者通過有線的方式將數(shù)據(jù)傳到上位機(jī)上。常規(guī)人為記錄數(shù)據(jù)的方式不利于數(shù)據(jù)的分析和處理,而在設(shè)備較多和環(huán)境復(fù)雜的情況下通過有線傳輸數(shù)據(jù)的方式不便布線且成本較高[1-2]。針對(duì)上述缺陷,本文介紹了一種利用ZigBee無(wú)線技術(shù)完成電量實(shí)時(shí)傳輸?shù)缴衔粰C(jī)的系統(tǒng)來(lái)解決這一問題。
ZigBee技術(shù)是近些年發(fā)展起來(lái)的一種無(wú)線通信技術(shù),屬于物聯(lián)網(wǎng)技術(shù)的一種。其包括協(xié)調(diào)器、匯聚節(jié)點(diǎn)、傳感器節(jié)點(diǎn)三個(gè)部分[2]。ZigBee技術(shù)用于快速、安全、高效的無(wú)線傳輸數(shù)據(jù)。其傳輸數(shù)據(jù)具有低雜度、自組網(wǎng)、低功耗、低成本等優(yōu)點(diǎn),能用于電氣試驗(yàn)中的電量數(shù)據(jù)傳輸。同時(shí),由于ZigBee的自組網(wǎng)功能,可以用于一定區(qū)域內(nèi)多臺(tái)設(shè)備的信息交換,并能將數(shù)據(jù)通過無(wú)線網(wǎng)絡(luò)傳輸?shù)缴衔粰C(jī)進(jìn)行分析。
本系統(tǒng)通過數(shù)據(jù)采集模塊完成多臺(tái)設(shè)備電量數(shù)據(jù)采集,并通過ZigBee模塊將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)處理分析。系統(tǒng)根據(jù)所選ZigBee模塊規(guī)格不同,可完成從幾十米到幾公里內(nèi)的數(shù)據(jù)傳輸且成本較低。
1 系統(tǒng)總體設(shè)計(jì)方案
本系統(tǒng)用到的硬件設(shè)備有ZigBee(CC2530模塊)、帶SPI通信接口的電量采集模塊、串口設(shè)備、PC機(jī);軟件工具有IAR Embedded Workbench、串口調(diào)試助手等。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
電量采集模塊帶SPI通信接口。該模塊由電壓電流信號(hào)采集模塊、計(jì)量芯片、MCU模塊、通信、模塊、LCD顯示模塊、EEPROM等組成。
CC2530 利用IEEE 802.15.4通信協(xié)議,工作頻段是2.4GHz。CC2530采用16-bitsCRC來(lái)確保數(shù)據(jù)的正確性;使用帶應(yīng)答的數(shù)據(jù)傳輸方式來(lái)確保數(shù)據(jù)傳輸目的地址的正確性;采用星型網(wǎng)絡(luò)確保數(shù)據(jù)可以沿著不同的傳輸路徑從源地址到達(dá)目的地址[1]。CC2530 結(jié)合了德州儀器的黃金單元ZigBee協(xié)議棧(Z-Stack),為開發(fā)者自己搭建無(wú)線傳感網(wǎng)絡(luò)提供了一個(gè)相對(duì)完善的ZigBee 解決方案。
計(jì)量芯片采用ATT7022B計(jì)量芯片。ATT7022B芯片是一種高精度專業(yè)計(jì)量芯片,適用于三相三線、三相四線測(cè)量電能,能測(cè)量各相及三相的有功功率、無(wú)功功率、功率因數(shù)、相角、頻率等參數(shù),有純軟件校表功能。
MCU模塊選用DSP TMS320F28335。TMS320F28335具有精度高、成本低、 功耗小、性能高、外設(shè)集成度高、數(shù)據(jù)以及程序存儲(chǔ)量大、A/D轉(zhuǎn)換更精確快速等優(yōu)點(diǎn),保證了系統(tǒng)的可靠性。
數(shù)據(jù)傳輸均通過SPI通信接口完成,SPI總線具有:全雙工,三線同步傳送;可控的主機(jī)位傳送頻率,時(shí)鐘極性和相位;發(fā)送完成中斷標(biāo)志;寫沖突保護(hù)標(biāo)志等特點(diǎn),能可靠地與MCU通信。
2 硬件電路設(shè)計(jì)
2.1 電量采集電路設(shè)計(jì)
電量采集電路包括電壓采樣部分和電流采樣部分。電壓采樣采用電阻分壓輸入(零線接參考輸出)的方法,將零線VN與參考電壓的REFO連接,方便地實(shí)現(xiàn)了將交流采樣信號(hào)疊加在參考電壓(2.4 V)上。電壓采樣電路圖如圖2所示。
電流采樣電路采用差分輸入法,通過互感器來(lái)完成。從電流互感器二次側(cè)取出信號(hào)接到IA1、IA2端口,輸入電阻和電容構(gòu)成了一個(gè)抗混疊濾波器。在設(shè)計(jì)電路時(shí)一定要保證電阻電容高度對(duì)稱性,才能保證輸入信號(hào)清晰無(wú)諧波。電流采樣差分輸入電路圖如圖3所示。
2.2 計(jì)量模塊設(shè)計(jì)
計(jì)量模塊包括計(jì)量芯片、MCU單元、通信接口模塊、LCD顯示模塊、EEPROM、晶振等。計(jì)量芯片包括電壓電流模擬信號(hào)采樣模塊、數(shù)字信號(hào)處理模塊、脈沖生成器、通信接口模塊、電源管理模塊、溫度傳感器和參考電壓模塊等。計(jì)量模塊結(jié)構(gòu)圖如圖4所示。
如圖4所示,三相電壓電流接入到電壓電流采集模塊,該模塊把交流電壓電流轉(zhuǎn)換成小電壓和電流信號(hào)。然后將這些小電壓和電流信號(hào)輸入到計(jì)量芯片中,計(jì)量芯片將信號(hào)處理后送入芯片自帶的DSP模塊進(jìn)行計(jì)量,計(jì)量結(jié)果通過SPI端口送入MCU分析整理,整理結(jié)果由通信模塊輸出。
2.3 CC2530模塊
在本系統(tǒng)中,CC2530 ZigBee模塊用于數(shù)據(jù)的接收和發(fā)送。為數(shù)據(jù)和上位機(jī)的無(wú)線通信提供通道。CC2530模塊主要包括天線、核心板、擴(kuò)展口、仿真接口、電源接口、ADC接口、RS232接口等。CC2530硬件電路圖如圖5所示。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)包括計(jì)量模塊SPI接口的數(shù)據(jù)寫入和輸出、CC2530模塊數(shù)據(jù)接收和發(fā)送、CC2530與上位機(jī)通信。軟件設(shè)計(jì)流程圖如圖6所示。
3.1 SPI接口的數(shù)據(jù)寫入
SPI接入口程序是在VC++環(huán)境中編譯的。在軟件設(shè)計(jì)的過程中需要考慮占空比、頻率、波特率等因素。為了使計(jì)量更精準(zhǔn),選擇24.576 MHz的晶振,任一次寫操作約5 μs。具體流程圖如圖6所示。
SPI接口寫入程序:
WriteSpi(com data)
{
;Enable SPI
CS=1; //初始CS 為高電平
SCLK=0; //初始SCLK 為低電平
CS=0; //CS變?yōu)榈碗娖?/p>
; Send 8 bits Command to SPI
//把8個(gè)比特的命令輸入SPI
for(n=7;n>=0;n--) // 經(jīng)過32個(gè)時(shí)鐘脈
沖 CS由低到高完成
SPI的寫入
{
SCLK=1;
DIN=Com.n;
Nop
Nop
Nop
SCLK=0;
}
;Disable SPI
CS=1; // CS為高電平 SPI停止寫入
}
SPI接口與CC2530 ZigBee模塊連接,把采集到的數(shù)據(jù)發(fā)送給CC2530協(xié)調(diào)器模塊,ZigBee自帶協(xié)議棧,協(xié)議定義了一系列的通信標(biāo)準(zhǔn),通信雙方按照這一標(biāo)準(zhǔn)進(jìn)行正常的數(shù)據(jù)收發(fā)。對(duì)于使用者來(lái)說,只需要對(duì)應(yīng)用層進(jìn)行C語(yǔ)言程序開發(fā)實(shí)現(xiàn)所需要的功能即可。
3.2 串口收發(fā)數(shù)據(jù)程序
串口是開發(fā)板和上位機(jī)交互的重要工具,ZigBee協(xié)議棧中對(duì)串口初始化所需要的函數(shù)進(jìn)行了定義。使用串口的基本步驟有兩步:第一是初始化串口,包括設(shè)置波特率、中斷等;第二則是向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù)或接收數(shù)據(jù)。下面是其中的主要程序:
void SerialApp_Init( uint8 task_id )
{
……
uartConfig.callBackFunc=SerialApp_CallBack;
//調(diào)用SerialApp_CallBack函數(shù),對(duì)串口內(nèi)容進(jìn)行查詢
……
if((event(HAL_UART_RX_FULL|HAL_UART_RX_ABOUT_FULL|HAL_UART_RX_TIMEOUT))
#if (SERIAL_APP_LOOPBACK
(SerialApp_TxLen < SERIAL_APP_TX_MAX))
#else
!SerialApp_TxLen)
#endif
{
SerialApp_Send();
//調(diào)用串口發(fā)送函數(shù),將從串口接受到的數(shù)據(jù),發(fā)送出去
#if SERIAL_APP_LOOPBACK
//初始化時(shí),SERIAL_APP_LOOPBACK=1 ,所以不執(zhí)行if這個(gè)預(yù)編譯,轉(zhuǎn)到else去執(zhí)行
if(afStatus_SUCCESS!=AF_DataRequest(SerialApp_TxAddr))
//通過AF_DataRequest()函數(shù),將數(shù)據(jù)從空中發(fā)送出去
……
#endif
該程序可在IAR Embedded Workbench軟件中運(yùn)行,并在串口助手中觀察數(shù)據(jù)的傳輸情況。通過實(shí)驗(yàn)得到的仿真圖如圖7所示,上位機(jī)界面如圖8所示。
通過編譯器把協(xié)議棧中的程序燒入到CC2530模塊中,通過改變跳線位置把CC2530分為路由器和協(xié)調(diào)器。選用COM3和COM4這兩個(gè)端口,兩個(gè)端口選擇同樣的波特率,均為38 400 b/s。如圖8所示,串口助手選擇自動(dòng)發(fā)送數(shù)據(jù)時(shí),電量采集模塊每發(fā)出一個(gè)數(shù)據(jù)都會(huì)很快地通過串口發(fā)送到上位機(jī)處理,實(shí)現(xiàn)了電量數(shù)據(jù)的無(wú)線傳輸。
4 結(jié) 語(yǔ)
本文介紹了一種基于ZigBee技術(shù)的電量數(shù)據(jù)傳輸系統(tǒng),可以用于多臺(tái)電氣設(shè)備數(shù)據(jù)的遠(yuǎn)程采集,傳輸安全可靠。更重要的是,ZigBee的自組網(wǎng)和無(wú)線傳輸功能使得數(shù)據(jù)能無(wú)線傳輸,解決了不易布線環(huán)境下數(shù)據(jù)采集問題。
本系統(tǒng)不僅可用于電量的采集,還可以通過改變初始的采集模塊來(lái)完成其他數(shù)據(jù)的采集和傳輸,只要采集模塊帶有SPI通信接口即可。ZigBee模塊自帶的協(xié)議棧方便了開發(fā)者通過改變程序和選擇合適的傳感器完成不同類型的電量數(shù)據(jù)采集和傳輸。系統(tǒng)的主要缺點(diǎn)是ZigBee不適用于大量數(shù)據(jù)傳輸。
參 考 文 獻(xiàn)
[1]汪應(yīng)濤,馮寶林.基于ZigBee 技術(shù)的高精度溫度監(jiān)測(cè)系統(tǒng)[J].儀表技術(shù)與傳感器, 2013, (2):70-72.
[2]王小強(qiáng) 歐陽(yáng)俊 黃寧淋.ZigBee 無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012.
[3]周怡颋,凌志浩,吳勤勤. ZigBee 無(wú)線通信技術(shù)及其應(yīng)用探討[J].自動(dòng)化儀表,2005,26( 6) : 5 -9.
[4]李新.ZigBee組網(wǎng)及實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)管理方法的研究[D].濟(jì)南:山東輕工業(yè)學(xué)院,2011.
[5]孫學(xué)巖.基于Zigbee 無(wú)線傳感器網(wǎng)絡(luò)的溫室測(cè)控系統(tǒng)[J].儀表技術(shù)與傳感器,2010( 8) : 47 – 49.
[6] 張少虎.基于ZigBee的自動(dòng)抄表系統(tǒng)的設(shè)計(jì)[D].西安:西安科技大學(xué),2011.
[7] WANG C C, HUANG C C, HUANG J M, et al. ZigBee 868 /915-MHz modulator /demodulator for wireless personal area network [J]. IEEE Transactions on Very Large Scale Integration Systems, 2008,16(7): 936 -939.
[8] MASOOD N, NAQVI S S. Implementation of MPEG-4 decoding on FPGA [C]// Proceedings of the 17th International Conference on Microelectronics. Islamabad,Pakistan:ICM,2005:245-246.
[9] HOSKE T. More users consider multifunctional transmitters [J]. Control Engineering, 1997, 30(12): 45-49.