摘要:針對(duì)傳統(tǒng)溫濕度測(cè)量中的缺點(diǎn),設(shè)計(jì)了以低功耗msp430單片機(jī)為控制核心,利用溫濕度一體傳感器sht11進(jìn)行溫濕度信號(hào)的采集,結(jié)合無線傳輸模塊nrf24l01對(duì)數(shù)據(jù)進(jìn)行無線傳輸?shù)臏貪穸葴y(cè)試系統(tǒng),并在可靠可信、微功耗的基礎(chǔ)上能很好地滿足實(shí)際應(yīng)用要求。
隨著科技的進(jìn)步和現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展,溫度和濕度的測(cè)量和控制對(duì)人類日常生活、工業(yè)生產(chǎn)、氣象預(yù)報(bào)、物資倉儲(chǔ)等都將起著越來越重要的作用。在傳統(tǒng)的溫濕度測(cè)量中,分別采用溫度傳感器和濕度傳感器采集溫度和濕度信號(hào),并通過布置大量的電纜或?qū)Ь€進(jìn)行有線傳輸。在多測(cè)點(diǎn)的情況下,這種方法無疑大大增加了成本和系統(tǒng)設(shè)計(jì)的復(fù)雜性,同時(shí)安裝拆卸繁瑣,不靈活,信號(hào)容易受到干擾。因此,本次設(shè)計(jì)運(yùn)用了數(shù)字式溫濕度一體傳感器sht11,能夠同時(shí)采集溫度和濕度信號(hào),并直接輸出數(shù)字信號(hào);采用無線收發(fā)一體射頻模塊nrf24l01,對(duì)數(shù)據(jù)進(jìn)行無線傳輸;采用msp430單片機(jī)設(shè)計(jì)低功耗采集存儲(chǔ)電路。
1、系統(tǒng)總體結(jié)構(gòu)和工作原理
本次設(shè)計(jì)的無線溫濕度監(jiān)控系統(tǒng)有上位機(jī)子系統(tǒng)和下位機(jī)子系統(tǒng)兩個(gè)部分組成。上位機(jī)子系統(tǒng)由主控芯片msp430單片機(jī)、無線射頻接收模塊、天線、液晶顯示模塊、電源模塊、時(shí)鐘模塊、串口通信模塊、終端設(shè)備等組成。上位機(jī)子系統(tǒng)原理框圖如圖1所示;下位機(jī)子系統(tǒng)由主控芯片msp430單片機(jī)、溫濕度傳感器、無線射頻發(fā)射模塊、天線、電源模塊以及時(shí)鐘模塊等組成。下位機(jī)子系統(tǒng)原理框圖如圖2所示。
在下位機(jī)子系統(tǒng)中,由數(shù)字溫濕度傳感器sht11分別對(duì)溫度和濕度信號(hào)進(jìn)行實(shí)時(shí)采集,在主控芯片msp430單片機(jī)的控制下通過無線發(fā)送模塊nrf24l01將溫濕度數(shù)字信號(hào)發(fā)送到上位機(jī)子系統(tǒng);在上位機(jī)子系統(tǒng)中,在msp430主控單元的作用下,通過無線射頻接收模塊接收下位機(jī)子系統(tǒng)發(fā)送過來的溫濕度數(shù)字信號(hào),一方面通過液晶顯示模塊實(shí)時(shí)顯示接收到的溫濕度數(shù)值,一方面通過串口通信模塊與終端設(shè)備進(jìn)行通信,在終端設(shè)備中利用軟件讀取數(shù)據(jù)并繪制曲線。
2、系統(tǒng)硬件電路設(shè)計(jì)
2.1微控制器的選擇
msp430系列單片機(jī)是美國德州儀器(ti)公司推出的一種16位超低功耗的混合信號(hào)處理器。它的電源電壓采用1.8~3.6v低電壓,ram數(shù)據(jù)保持方式下耗電僅為0.1μa,活動(dòng)模式耗電為250μa/mips,i/o輸入端口的漏電流zui大僅為50na。此外,它共有一種活動(dòng)模式和5種低功耗模式。msp430具有強(qiáng)大的處理能力、高性能模擬技術(shù)及豐富的片上外圍模塊。由于本次設(shè)計(jì)的測(cè)試系統(tǒng)需要長(zhǎng)期在測(cè)試環(huán)境中采集溫濕度信號(hào),并利用電池供電,所以低功耗的要求就必須考慮。
2.2溫濕度傳感器
sht11是一款高度集成的溫濕度傳感器芯片,它采用的cmosens技術(shù),提供全量程標(biāo)定的數(shù)字輸出;由于采用了優(yōu)化的集成電路形式使其具有*的可靠性與的長(zhǎng)期穩(wěn)定性。該傳感器包括一個(gè)電容性聚合體濕度敏感元件和一個(gè)用能隙材料制成的溫度敏感元件,并在同一芯片上與14位的a/d轉(zhuǎn)換器以及串行接口電路實(shí)現(xiàn)無縫連接。每個(gè)傳感器芯片都在極為準(zhǔn)確的濕度腔室中以鏡面冷凝式濕度計(jì)為參照進(jìn)行標(biāo)定;兩線制的串行接口與內(nèi)部的電壓調(diào)整,使外圍系統(tǒng)集成變得快速而簡(jiǎn)單。sht11具有體積微小、功耗極低、抗*力強(qiáng)、響應(yīng)快速等優(yōu)點(diǎn)。
2.3nrf24l01無線傳輸模塊
nrf24l01是一款新型單片射頻收發(fā)一體器件,工作于2.4~2.5ghzism頻段。其內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型shockburst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置。nrf24l01功耗很低,在-6dbm的功率發(fā)射時(shí),工作電流只有9ma;接收模式時(shí),工作電流只有12.3ma;有掉電模式和待機(jī)模式兩種低功率工作模式使節(jié)能設(shè)計(jì)更方便。nrf24l01采用gfsk調(diào)制,具有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能,片內(nèi)自動(dòng)生成報(bào)頭和crc校驗(yàn)碼的特性。
2.4spi連接
msp430單片機(jī)與nrf24l01無線收發(fā)模塊之間利用同步串行口spi進(jìn)行雙向通信。nrf24l01的spi總線有sck(spi時(shí)鐘)、miso(主入從出)、mosi(主出從入)、csn(spi使能)。
msp430通過控制pwr_up、prim_rx以及ce3個(gè)引腳的高低電平使nrf24l01分別處于發(fā)射模式、接收模式、待機(jī)模式以及掉電模式,iro是中斷標(biāo)志位。msp430與nrf24l01的連接圖如圖3所示。
3、系統(tǒng)的軟件設(shè)計(jì)
3.1無線發(fā)送模式流程
1)mcu控制引腳ce為低,使nrf24l01進(jìn)入待機(jī)模式i,配置其寄存器:
2)當(dāng)mcu有數(shù)據(jù)要發(fā)送時(shí),接收節(jié)點(diǎn)地址(tx_addr)和有效數(shù)據(jù)(tx_pld)通過spi接口寫入nrf24l01,當(dāng)csn為低時(shí)數(shù)據(jù)被不斷地寫入。發(fā)送端發(fā)送完數(shù)據(jù)后,將通道0設(shè)置為接收模式來接收應(yīng)答信號(hào),其接收地址(rx_addr_p0)與接收端地址(tx_addr)相同;
3)設(shè)置prim_rx為低、ce為高,啟動(dòng)發(fā)射模塊,ce高電平持續(xù)時(shí)間zui小為10μs;
4)nrf24l01shockburst發(fā)送模式:無線系統(tǒng)上電、啟動(dòng)內(nèi)部16mhz時(shí)鐘、無線發(fā)送數(shù)據(jù)打包、高速發(fā)送數(shù)據(jù);
5)數(shù)據(jù)發(fā)送完后,立即進(jìn)入接收模式。如果在有效應(yīng)答時(shí)間范圍內(nèi)收到應(yīng)答信號(hào),則認(rèn)為數(shù)據(jù)成功發(fā)送到了接收端,此時(shí)狀態(tài)寄存器的tx_ds位置高并把數(shù)據(jù)從tx_fifo中清除掉;如果在設(shè)定時(shí)間范圍內(nèi)沒有接收到應(yīng)答信號(hào),則重新發(fā)送數(shù)據(jù),如果自動(dòng)重發(fā)計(jì)數(shù)器溢出,則狀態(tài)寄存器的max_rt位置高,不清除tx_fifo中的數(shù)據(jù)。當(dāng)max_rt或tx_ds為高電平時(shí)irq引腳產(chǎn)生中斷,irq中斷通過寫狀態(tài)寄存器來復(fù)位。如果重發(fā)次數(shù)在達(dá)到設(shè)定的zui大重發(fā)次數(shù)時(shí)還沒有收到應(yīng)答信號(hào)的話,在max_rx中斷清除之前不會(huì)重發(fā)數(shù)據(jù)包,數(shù)據(jù)包丟失計(jì)數(shù)器(plos_cnt)在每次產(chǎn)生max_rt中斷后加一;
6)如果ce置低,則系統(tǒng)進(jìn)入待機(jī)模式i,如果不設(shè)置ce為低,則系統(tǒng)會(huì)發(fā)送tx_fifo寄存器中下一包數(shù)據(jù),如果tx_fifo寄存器為空且ce為高則系統(tǒng)進(jìn)入待機(jī)模式ii;
7)如果系統(tǒng)在待機(jī)模式ⅱ,當(dāng)ce置低后系統(tǒng)立即進(jìn)入待機(jī)模式i。
nrf24l01的發(fā)送模式的程序流程圖如圖4所示。
3.2無線接收模式流程
1)mcu將nrf24l01的ce引腳置低,使其進(jìn)入待機(jī)模式i,并對(duì)其寄存器進(jìn)行配置;
2)將pwr_up、prim_rx、ce引腳置高,使nrf24l01進(jìn)入接收模式;
3)130μs后nrf24l01開始檢測(cè)空中信息;
4)接收到有效的數(shù)據(jù)包后(地址匹配、crc校驗(yàn)正確),將數(shù)據(jù)存儲(chǔ)在rx_fifo中,同時(shí)rx_dr位置高,并產(chǎn)生中斷;
5)發(fā)送確認(rèn)信號(hào);
6)mcu設(shè)置ce腳為低,使nrf24l01進(jìn)入待機(jī)模式i;
7)mcu通過spi口以合適的速率將數(shù)據(jù)讀出。
nrf24l01的接收模式的程序流程圖如圖5所示。
4、結(jié)論
文中設(shè)計(jì)了一種低功耗、高可靠性的溫濕度測(cè)試系統(tǒng)。經(jīng)測(cè)試本系統(tǒng)在空曠環(huán)境下可靠通信距離達(dá)到220m,可以滿足實(shí)際測(cè)試需要。