基于ZigBee和STC單片機的無線數(shù)據(jù)采集系統(tǒng)
0 引 言
在工業(yè)信息化領(lǐng)域,數(shù)據(jù)采集是獲取信息的基本手段。企業(yè)在生產(chǎn)時需要監(jiān)測產(chǎn)量、工作電壓、溫度等信息,并將這些現(xiàn)場數(shù)據(jù)傳輸?shù)缴衔粰C進行存儲、分析和處理。傳統(tǒng)的有線數(shù)據(jù)采集模式盡管穩(wěn)定、可靠,但存在布線工作量大、可擴展性差、工程造價高等弊端。
近年來, 無線通信技術(shù)得到長足的發(fā)展, 基于 IEEE802.15.4 標準的ZigBee 無線傳感器網(wǎng)絡技術(shù) [1,2] 因其具有功耗低、體積小、靈活性強等優(yōu)點,所以在諸多領(lǐng)域得到廣泛應用[3,4]。將ZigBee 無線傳感器網(wǎng)絡和數(shù)據(jù)庫技術(shù)相結(jié)合,不僅能夠有效對布線困難、人員不能到達區(qū)域進行數(shù)據(jù)采集, 還能夠簡化有線網(wǎng)絡所帶來的規(guī)劃布線、線路檢查和擴容等繁瑣工作。文獻 [5] 基于ZigBee 和 AT89S52 設計、實現(xiàn)了一套無線數(shù)據(jù)采集系統(tǒng),但在穩(wěn)定性和實用性方面還有待改進。本文根據(jù)工業(yè)現(xiàn)場數(shù)據(jù)采集的需求,設計并實現(xiàn)了基于ZigBee 技術(shù)的近距離、低成本、低功耗的無線數(shù)據(jù)采集系統(tǒng)。
1 系統(tǒng)架構(gòu)
本文設計的無線數(shù)據(jù)采集系統(tǒng)架構(gòu)如圖 1 所示。該系統(tǒng)包括數(shù)據(jù)采集和接收處理兩大模塊,其中采集模塊由ZigBee 無線傳感器網(wǎng)絡模塊、單片機、數(shù)據(jù)采集傳感器、LED 顯示屏、按鍵等構(gòu)成 ;單片機選用 STC15W4K16S4 實現(xiàn)數(shù)據(jù)采集、傳輸和人機交互功能,主要為按鍵識別和LED 顯示控制;單片機片上 E2PROM 用以保存數(shù)據(jù),如掉電時當前信息的保存或保存需要長久保存的數(shù)據(jù);LED 用以實時顯示采集數(shù)據(jù)。無線數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如圖 1 所示。
采集模塊采集到的數(shù)據(jù)由ZigBee 無線傳感器網(wǎng)絡傳送到數(shù)據(jù)接收模塊,接收模塊再經(jīng)串口送至 PC 機。PC 機完成數(shù)據(jù)的存儲、查詢和實時顯示等功能,同時負責控制接收模塊與采集模塊的命令交互。在工程應用現(xiàn)場,待監(jiān)測的生產(chǎn)區(qū)域通常需要采集多種類型的數(shù)據(jù),單功能采集模塊系統(tǒng)難以滿足實際需求。因此利用基于ZigBee 無線傳感器網(wǎng)絡模塊搭建數(shù)據(jù)接收處理模塊,實現(xiàn)網(wǎng)絡協(xié)調(diào)器和路由器功能,連接多個數(shù)據(jù)采集功能模塊是一種有效的方案。擴展后的具有多種數(shù)據(jù)采集能力的采集系統(tǒng)如圖 2 所示。
2 硬件設計
2.1 無線通信模塊
本設計中的無線通信模塊采用TI 公司生產(chǎn)的CC2530 做為核心芯片?;?CC2530 芯片和 ZegBee 無線傳感器網(wǎng)絡協(xié)議設計網(wǎng)絡通信節(jié)點,實現(xiàn)采集數(shù)據(jù)和系統(tǒng)命令的傳輸,具有使用靈活、成本低廉等優(yōu)點。無線通信模塊的硬件電路如圖 3所示。
由圖 3 可知,為得到良好的電源性能,確保通信穩(wěn)定可靠, 采用去耦電容對模塊電源進行濾波。采用高精度 32 MHz 的無源晶振作為時鐘源來提供可靠無線收發(fā)基準時鐘。
2.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊以 STC15W4K16S4 單片機為核心, 該單片機具有 16 K 系統(tǒng)編程Flash 存儲器和 42 K 的E2PROM 內(nèi)存。數(shù)據(jù)采集模塊與CC2530 無線通信單元相連,以此組建ZigBee 無線傳感器通信網(wǎng)絡。采集模塊兼具傳感器數(shù)據(jù)采集、人機接口和無線傳感器網(wǎng)絡通信等功能。設計的采集模塊硬件電路實物圖如圖 4 所示。
2.3 數(shù)據(jù)接收模塊
接收模塊又稱為無線傳感器網(wǎng)絡協(xié)調(diào)器,包括 ZigBee 無線傳感器網(wǎng)絡通信模塊和通信接口。通信接口選用RS 232 方式,ZigBee 協(xié)議轉(zhuǎn)換成 RS 232 協(xié)議后與PC 機無縫連接。數(shù)據(jù)接收模塊兼具組建無線通信網(wǎng)絡、實現(xiàn) PC 機與數(shù)據(jù)采集模塊之間命令交互等功能。設計的無線數(shù)據(jù)接收模塊硬件如圖 5 所示。
圖 4 數(shù)據(jù)采集模塊 圖 5 數(shù)據(jù)接收模塊
3 軟件設計
數(shù)據(jù)采集模塊軟件編程主要實現(xiàn)按鍵檢測、顯示驅(qū)動、 與 ZigBee 無線傳感器網(wǎng)絡通信交互等功能。數(shù)據(jù)接收模塊軟 件編程具有 RS 232 接口驅(qū)動、數(shù)據(jù)協(xié)議交互、ZigBee 無線傳 感器網(wǎng)絡協(xié)調(diào)器功能實現(xiàn)等功能。PC 機軟件主要負責控制協(xié) 調(diào)器與數(shù)據(jù)采集模塊交互、數(shù)據(jù)采集、存儲、統(tǒng)計分析和數(shù) 據(jù)庫管理。
MAC 地址作為各模塊的身份ID,并在數(shù)據(jù)通信幀中添加該ID。接收模塊收到數(shù)據(jù)后解析出ID、傳感器數(shù)據(jù)或命令,按照ID 分類存儲采集數(shù)據(jù)。系統(tǒng)包括網(wǎng)絡探測、數(shù)據(jù)采集、停止采集等功能模塊,各模塊獨立編程實現(xiàn),數(shù)據(jù)接收模塊全網(wǎng)探測過程的程序流程如圖 6 所示。
為了區(qū)分不同的數(shù)據(jù)采集模塊,以采集模塊的單片機MAC 地址作為各模塊的身份 ID,并在數(shù)據(jù)通信幀中添加該 ID。接收模塊收到數(shù)據(jù)后解析出 ID、傳感器數(shù)據(jù)或命令,按 照 ID 分類存儲采集數(shù)據(jù)。系統(tǒng)包括網(wǎng)絡探測、數(shù)據(jù)采集、停 止采集等功能模塊,各模塊獨立編程實現(xiàn),數(shù)據(jù)接收模塊全 網(wǎng)探測過程的程序流程如圖 6 所示。
4 實驗驗證
為了驗證本文設計系統(tǒng)的可行性,針對某活塞環(huán)生產(chǎn)企 業(yè)的機床加工零部件產(chǎn)量采集需求進行現(xiàn)場調(diào)試,主要采集 和統(tǒng)計不同員工操作的機床設備所加工不同型號的活塞環(huán)產(chǎn) 品信息。圖 8 所示為 18 個采集模塊聯(lián)網(wǎng)確認后的數(shù)據(jù)采集情 況。由圖 8 可知,基于 Java 語言設計的 PC 機終端軟件給出數(shù) 據(jù)采集模塊的安裝位置,顯示活塞環(huán)產(chǎn)品型號和機床操作人 員等信息,圖中歷時產(chǎn)量表示本次采集開始之前的產(chǎn)量。
圖 8 無線數(shù)據(jù)采集系統(tǒng) PC 機軟件
5 結(jié) 語
針對工業(yè)信息化需求,研究和設計了基于 ZigBee 和 STC 單片機的無線數(shù)據(jù)采集系統(tǒng),實現(xiàn)了工業(yè)現(xiàn)場數(shù)據(jù)的自動采集、 統(tǒng)計和分析等功能。該系統(tǒng)包括無線采集和接收處理兩大部 分,無線采集模塊主要由 CC2530 和 STC 單片機構(gòu)成。接收 處理部分包括無線網(wǎng)絡協(xié)調(diào)器和 PC 機及軟件。實驗結(jié)果表明 了系統(tǒng)的有效性。