基于ZigBee的現(xiàn)場安全溫度在線監(jiān)控系統(tǒng)
2 系統(tǒng)硬件設(shè)計(jì)
2.1 應(yīng)用芯片簡介
Freescale公司推出的MCl3213是一款可以搭建符合IEEE802.15.4標(biāo)準(zhǔn)的2.4 GHz低功耗收發(fā)器平臺的集成MCU。它通過內(nèi)部SPI連接RF和HCS08,具有低功耗、高集成度等優(yōu)點(diǎn),同時擁有豐富的外部接口資源。
LM75A是具有高速I2C總線接口的集成數(shù)字溫度傳感器,內(nèi)部Temp寄存器存放一個11位二進(jìn)制數(shù)的補(bǔ)碼,用來在-55~+125℃的溫度范圍內(nèi)實(shí)現(xiàn)0.125℃的精度。
FT232BL是一款USB接口轉(zhuǎn)換芯片,實(shí)現(xiàn)USB到串行UART接口的轉(zhuǎn)換,有多種電路設(shè)計(jì)方式,配合使用EEPROM可存儲USB VID、PID等產(chǎn)品描述信息。
LCDl602是一款內(nèi)嵌驅(qū)動及字符的液晶顯示模塊。由于MCl3213的I/O數(shù)目的限制,其采用4線數(shù)據(jù)的連接方式,將8位數(shù)據(jù)分兩次各4位地間接傳送。
SP3220E為TTL轉(zhuǎn)RS-232的電平轉(zhuǎn)換芯片。
2.2 硬件電路設(shè)計(jì)
圖3為硬件電路的邏輯結(jié)構(gòu)圖。
針對系統(tǒng)的低功耗及低成本,根據(jù)所要實(shí)現(xiàn)的功能在圖3的基礎(chǔ)上進(jìn)行篩選。ZED、ZR、ZC分別采用不同的設(shè)計(jì)電路,其篩選組合的方式如表1所列。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 軟件設(shè)計(jì)思想
為了實(shí)現(xiàn)溫度監(jiān)控與空間定位的功能,系統(tǒng)網(wǎng)絡(luò)中的各類設(shè)備須相互通信、協(xié)調(diào)合作。軟件設(shè)計(jì)思想如圖4所示。ZED利用攜帶的LM75A周期性地檢測生產(chǎn)現(xiàn)場的溫度,然后在LCDl602上實(shí)時顯示溫度信息以供現(xiàn)場操作,并向ZR和ZC發(fā)送溫度數(shù)據(jù);ZR主要是度量接收ZED數(shù)據(jù)的RSSI/LQI值,并發(fā)送給ZC以達(dá)到對ZED空間定位的目的;ZC接收來自ZED及ZR的數(shù)據(jù),通過USB/RS-232接口與上位機(jī)VB程序及Internet,網(wǎng)絡(luò)通信,利用上位機(jī)監(jiān)控軟件或遠(yuǎn)程網(wǎng)絡(luò),集中在線對整個ZigBee網(wǎng)絡(luò)的協(xié)調(diào)和ZED生產(chǎn)現(xiàn)場進(jìn)行安全溫度的監(jiān)控。
3.2 溫度檢測程序的設(shè)計(jì)
LM75A內(nèi)部A/D每隔100 ms執(zhí)行一次溫度一數(shù)字的轉(zhuǎn)換,并將轉(zhuǎn)換得到的11位二進(jìn)制數(shù)的補(bǔ)碼數(shù)據(jù)存放進(jìn)Temp寄存器中,從而實(shí)現(xiàn)0.125 ℃的溫度精度。系統(tǒng)需要注意讀取LM75A溫度數(shù)據(jù)的頻率,并且應(yīng)將讀取Temp中的數(shù)據(jù)轉(zhuǎn)換成實(shí)際真實(shí)的溫度值。
若Temp數(shù)據(jù)的MSB位D10=O,則溫度是一個正數(shù):
溫度=(Temp中的數(shù)據(jù))×O.125℃ (1)
若Temp數(shù)據(jù)的MSB位D10=1,則溫度是一個負(fù)數(shù):
溫度=(Temp中的數(shù)據(jù)二進(jìn)制補(bǔ)碼)×O.125℃ (2)
為了兼顧現(xiàn)場顯示與遠(yuǎn)程監(jiān)控,ZED依據(jù)式(1)、(2)利用C語言的移位等命令獲得實(shí)際溫度值,并在LCDl602上實(shí)時顯示(當(dāng)現(xiàn)場溫度超過設(shè)定的安全范圍時,蜂鳴器報警),而直接讀取Temp的兩個字節(jié)發(fā)送至ZigBee網(wǎng)絡(luò)中。
3.3 空間定位的實(shí)際數(shù)學(xué)模型
為了獲得LQI值與距離d之間的數(shù)學(xué)關(guān)系,系統(tǒng)需要對不同的d測量大量接收數(shù)據(jù)的LQI值。以一片開闊的籃球場作為實(shí)驗(yàn)基地,利用卷尺等工具在0~64 m范圍內(nèi)測量LQI值。在相同的d距離下連續(xù)測量不同方向的60組數(shù)據(jù),并將10個最值濾波舍去,求平均值作為該距離d的LQI。然后,利用Matlab軟件對各距離下的LQI-d數(shù)值進(jìn)行一個分段對數(shù)函數(shù)的曲線擬合,求得實(shí)際數(shù)學(xué)模型。擬合曲線如圖5所示。
由于實(shí)測LQI值易受干擾,波動性較大不穩(wěn)定,因此對ZED空間定位時在一個周期內(nèi)連續(xù)測量24組數(shù)據(jù),然后濾去4個最值求取平均值作為定位的LQI。為了提高系統(tǒng)的速度和穩(wěn)定性,定位應(yīng)用程序根據(jù)式(3)在上位機(jī)中采用VB語言進(jìn)行編寫,從而減輕了ZigBee網(wǎng)絡(luò)的數(shù)據(jù)處理負(fù)擔(dān)。
評論