0 引言 溫濕度的測量在農業生產的大棚管理,倉庫糧食存儲管理,生產制造行業,氣象觀測,恒溫恒濕的空調房科研及日常生活中被廣泛應用?梢哉f溫濕度是影響日常的生產生活以及科研的一個很重要的因素。目前我國許多領域例如農業生產等仍采用測溫儀器與人工抄錄、管理相結合的傳統方法,這不僅效率低,而且會由于判斷失誤和管理不力造成很多嚴重損失。 系統以自帶SPI和兩線串行接口的低功耗單片機ATmega16L為控制芯片,采用nRF905芯片組成的無線收發節點,利用數字溫濕度傳感器SHT11 完成對環境的溫濕度測量系統。同時該系統留出MAX232接口以方便與PC機通訊,實現溫濕度的實時顯示以及監測功能。 1 系統描述 如圖1,圖2所示為低功耗溫濕度無線測量系統的發送和接收模塊的框圖。 其中圖1為無線發送模塊,以Atmega16L為主控制核心,控制溫濕度傳感器SHT11采集環境的溫濕度,然后利用nRF905無線傳輸模塊將采集到的溫濕度數據發送給溫濕度測量無線接收模塊進行相應處理。 圖2為溫濕度測量無線接收模塊,以Atmega16L為主控制核心,利用nRF905無線傳輸模塊接收溫濕度數據,然后利用MAX3232上傳給PC機,利用相關上位機軟件實時監測。 2 硬件電路設計 2.1 3.3 V供電電源模塊 本設計所需的電壓為3.3 V,故采用LM1117-3.3電源供電系統,如圖3所示。無線發送模塊以及溫濕度測量模塊使用的器件皆為低功耗器件。對發送端而言,可以采用5 V電池供電,很適合在野外等環境進行溫濕度測量采集。而接收端可以采用5 V開關電源供電。其核心部件LM1117-3.3是一個低壓差電壓調節器系列。壓差在1.2 V輸出,此時相應的負載電流為800 mA。 2.2 單片機控制電路 本設計采用高性能、低功耗的8位AVR微處理器ATmega16L作為控制芯片。 首先對于ATmega16L具有先進的RISC結構,大多數指令執行時間為單個時鐘周期,是具有最高MIPS/mW能力的8位單片機。此外它還具有512 B的E2PROM,可在掉電時存儲用戶信息,并采 用FLASH存儲技術,可使單片機的內部存儲單元能夠在線重復擦寫1 000次以上。 其次,Atmega16L的工作電壓范圍為2.7~5.5 V,具有睡眠模式,空閑模式,掉電模式以及省電模式,這些多樣的模式也使得Atmega16L成為低功耗產品的最佳控制芯片之一。 最后,Atmega16L提供二線數字串行接口SDA和SCL,接口簡單。支持主機和從機操作器件可以工作于發送器模式或接收器模式,并且支持多主機仲裁。 2.3 無線收發模塊 無線收發芯片采用挪威Nordic公司的單片無線收發器芯片nRF905。工作電壓為1.9~3.6 V,工作于433/868/915 MHz三個ISM頻道,最大數據速率為100 Kb/s。芯片內部集成了頻率合成器、接收解調器、功率放大器、晶體振蕩器和調制器。其主要特點是能夠自動處理報頭和CRC冗余校驗,而且可以直接通過 SPI接口來進行軟件配置。此外,其功耗非常低,以-10 dBm的輸出功率發射時電流只有11 mA,工作于接收模式時的電流為12.5 mA,并內建有空閑模式與關機模式,易于實現節能。 nRF905的應用電路如圖4所示。電路主要利用nRF905與外圍器件構成的電路組成無線發送接收電路,圖4展示的是用nRF905差分連接的環形天線圖。其中,nRF905模塊的SPI接口引腳MOSI,MISO,SCK引腳分別接Atmega16L的SPI接口引腳: PB5(MOSI),PB6(MISO),PB7(SCK)。nRF905的SPI接口工作于從機模式,并且利用環形天線發射信號。 為了充分利用能量,nRF905分別設定了兩種工作模式和兩種節能模式,分別由TRX_CE,TX_EN和PWR_UP三個引腳決定。因此,設計使用 Atmega16L的PA2~PA7連接至nRF905的控制檢測,用于切換模式以及配合通信。表1為nRF905的工作模式及相應功能。 2.4 溫濕度測量模塊 本設計的溫濕度測量所采用的是瑞士Sensiri2on公司生產的具有二線串行接口的單片全校準數字式新型相對濕度和溫度傳感器SHT11,SHT11可用來測量相對濕度、溫度和露點等參數,具有數字式輸出、免調試、免標定、免外圍電路及全互換等特點。 SHT11的濕度/溫度傳感器系統測量相對濕度的范圍是0~100%,分辨力達0.03%RH,最高精度為±2%RH。測量溫度的范圍是 -40~+123.8℃,分辨力為O.1℃。 SHT11傳感器默認的測量溫度和相對濕度的分辨率分別為14位和12位,通過狀態寄存器可降至12位和8位,并具有可靠的C2RC數據傳輸校驗功能。另電源電壓范圍為2.4~5.5 V;電流消耗。簻y量時為550 μA,平均為28 μA,休眠時為3μA。是低功耗產品的最佳選擇之一。 SHT11的應用電路如圖5所示,VDD與GND間通過O.1μF的去耦電容相連,且其I2C接口的SCK,DATA直接與Atmega16L的兩線串行接口通過4.7 kΩ上拉電阻SCL與SDA相連,用于數據的傳輸交換。 2.5 上位機接口電路 為了便于監控,引入上位機功能,并加入串口通信模塊。3.3 V到RS 232電平(±12 V)的專用轉換芯片MAX3232的外圍電路如圖6所示,其中五個電容均取O.1μF的典型值。串口DB9只用三根線,5端公共端接系統的地,2,3端分別是接收和發送端。DB9接口通過交叉串口線連到PC機上,這樣就可以完成硬件串行通信。 3 系統軟件設計 系統軟件設計包括溫濕度測量和無線收發兩個部分。 3.1 溫濕度測量 對于溫度和濕度,它們并非是急劇變化的物理量,溫濕度的變化往往是緩慢進行的,因此針對這個特點對于溫濕度的測量采集并非需要時時刻刻都在進行。而是每隔 T時間(T根據實際需要而定,本系統選用1 s)采集一次,其余時間由于低功耗的要求使得MCU處于休眠狀態。其程序流程如圖7所示。其中Atmega16L進入休眠狀態是通過對SE編程休眠使能,并且對SM 2.0編程后進入相應的省電模式狀態,然后通過定時器的計時中斷將Atmega16L喚醒,再進行測量以及數據傳輸。 3.2 無線收發 對于無線發送而言,在測量發送數據以后,應考慮到數據傳輸的可靠性,因此加上校驗功能,并且為防止偶然的發送失敗帶來的不良后果,采取定時等待,超時后重發,收到接收主機命令后才進入休眠的模式。具體流程圖如圖8所示。 對于接收端而言,所完成的任務是時刻檢測無線接收模塊,對于收到的數據進行校驗,如果正確收到數據則無線發送相關指令告知接收端,使其能夠盡快進入休眠省電模式,并且通過上位機顯示溫濕度;而接收到錯誤數據后不做任何處理,等待接收端再次發送數據。 相應的初始化程序如下: unsigned char RFConf[11]= { Ox00, //配置命令// 0x6C, //CH_NO,配置頻段在433.2 MHz OxOC,//輸出功率為10 dB,不重發,節電為正常模式 0x44, //地址寬度設置,為4 B 0x02,0x02, //接收發送有效數據長度為3 B 0xE0,0xE0,0xE0,0xE0, //接收地址 0x1E, //CRC充許,16位CRC校驗,外部時鐘信號使能,16 MHz晶振 }; for(unsigned char i=0;i<11;i++) SPDR=RFConf; //SPDR是Atmegal-16L的SPI數據寄存器,相應配置見數據手冊; 而實際操作過程中通過對nRF905發送與接收實現是通過以下命令實現: 寫發射數據命令:20H; 讀發射數據命令:21H; 寫發射地址命令:22H; 讀發射地址命令:23H; 讀接收數據命令:24H。 4 結語 該系統采用AVR系列低功耗單片機ATmega16L作為控制芯片,低功耗芯片nRF905作為無線收發模塊,設計并實現了基于數字溫濕度傳感器 SHT11的溫濕度無線測量系統,這些低功耗產品使得該系統耗電量小,并且又特別適合將該系統小型化,智能化,儀表化。無線發射功能又代替了人工抄表的繁瑣,使得本系統有著廣泛的應用前景。 作者:薛敏迪 東南大學 來源:現代電子技術 2010年第33卷第01期 |
Nordic是專業的射頻品牌,公司絕對優勢配合提供NRF24L01/NRF24L01+/NRF24LE1/NRF24LU1P/NRF905/NRF24AP2系列,在研發樣品階段需要樣品支持,試產階段需要少批量支持,大批量生產階段需要長期穩定供應,甚至協助做產品優化,請隨時聯系!13510620050 |