冉玉梅
摘 要:基于無線的測(cè)溫測(cè)距實(shí)驗(yàn)系統(tǒng)選擇了典型的溫度傳感器和超聲波傳感器,文章使用nRF24L01和ZigBee兩種方式進(jìn)行無線傳輸數(shù)據(jù)實(shí)驗(yàn),利用Visual Basic實(shí)現(xiàn)上位機(jī)實(shí)驗(yàn)軟件功能,具有直觀性和交互性。通過方便的人機(jī)對(duì)話,學(xué)生可以完成4種實(shí)驗(yàn),根據(jù)實(shí)驗(yàn)結(jié)果圖形直觀感受傳感器性能指標(biāo)。該實(shí)驗(yàn)系統(tǒng)可以輔助教學(xué),用于課堂演示,提高課程的教學(xué)質(zhì)量。
關(guān)鍵詞:ZigBee;nRF24L01;溫度傳感器;超聲波傳感器
高校在開展“傳感器與檢測(cè)技術(shù)”教學(xué)時(shí),通常使用企業(yè)生產(chǎn)的實(shí)驗(yàn)平臺(tái),包括傳感器安裝臺(tái)、顯示與激勵(lì)源、傳感器符號(hào)及引線單元、處理電路單元等。除了費(fèi)用較高外,系統(tǒng)控制對(duì)象相對(duì)固定,控制方式較為單一,硬件和軟件不開放[1]。而隨著無線傳感器網(wǎng)絡(luò)的逐漸普及,將各類傳感器實(shí)時(shí)監(jiān)測(cè)的數(shù)據(jù),通過無線傳輸?shù)姆绞竭M(jìn)行收集,再通過上位機(jī)程序處理,即“無線”+“傳感”的模式將成為未來趨勢(shì)。為了讓學(xué)生更加直觀地認(rèn)識(shí)無線傳感模式,搭建了基于無線的測(cè)溫測(cè)距實(shí)驗(yàn)系統(tǒng)。
1 實(shí)驗(yàn)系統(tǒng)簡介
短距離無線通信包括無線編解碼芯片,無線數(shù)傳芯片,ZigBee,WiFi,藍(lán)牙,IrDA這些方式,本文選擇了無線數(shù)傳芯片和ZigBee兩種方式。我國傳感器產(chǎn)品開發(fā)涵蓋光敏、熱敏、力敏、氣敏、電壓敏、磁敏、濕敏、聲敏、射線敏、離子敏和生物敏等傳感器,系統(tǒng)選擇了常用的溫度傳感器和超聲波傳感器。系統(tǒng)包括4個(gè)實(shí)驗(yàn),分別為無線數(shù)傳芯片傳輸溫度傳感器數(shù)據(jù)、無線數(shù)傳芯片傳輸超聲波傳感器數(shù)據(jù)、ZigBee模塊傳輸溫度傳感器數(shù)據(jù)、ZigBee模塊傳輸超聲波傳感器數(shù)據(jù)。
系統(tǒng)主要由控制器、無線傳輸模塊、傳感器模塊和上位機(jī)軟件構(gòu)成。通過單片機(jī)連接無線傳輸模塊和傳感器,傳感器收集數(shù)據(jù),無線模塊發(fā)射端將數(shù)據(jù)發(fā)送到連接上位機(jī)的接收端,上位機(jī)軟件系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行處理并實(shí)時(shí)顯示。
系統(tǒng)對(duì)溫度傳感器、超聲波測(cè)距傳感器和單片機(jī)采用﹢5.0 V的電源供電,對(duì)無線模塊采用﹢3.3 V供電。軟件設(shè)計(jì)主要通過Keil4.0,IAR EW8051-8.1和Visual Basic6.0開發(fā)。
2 硬件設(shè)計(jì)
硬件系統(tǒng)由檢測(cè)模塊和無線傳輸模塊組成。無線數(shù)傳芯片通過芯片提供的接口進(jìn)行數(shù)據(jù)的傳輸,典型的數(shù)傳芯片有Si4432,nRF24L01,CC1100等,系統(tǒng)使用nRF2401L芯片。ZigBee是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議,CC2530是用于ZigBee的一個(gè)片上系統(tǒng)解決方案[2]。檢測(cè)模塊包括溫度傳感器和超聲波傳感器,溫度傳感器選擇的型號(hào)是DS18B20,測(cè)溫范圍在﹣55~﹢125 ℃,在常溫環(huán)境中實(shí)驗(yàn)測(cè)量時(shí),通常在15~40 ℃變化,系統(tǒng)通過圖形化顯示的數(shù)據(jù)也在此區(qū)間內(nèi)。超聲波傳感器選擇的型號(hào)是HC-SR04,可提供2~400 cm的非接觸式距離感測(cè)功能。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)針對(duì)單片機(jī)和上位機(jī),分別通過Keil4.0,IAR EW8051-8.1和Visual Basic6.0開發(fā)。對(duì)ZigBee設(shè)備,使用Z-Stack協(xié)議棧開發(fā),定義通信硬件和軟件在不同級(jí)如何協(xié)調(diào)工作[2]。為了實(shí)現(xiàn)Z-Stack代碼的公用,用戶需要添加幾個(gè)文件,編寫自己的任務(wù)處理函數(shù)。一個(gè)是主文件,存放具體的任務(wù)事件處理函數(shù);一個(gè)主文件的頭文件;一個(gè)是以O(shè)sal開頭的操作系統(tǒng)接口文件,專門存放任務(wù)處理函數(shù)數(shù)組tasksArr[]的文件。
在Visual Basic6.0中有一個(gè)名為Microsoft Communication Control的通信控件。通過對(duì)此控件的屬性和事件進(jìn)行相應(yīng)編程操作,可以實(shí)現(xiàn)串口通信,部分代碼如下。
MSComm1.OutBufferSize = 2
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.SThreshold = 1
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
MSComm1.InBufferCount = 0
根據(jù)軟件模塊化設(shè)計(jì)方法,將實(shí)驗(yàn)系統(tǒng)軟件功能模塊劃分為“選擇無線傳輸方式”模塊、“選擇傳感器類型”模塊、“選擇com端口”模塊、“選擇波特率”模塊、“選擇保存文件”模塊、“打開串口/關(guān)閉串口”模塊、“保存數(shù)據(jù)/停止保存”模塊、文字顯示模塊、圖形化數(shù)據(jù)演示模塊[3]。
4 實(shí)驗(yàn)設(shè)計(jì)舉例
4.1 無線數(shù)傳芯片的傳輸方式
以傳輸溫度傳感器數(shù)據(jù)為例,選擇nRF24L01芯片模塊,通過USB接口連接單片機(jī)和nRF24L01接收器。
運(yùn)行“基于無線的傳感器實(shí)驗(yàn)系統(tǒng)”軟件,“選擇無線傳輸方式”中單擊“無線數(shù)傳芯片”,“選擇傳感器類型”中單擊“溫度傳感器”,單擊“選擇com端口”下顯示的端口號(hào),“選擇波特率”中單擊“9600”,“選擇保存文件”中按照自己的存放路徑和存放文件名稱進(jìn)行修改。
按下單片機(jī)上的加電開關(guān),單擊“打開串口”。將不同溫度的熱源接近傳感器,傳感器收集到溫度值,nRF24L01芯片將這些數(shù)值傳遞到上位機(jī)軟件,以圖形、文本兩種方式顯示溫度,如圖1所示,“實(shí)時(shí)數(shù)據(jù)”中的數(shù)值和單片機(jī)上液晶顯示屏上數(shù)據(jù)一致。
單擊“保存數(shù)據(jù)”按鈕,經(jīng)過一段時(shí)間后,單擊“停止保存”按鈕,期間的數(shù)據(jù)將保存在“data.txt”文檔中,雙擊打開可瀏覽。單擊“關(guān)閉串口”,將單片機(jī)的加電開關(guān)關(guān)閉,完成本個(gè)實(shí)驗(yàn)的運(yùn)行過程。無線數(shù)傳芯片傳輸超聲波傳感器數(shù)據(jù)的實(shí)驗(yàn)過程與上述過程相似[4]。
4.2 ZigBee的傳輸方式
以ZigBee模塊傳輸超聲波傳感器數(shù)據(jù)為例,選擇ZigBee無線傳輸模塊,將超聲波傳感器安裝到CC2530發(fā)送端接口上,CC2530發(fā)送端模塊連接到移動(dòng)電源。
各項(xiàng)參數(shù)進(jìn)行相應(yīng)選擇后,打開CC2530模塊的加電開關(guān),單擊“打開串口”,將超聲波傳感器對(duì)準(zhǔn)不同的參照物,反饋的距離數(shù)據(jù)通過CC2530傳遞到上位機(jī),以圖形、文本顯示數(shù)據(jù)。ZigBee模塊傳輸溫度傳感器數(shù)據(jù)的實(shí)驗(yàn)過程與上述過程相似[5]。
一般的上位機(jī)通過手工方式選擇端口,先連接無線模塊,在“設(shè)備管理器”中查看占用的端口號(hào),再返回系統(tǒng)選擇相應(yīng)選項(xiàng),過程復(fù)雜效率低。本系統(tǒng)在運(yùn)行時(shí)通過代碼自動(dòng)搜索被占用的端口號(hào),顯示在選項(xiàng)菜單中,提高了工作效率[6]。
5 結(jié)語
基于模塊化的思想,設(shè)計(jì)并開發(fā)了基于無線的測(cè)溫測(cè)距實(shí)驗(yàn)系統(tǒng),在系統(tǒng)中使用了兩種傳感器和兩種無線傳輸方式。本實(shí)驗(yàn)系統(tǒng)具有可靠高效的優(yōu)點(diǎn)。4個(gè)實(shí)驗(yàn)項(xiàng)目直觀地展現(xiàn)了傳輸方式與傳感器之間的連接,圖形化展示了傳感器數(shù)據(jù)的變化,其設(shè)計(jì)目的是給學(xué)生提供實(shí)際動(dòng)手機(jī)會(huì),有利于學(xué)生加深對(duì)無線傳輸方法和常用傳感器的了解。