<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于A(yíng)rduino的ZigBee無(wú)線(xiàn)傳感節點(diǎn)的硬件設計

基于A(yíng)rduino的ZigBee無(wú)線(xiàn)傳感節點(diǎn)的硬件設計

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:針對傳統的成本高、可擴展性差等不足,提出一種基于開(kāi)源平臺及協(xié)議的系統??紤]到系統設計需求,首先給出該傳感節點(diǎn)系統的總體框架,然后對系統中的處理器模塊、傳感器模塊、無(wú)線(xiàn)通信模塊、電源模塊的設計給出了具體的方案。該硬件系統能夠實(shí)現高性能、低成本、低功耗的無(wú)線(xiàn)環(huán)境數據采集,較傳統方法更具有研究和應用價(jià)值。

本文引用地址:http://dyxdggzs.com/article/201610/306087.htm

關(guān)鍵詞:無(wú)線(xiàn)傳感節點(diǎn);硬件;;

無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是物聯(lián)網(wǎng)底層網(wǎng)絡(luò )的重要技術(shù)形式,它綜合了傳感器技術(shù)、信息處理技術(shù)和無(wú)線(xiàn)通信等技術(shù)。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)作為無(wú)線(xiàn)傳感網(wǎng)絡(luò )的基本組成部分,它的性能優(yōu)劣及實(shí)用性關(guān)系到整個(gè)網(wǎng)絡(luò )的工作效率和工作成本,因此高性能低成本的無(wú)線(xiàn)傳感節點(diǎn)成為無(wú)線(xiàn)傳感網(wǎng)絡(luò )設計的關(guān)鍵。目前傳統的無(wú)線(xiàn)傳感節點(diǎn)主要有兩種類(lèi)型:一種是封裝好直接購買(mǎi)可用的節點(diǎn)如Micaz、TelosB節點(diǎn);另一種是在特定芯片如CC2430、CC2530上自主設計制作的節點(diǎn)。前一種節點(diǎn)性能佳,但價(jià)格較貴且可定制性差,后一種節點(diǎn),雖價(jià)格便宜,但開(kāi)發(fā)工作量大,且可擴展的接口少。

是近年來(lái)快速流行起來(lái)的一種控制器,其硬件電路的核心是一個(gè)AVR芯片,整塊電路板在功能上與單片機開(kāi)發(fā)板類(lèi)似,但是Arduino板要比單片機開(kāi)發(fā)板在功能上強大很多。是一種短距離無(wú)線(xiàn)通信技術(shù),它可以很好地解決物聯(lián)網(wǎng)中最后100 m的通信問(wèn)題,并且已經(jīng)廣泛地應用于智能交通、智能醫療、智能家居和工業(yè)自動(dòng)化當中。本文針對現有的無(wú)線(xiàn)傳感網(wǎng)絡(luò )節點(diǎn)的發(fā)展現狀,從硬件角度著(zhù)手,設計了一種基于A(yíng)rduino的ZigBee無(wú)線(xiàn)傳感節點(diǎn),它將Arduino軟硬件開(kāi)源、接口豐富、容易上手、價(jià)格低廉、可根據應用需求實(shí)現個(gè)性化系統設計等特性與ZigBee技術(shù)傳輸延時(shí)較低、復雜度低、容量高、功率消耗極低、成本低廉等特性結合到一起,實(shí)現更具有實(shí)用性和更適用于物聯(lián)網(wǎng)的無(wú)線(xiàn)傳感網(wǎng)絡(luò )節點(diǎn)。

1 硬件整體設計

無(wú)線(xiàn)傳感網(wǎng)絡(luò )節點(diǎn)硬件電路包括處理器模塊、傳感器模塊、無(wú)線(xiàn)通信模塊及電源模塊。其中,電源部分為整個(gè)節點(diǎn)提供能量,其余3個(gè)均是耗能模塊。本文采用Arduino Uno R3功能板的電路作為硬件設計的基礎電路板,并結合實(shí)際需求在該電路基礎上進(jìn)行組成部件的刪減和功能模塊的增加。Arduino Uno R3是Arduino USB接口系列的最新版本。其上的所有參考設計均是基于A(yíng)VR芯片ATmega328的,二者的管腳是兼容的。

節點(diǎn)的各個(gè)模塊中,處理器模塊采用單片機ATmega328P—PU作為CPU對傳感數據進(jìn)行采集、處理和傳輸,單片機ATmega16U2-MU作為轉換芯片實(shí)現USB接口數據與處理器串口數據的對接。傳感器模塊設為接口模式,沒(méi)有直接選定傳感器并將該傳感器連接到電路中。傳感器模塊接口包括數字信號接口和模擬信號接口。無(wú)線(xiàn)通信模塊采用Digi公司生產(chǎn)的XBee ZB模塊,XBee ZB模塊通過(guò)RX、TX串口與單片機進(jìn)行數據通信。電源模塊采用電池供電和USB供電協(xié)作模式,為了避免電池供電和USB供電同時(shí)接入電路產(chǎn)生沖突,采用 FDN34 0P場(chǎng)效應管來(lái)實(shí)現電池供電和USB供電模式的自動(dòng)切換。此外,節點(diǎn)還通過(guò)硬件輔助的形式控制傳感模塊和無(wú)線(xiàn)通信模塊的工作狀態(tài),以降低節點(diǎn)的工作能耗。無(wú)線(xiàn)傳感網(wǎng)絡(luò )節點(diǎn)硬件系統結構框圖如圖1所示。

2 模塊設計

2.1 處理器模塊

節點(diǎn)硬件系統處理器模塊的元器件選型主要是基于A(yíng)rduino 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個(gè)模擬輸入接口,有14個(gè)數字輸入輸出接口且數字接口中有6個(gè)PWM模擬輸出接口,晶振頻率是16 MHz。這款單片機能夠完全滿(mǎn)足傳感節點(diǎn)的處理器需求。該單片機的外圍電路中,需要在5 V電源與管腳reset之間連接一個(gè)110歐姆的電阻,因為Arduino Uno R3提供自動(dòng)復位設計,可以通過(guò)在主機上運行相應程序進(jìn)行自動(dòng)復位,但本節點(diǎn)的復位模式設計為外部電路觸發(fā)復位模式,所以需在管腳reset位置進(jìn)行電路修改。另外,需要在A(yíng)Tmega328P—PU的XTAL1、XTAL2引腳之間接尺寸小、可靠性能佳的陶瓷振蕩子CSTCE16MOV53-R0,而不是接普通的16 M晶振。負責USB一串口數據轉換功能的AVR芯片ATmega16U2-MU內置有支持USB2.0的USB控制裝置,它支持數據的全速轉換,有控制、批量、中斷以及同步這4種工作模式。ATmega 16U2-MU外接16 MHz晶振,以此給芯片的內部PLL提供參考時(shí)鐘,使得內部PLL可以為USB全速轉換提供需要的48 MHz±0.25%參考時(shí)鐘。ATmega16U2-MU的PD2(RXD1)引腳接單片機ATmega3 28P—PU的TXD輸出串口,PD3(TXD1)接單片機ATmega 328P—PU的RXD輸入串口,以提供TTL電壓水平的串口收發(fā)信號。另外,ATmega16U2-MU芯片的D-引腳接USB接口的數據線(xiàn)D-,D+ 引腳接USB接口的數據線(xiàn)D+。

2.2 傳感器模塊

為了增強無(wú)線(xiàn)傳感節點(diǎn)的復用性,傳感器模塊電路設計中,未包含傳感器元件,而是采用接口形式連接傳感器元件,并為其提供工作電路。物聯(lián)網(wǎng)中常用的傳感器元件按輸出信號類(lèi)型可分為模擬傳感器和數字傳感器,因此節點(diǎn)傳感器接口需包含這兩種數據接口。節點(diǎn)傳感器數字信號接口和模擬信號接口直接由處理器模塊核心芯片ATmega328P—PU的數字輸入輸出口和模擬輸入口引出。ATmega328P—PU共有14個(gè)數字輸入輸出接口,本節點(diǎn)的設計中,TXD、 RXD數字接口作串口,有兩路數字接口作串口狀態(tài)燈控制口,有一路數字接口作無(wú)線(xiàn)通信模塊工作模式控制口,有一路數字接口作傳感器工作模式控制口,還有一路數字接口作電源能量監測控制口,因此節點(diǎn)傳感器模塊中的傳感器數字接口共有7個(gè),模擬數字接口共有6個(gè)。常用的傳感器模塊如DHT11溫濕度模塊、 HX711稱(chēng)重傳感器模塊、BH1750FVI光照度傳感器模塊等,均可通過(guò)該通用接口與節點(diǎn)進(jìn)行連接。

為了降低無(wú)線(xiàn)傳感節點(diǎn)的能耗,本節點(diǎn)設計傳感器數據進(jìn)行周期性采集,即傳感器在采集一段時(shí)間的環(huán)境信息后進(jìn)入休眠狀態(tài),再經(jīng)過(guò)固定的休眠時(shí)間后返回到工作狀態(tài),從而降低傳感器元件對電源能量的消耗。這里的傳感器工作模式切換設計為單片機接口控制傳感器模塊電源通斷模式。單片機接口控制電源通斷功能通過(guò)三極管S8550驅動(dòng)電路作開(kāi)關(guān)、繼電器HK4100F作負載來(lái)實(shí)現。三極管S8550是一種常用的普通三極管,它是一種低電壓、大電流、小信號的PNP型硅材料三極管。繼電器HK4100F是一種價(jià)格低廉的6管腳電子控制器件,實(shí)際上是一種利用較小電流來(lái)控制較大電流的“自動(dòng)開(kāi)關(guān)”,它能夠在電路中提供自動(dòng)調節、安全保護和轉換電路等功能,主要由鐵芯、線(xiàn)圈、銜鐵和觸點(diǎn)簧片組成。當電路在線(xiàn)圈兩端加上一定電壓后.線(xiàn)圈會(huì )流過(guò)一定的電流,從而產(chǎn)生電磁效應,于是銜鐵在電磁吸引力的作用下克服彈簧的反彈拉力與鐵芯吸合,從而使繼電器的內部動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))導通;當線(xiàn)圈兩端斷電后,線(xiàn)圈的電磁吸引力消失,銜鐵會(huì )在彈簧的反作用力下回到原來(lái)的位置,從而使繼電器的內部動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))導通,由此實(shí)現了外部電路的導通和切斷。

單片機接口控制傳感器模塊電源通斷具體的電路連接情況為,三極管S8550的基極經(jīng)4.7 kΩ電阻與單片機ATmega328P—PU的一路數字接口連接,發(fā)射極與繼電器HK4100F內部線(xiàn)圈的一個(gè)外部引腳連接,集電極接地。繼電器 HK4100F常閉觸點(diǎn)的外部引腳接地,常開(kāi)觸點(diǎn)的外部引腳接傳感器的工作電源正極。當單片機引腳輸出高電平時(shí),三極管截止,繼電器線(xiàn)圈兩端無(wú)電位差,繼電器銜鐵釋放,常閉觸點(diǎn)導通,即傳感器電源關(guān)閉;當單片機引腳輸出低電平時(shí),三極管飽和導通,繼電器銜鐵吸合,常開(kāi)觸點(diǎn)閉合,即傳感器電源開(kāi)啟。三極管截止瞬間,繼電器線(xiàn)圈中的電流無(wú)法突變?yōu)榱?,兩端?huì )產(chǎn)生一個(gè)電壓較高的感應電動(dòng)勢,有可能會(huì )擊穿三極管,因此需要在繼電器線(xiàn)圈兩端并聯(lián)一個(gè)常見(jiàn)的反向耐電壓為100 V的小信號二極管1N4148,以釋放瞬間感應電動(dòng)勢,如此,既保護了三極管,也消除了感應電動(dòng)勢對其他電路的干擾。單片機接口控制HK4100F線(xiàn)圈通斷電路原理如圖2所示。

2.3 無(wú)線(xiàn)通信模塊

本節點(diǎn)的無(wú)線(xiàn)通信模塊采用的是美國Digi公司生產(chǎn)的XBee ZB模塊,該模塊按照Z(yǔ)igBee協(xié)議設計并把ZigBee協(xié)議內置進(jìn)片內Flash,其內部包含有全部的工作外圍電路以及完整的ZigBee協(xié)議棧,雖然體型小,但卻是一個(gè)功能完善的ZigBee收發(fā)器(具備接收器和發(fā)射器),它的工作模式是雙向半雙工式,可交替地發(fā)送或接收數據昀。XBeeZB模塊只需少量的功耗便可進(jìn)行可靠的遠端數據傳輸。該模塊的室內傳輸距離為40米,室外傳輸距離為120米,發(fā)射功率為3 dBm,具有AT和API兩種配置模式且擁有專(zhuān)門(mén)的PC端配置軟件X—CUT,可直接在PC端對模塊進(jìn)行發(fā)射功率、信道等網(wǎng)絡(luò )拓撲參數的配置,使用起來(lái)簡(jiǎn)單快捷。XBee ZB模塊通過(guò)DOUT和DIN與處理器模塊中的單片機串口進(jìn)行通信,DOUT接單片機ATmega32 8P—PU的RXD引腳,DIN接TXD引腳。該模塊的工作模式共有5種,分別是空閑模式、發(fā)送模式、接收模式、命令模式和睡眠模式。當XBee ZB模塊沒(méi)有接收或發(fā)送數據時(shí),模塊進(jìn)入空閑模式;當串行接收緩沖區內的串行數據已接收并打包準備好時(shí),模塊自動(dòng)退出空閑模式準備發(fā)送數據,進(jìn)入發(fā)送模式;當天線(xiàn)接收到一個(gè)合法的RF數據包時(shí),該數據將會(huì )轉送到串口發(fā)射緩沖區內,模塊進(jìn)入接收模式;當命令模式字符序列形成時(shí),模塊進(jìn)入命令模式;當接收到休眠觸發(fā)時(shí),模塊進(jìn)入睡眠模式,XBee ZB僅支持終端節點(diǎn)睡眠模式觸發(fā),且有管腳休眠和周期休眠兩種觸發(fā)模式。睡眠模式可大大降低模塊的能耗,XBee ZB模塊的管腳休眠觸發(fā)機制是:當休眠控制管腳Sleep_RQ處于高電平狀態(tài)時(shí),模塊開(kāi)啟睡眠模式;管腳處于低電平狀態(tài)時(shí),模塊關(guān)閉睡眠模式。本節點(diǎn)設計使用單片機數字輸出口控制來(lái)實(shí)現XBeeZB模塊的正常工作模式與睡眠模式之間的切換,電路連接上,ATmega328P—PU的一路數字接口引腳與 XBee ZB模塊的Sleep_RQ管腳連接以控制Sleep_RQ管腳的電平狀態(tài),再以軟件程序進(jìn)行輔助,設置XBee ZB模塊進(jìn)行周期性休眠,從而降低節點(diǎn)無(wú)線(xiàn)通信模塊的能耗。節點(diǎn)無(wú)線(xiàn)通信模塊電路連接框圖如圖3所示。

2.4 電源模塊

節點(diǎn)正常工作所需要的電壓有5 V和3.3 V。Arduino Uno R3電路中有3種供電方式,并且能夠自動(dòng)選擇供電方式,這3種供電方式分別是:外部直流電源通過(guò)電源插座供電、USB接口供電以及電池連接電源連接器的 GND和VIN引腳供電,其中,電源插座供電和電池供電的輸入電壓范圍為7~12 V。本節點(diǎn)在A(yíng)rduino Uno R3供電原理基礎上選擇鋰電池供電和USB接口供電兩種模式共同提供5 V工作電壓,節點(diǎn)電路的另一路工作電壓3.3 V則由穩壓管LP2985—33DBVR通過(guò)對5 V電壓進(jìn)行轉換獲得。電源模塊電路中5 V電壓供電方式的自動(dòng)選擇通過(guò)場(chǎng)效應管FDN340P實(shí)現,FDN340P是一種P溝道增強型絕緣柵場(chǎng)效應晶體管,具有輸入電阻高、噪聲小、功耗低、動(dòng)態(tài)范圍大、無(wú)二次擊穿現象、安全工作區域寬等特點(diǎn)。節點(diǎn)電源供電電路中,一路鋰電池輸入VIN連接到穩壓管NCP1117ST50T3G的輸入端,另一路經(jīng)二分之一分壓電路分壓后連接到電壓比較器的正輸入端V+,電壓比較器的負輸入端V-連接的參考電壓為3.3 V。電壓比較器的輸出Vo與場(chǎng)效應管FDN340P的柵極連接,USB電源線(xiàn)與場(chǎng)效應管FDN340P的漏極相連接,場(chǎng)效應管的源極作為電壓輸出端并與5 V電源線(xiàn)連接。當電源模塊僅有鋰電池供電時(shí),5 V電源直接由穩壓管NCP1117ST50T3G輸出;當電源模塊僅有USB供電時(shí),V+V-,Vo輸出高電位,FDN340P的柵極和源極之間的電位差為0,場(chǎng)效應管關(guān)斷,USB供電截止,僅鋰電池供電。另外,USB電源線(xiàn)信號并不與FDN340P場(chǎng)效應管的漏極直接連接,而是在二者之間連接了一個(gè)自恢復保險絲MF—MSMF050—2(500mA),MF—MSMF050—2是一種可重置的保險絲,它能夠為電路提供過(guò)電保護,當通過(guò)保險絲的電流超過(guò)500 mA時(shí),保險絲斷開(kāi)連接,從而保護了USB電路。電源模塊供電電路框圖如圖4所示。

實(shí)際應用中,節點(diǎn)的供電電源多是鋰電池,節點(diǎn)的正常工作依賴(lài)于鋰電池,因此電池余量的對實(shí)時(shí)監測就顯得格外重要。本節點(diǎn)使用DS2438智能鋰電池監測芯片作為監測鋰電池電池剩余容量的硬件裝置。DS2438為電池組提供了一系列有用的功能,包括有唯一的標識電池組的序列號,有內置的數字溫度傳感器因此電池組不再需要接熱敏電阻,有測

量電池電壓和電流的內置A/D轉換器,有記錄電池電流流入流出總量的集成電流累加器,有運行時(shí)間記錄器,還有40字節的非易失EEPROM,主要用于儲存電池的一些重要參數如

電池化學(xué)類(lèi)型、電池容量、電池充電方式以及電池組裝日期。DS2438芯片能夠自動(dòng)采集當前電池的充放電狀態(tài)、溫度、電流、電壓以及剩余電量等數據,并存放到片上存儲器中。本節點(diǎn)中,DS2438芯片的DQ引腳與單片機的一路數字接口相連接,當芯片滿(mǎn)足工作條件時(shí),開(kāi)始進(jìn)行電池信息采樣,等到DS2438 芯片采樣完成后,單片機再讀取DS2438的片上電流累加寄存器(ICA)中的數值并進(jìn)行相應的數據處理,即可得到無(wú)線(xiàn)傳感節點(diǎn)供電鋰電池的當前剩余電量值。

3 結束語(yǔ)

節點(diǎn)設計實(shí)現了以Arduino開(kāi)源平臺為基礎以ZigBee技術(shù)進(jìn)行數據傳輸的無(wú)線(xiàn)傳感節點(diǎn)硬件系統。并分別給出了硬件系統處理器模塊、傳感器模塊、無(wú)線(xiàn)通信模塊以及電源模塊各部分的設計方法,從硬件選型到具體設計思路都一一作了闡述。該硬件系統具備低能耗、可連接通用傳感器、有電源電壓檢測功能等特點(diǎn)。此設計方案成本低廉、性能較高、經(jīng)濟適用,符合設計初衷,且具有良好的應用前景,可應用于物聯(lián)網(wǎng)中,為監測物聯(lián)網(wǎng)環(huán)境參數提供了高性能低成本的無(wú)線(xiàn)傳感節點(diǎn)設計方案。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>