摘要:設(shè)計基于DSP(Digital Signal Processor)和nRF24L01的無線環(huán)境監(jiān)測系統(tǒng),。系統(tǒng)的主控部件選用的是TMS320LF2407,,無線通信模塊選用的是nRF24L01。文中論述了系統(tǒng)各硬件模塊的選擇方案,,給出了各部分的軟件設(shè)計,。實驗表明,該系統(tǒng)可以實現(xiàn)對環(huán)境溫度,、光照強(qiáng)度等的無線監(jiān)測,。
關(guān)鍵詞:DSP;nRF24L01,;無線傳輸,;溫度傳感器,;光度傳感器
引言
目前,我國環(huán)境監(jiān)測設(shè)備已經(jīng)有了長足的發(fā)展,,例如應(yīng)用衛(wèi)星遙感技術(shù)進(jìn)行環(huán)境監(jiān)測,,采用GPRS系統(tǒng)對地下水監(jiān)測等,各種環(huán)境采樣器也更加精確,。但是大部分監(jiān)測站的儀器裝備技術(shù)含量較低,,功能單一,穩(wěn)定性和可靠性差,,多數(shù)小型儀器采用有線通信方式,,亟待更新?lián)Q代。而且,,我國在環(huán)境監(jiān)測儀器方面的自主開發(fā)能力較弱,,精密儀器的技術(shù)含量和工藝要求都比較高,使得目前大量的精密儀器無法實現(xiàn)本地化生產(chǎn),,主要依靠進(jìn)口,,這就導(dǎo)致了價格非常昂貴。
本文基于DSP和nRF24L01設(shè)計了一種無線環(huán)境監(jiān)測系統(tǒng),。該系統(tǒng)操作簡便,、測量迅速,、造價低廉,、便于攜帶,能滿足一定靈敏度和準(zhǔn)確度的要求,,且采用無線數(shù)據(jù)通信作為傳輸載體,,可應(yīng)用于蔬菜大棚、生產(chǎn)車間,、溫室,、礦井等場所的溫度、光度監(jiān)測與控制系統(tǒng),。
例如,,在蔬菜大棚中,蔬菜生長的適宜溫度為20~30℃,,大棚內(nèi)白天增溫快,,當(dāng)棚外平均氣溫為15℃時,棚內(nèi)可達(dá)40~50℃,,不利于蔬菜生長,。同樣,適當(dāng)?shù)墓庹諒?qiáng)度對植物體內(nèi)的硝酸鹽代謝起極為重要的作用,是決定植株硝酸鹽含量的主要因素之一,,但過弱或過強(qiáng)的光照也不利于蔬菜的生長,。因此,需要根據(jù)監(jiān)測值適時調(diào)節(jié)棚內(nèi)溫度,,以有效地避免不當(dāng)?shù)臏囟?、光照對蔬菜的危害?br />
1 方案論證
本無線環(huán)境監(jiān)測系統(tǒng)是由一個主站和兩個分站組成。主站由無線收發(fā)模塊,、信息處理模塊,、顯示模塊構(gòu)成,功能是無線發(fā)送分站的編號和命令,,并無線接收分站發(fā)送的信息,,同時顯示這些信息及分站的編號;分站由傳感器模塊,、編碼模塊,、信息處理模塊、顯示模塊和無線收發(fā)模塊構(gòu)成,,功能是采集溫度,、光照信息,顯示所測信息,,并將這些信息和自己的編號無線傳輸給主站,。系統(tǒng)結(jié)構(gòu)圖如圖1所示,。
1.1 主控模塊
本方案中主控模塊選擇TI公司的DSP芯片TMS320LF2407,。TMS320LF2407內(nèi)置10位(雙8路或單16路)A/D轉(zhuǎn)換器、看門狗定時器模塊,;有41個可獨立編程的數(shù)字I/O引腳,,絕大部分有復(fù)用功能;外設(shè)接口有串行通信SCI(Serial Communication Interface)與串行外設(shè)SPI(Serial Periphera1 Interface),;2個事件管理器EVA,、EVB可為所有類型電機(jī)提供控制技術(shù),為工業(yè)自動化方面的應(yīng)用奠定了基礎(chǔ),;2個16位通用定時器,3個具有死區(qū)功能的全比較單元,。
較MCS-51系列單片機(jī)而言,TMS320LF2407內(nèi)部有32 KB的Flash程序存儲器和2.5 KB的SRAM,更能滿足軟件對空間的要求,,且方便在線調(diào)試,。利用其內(nèi)置的10位A/D轉(zhuǎn)換器,,可以直接接溫度、光度傳感器模塊,,將測得的溫度值,、光照強(qiáng)度值等模擬量轉(zhuǎn)換為TMS320LF2407可以處理的數(shù)字信息,,避免了用MCS51進(jìn)行A/D擴(kuò)展帶來的麻煩。另外,,TMS320LF2407有41個可獨立編程的數(shù)字I/O引腳,絕大部分有復(fù)用功能,,更能滿足硬件對I/O口的需求,。使用TMS320LF2407的串行外設(shè)接口SPI,,可以直接和無線傳輸模塊nRF24L01提供的SPI接口相連,不需要軟件模擬SPI,。使用的開發(fā)環(huán)境是CCS3.0,,完全支持C語言,,方便程序編寫。
1.2 傳感器模塊
選用熱敏電阻來測量溫度,。其值較為準(zhǔn)確,靈敏度較高,;配合電橋使用,,工作溫度范圍寬,、體積小,使用方便,;電阻值可在0.1~100 kΩ間任意選擇,。與熱電偶相比,熱敏電阻價格低廉,;與DS18B20相比,熱敏電阻需要編寫的程序更加簡單,。
選用光敏電阻來測量光照。較光敏二極管,,光敏電阻更能顯示出光的強(qiáng)弱,;而且,,它能夠和熱敏電阻應(yīng)用到同一電路中。傳感器模塊電路如圖2所示,。
1.3 編碼模塊
選用跳線開關(guān)組成編碼模塊,。與普通開關(guān)組成編碼模塊相比較,,成本更加低廉。用兩列排針(各8位):一列排針接到TMS320LF2407的I/O口,,并經(jīng)過10 kΩ電阻接+5 V電源VCC,另一列排針接地,。兩列排針對應(yīng)的位用跳線帽相連時置0,,否則為1,。這樣可以設(shè)置分站的編號0~255,即本系統(tǒng)最多可以擴(kuò)展256個分站,,用來監(jiān)測不同地點的當(dāng)前環(huán)境溫度,、光度值,。
1.4 無線傳輸模塊
選用無線傳輸模塊nRF24L01。它是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片無線收發(fā)器芯片,,采用FSK調(diào)制,內(nèi)部集成自己的協(xié)議,,有自動應(yīng)答及自動重發(fā)功能、地址及CRC檢驗功能,可實現(xiàn)點對點或1對6的無線通信,,無線通信速度可達(dá)2 Mbps;而且,,電流消耗極低,,當(dāng)工作在發(fā)射模式下發(fā)射功率為-6 dBm時電流消耗為9 mA,,接收模式下為12.3 mA。nRF24L01與PT2262/2272相比,,不需要編碼和解碼,,程序簡單,;與nRF905相比,外圍元件更少,,不需要曼徹斯特編碼,;與nRF401相比,,價位更低。
TMS320LF2407只需為nRF24L01模塊預(yù)留6個I/O口,,分別與其6個控制和數(shù)據(jù)信號CSN,、SCK,、MISO、MOSI,、IRQ,、CE相連,。TMS320LF2407與nRF24L01的連接電路如圖3所示。
1.5 顯示模塊
選用型號為LG5011BSR的共陽極數(shù)碼管,,與液晶顯示器相比,價格低廉,。它由7段發(fā)光二極管組成,,共有10只引腳,。其中,,3、8引腳為共陽極,,其他引腳加低電平時對應(yīng)的二極管就會亮,,從而控制數(shù)碼管顯示相應(yīng)的數(shù)值,。
1.6 系統(tǒng)硬件結(jié)構(gòu)
傳感器模塊是信息采集的樞紐。如圖2所示,,電源電壓經(jīng)穩(wěn)壓管TL431穩(wěn)壓到2.5 V,,提供給由普通電阻和熱敏電阻組成的分壓電路,,以及普通電阻和光敏電阻組成的分壓電路。熱敏電阻分得的電壓通過TO輸出,,接TMS320LF2407的ADCIN0,;光敏電阻分得的電壓通過LO輸出,,接TMS320LF2407的ADCIN1。利用讀取A/D轉(zhuǎn)換后的結(jié)果,,并計算出對應(yīng)的溫度值和光線強(qiáng)度值,,經(jīng)查表輸出顯示。
無線傳輸模塊是數(shù)據(jù)傳輸?shù)暮诵?。如圖3所示,,TMS320LF2407通過6個I/O端口(IOPC0,IOPC1,,SPISIMO,,SPISOMI,SPICLK,,SPISTE),,依次與nRF24L01模塊的6個控制和數(shù)據(jù)信號IRQ、CE,、MOSI,、MISO、SCK,、CSN相連,。其中,,CSN為芯片的片選線,CSN為低電平時芯片工作,;SCK為芯片控制的時鐘線;SOMI為芯片控制數(shù)據(jù)線,;MOSI為芯片控制數(shù)據(jù)線;IRQ為中斷信號,,無線通信過程中DSP主要是通過SPI接口的SPISIM-O,、SPISOMI與nRF24L01進(jìn)行通信。CE為芯片的模式控制線,,在CSN為低的情況下,CE協(xié)同nRF24L01的CONFIG寄存器共同決定nRF24L01的狀態(tài),。
顯示模塊用TMS320LF2407的IOPB0,、IOPB1來模擬串行發(fā)送數(shù)據(jù)的過程,外接串入并出移位寄存器74LS164構(gòu)成,。當(dāng)需要顯示信息時,數(shù)據(jù)從IOPB0端在移位脈沖(由IOPB1輸出)的控制下逐位移入74LS164,,74LS164能將輸入的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸出到數(shù)碼管。這樣的設(shè)計不僅節(jié)省I/O口,,而且不占用串口資源,。編碼模塊通過IOPA0~I(xiàn)OPA7與DSP相連,。
2 軟件設(shè)計
系統(tǒng)的主站、分站程序流程如圖4所示,。主站程序主要包括初始化,、無線發(fā)射、無線接收,、數(shù)碼管顯示等部分;分站程序主要包括初始化,、無線發(fā)射,、無線接收,、數(shù)據(jù)采集,、數(shù)碼管顯示等部分。
2.1 初始化部分
將數(shù)據(jù)地址,、數(shù)據(jù)顯示區(qū)地址等內(nèi)容初始化為0,設(shè)置數(shù)據(jù)顯示區(qū)地址的內(nèi)容,,進(jìn)行數(shù)碼管顯示,以進(jìn)行系統(tǒng)自檢,。
2.2 無線發(fā)射部分
首先設(shè)置nRF24L01為發(fā)射模式(設(shè)置發(fā)射和接收節(jié)點地址),,使能自動應(yīng)答,,配置自動重發(fā)次數(shù),選擇通信頻率,,配置發(fā)射參數(shù),,選擇通道0有效數(shù)據(jù)寬度,,配置nRF24L01的基本參數(shù)以及切換工作模式;然后設(shè)置發(fā)射數(shù)據(jù),,啟動發(fā)射,,發(fā)射完數(shù)據(jù)后會自動轉(zhuǎn)入接收模式接收應(yīng)答信號,。
2.3 無線接收部分
首先設(shè)置接收模式(即寫接收節(jié)點地址),使能自動應(yīng)答,,通道0接收地址允許,,選擇通信頻率,,選擇通道0有效數(shù)據(jù)寬度,配置發(fā)射參數(shù),,配置nRF24L01的基本參數(shù)以及切換工作模式,;然后啟動接收,130μs后開始檢測空中數(shù)據(jù),,若收到,,則數(shù)據(jù)模塊會自動發(fā)射應(yīng)答信號。
2.4 數(shù)據(jù)采集部分
分站對溫度,、光照,、地址編號進(jìn)行采集,通過讀取I/O口得到地址編號的值,,通過讀取A/D來獲得溫度、光照的最初值,,經(jīng)過DSP處理后得到準(zhǔn)確的溫度,、光度值。
2.5 數(shù)碼管顯示部分
程序以模擬串口的方式實現(xiàn)數(shù)據(jù)顯示,,過程為:取一字節(jié)數(shù)據(jù),移一位數(shù)據(jù)到I/O口中,,通過置位另一I/O口高低電平來模擬時鐘信號,,即把數(shù)據(jù)一位一位地移到移位寄存器74LS164中,然后并行輸出到數(shù)碼管顯示數(shù)據(jù),。
3 調(diào)試分析
3.1 系統(tǒng)板硬件部分調(diào)試
系統(tǒng)板硬件部分調(diào)試主要是萬用表檢查電路通斷情況,,并測量部分關(guān)鍵引腳的電壓是否達(dá)到要求,。
3.2 環(huán)境溫度測量調(diào)試
首先,把標(biāo)準(zhǔn)溫度計和熱敏電阻同時放入冰水混合液中,,標(biāo)準(zhǔn)溫度計的示數(shù)為Y1,,根據(jù)基礎(chǔ)表值探測點顯示為X1。接著,,將它們放入沸水中,,標(biāo)準(zhǔn)溫度計的示數(shù)為Y2,根據(jù)基礎(chǔ)表值探測點顯示為X2,,得出比例系數(shù)K=(X2-X1)/(Y2-Y1)=2,。最后,在沸水和冰水混合液之間的溫度內(nèi),,測得標(biāo)準(zhǔn)溫度Yi(i=3,4,,…,,30)和探測點顯示值Xi(i=3,4,,…,,30)共28組,從而得到近似比例系數(shù)K=2±0.5,。再通過軟件部分進(jìn)行數(shù)據(jù)的校準(zhǔn),,建立溫度數(shù)據(jù)表。最終,,將溫度計和溫度傳感器置于同一環(huán)境下記錄測得的溫度值,如表1所列,。
3.3 環(huán)境光度測量調(diào)試
①將分站放置在燈光下,,從最亮逐漸調(diào)暗,當(dāng)暗到人眼看字有些費力時,,從LED數(shù)碼管上讀得的光度原始數(shù)據(jù)為195 lx,。
②將分站放置在自然光下,用手遮擋光度傳感器,,由亮到完全遮蔽,當(dāng)暗到幾乎無光線進(jìn)入時,,從LED數(shù)碼管上讀得的光度原始數(shù)據(jù)為198 lx,。
根據(jù)以上試驗結(jié)果,結(jié)合人們的習(xí)慣思維,,在程序上進(jìn)行了一些設(shè)計。用195減去測得的原始數(shù)據(jù),,值小于等于零時顯示為零,,光照越強(qiáng)顯示值越大,。
3.4 無線通信調(diào)試
首先進(jìn)行分站單發(fā)送信息,、主站單接收信息的調(diào)試,經(jīng)過一步步改進(jìn),,最終通信成功,。然后再進(jìn)行主站、分站(即發(fā)送又接收信息)的調(diào)試,,經(jīng)反復(fù)調(diào)試最終通信成功,。
結(jié)語
本文介紹的無線環(huán)境監(jiān)測系統(tǒng)的控制采用TMS320LF2407實現(xiàn)。TMS320LF2407內(nèi)部資源豐富,,既有A/D轉(zhuǎn)換器,,又有SPI、SCI,,省去了系統(tǒng)擴(kuò)展的麻煩;另外,I/O口比較多,,內(nèi)部存儲空間較大,,有利于系統(tǒng)功能擴(kuò)充。無線部分采用高度集成的nRF24L01器件,,大大簡化了系統(tǒng)硬件和軟件設(shè)計,減小了體積,,提高了系統(tǒng)工作的可靠性。
經(jīng)試驗驗證,,用編碼模塊可以設(shè)置分站的地址編號1~255,,并能實時采集到周圍環(huán)境的溫度和光照數(shù)據(jù),平均誤差控制在0.5℃以內(nèi),,溫度測量范圍在0~100℃,,各項數(shù)據(jù)都能通過數(shù)碼管清晰地顯示出來。光的有無還可通過一個發(fā)光二極管顯示,,有光時發(fā)光二極管滅,無光時發(fā)光二極管亮,。主站能準(zhǔn)確無誤地?zé)o線接收分站數(shù)據(jù),,距離50 m左右仍能無線通信,但響應(yīng)較慢,。該系統(tǒng)攜帶方便,,價格低廉,可應(yīng)用到狹小的環(huán)境,,可以隨意放置,;此外,還可再接入其他傳感器,,以測量更多的環(huán)境參數(shù)。