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