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