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