基于Arduino的ZigBee無線傳感節點的硬件設計
無線傳感器網絡是物聯網底層網絡的重要技術形式,它綜合了傳感器技術、信息處理技術和無線通信等技術。無線傳感器網絡節點作為無線傳感網絡的基本組成部分,它的性能優劣及實用性關系到整個網絡的工作效率和工作成本,因此高性能低成本的無線傳感節點成為無線傳感網絡設計的關鍵。目前傳統的無線傳感節點主要有兩種類型:一種是封裝好直接購買可用的節點如Micaz、TelosB節點;另一種是在特定芯片如CC2430、CC2530上自主設計制作的節點。前一種節點性能佳,但價格較貴且可定制性差,后一種節點,雖價格便宜,但開發工作量大,且可擴展的接口少。
Arduino是近年來快速流行起來的一種控制器,其硬件電路的核心是一個AVR芯片,整塊電路板在功能上與單片機開發板類似,但是Arduino板要比單片機開發板在功能上強大很多。ZigBee是一種短距離無線通信技術,它可以很好地解決物聯網中最后100 m的通信問題,并且已經廣泛地應用于智能交通、智能醫療、智能家居和工業自動化當中。本文針對現有的無線傳感網絡節點的發展現狀,從硬件角度著手,設計了一種基于Arduino的ZigBee無線傳感節點,它將Arduino軟硬件開源、接口豐富、容易上手、價格低廉、可根據應用需求實現個性化系統設計等特性與ZigBee技術傳輸延時較低、復雜度低、容量高、功率消耗極低、成本低廉等特性結合到一起,實現更具有實用性和更適用于物聯網的無線傳感網絡節點。
1 硬件整體設計
無線傳感網絡節點硬件電路包括處理器模塊、傳感器模塊、無線通信模塊及電源模塊。其中,電源部分為整個節點提供能量,其余3個均是耗能模塊。本文采用Arduino Uno R3功能板的電路作為硬件設計的基礎電路板,并結合實際需求在該電路基礎上進行組成部件的刪減和功能模塊的增加。Arduino Uno R3是Arduino USB接口系列的最新版本。其上的所有參考設計均是基于AVR芯片ATmega328的,二者的管腳是兼容的。
節點的各個模塊中,處理器模塊采用單片機ATmega328P—PU作為CPU對傳感數據進行采集、處理和傳輸,單片機ATmega16U2-MU作為轉換芯片實現USB接口數據與處理器串口數據的對接。傳感器模塊設為接口模式,沒有直接選定傳感器并將該傳感器連接到電路中。傳感器模塊接口包括數字信號接口和模擬信號接口。無線通信模塊采用Digi公司生產的XBee ZB模塊,XBee ZB模塊通過RX、TX串口與單片機進行數據通信。電源模塊采用電池供電和USB供電協作模式,為了避免電池供電和USB供電同時接入電路產生沖突,采用 FDN34 0P場效應管來實現電池供電和USB供電模式的自動切換。此外,節點還通過硬件輔助的形式控制傳感模塊和無線通信模塊的工作狀態,以降低節點的工作能耗。無線傳感網絡節點硬件系統結構框圖如圖1所示。
2 模塊設計
2.1 處理器模塊
節點硬件系統處理器模塊的元器件選型主要是基于Arduino Uno R3功能板。Arduino Uno R3電路板的主控芯片是ATmega328P—PU,USB轉串口芯片是ATmega16U2-MU。單片機ATmega328P—PU是一款高性能低功耗的AVR微控制器,它的工作電壓是1.8~5.5 V,片上包含32 kB的Flash、1 kB的EEPROM以及2 kB的SRAM,有6個模擬輸入接口,有14個數字輸入輸出接口且數字接口中有6個PWM模擬輸出接口,晶振頻率是16 MHz。這款單片機能夠完全滿足傳感節點的處理器需求。該單片機的外圍電路中,需要在5 V電源與管腳reset之間連接一個110歐姆的電阻,因為Arduino Uno R3提供自動復位設計,可以通過在主機上運行相應程序進行自動復位,但本節點的復位模式設計為外部電路觸發復位模式,所以需在管腳reset位置進行電路修改。另外,需要在ATmega328P—PU的XTAL1、XTAL2引腳之間接尺寸小、可靠性能佳的陶瓷振蕩子CSTCE16MOV53-R0,而不是接普通的16 M晶振。負責USB一串口數據轉換功能的AVR芯片ATmega16U2-MU內置有支持USB2.0的USB控制裝置,它支持數據的全速轉換,有控制、批量、中斷以及同步這4種工作模式。ATmega 16U2-MU外接16 MHz晶振,以此給芯片的內部PLL提供參考時鐘,使得內部PLL可以為USB全速轉換提供需要的48 MHz±0.25%參考時鐘。ATmega16U2-MU的PD2(RXD1)引腳接單片機ATmega3 28P—PU的TXD輸出串口,PD3(TXD1)接單片機ATmega 328P—PU的RXD輸入串口,以提供TTL電壓水平的串口收發信號。另外,ATmega16U2-MU芯片的D-引腳接USB接口的數據線D-,D+ 引腳接USB接口的數據線D+。
2.2 傳感器模塊
為了增強無線傳感節點的復用性,傳感器模塊電路設計中,未包含傳感器元件,而是采用接口形式連接傳感器元件,并為其提供工作電路。物聯網中常用的傳感器元件按輸出信號類型可分為模擬傳感器和數字傳感器,因此節點傳感器接口需包含這兩種數據接口。節點傳感器數字信號接口和模擬信號接口直接由處理器模塊核心芯片ATmega328P—PU的數字輸入輸出口和模擬輸入口引出。ATmega328P—PU共有14個數字輸入輸出接口,本節點的設計中,TXD、 RXD數字接口作串口,有兩路數字接口作串口狀態燈控制口,有一路數字接口作無線通信模塊工作模式控制口,有一路數字接口作傳感器工作模式控制口,還有一路數字接口作電源能量監測控制口,因此節點傳感器模塊中的傳感器數字接口共有7個,模擬數字接口共有6個。常用的傳感器模塊如DHT11溫濕度模塊、 HX711稱重傳感器模塊、BH1750FVI光照度傳感器模塊等,均可通過該通用接口與節點進行連接。
為了降低無線傳感節點的能耗,本節點設計傳感器數據進行周期性采集,即傳感器在采集一段時間的環境信息后進入休眠狀態,再經過固定的休眠時間后返回到工作狀態,從而降低傳感器元件對電源能量的消耗。這里的傳感器工作模式切換設計為單片機接口控制傳感器模塊電源通斷模式。單片機接口控制電源通斷功能通過三極管S8550驅動電路作開關、繼電器HK4100F作負載來實現。三極管S8550是一種常用的普通三極管,它是一種低電壓、大電流、小信號的PNP型硅材料三極管。繼電器HK4100F是一種價格低廉的6管腳電子控制器件,實際上是一種利用較小電流來控制較大電流的“自動開關”,它能夠在電路中提供自動調節、安全保護和轉換電路等功能,主要由鐵芯、線圈、銜鐵和觸點簧片組成。當電路在線圈兩端加上一定電壓后。線圈會流過一定的電流,從而產生電磁效應,于是銜鐵在電磁吸引力的作用下克服彈簧的反彈拉力與鐵芯吸合,從而使繼電器的內部動觸點與靜觸點(常開觸點)導通;當線圈兩端斷電后,線圈的電磁吸引力消失,銜鐵會在彈簧的反作用力下回到原來的位置,從而使繼電器的內部動觸點與原來的靜觸點(常閉觸點)導通,由此實現了外部電路的導通和切斷。
單片機接口控制傳感器模塊電源通斷具體的電路連接情況為,三極管S8550的基極經4.7 kΩ電阻與單片機ATmega328P—PU的一路數字接口連接,發射極與繼電器HK4100F內部線圈的一個外部引腳連接,集電極接地。繼電器 HK4100F常閉觸點的外部引腳接地,常開觸點的外部引腳接傳感器的工作電源正極。當單片機引腳輸出高電平時,三極管截止,繼電器線圈兩端無電位差,繼電器銜鐵釋放,常閉觸點導通,即傳感器電源關閉;當單片機引腳輸出低電平時,三極管飽和導通,繼電器銜鐵吸合,常開觸點閉合,即傳感器電源開啟。三極管截止瞬間,繼電器線圈中的電流無法突變為零,兩端會產生一個電壓較高的感應電動勢,有可能會擊穿三極管,因此需要在繼電器線圈兩端并聯一個常見的反向耐電壓為100 V的小信號二極管1N4148,以釋放瞬間感應電動勢,如此,既保護了三極管,也消除了感應電動勢對其他電路的干擾。單片機接口控制HK4100F線圈通斷電路原理如圖2所示。
2.3 無線通信模塊
本節點的無線通信模塊采用的是美國Digi公司生產的XBee ZB模塊,該模塊按照ZigBee協議設計并把ZigBee協議內置進片內Flash,其內部包含有全部的工作外圍電路以及完整的ZigBee協議棧,雖然體型小,但卻是一個功能完善的ZigBee收發器(具備接收器和發射器),它的工作模式是雙向半雙工式,可交替地發送或接收數據昀。XBeeZB模塊只需少量的功耗便可進行可靠的遠端數據傳輸。該模塊的室內傳輸距離為40米,室外傳輸距離為120米,發射功率為3 dBm,具有AT和API兩種配置模式且擁有專門的PC端配置軟件X—CUT,可直接在PC端對模塊進行發射功率、信道等網絡拓撲參數的配置,使用起來簡單快捷。XBee ZB模塊通過DOUT和DIN與處理器模塊中的單片機串口進行通信,DOUT接單片機ATmega32 8P—PU的RXD引腳,DIN接TXD引腳。該模塊的工作模式共有5種,分別是空閑模式、發送模式、接收模式、命令模式和睡眠模式。當XBee ZB模塊沒有接收或發送數據時,模塊進入空閑模式;當串行接收緩沖區內的串行數據已接收并打包準備好時,模塊自動退出空閑模式準備發送數據,進入發送模式;當天線接收到一個合法的RF數據包時,該數據將會轉送到串口發射緩沖區內,模塊進入接收模式;當命令模式字符序列形成時,模塊進入命令模式;當接收到休眠觸發時,模塊進入睡眠模式,XBee ZB僅支持終端節點睡眠模式觸發,且有管腳休眠和周期休眠兩種觸發模式。睡眠模式可大大降低模塊的能耗,XBee ZB模塊的管腳休眠觸發機制是:當休眠控制管腳Sleep_RQ處于高電平狀態時,模塊開啟睡眠模式;管腳處于低電平狀態時,模塊關閉睡眠模式。本節點設計使用單片機數字輸出口控制來實現XBeeZB模塊的正常工作模式與睡眠模式之間的切換,電路連接上,ATmega328P—PU的一路數字接口引腳與 XBee ZB模塊的Sleep_RQ管腳連接以控制Sleep_RQ管腳的電平狀態,再以軟件程序進行輔助,設置XBee ZB模塊進行周期性休眠,從而降低節點無線通信模塊的能耗。節點無線通信模塊電路連接框圖如圖3所示。
2.4 電源模塊
節點正常工作所需要的電壓有5 V和3.3 V。Arduino Uno R3電路中有3種供電方式,并且能夠自動選擇供電方式,這3種供電方式分別是:外部直流電源通過電源插座供電、USB接口供電以及電池連接電源連接器的 GND和VIN引腳供電,其中,電源插座供電和電池供電的輸入電壓范圍為7~12 V。本節點在Arduino Uno R3供電原理基礎上選擇鋰電池供電和USB接口供電兩種模式共同提供5 V工作電壓,節點電路的另一路工作電壓3.3 V則由穩壓管LP2985—33DBVR通過對5 V電壓進行轉換獲得。電源模塊電路中5 V電壓供電方式的自動選擇通過場效應管FDN340P實現,FDN340P是一種P溝道增強型絕緣柵場效應晶體管,具有輸入電阻高、噪聲小、功耗低、動態范圍大、無二次擊穿現象、安全工作區域寬等特點。節點電源供電電路中,一路鋰電池輸入VIN連接到穩壓管NCP1117ST50T3G的輸入端,另一路經二分之一分壓電路分壓后連接到電壓比較器的正輸入端V+,電壓比較器的負輸入端V-連接的參考電壓為3.3 V。電壓比較器的輸出Vo與場效應管FDN340P的柵極連接,USB電源線與場效應管FDN340P的漏極相連接,場效應管的源極作為電壓輸出端并與5 V電源線連接。當電源模塊僅有鋰電池供電時,5 V電源直接由穩壓管NCP1117ST50T3G輸出;當電源模塊僅有USB供電時,V+V-,Vo輸出高電位,FDN340P的柵極和源極之間的電位差為0,場效應管關斷,USB供電截止,僅鋰電池供電。另外,USB電源線信號并不與FDN340P場效應管的漏極直接連接,而是在二者之間連接了一個自恢復保險絲MF—MSMF050—2(500mA),MF—MSMF050—2是一種可重置的保險絲,它能夠為電路提供過電保護,當通過保險絲的電流超過500 mA時,保險絲斷開連接,從而保護了USB電路。電源模塊供電電路框圖如圖4所示。
實際應用中,節點的供電電源多是鋰電池,節點的正常工作依賴于鋰電池,因此電池余量的對實時監測就顯得格外重要。本節點使用DS2438智能鋰電池監測芯片作為監測鋰電池電池剩余容量的硬件裝置。DS2438為電池組提供了一系列有用的功能,包括有唯一的標識電池組的序列號,有內置的數字溫度傳感器因此電池組不再需要接熱敏電阻,有測量電池電壓和電流的內置A/D轉換器,有記錄電池電流流入流出總量的集成電流累加器,有運行時間記錄器,還有40字節的非易失EEPROM,主要用于儲存電池的一些重要參數如
電池化學類型、電池容量、電池充電方式以及電池組裝日期。DS2438芯片能夠自動采集當前電池的充放電狀態、溫度、電流、電壓以及剩余電量等數據,并存放到片上存儲器中。本節點中,DS2438芯片的DQ引腳與單片機的一路數字接口相連接,當芯片滿足工作條件時,開始進行電池信息采樣,等到DS2438 芯片采樣完成后,單片機再讀取DS2438的片上電流累加寄存器(ICA)中的數值并進行相應的數據處理,即可得到無線傳感節點供電鋰電池的當前剩余電量值。
3 結束語
節點設計實現了以Arduino開源平臺為基礎以ZigBee技術進行數據傳輸的無線傳感節點硬件系統。并分別給出了硬件系統處理器模塊、傳感器模塊、無線通信模塊以及電源模塊各部分的設計方法,從硬件選型到具體設計思路都一一作了闡述。該硬件系統具備低能耗、可連接通用傳感器、有電源電壓檢測功能等特點。此設計方案成本低廉、性能較高、經濟適用,符合設計初衷,且具有良好的應用前景,可應用于物聯網中,為監測物聯網環境參數提供了高性能低成本的無線傳感節點設計方案。
非常好我支持^.^
(39) 95.1%
不好我反對
(2) 4.9%
相關閱讀:
- [電子說] 超詳細!安信可BW16模組如何搭建Arduino開發環境? 2023-10-23
- [物聯網] 物聯網網絡設計實用的步驟和見解 2023-10-23
- [電子說] 智能離線語音識別全屋智能語音控制方案 2023-10-23
- [電子說] 安信可BW16模組如何搭建Arduino開發環境? 2023-10-21
- [電子說] 基于ZigBee技術的工業設備如何接入物聯網平臺 2023-10-21
- [電子說] TB-411-8A+高通濾波器產品概述 2023-10-20
- [電子說] 介紹一款高性能的Zigbee無線模塊--SUN-JN5169 Zigbee模塊 2023-10-19
- [電子說] 基于ZigBee網絡及WebOS云計算技術的智能家居安防系統設計案例 2023-10-18
( 發表人:方泓翔 )