隨著人們對新鮮蔬菜需求的不斷提高以及土地資源的日漸緊缺,生產效率較高的溫室農業得到了迅速發展。溫室大棚內溫濕度等因素對農作物的生長有著直接影響,對溫室大棚內的溫度、濕度及二氧化碳等參數的檢測和控制至關重要。傳統的溫室數據采集工作大多是采用人工抄表或預先布線的有線采集方式。人工方式的缺點是工作量大、費用高、難以保障數據的實時性和有效性,而有線數據采集存在著布線費用高、測量節點位置變化時需要改變線路走向及長度等諸多不利因素。
文中采用無線傳感器網絡技術設計了一種溫室大棚溫度、濕度及二氧化碳參數測量系統,具有超低功耗、不需布線、測量節點移動方便等優點,克服了人工抄表和有線數據采集系統的諸多缺點。
1 硬件設計
無線傳感器網絡節點的電路原理圖如圖1所示。它主要由MCU控制單元、射頻收發單元、溫濕度傳感器、二氧化碳濃度傳感器構成。所有單元均采用低功耗器件,MCU采用中穎電子的具有休眠功能的SH79F64單片機,溫度和濕度測量單元采用SENSIRON公司的具有休眠功能的SHT75溫濕度傳感器,CO2濃度測量采用GSS公司的功率僅為3.5 mW的COZIR傳感器,射頻收發單元采用SILICON LABS公司的具有休眠功能的SI4432無線收發器。所有器件均采用3.3 V供電,便于電池集中供電。
圖1 無線測量節點的電路結構圖
上位機無線模塊硬件設計可采用類似結構,取消傳感器部分,增加SILICON LABS公司的CP2102單芯片USB與UART橋接單元,通過USB口連接PC機。PC通過USB接口給無線模塊供電。
1.1 MCU單元
MCU采用中穎電子生產的SH79F64低功耗單片機,SH79F64是一顆低功耗高性能8位芯片,SH79F64內嵌加強8051核,具有高速高效率特性。在同樣振蕩頻率下,較之傳統的8051芯片它具有運行更快速的優越特性。它保留了標準8051芯片的大部分特性。這些特性包括內置256字節RAM和3個16位定時器/計數器,2個EUART,外部中斷INT0和INT1.此外,SH79F64還集成了外部2776字節RAM(不包括LCD RAM),1路8位PWM輸出,外部中斷INT2和INT3,可兼容8052芯片的16位定時器/計數器(Timer3)和適合存儲程序和數據的64k字節flash以及1 k字節類EEPROM存儲器。
除具有普通單片機的功能,SH79F64還具有其他特點:
1)強大的處理能力 SH79F64雖然是8位單片機,但是機器周期為1個振蕩器周期,而傳統型51內核機器周期為12個振蕩器周期。其指令執行效率約為同頻率的傳統8051的8~10倍。另外還提供增強型的乘/除法指令,支持16 bitx8bit和16 bit÷8 bit運算,提供雙DPTR指針,用戶在使用查表,數據搬移等操作時會更方便。
2)豐富的數據存儲區域 SH79F64提供64 k字節FLASH ROM,每1 k字節為1個扇區(SECTOR),每個扇區可分別進行加密。如果沒有加密,每個扇區可分別單獨進行編程和擦除。整體擦除(MASS ERASE)可以擦除所有扇區。SH79F64的全部64 k BYTE都可用于存儲程序和數據,存放在FLASH ROM中的程序可以對不在同一扇區的FLASHROM編程(SSP模式),因此可以當作EEROM來使用。另外提供1 k字節的客戶信息區/類EEPRO M塊區用于存放用戶數據,每個扇區(SECTOR)為256字節。
3)高性能模擬技術及豐富的片上外圍模塊 SH79F64內部集成的有:3個16位定時/計數器T0、T1和T2,1個16位定時器T3,看門狗定時器,1路8位PWM定時器,4/5x40/39段LCD驅動器,EUART、IR、TWI和SPI等標準通信模塊,8通道10位AD轉換器,蜂鳴器輸出等。
4)超低功耗 其供電電壓為2.4~3.6 V,內建低電壓復位功能和低電壓檢測功能。系統可采用雙時鐘方式,支持兩種省電模式:IDLE模式和掉電模式。當系統時鐘采用高速時鐘,外圍模塊采用32 768 Hz時鐘時,掉電模式將停止CPU時鐘信號,用于定時器3的時鐘可以開啟,此時的工作電流不超過20μA.
MCU是無線測量節點的核心,在無事件發生時工作于掉電模式,當無線模塊收到數據時會通過IO口喚醒SH79F64進人活動工作狀態。SH79 F64功能豐富,編程方式靈活,完全可以滿足無線測量節點的設計需求。
1.2 無線收發單元
Si4432芯片是Silicon Labs公司推出的一款高集成度、低功耗、多頻段的EZRadioPRO系列無線收發芯片,早期生產的V2版本不太穩定,改進后的B1版本性能比較穩定。其工作電壓為1.8~3.6 V,20引腳QFN封裝(4 mmx4 mm),可工作在240~930 MHz的頻段;內部集成分集式天線、功率放大器、喚醒定時器、數字調制解調器、64字節的發送和接收數據FIFO,以及可配置的GPIO等。Si4432在使用時所需的外部元件很少,1個30 MHz的晶振、幾個電容和電感就可組成一個高可靠性的收發系統,設計簡單,且成本低。
Si4432的接收靈敏度達到-121 dB,可提供極佳的鏈路質量,在擴大傳輸范圍的同時將功耗降至最低;最小濾波帶寬達2.6 kHz,具有極佳的頻道選擇性;在240~930 MHz頻段內,不加外部功率放大器時的最大輸出功率就可達+20 dBm,設計良好時收發距離最遠可達2km.Si443 2可適用于無線數據通信、無線遙控系統、小型無線網絡、小型無線數據終端、無線抄表、門禁系統、無線遙感監測、水文氣象監控、機器人控制等諸多領域。
Si4432有多種工作模式,本設計用到其中的3種模式:發射模式,接收模式,睡眠模式。當芯片工作在睡眠模式時,外部晶振關閉,喚醒定時器采用內部的32.768 kHz晶振作為時鐘源,它每周期在nIRQ腳上產生一個低電平,這個信號可以通過外部中斷喚醒SH79F64,SH79F64通過SPI口讀取相關寄存器狀態就可發現Si4432是否收到前導碼或同步碼,從而決定是否讓Si4432進入接收狀態。Si4432在睡眠狀態時,電流僅為1μA。
為了防止射頻干擾,無線收發單元采用射頻板材單獨制版,并用金屬罩對其進行屏蔽。本文的設計方案中,GP1接單片機的INT0口,GP2接P5.1口,GP3接P0.6口,GP4接P0.6.GP5接P5.0。
圖2 射頻收發單元電路圖
1.3 低功耗傳感器單元
溫度和濕度測量單元采用SENSIRON公司的具有休眠功能的SHT75溫濕度傳感器,傳感器包括一個電容式聚合體測濕元件和一個能隙式測溫元件,并與一個14位的A/D轉換器以及串行接口電路在同一芯片上實現無縫連接。SHT75采用串行接口,它的分辨率可以根據現場的采集速率進行調整,一般情況下默認的測量分辨率分別為14 bit(溫度)、12bit(濕度),如果在高速采集中就可分別降至12 bit和8 bit,溫度的量程范圍:-40~123.8℃,濕度的量程范圍:0~100%RH.它操作比較簡單,只需用一組"啟動傳輸"時序,就能實現傳感器數據傳輸的初始化,同時,在測量和通訊結束后,SHT75會自動轉入休眠模式,這大大減少了功耗。
文中對SHT75采用3.3 V供電,SHT75的SCK腳接單片機的SCL口,DATA腳接單片機的SDA口。
CO2濃度測量采用GSS公司的COZIR-W-100型傳感器,其功耗僅3.5 mW,可溫度補償,濕度補償,以及感知白天黑夜的環境狀態。預熱時間僅10 s,量程100%.性能:1)功耗3.5 mW;2)峰值電流33 mA;3)平均電流小于1.1 mA;4)電源3.3 V;5)T90小于4 s;6)標準型號溫度范圍0~50℃(可擴展-25~55℃);7)濕度適用范圍0~95%RH;8)存儲溫度-30~+70℃;9)尺寸:傳感器18 mmx20 mm.
COZIR連接簡單,除了3.3 V電源和地線外,還有RX和TX引腳可直接連接單片機的UART口。所有的通信均使用ASCII碼,命令格式按照文獻的規定執行。傳感器有3種工作模式:命令模式(Command Mode),流模式(Streaming Mode)和查詢模式(Polling Mode)。
命令模式適用于從傳感器提取大批量數據時使用,此時傳感器處于停止測量狀態,其功耗小于3.5 mW.流模式是工廠默認模式,此時傳感器每秒產生2個測量數據,除了正處于測量的過程中以外,傳感器會及時處理收到的命令,所以傳感器在處理命令時可能會出現100 ms的延遲,這種工作模式的功耗為3.5 mW.查詢模式時傳感器并不產生數據,但是周期性的測量在后臺繼續,當傳感器收到讀取命令時,會將最近的測量值轉換成數據送出。查詢模式的功耗與查詢頻率有關,但是幾乎接近3.5mW.
文中將COZIR的通訊口接到單片機的EUART0口,COZIR工作在查詢模式(Polling Mode)。
2 軟件設計
軟件的開發環境為Keil uVision3,使用C51語言。系統的無線通信部分采用標準MODBUS協議,為點對多點的通信方式。主機采用同樣的電路,去除傳感器部分,增加USB與UART橋接芯片CP2102,通過USB口連接PC機。PC機在安裝Silicon Labs公司提供的免費驅動程序后,通過USB接口虛擬出一個COM口。從機為無線測量節點,每一個節點都擁有一個唯一的地址,工作方式為主站輪詢,從站監聽的方式。節點軟件的主要流程如圖3所示。
圖3 系統程序框圖
2.1 程序流程
系統初始化時,MCU進入掉電模式,Timer3選擇32768 kHz晶振作時鐘源,定時1 min中斷。Si4432進入睡眠模式,開啟Si4432的Wake-up Timer,定時31s.有兩個事件會將MCU喚醒:Timer3定時和Si4432的nIRO引起的外部中斷。
在Timer3的中斷服務子程序中做兩件工作:1)軟時鐘計時。由于系統對實時性要求不高,時鐘可以分鐘為最低計時單位。并且上位機可定期通過寫指令對時鐘進行校準;2)采集數據。從溫濕度傳感器和CO2濃度傳感器讀取數據并按規定格式存放在規定緩沖區,等待上位機讀取。
MCU的INT0設置為低電平觸發,連接Si4432的nIRQ腳,每31秒Si4432的Wake-up Timer使得nIRQ腳產生低電平,從而引發MCU外部中斷。在中斷服務子程序中MCU通過SPI口讀取Si4432的iswdet和ipreaval位,以判斷是否接收到前導碼或同步碼。若有,則命Si4432進入RX狀態,繼續接收數據并處理,否則回到休眠狀態。上位機要喚醒無線節點,需連續發40 s(大于31 s)喚醒信號,這對于供電充分的上位機來說不是問題。
2.2 通信協議
通信協議采用MODBUS協議的RTU傳輸模式。MODBUS協議是免費的用于工業現場的總線協議。在我國,MODBUS已經成為國家標準GB/T195 82-2008.可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質上傳送,如雙絞線、光纖、無線等。
在本系統中,主機(PC)直接面對的是虛擬COM口,因此可方便地采用MODBUS協議,主機界面可采用簡單的串口調試工具,如SSCOM等,也可以由用戶自行開發。通過USB口連接主機的無線節點與從機之間采用透明傳輸,由上向下傳輸數據前需增加喚醒過程。從機(無線測量節點)向上發送數據時,則按照MODBUS幀格式組建數據包連續發送。
MODBUS通信使用主--從技術,即僅一個設備(主設備)能初始化傳輸(查詢)。其他設備(從設備)根據主設備查詢提供的數據作出相應反應。主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一個消息作為回應,如果是以廣播方式查詢的,則不作任何回應。
在本系統中,通信地址的分配情況如下:
*電子標簽區 0x0000~0x00BF
*工作參數區 0x2000~0x2022
*實時數據區 0x3000~0x307A
其中電子標簽和工作參數位于MCU的類EEPROM區域,斷電情況下不會丟失。電子標簽用于存放無線節點的產品代碼等信息,工作參數用于存放無線節點的數據傳輸速率、頻段、無線發送功率等參數。實時數據區位于RAM區,在MCU掉電模式下能夠得到保存。實時數據的存放格式如表1所示。每次讀取的采樣數據和時間存放在兩個位置,一是地址0x3003-0x3008,二是沿地址0x3009-0x307A順序循環存放。
表1 實時數據的存放格式
3 結束語
文中設計的超低功耗大棚無線傳感器網絡系統硬件結構簡單,成本低,技術開發成熟,所采用的器件均為超低功耗器件,使得整個系統的功耗很低。由于大棚參數測量對實時性要求不高,無線節點的元器件大部分時間處于低功耗狀態,大大降低了系統的功耗。所采用的Si443 2無線收發器,在不增加外部功放電路的情況下,將其輸出功率設置為+20 dBm,在434 MHz頻段工作時,實測有效傳輸距離達600 m,誤包率低于1%,特別適用于分布面積較廣的大棚環境。該系統無線傳輸距離遠、無線測量節點功耗低,同樣適用于對實時性要求不高的倉庫環境監測等應用場合,具有較大的推廣價值和廣闊的市場前景。
-
無線傳感器
+關注
關注
15文章
770瀏覽量
98419 -
溫濕度傳感器
+關注
關注
5文章
581瀏覽量
35782 -
無線收發器
+關注
關注
1文章
79瀏覽量
24438
發布評論請先 登錄
相關推薦
評論