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