無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用(第2版) 課件 項(xiàng)目1-3 認(rèn)識(shí)無線傳感網(wǎng)絡(luò)、無線傳感網(wǎng)絡(luò)開發(fā)環(huán)境搭建、基礎(chǔ)射頻無線通信技術(shù)應(yīng)用設(shè)計(jì)_第1頁
無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用(第2版) 課件 項(xiàng)目1-3 認(rèn)識(shí)無線傳感網(wǎng)絡(luò)、無線傳感網(wǎng)絡(luò)開發(fā)環(huán)境搭建、基礎(chǔ)射頻無線通信技術(shù)應(yīng)用設(shè)計(jì)_第2頁
無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用(第2版) 課件 項(xiàng)目1-3 認(rèn)識(shí)無線傳感網(wǎng)絡(luò)、無線傳感網(wǎng)絡(luò)開發(fā)環(huán)境搭建、基礎(chǔ)射頻無線通信技術(shù)應(yīng)用設(shè)計(jì)_第3頁
無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用(第2版) 課件 項(xiàng)目1-3 認(rèn)識(shí)無線傳感網(wǎng)絡(luò)、無線傳感網(wǎng)絡(luò)開發(fā)環(huán)境搭建、基礎(chǔ)射頻無線通信技術(shù)應(yīng)用設(shè)計(jì)_第4頁
無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用(第2版) 課件 項(xiàng)目1-3 認(rèn)識(shí)無線傳感網(wǎng)絡(luò)、無線傳感網(wǎng)絡(luò)開發(fā)環(huán)境搭建、基礎(chǔ)射頻無線通信技術(shù)應(yīng)用設(shè)計(jì)_第5頁
已閱讀5頁,還剩139頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《無線傳感網(wǎng)絡(luò)技術(shù)與應(yīng)用》本講主題項(xiàng)目一認(rèn)識(shí)無線傳感網(wǎng)絡(luò)無線傳感器網(wǎng)絡(luò)的基本概念01無線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)02無線傳感器網(wǎng)絡(luò)的基本特點(diǎn)03典型短距離無線通信網(wǎng)絡(luò)技術(shù)04本講內(nèi)容無線傳感器網(wǎng)絡(luò)的基本概念PART01無線傳感器網(wǎng)絡(luò)(WirelessSensorNetwork,WSN)是一種全新的信息獲取平臺(tái),能夠?qū)崟r(shí)監(jiān)測和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)各種檢測對(duì)象的信息,并將這些信息發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn),以實(shí)現(xiàn)復(fù)雜的指定范圍內(nèi)目標(biāo)檢測與跟蹤。具有快速展開,抗毀性強(qiáng)等特點(diǎn),有著廣闊的應(yīng)用前景。無線傳感器網(wǎng)絡(luò)的基本概念無線傳感器網(wǎng)絡(luò)的基本概念計(jì)算機(jī)技術(shù)傳感器技術(shù)通信技術(shù)實(shí)時(shí)監(jiān)測、感知和采集用戶終端自組多跳的網(wǎng)絡(luò)方式微型傳感器物理世界計(jì)算機(jī)世界人類社會(huì)無線傳感器網(wǎng)絡(luò)的基本概念無線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)PART02監(jiān)控終端無線或有線網(wǎng)絡(luò)匯聚節(jié)點(diǎn)監(jiān)測區(qū)域傳感器節(jié)點(diǎn)無線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)傳輸層應(yīng)用層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層物理層物理層負(fù)責(zé)載波頻率產(chǎn)生、信號(hào)的調(diào)制解調(diào)等工作數(shù)據(jù)鏈路層負(fù)責(zé)錯(cuò)誤控制和介質(zhì)訪問協(xié)議(MAC)網(wǎng)絡(luò)層負(fù)責(zé)數(shù)據(jù)融合、路由發(fā)現(xiàn)、路由維護(hù)和路由選擇傳輸層負(fù)責(zé)數(shù)據(jù)流的傳輸控制一系列的應(yīng)用軟件無線傳感器網(wǎng)絡(luò)的基本特點(diǎn)PART03無線傳感器網(wǎng)絡(luò)的基本特點(diǎn)傳感器節(jié)點(diǎn)體積小,能量有限傳感器節(jié)點(diǎn)計(jì)算和存儲(chǔ)能力有限通信半徑小,帶寬低傳感器節(jié)點(diǎn)數(shù)量大且有自適應(yīng)性無中心和自組織網(wǎng)絡(luò)動(dòng)態(tài)性強(qiáng)以數(shù)據(jù)為中心的網(wǎng)絡(luò)典型短距離無線通信網(wǎng)絡(luò)技術(shù)PART04Wi-Fi藍(lán)牙ZigBeewirelessfidelityBluetooth典型短距離無線通信網(wǎng)絡(luò)技術(shù)無線傳感器網(wǎng)絡(luò)(wirelesssensornetworks,WSN)作為當(dāng)前在國際上備受關(guān)注的、涉及多學(xué)科高度交叉、知識(shí)高度集成的前沿?zé)狳c(diǎn)研究領(lǐng)域,目前主要的無線傳感網(wǎng)絡(luò)有以下幾種:無線傳感器網(wǎng)絡(luò)的類型一種可以將個(gè)人電腦、手持設(shè)備(如pad、手機(jī))等終端以無線方式互相連接的技術(shù),改善基于IEEE802.11標(biāo)準(zhǔn)的無線網(wǎng)路產(chǎn)品之間的互通性,很多人把使用IEEE802.11系列協(xié)議的局域網(wǎng)就稱為Wi-Fi。Wi-Fi無線傳感器網(wǎng)絡(luò)的類型工作在2.4GHz頻段,最早是愛立信公司在1994年開始研究的一種能使手機(jī)與其附件(如耳機(jī))之間相互通信的無線模塊,采用FHSS擴(kuò)頻方式,藍(lán)牙信道帶寬為1MHZ,異步非對(duì)稱連接最高數(shù)據(jù)速率為723.2kbit/s;連接距離一般小于10m。藍(lán)牙無線傳感器網(wǎng)絡(luò)的類型主要用于近距離無線連接,有自己的無線電標(biāo)準(zhǔn),有數(shù)千個(gè)微小的傳感器之間相互協(xié)調(diào)實(shí)現(xiàn)通信。這些傳感器只需要很少的能量,以接力的方式通過無線電波將數(shù)據(jù)從一個(gè)傳感器傳到另一個(gè)傳感器,通信效率非常高。ZigBee謝謝!項(xiàng)目二

無線傳感網(wǎng)絡(luò)開發(fā)環(huán)境搭建本章目錄任務(wù)2.1認(rèn)識(shí)NEWLab實(shí)訓(xùn)平臺(tái)任務(wù)2.2相關(guān)軟件的安裝任務(wù)2.3建立ZigBee開發(fā)環(huán)境【知識(shí)點(diǎn)小結(jié)】【拓展與思考】任務(wù)2.1認(rèn)識(shí)NEWLab實(shí)訓(xùn)平臺(tái)【任務(wù)描述】

學(xué)習(xí)一門技術(shù),完成一個(gè)項(xiàng)目,首先要對(duì)自己應(yīng)用的設(shè)備了如指掌,下面請(qǐng)先了解無線傳感器網(wǎng)絡(luò)技術(shù)的設(shè)備平臺(tái)。

2.1.1NEWLab平臺(tái)NEWLab是新大陸公司研制的面向物聯(lián)網(wǎng)專業(yè)的教學(xué)實(shí)驗(yàn)實(shí)訓(xùn)平臺(tái),集硬件設(shè)備、軟件平臺(tái)和教學(xué)資源庫三部分組成完整的實(shí)驗(yàn)設(shè)備。此平臺(tái)集成通信、供電、測量等功能,同時(shí)內(nèi)置了一塊標(biāo)準(zhǔn)尺寸的面包板及獨(dú)立電源,可用于電路搭建實(shí)驗(yàn)。此外,該實(shí)訓(xùn)平臺(tái)具有8個(gè)通用實(shí)訓(xùn)模塊插槽,支持單個(gè)實(shí)訓(xùn)模塊實(shí)驗(yàn)或最多8個(gè)實(shí)訓(xùn)模塊聯(lián)動(dòng)實(shí)驗(yàn)。該平臺(tái)各類接口分布如圖2-1、2-2所示。圖2-1NEWLab平臺(tái)接口12.1.1NEWLab平臺(tái)圖2-2NEWLab平臺(tái)接口2附:NEWLab平臺(tái)說明電源開關(guān):這個(gè)電源開關(guān)自帶電源指示燈,當(dāng)接通時(shí)電源指示燈會(huì)亮起。通訊模式開關(guān):支持“自動(dòng)”模式和“通訊”模式兩種,有需要使用串口傳輸數(shù)據(jù)的使用通訊模式,其它的可使用自動(dòng)模式。一般情況下,傳感器的實(shí)驗(yàn)使用自動(dòng)模式(其實(shí)就是使用485通訊)。電源輸出接口:能提供3個(gè)電壓等級(jí)的獨(dú)立電源,可以為外部設(shè)備供電,分別為DC3.3V1000mA、DC5V1000mA、DC12V1000mA。面包板:為電子電路的無焊接實(shí)驗(yàn)設(shè)計(jì)的。由于各種電子元器件可根據(jù)需要隨意插入或拔出,免去了焊接,節(jié)省了電路的組裝時(shí)間,而且元件可以重復(fù)使用,適合電子電路的組裝、調(diào)試和訓(xùn)練。磁性模塊接口:底板與模塊的連接方式采用磁性吸合方式,拆裝方便。通訊模塊接口:為各類實(shí)驗(yàn)?zāi)K提供串口通信通道,同時(shí)也提供3.3V的電源。電源線接口:接DC12V的電源適配器。串行接口:通過串口線與電腦或者移動(dòng)互聯(lián)終端相連,或者通過USB轉(zhuǎn)串口線與電腦的USB相連:下載程序可以使用串口線,或USB轉(zhuǎn)串口線(需要安裝CH340或FT232R的驅(qū)動(dòng)程序)。連接電腦,可以進(jìn)行PC端平臺(tái)的實(shí)驗(yàn):連接移動(dòng)互聯(lián)終端,可以進(jìn)行Android端平臺(tái)的實(shí)驗(yàn)。USB接口:可以連接U轉(zhuǎn)串?dāng)?shù)據(jù)線,以拓展NewLab平臺(tái)外接多個(gè)串口的需求。2.1.2傳感器模塊與無線通信模塊傳感器模塊共有6種:溫度/光照傳感器模塊聲音傳感器模塊稱重傳感器模塊氣體傳感器模塊稱重傳感器模塊霍爾傳感器模塊等傳感器參數(shù)指標(biāo)見表2-1所示。

傳感器模塊名稱波特率工作模式溫度/光照傳感器9600自動(dòng)聲音傳感傳感器9600自動(dòng)氣體傳感器9600自動(dòng)紅外傳感器9600自動(dòng)濕度傳感器9600自動(dòng)壓電傳感器9600自動(dòng)霍爾傳感器9600自動(dòng)稱重傳感器9600自動(dòng)無線通信模塊有4種:ZigBee模塊藍(lán)牙4.0模塊WiFi模塊GPRS通信模塊

每種模塊的類別名稱在模塊底板正上方具有文字注明,每個(gè)通信模塊在使用過程中均需配備外置天線。2.1.3仿真/下載器模塊仿真器集程序仿真、代碼下載于一體,廣泛應(yīng)用于產(chǎn)品開發(fā)與生產(chǎn)當(dāng)中,性能穩(wěn)定,是CC系列單片機(jī)開發(fā)中不可或缺的工具。一套仿真器由CCDebugger主機(jī)、USB線、排線組成,現(xiàn)在大部分TI芯片仿真器(如SmartRF04EB、CCDEBUGGER等)都支持在IAR環(huán)境中進(jìn)行程序下載和調(diào)試,同時(shí),也支持與SmartRFFlashProgrammer軟件配合使用進(jìn)行程序的燒錄,兩種方法均可實(shí)現(xiàn)程序向設(shè)備的下載功能。仿真器外觀圖任務(wù)2.2相關(guān)軟件的安裝【任務(wù)描述】

硬件設(shè)備準(zhǔn)備好后,如何讓設(shè)備按照技術(shù)人員的意志去實(shí)現(xiàn)功能往往依靠的是軟件,而無線傳感器網(wǎng)絡(luò)技術(shù)的開發(fā)需要用到的軟件涉及到編寫程序工具、程序燒錄工具,下面請(qǐng)你將這些工具安裝齊備。2.2.1安裝IAR8.10軟件IARfor8051軟件時(shí)開發(fā)TIZ-Stack協(xié)議棧應(yīng)用程序的必備軟件,所有程序的編譯、仿真調(diào)試均需使用該軟件,當(dāng)前最新版的Z-Stack協(xié)議為ZStack-CC2530-2.5.1a,配套IAR版本V8.10。安裝該軟件時(shí),首先找到安裝包軟件,雙擊運(yùn)行安裝文件autorun.exe,然后跳出的如圖2-5所示的安裝開始畫面,選擇第二項(xiàng),即InstallIAREmbeddedWorkbench,根據(jù)提示點(diǎn)擊next,其余部分推薦使用默認(rèn)安裝路徑及選項(xiàng),直到軟件安裝完成。雙擊打開安裝好的IAR軟件后,運(yùn)行界面如下圖所示。2.2.2安裝SmartRF04EB驅(qū)動(dòng)將仿真器按照?qǐng)D2-8所示進(jìn)行連接。圖2-8仿真器連接圖再將USB端口與PC機(jī)任意USB接口連接,會(huì)彈出如下圖2-9所示的安裝向?qū)Т翱?,用戶可以根?jù)自身情況選擇“自動(dòng)安裝軟件(推薦)”或“從列表或指定位置安裝(高級(jí))”。本教材以安裝在“D:\ProgramFiles\IARSystems\EmbeddedWorkbench5.4\8051\drivers\TexasInstruments”為例。圖2-9仿真器安裝界面圖根據(jù)安裝界面提示點(diǎn)擊“下一步”,直到安裝完成。出現(xiàn)如圖2-10所示的界面則表示已經(jīng)完成安裝。圖2-10仿真器驅(qū)動(dòng)安裝完畢界面圖2.2.3安裝SmartRFFlashProgrammer軟件第1步:找到驅(qū)動(dòng)安裝包,雙擊安裝包,彈出安裝向?qū)ы撁?,如圖2-12所示,點(diǎn)“Next”執(zhí)行下一步操作。圖2-12SmartRFFlashProgrammer安裝向?qū)Ы缑鎴D第2步:接下來是設(shè)置安裝路徑,如果不選擇的話,默認(rèn)安裝即可,點(diǎn)“Next"進(jìn)行后面的操作。具體如圖2-13所示。圖2-13安裝路徑設(shè)置第3步:如圖2-14所示,在這里有兩個(gè)選項(xiàng),一個(gè)是“Complete”全部安裝,一個(gè)是“Custom”典型安裝,若選擇“Complete”全部安裝,則功能比較齊全。本教材采用默認(rèn)選項(xiàng),點(diǎn)"Next"繼續(xù)。圖2-14安裝類型選擇界面圖第4步:點(diǎn)“Install”開始安裝SmartRFFlashProgrammer軟件。安裝完成后,若需要在桌面創(chuàng)建快捷方式,則在下圖2-15所示界面中勾選選項(xiàng),否則不會(huì)創(chuàng)建快捷方式。最后點(diǎn)“Finish”結(jié)束安裝,到此整個(gè)安裝過程結(jié)束。具體如圖2-17所示。圖2-15安裝成功結(jié)束界面任務(wù)2.3建立ZigBee開發(fā)環(huán)境【任務(wù)描述】硬件設(shè)備與軟件工具均已準(zhǔn)備齊全后,下面需要熟練使用這些工具。以點(diǎn)亮一盞ZigBee模塊上的LED燈為例,學(xué)會(huì)搭建工程項(xiàng)目的操作過程?!救蝿?wù)環(huán)境】硬件:NewLab平臺(tái)1套、zigbee節(jié)點(diǎn)板1塊、CC2530仿真器1組、PC機(jī)1臺(tái)。軟件:Windows7/10,IAR集成開發(fā)環(huán)境。2.3.1建立IAR開發(fā)環(huán)境第1步:新建工作區(qū)。執(zhí)行IAREmbeddedWorkbench命令,啟動(dòng)IAR軟件;選擇菜單欄中的File→New→Workspace命令,如圖2-16所示。圖2-16新建工作區(qū)窗口第2步:新建工程。

選擇Project→CreatNewProject命令,如圖2-17、圖2-18所示,使用默認(rèn)設(shè)置,單擊OK按鈕。設(shè)置工程保存路徑和工程名——在本任務(wù)中設(shè)置為“F:\搭建ZigBee開發(fā)環(huán)境”和“Test”。第3步:新建文件。

選擇菜單欄中的File→New→File命令或單擊工具欄中的“新建”按鈕,新建文件,并將文件保存在與工程文件相同的路徑下,即“F:\搭建ZigBee開發(fā)環(huán)境”,并將其命名為“test.c”。在“test→Debug”上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇Add→AddFiles命令,將“test.c”文件添加到工程中,如圖2-19所示。第4步:保存工作區(qū)。

單擊工具欄中的“saveall(全部保存)”按鈕,設(shè)置工作區(qū)保存路徑“F:\搭建ZigBee開發(fā)環(huán)境”(與工程同一個(gè)路徑),并將工作區(qū)命名為“test”。具體操作如圖2-20所示。

2.3.2配置工程第1步:配置GeneralOptions。切換至Target選項(xiàng)卡,單擊Deviceinformation選項(xiàng)組中的Device選項(xiàng)按鈕,在彈出的對(duì)話框中選擇“CC2530F256.i51”文件。該文件的路徑為“C:\……\8051\config\device\TexasInstruments”。其他配置如圖2-22所示。第2步:配置Linker。切換至Config選項(xiàng)卡,單擊Linkerconfigurationfile選項(xiàng)組中的Overidedefault選項(xiàng)按鈕,在彈出的對(duì)話框中選擇“Ink51lew_cc2530F256_banked.xcl”文件。該文件的路徑為“C:\……\8051\config\device\TexasInstruments”,如圖2-23所示。第3步:配置Debugger。切換至Setup選項(xiàng)卡,設(shè)置如圖2-24所示,在Driver選項(xiàng)組中選擇TexasInstruments,選中Overidedefault復(fù)選框并選擇“io8051.ddf”件。該文件路徑為“C:\ProgramFiles\IARSystem\EmbeddedWorkbench6.0\Evaluation\8051\config\device\_generic”。2.3.3編寫調(diào)試程序第1步:編寫程序。在“test.c”窗口中輸入點(diǎn)亮一個(gè)LED的代碼。/**********************************************************************************/#include<ioCC2530.h>#defineLED1P1_0//P1_0引腳控制LEDvoidmain(void){P1DIR|=0X01;//P1_0引腳為輸出方向while(1){LED1=1;}//點(diǎn)亮}/**********************************************************************************/第2步:編譯、鏈接程序。單擊工具欄中的運(yùn)行按鈕,編譯,鏈接程序,“Messages”沒有錯(cuò)誤警告,說明程序編譯,鏈接成功。具體如圖2-25所示。第3步:下載、調(diào)試程序。(1) 把ZigBee模塊裝入NEWLab實(shí)訓(xùn)平臺(tái),并將SmartRF04EB仿真/下載器的下載線連接至ZigBee模塊。(2) 單擊工具欄中的按鈕,下載程序,進(jìn)入調(diào)試狀態(tài),如圖2-26所示。單擊“單步”調(diào)試按鈕,逐步執(zhí)行每條代碼。當(dāng)執(zhí)行“LED=1”代碼時(shí),LED燈被點(diǎn)亮;再點(diǎn)擊“復(fù)位”按鈕,LED燈被熄滅。重復(fù)上述動(dòng)作,LED燈可多次點(diǎn)亮、熄滅。燒錄程序第1步:配置編譯器生成.hex文件生成HEX文件進(jìn)行燒錄的發(fā)昂發(fā)僅適用于基礎(chǔ)實(shí)驗(yàn),不適合有關(guān)協(xié)議棧的工程燒錄。點(diǎn)擊IAR菜單欄【Project】→【Options…】命令,選擇“Linker”選項(xiàng)。(1)“Output”選項(xiàng)卡配置,按照?qǐng)D2-27所示的設(shè)置要求,設(shè)置“Format”選項(xiàng),使用C-SPY進(jìn)行調(diào)試。圖2-27output選項(xiàng)卡(2)“ExtraOutput”選項(xiàng)卡配置,按照?qǐng)D2-28所示的設(shè)置要求,更改輸出文件名的擴(kuò)展名為“.hex”,“Outputformat”設(shè)置為“intel-extended”。最后點(diǎn)擊“OK”,則hex文件生成,文件的路徑自動(dòng)保存到“F:\Zigbee\Debug\Exe\Test.hex”。第2步:燒錄hex文件燒錄.hex文件。打開SmartRFFlashProgrammer軟件,按照如圖2-29所示的步驟進(jìn)行操作。至此,既可以在IAR環(huán)境中燒錄程序,并能仿真調(diào)試程序,又可以使用SamartRFFlashProgrammer軟件把hex文件燒錄到CC2530芯片中。在后期復(fù)雜項(xiàng)目開發(fā)過程中,前者用得更多些。【知識(shí)點(diǎn)小結(jié)】搭建ZigBee開發(fā)環(huán)境,需要依次完成四個(gè)步驟的工作:在IAR軟件中新建工程在IAR環(huán)境中配置工程在IAR框架中編寫程序在IAR環(huán)境中下載調(diào)試程序或利用SamartRFFlashProgrammer軟件下載程序。配置一個(gè)簡單的工程,一般需要完成三部分內(nèi)容配置,分別是配置GeneralOptions、配置Linker、配置Debugger。給硬件設(shè)備下載程序有兩種方法:一種方法是利用IAR菜單欄進(jìn)行程序的調(diào)試、下載;另一種是利用SamartRFFlashProgrammer軟件下載HEX文件進(jìn)行燒錄?!就卣古c思考】

用戶需要點(diǎn)亮兩盞LED燈,應(yīng)該怎樣完成客戶的需求。項(xiàng)目三基礎(chǔ)射頻無線通信技術(shù)應(yīng)用設(shè)計(jì)【知識(shí)目標(biāo)】1. 了解BasicRFLayer工作機(jī)制;2. 熟悉無線發(fā)送和接收函數(shù);3. 理解發(fā)送地址和接收地址、PAN_ID、RF_CHANNEL等概念;4. 理解CC2530_lib庫文件內(nèi)各驅(qū)動(dòng)文件的作用;5. 理解串口讀寫函數(shù);6. 掌握各類典型傳感器的工作原理?!炯寄苣繕?biāo)】1. 能夠獨(dú)立建立BasicRF項(xiàng)目工程;

2. 會(huì)使用CC2530建立點(diǎn)對(duì)點(diǎn)的無線通信方法;

3. 能夠?qū)崿F(xiàn)各類傳感器信號(hào)采集功能;

4. 能夠?qū)崿F(xiàn)基于BasicRF的信號(hào)采集與無線網(wǎng)絡(luò)組建功能;

5. 能夠?qū)崿F(xiàn)項(xiàng)目中多個(gè)設(shè)備組的工程配置;

6. 初步了解項(xiàng)目文件管理方法。

【任務(wù)分解】

任務(wù)3.1:BasicRF無線控制LED燈

任務(wù)3.2:BasicRF無線串口通信

任務(wù)3.3:開關(guān)量傳感器采集系統(tǒng)

任務(wù)3.4:模擬量傳感器采集系統(tǒng)

任務(wù)3.5:數(shù)字量傳感器采集系統(tǒng)

任務(wù)3.6:環(huán)境智能監(jiān)測系統(tǒng)設(shè)計(jì)與應(yīng)用任務(wù)3.1BasicRF無線控制LED燈【任務(wù)描述】以BasicRF無線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),采用兩個(gè)ZigBee模塊作為遙控模塊(無線發(fā)射模塊)和被控對(duì)象模塊(無線接收模塊),按發(fā)射模塊上的SW1鍵,可以控制接收模塊上的LED1燈的亮和滅,實(shí)現(xiàn)無線控制LED燈的功能?!救蝿?wù)環(huán)境】硬件:NewLab平臺(tái)2套、zigbee節(jié)點(diǎn)板2塊、CC2530仿真器1組、PC機(jī)2臺(tái)。軟件:Windows7/10,IAR集成開發(fā)環(huán)境?!颈貍渲R(shí)點(diǎn)】BasicRF工作機(jī)制;BasicRF無線發(fā)送和接收函數(shù);BasicRF發(fā)送地址和接收地址、PAN_ID、RF_CHANNEL等概念。3.1.1BasicRF工作原理1.CC2530BasicRF工作機(jī)制BasicRF由TI公司提供,它包含了IEEE802.15.4標(biāo)準(zhǔn)的數(shù)據(jù)包的收發(fā)功能但并沒有使用到協(xié)議棧,BasicRF僅讓兩個(gè)節(jié)點(diǎn)進(jìn)行簡單的通信,也就是說BasicRF僅包含IEEE802.15.4標(biāo)準(zhǔn)的一小部分。其主要特點(diǎn)有:不會(huì)自動(dòng)加入?yún)f(xié)議;不會(huì)自動(dòng)掃描其他節(jié)點(diǎn),同時(shí)也沒有組網(wǎng)指示燈(LED3);沒有協(xié)議棧中的協(xié)調(diào)器、路由器或終端的區(qū)分,即各節(jié)點(diǎn)地位均相等;沒有自動(dòng)重發(fā)的功能。2.BasicRF操作環(huán)節(jié)BasicRF操作依次包括啟動(dòng)、發(fā)送、接收三個(gè)環(huán)節(jié)。(1)啟動(dòng):主要包括以下幾項(xiàng)內(nèi)容:初始化開發(fā)板的硬件外設(shè)和配置I/O端口;設(shè)置無線通訊的網(wǎng)絡(luò)ID;設(shè)置無線通訊的通信信道號(hào);設(shè)置無線通訊的網(wǎng)絡(luò)接收和發(fā)送模塊地址;若有必要,設(shè)置無線通訊的網(wǎng)絡(luò)安全加密等參數(shù)。3.1.1BasicRF工作原理啟動(dòng)環(huán)節(jié)的設(shè)置通過相關(guān)的數(shù)據(jù)結(jié)構(gòu)體和相關(guān)函數(shù)來實(shí)現(xiàn),涉及到的結(jié)構(gòu)體和函數(shù)分別是:1)定義basicRfCfg_t數(shù)據(jù)結(jié)構(gòu)體*********************************************************************typedefstruct{uint16myAddr; //本機(jī)地址,取值范圍0x0000~0xffff,作為識(shí)別本模塊的地址uint16panId; //網(wǎng)絡(luò)ID,取值范圍0x0000~0xffff,收、發(fā)模塊此參數(shù)必須一致uint8channel; //通信信道號(hào),取值范圍11~26,收、發(fā)模塊此參數(shù)必須一致uint8ackRequest//應(yīng)答信號(hào)#ifdefSECURITY_CCM//是否加密,預(yù)定義時(shí)取消了加密uint8*securityKey;uint8*securityNonce;#endif}basicRfCfg_t;*********************************************************************2)定義basicRfCfg_t數(shù)據(jù)結(jié)構(gòu)體為basicRfCfg_t型結(jié)構(gòu)體變量basicRfConfig填充部分參數(shù)。在voidmain(void)函數(shù)中有如下3行代碼,就是為basicRfConfig數(shù)據(jù)結(jié)構(gòu)部分變量賦值的。*********************************************************************basicRfConfig.panId=PAN_ID;//宏定義:#definePAN_ID0x2007basicRfConfig.channel=RF_CHANNEL;//宏定義:#defineRF_CHANNEL25basicRfConfig.ackRequest=TRUE;//宏定義:#defineTRUE1*********************************************************************3)調(diào)用halBoardInit()函數(shù)對(duì)硬件外設(shè)和I/O端口進(jìn)行初始化,voidhalBoardInit(void)函數(shù)在hal_board.c文件中。4)調(diào)用halRfInit()函數(shù)此函數(shù)可打開射頻模塊,設(shè)置默認(rèn)配置選項(xiàng),允許自動(dòng)確認(rèn)和允許隨機(jī)數(shù)產(chǎn)生。(2)發(fā)送創(chuàng)建一個(gè)buffer,把數(shù)據(jù)放入其中,調(diào)用basicRfSendPacket()函數(shù)發(fā)送數(shù)據(jù)。在該工程中,light_switch.c文件中的appSwitch()函數(shù)是用來發(fā)送數(shù)據(jù)的,appSwitch()函數(shù)代碼如下,請(qǐng)注意刪除了液晶顯示代碼。*********************************************************************staticvoidappSwitch(){pTxData[0]=LIGHT_TOGGLE_CMD;//發(fā)送的數(shù)據(jù)放到buffer中(即數(shù)組pTxData)basicRfConfig.myAddr=SWITCH_ADDR;//本機(jī)地址if(basicRfInit(&basicRfConfig)==FAILED)//初始化{HAL_ASSERT(FALSE); }basicRfReceiveOff(); //關(guān)閉接收模式,節(jié)能while(TRUE){if(halButtonPushed()==HAL_BUTTON_1)//調(diào)用按鍵函數(shù){//調(diào)用發(fā)送函數(shù)basicRfSendPacket(LIGHT_ADDR,pTxData,APP_PAYLOAD_LENGTH);halIntOff(); //關(guān)中斷halMcuSetLowPowerMode(HAL_MCU_LPM_3);//WillturnonglobalhalIntOn();//開中斷}}}*********************************************************************(3)接收

通過調(diào)用basicRfPacketIsReady()函數(shù)來檢查是否收到一個(gè)新的數(shù)據(jù)包,若有新數(shù)據(jù),則調(diào)用basicRfReceive()函數(shù),把數(shù)據(jù)接收到。在該工程中,light_switch.c文件中的appLight()函數(shù)是用來發(fā)送數(shù)據(jù)的,appLight()函數(shù)代碼如下,請(qǐng)注意刪除了液晶顯示代碼。********************************************************************* staticvoidappLight() {basicRfConfig.myAddr=LIGHT_ADDR; //設(shè)定本模塊地址 if(basicRfInit(&basicRfConfig)==FAILED)//初始化,方法與發(fā)送一樣{HAL_ASSERT(FALSE);}basicRfReceiveOn(); //開啟接收功能 while(TRUE){ while(!basicRfPacketIsReady());//檢查是否有新數(shù)據(jù),沒有則一直等待 if(basicRfReceive(pRxData,APP_PAYLOAD_LENGTH,NULL)>0){if(pRxData[0]==LIGHT_TOGGLE_CMD)//判斷接收的內(nèi)容是否正確{ halLedToggle(1);}//改變LED1的亮滅狀態(tài) } } }*********************************************************************3.1.2任務(wù)實(shí)訓(xùn)步驟第1步,下載CC2530BasicRF源文件登錄TI官網(wǎng),下載CC2530BasicRF.rar,解壓后雙擊“\CC2530BasicRF\CC2530BasicRF\ide\srf05_cc2530\iar”文件夾中的“l(fā)ight_switch.eww”工程文件,如圖3-1所示。(代碼資源包已有)圖3-1light_switch.eww工程界面第2步,修改程序ZigBee模塊(網(wǎng)關(guān)節(jié)點(diǎn))上有2個(gè)按鍵和4個(gè)LED,其中按鍵SW1和SW2分別由P1.2和P1.6控制,LED1~LED4分別由P1.0、P1.1、P1.3和P1.4控制,如圖3-2所示。圖3-2LED與P1引腳連接圖上圖接口與TI官網(wǎng)發(fā)布的開發(fā)平臺(tái)有所差別,所以需要修改一下。操作方法如下:(1)打開“hal_board.h”頭文件。打開頭文件的方法有以下兩種。展開左邊Workspace欄中的“l(fā)ight_switch.c”的“+”號(hào),就可以在展開文件列表中找到“hal_board.h”頭文件,雙擊該文件,就可以打開它。在“l(fā)ight_switch.c”文件的開始部分代碼中,可以找到“include<hal_board.h>”宏定義,右擊該宏定義并選中【Open“hal_board.h”】命令,立刻打開該文件。(2)在“hal_board.h”頭文件找到如下代碼,并按照?qǐng)D3-3要求修改。(3)修改“l(fā)ight_switch.c”文件中的“staticvoidappSwitch()”函數(shù)代碼。把該函數(shù)中的“if(halJoystickPushed()){”行代碼注釋掉,在其下一行添加“if(halButtonPushed()==HAL_BUTTON_1){”代碼。(4)注釋掉部分代碼,具體如圖3-4所示。第3步,編譯、燒錄程序修改程序后,進(jìn)行編譯,編譯無錯(cuò)后分別給發(fā)射模塊和接收模塊燒錄程序。(1)在“l(fā)ight_switch.c”的主函數(shù)中找到“uint8appMode=NONE;”代碼,并把它注釋掉,在其下一行添加“uint8appMode=SWITCH;”代碼。編譯程序,無誤后下載到發(fā)射模塊中。(2)在“l(fā)ight_switch.c”的主函數(shù)中找到“uint8appMode=SWITCH;”代碼,將其修改為:“uint8appMode=LIGHT;”。編譯程序,無誤后下載到接收模塊中。第4步,測試程序功能每按一下發(fā)射模塊中的SW1鍵,接收模塊上的LED1燈的狀態(tài)就會(huì)改變,即LED1燈亮和滅交替變化。把兩個(gè)模塊隔開20m以上的距離,進(jìn)行測試。任務(wù)3.2BasicRF無線串口通信【任務(wù)描述】以BasicRF無線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),采用2個(gè)ZigBee模塊(當(dāng)做節(jié)點(diǎn)1和節(jié)點(diǎn)2),這兩個(gè)節(jié)點(diǎn)分別與兩臺(tái)電腦串口連接。打開節(jié)點(diǎn)1和節(jié)點(diǎn)2對(duì)應(yīng)電腦上的的串口調(diào)試軟件,設(shè)計(jì)像聊天軟件一樣進(jìn)行相互的收發(fā)信息,實(shí)現(xiàn)無線串口通信。【任務(wù)環(huán)境】硬件:NewLab平臺(tái)2套、zigbee節(jié)點(diǎn)板2塊、CC2530仿真器1組、PC機(jī)2臺(tái)。軟件:Windows7/10,IAR集成開發(fā)環(huán)境,串口調(diào)試軟件?!颈貍渲R(shí)點(diǎn)】3.2.1串口通信原理(1)串口通信的定義串行接口(SerialInterface)是指數(shù)據(jù)一位一位地順序傳送,其特點(diǎn)是通信線路簡單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點(diǎn)是:數(shù)據(jù)位的傳送,按位順序進(jìn)行,最少只需一根傳輸線即可完成;成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米;根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種?!颈貍渲R(shí)點(diǎn)】3.2.1串口通信原理(2)串口數(shù)據(jù)發(fā)送與接收串口數(shù)據(jù)發(fā)送:通過創(chuàng)建一個(gè)buffer,把數(shù)據(jù)放入其中,然后再調(diào)用halUartWrite()函數(shù)發(fā)送數(shù)據(jù)。串口數(shù)據(jù)接收:通過調(diào)用RecvUartDate()函數(shù)來接收數(shù)據(jù),并以數(shù)據(jù)長度來判斷是否有收到數(shù)據(jù)。第一步,新建工程和程序文件,添加頭文件。(1)復(fù)制庫文件。將CC2530_lib文件夾復(fù)制到該任務(wù)的工程文件夾內(nèi),即“F:\ZigBee\任務(wù)3.2無線串口通信”內(nèi)(可以放在其它盤內(nèi))。并在該工程文件夾內(nèi)新建一個(gè)Project文件夾,用于存放工程文件。(2)新建工程。具體方法參照任務(wù)2.3。并在工程中新建App、basicrf、board、common、utils等5個(gè)組,把各文件夾中的“xx.c”文件添加到對(duì)應(yīng)的文件夾中。(3)新建程序文件。新源程序文件,將其命名為uartRF.c,保存在F:\ZigBee\任務(wù)3.2無線串口通信\Project文件夾中。并將該文件添加到工程中的App文件夾中。(4)為工程添加頭文件。點(diǎn)擊IAR菜單中的【Project】->【Options…】,在彈出對(duì)話框中選擇“C/C++Compiler”,然后選擇“Preproce”選項(xiàng)卡,并在“additionalincludedirectories:”中輸入頭文件的路徑,如圖3-5所示。然后點(diǎn)擊【OK】。注意:$PROJ_DIR$\即你當(dāng)前工作的workspace的目錄。..\表示對(duì)應(yīng)目錄的上一層。例如:$TOOLKIT_DIR$\INC\和$TOOLKIT_DIR$\INC\CLIB\,都表示當(dāng)前工作的workspace的目錄。$PROJ_DIR$\..\inc表示你的WORKSPACE目錄上一層的INC目錄。第二步,配置工程。點(diǎn)擊IAR菜單中的【Project】->【Options…】,分別對(duì)GeneralOptions、Linker和Debugger三項(xiàng)進(jìn)行配置。(1)GeneralOptions配置。選中“Target”選項(xiàng)卡,在Device欄內(nèi)選擇“CC2530F256.i51”(路徑:C:\…\8051\config\devices\TexasInstruments)。其它設(shè)置如圖3-6所示。(2)Linker配置。選中“Config”選項(xiàng)卡,勾選“Overidedefault”,并在該欄內(nèi)選擇“l(fā)nk51ew_CC2530F256_banked.xcl”配置文件,其路徑:C:\…\8051\config\devices\TexasInstruments。(3)Debugger配置。選中“Step”選項(xiàng)卡,在“Driver”欄內(nèi)選擇“TexasInstruments”;在“DeviceDescriptionfile”欄內(nèi),勾選“Overidedefault”,并在該欄內(nèi)選擇“io8051.ddf”配置文件,其路徑:C:\…\8051\config\devices\_generic。如圖3-7所示。第三步,編寫程序。由于程序很長,只能對(duì)關(guān)鍵部分的程序進(jìn)行分析。詳細(xì)見uartRF.c文件。

/********************點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置**********************/ #defineRF_CHANNEL20//頻道11~26 #definePAN_ID0x1379//網(wǎng)絡(luò)id //#defineMY_ADDR0x1234//模塊A的地址 //#defineSEND_ADDR0x5678//模塊A發(fā)送模塊B的地址 #defineMY_ADDR0x5678//模塊B的地址 #defineSEND_ADDR0x1234//模塊B發(fā)送模塊A的地址/*********************************************************************//********************MAIN*******************************************/1. voidmain(void)2. {uint16len=0;3. halBoardInit();//模塊相關(guān)資源的初始化4. ConfigRf_Init();//無線收發(fā)參數(shù)的配置初始化5. halLedSet(3);6. halLedSet(4);7. while(1)8. {len=RecvUartData();//接收串口數(shù)據(jù)9. if(len>0)10. {halLedToggle(3);//綠燈取反,無線發(fā)送指示11. //把串口數(shù)據(jù)通過zigbee發(fā)送出去12. basicRfSendPacket(SEND_ADDR,uRxData,len);13. }14. if(basicRfPacketIsReady())//查詢有沒收到無線信號(hào)15. {halLedToggle(4);//紅燈取反,無線接收指示16. //接收無線數(shù)據(jù)17. len=basicRfReceive(pRxData,MAX_RECV_BUF_LEN,NULL);18. //接收到的無線發(fā)送到串口數(shù)19. halUartWrite(pRxData,len);20. }21. }22. }/************************mainend****************************************/第4步,燒錄程序。(1)為無線模塊A下載程序。注釋掉上述程序“點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置”的第6和第7行,重新編譯程序無誤后,下載到無線模塊A中。(2)為無線模塊B下載程序。注釋掉上述程序“點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置”的第4和第5行,重新編譯程序無誤后,下載到無線模塊B中。注意:如果有多組同學(xué)同時(shí)進(jìn)行實(shí)訓(xùn),每組間的RF_CHANNEL和PAN_ID至少要有一個(gè)參數(shù)不同。如果多組是間的RF_CHANNEL和PAN_ID值都一樣,則會(huì)造成信號(hào)串?dāng)_。第5步,運(yùn)行程序。(1)分別把節(jié)點(diǎn)1和節(jié)點(diǎn)2接到PC機(jī)的串口,打開兩個(gè)串口調(diào)試軟件,把串口的波特率設(shè)置為38400;再給兩個(gè)模塊上電。(2)在兩個(gè)串口調(diào)試軟件上,發(fā)送不同的信息,并能顯示對(duì)方發(fā)送的信息。如圖3-8、3-9所示。任務(wù)3.3開關(guān)量傳感器采集系統(tǒng)【任務(wù)描述】采用聲音傳感器、紅外傳感器等模塊,以及ZigBee模塊組成一個(gè)開關(guān)量傳感器采集系統(tǒng),當(dāng)聲音傳感器檢測到有聲音時(shí),系統(tǒng)會(huì)點(diǎn)亮ZigBee模塊上的LED1,并延時(shí)2s后,若沒有再檢測到聲音,則熄滅LED1;當(dāng)紅外傳感器檢測到紅外信號(hào)時(shí),系統(tǒng)立即使ZigBee模塊上的LED2點(diǎn)亮,反之則使LED2熄滅?!救蝿?wù)環(huán)境】硬件:NewLab平臺(tái)1套、zigbee節(jié)點(diǎn)板1塊、聲音傳感器1個(gè)、紅外傳感器1個(gè)、CC2530仿真器1組、PC機(jī)1臺(tái),信號(hào)線若干。軟件:Windows7/10,IAR集成開發(fā)環(huán)境?!颈貍渲R(shí)點(diǎn)】傳感器技術(shù)原理;紅外傳感器的工作原理;聲音傳感器的工作原理。3.3.1傳感器技術(shù)原理(1)定義傳感器(英文名稱:transducer/sensor)是一種檢測裝置,能感受到被測量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號(hào)或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲(chǔ)、顯示,記錄和控制等要求。它是實(shí)現(xiàn)自動(dòng)檢測和自動(dòng)控制的首要環(huán)節(jié),是物聯(lián)網(wǎng)應(yīng)用中的信息來源。為了從外界獲取信息,人必須借助于感覺器官。而單靠人們自身的感覺器官,在研究自然現(xiàn)象和規(guī)律以及生產(chǎn)活動(dòng)中它們的功能就遠(yuǎn)遠(yuǎn)不夠了。為適應(yīng)這種情況,就需要傳感器。因此可以說,傳感器是人類五官的延長,又稱之為電五官。(2)傳感器的組成傳感器一般由敏感元件,轉(zhuǎn)換元件及基本轉(zhuǎn)換電路三部分組成:敏感元件:是直接感受被測物理量,并以確定關(guān)系輸出另一物理量的元件(如彈性敏感元件將力,力矩轉(zhuǎn)換為位移或應(yīng)變輸出)。轉(zhuǎn)換元件:是將敏感元件輸出的非電量轉(zhuǎn)換成電路參數(shù)(電阻,電感,電容)及電流或電壓等電信號(hào)?;巨D(zhuǎn)換電路:是將該電信號(hào)轉(zhuǎn)換成便于傳輸,處理的電量。大多數(shù)傳感器為開環(huán)系統(tǒng),也有帶反饋的閉環(huán)系統(tǒng)。(3)傳感器的分類從不同角度可將傳感器分為不同類別,最常用的分類方法主要有以下三種。按用途分類壓力敏和力敏傳感器、位置傳感器、液位傳感器、能耗傳感器、速度傳感器、加速度傳感器、射線輻射傳感器、熱敏傳感器。按原理分類振動(dòng)傳感器、濕敏傳感器、磁敏傳感器、氣敏傳感器、真空度傳感器、生物傳感器等。

按輸出信號(hào)分類模擬量傳感器:將被測量的非電學(xué)量轉(zhuǎn)換成模擬電信號(hào)。

數(shù)字量傳感器:將被測量的非電學(xué)量轉(zhuǎn)換成數(shù)字輸出信號(hào)(包括直接和間接轉(zhuǎn)換)。

開關(guān)量傳感器:當(dāng)一個(gè)被測量的信號(hào)達(dá)到某個(gè)特定的閾值時(shí),傳感器相應(yīng)地輸出一個(gè)設(shè)定的低電平或高電平信號(hào)。本章任務(wù)安排按輸出信號(hào)分類將任務(wù)分為開關(guān)量采集、模擬量采集、數(shù)字量采集三節(jié)對(duì)不同用途的傳感器進(jìn)行學(xué)習(xí)。1. 紅外感應(yīng)簡介

紅外線傳感器是利用紅外線的物理性質(zhì)來進(jìn)行測量的傳感器。紅外線又稱紅外光,它具有反射、折射、散射、干涉、吸收等性質(zhì)。任何物質(zhì),只要它本身具有一定的溫度(高于絕對(duì)零度),都能輻射紅外線。紅外線傳感器測量時(shí)不與被測物體直接接觸,因而不存在摩擦,并且有靈敏度高,反應(yīng)快等優(yōu)點(diǎn)。

當(dāng)有人靠近模塊時(shí)或者有人在此附近活動(dòng)時(shí)將輸出一個(gè)高電平,平時(shí)沒有人在附近時(shí)都是低電平,所以有人來時(shí)紅外感應(yīng)模塊輸出一個(gè)高電平信號(hào)就可以做到紅外感應(yīng)報(bào)警。普通人體會(huì)發(fā)射10um左右的特定波長紅外線,用專門設(shè)計(jì)的傳感器就可以針對(duì)性的檢測這種紅外線的存在與否,當(dāng)人體紅外線照射到傳感器上后,因熱釋電效應(yīng)將向外釋放電荷,后續(xù)電路經(jīng)檢測處理后就能產(chǎn)生控制信號(hào)。3.3.2紅外傳感器工作原理3.3.2紅外傳感器工作原理2. 紅外光電傳感器紅外光電傳感器是通過把紅外光強(qiáng)度的變化轉(zhuǎn)換成電信號(hào)的變化來實(shí)現(xiàn)控制的。一般情況下,有三部分構(gòu)成,它們分為:發(fā)送器、接收器和檢測電路,如圖3-10所示。圖3-10紅外光電傳感器分類和工作方式3.3.2紅外傳感器工作原理(1)槽型光電傳感器:把一個(gè)光發(fā)射器和一個(gè)接收器面對(duì)面地裝在一個(gè)槽的兩側(cè)的是槽形光電。發(fā)光器能發(fā)出紅外光或可見光,在無阻情況下光接收器能收到光。但當(dāng)被檢測物體從槽中通過時(shí),光被遮擋,光電開關(guān)便動(dòng)作。輸出一個(gè)開關(guān)控制信號(hào),切斷或接通負(fù)載電流,從而完成一次控制動(dòng)作。槽形開關(guān)的檢測距離因?yàn)槭苷w結(jié)構(gòu)的限制一般只有幾厘米,如圖3-11所示。圖3-11槽型光電傳感器(2)對(duì)射型光電傳感器:若把發(fā)光器和收光器分離開,就可使檢測距離加大。由一個(gè)發(fā)光器和一個(gè)收光器組成的光電開關(guān)就稱為對(duì)射分離式光電開關(guān),簡稱對(duì)射式光電開關(guān)。它的檢測距離可達(dá)幾米乃至幾十米。使用時(shí)把發(fā)光器和收光器分別裝在檢測物通過路徑的兩側(cè),檢測物通過時(shí)阻擋光路,收光器就動(dòng)作輸出一個(gè)開關(guān)控制信號(hào),如圖3-12所示。分類和工作方式3.3.2紅外傳感器工作原理圖3-12對(duì)射型光電傳感器

(3)反光板型光電開關(guān):把發(fā)光器和收光器裝入同一個(gè)裝置內(nèi),在它的前方裝一塊反光板,利用反射原理完成光電控制作用的稱為反光板反射式(或反射鏡反射式)光電開關(guān)。正常情況下,發(fā)光器發(fā)出的光被反光板反射回來被收光器收到;一旦光路被檢測物擋住,收光器收不到光時(shí),光電開關(guān)就動(dòng)作,輸出一個(gè)開關(guān)控制信號(hào),如圖3-13所示。分類和工作方式3.3.2紅外傳感器工作原理圖3-13反光板型光電開關(guān)本實(shí)驗(yàn)所用紅外傳感器模塊:如圖3-18所示。3.3.2紅外傳感器工作原理圖3-18紅外傳感模塊說明:①②紅外對(duì)射傳感器LTH-301-32及紅外對(duì)射傳感電路;③④對(duì)射輸出1、2接口J5、J6,測量紅外對(duì)射傳感器光敏三極管輸出的電平電壓;⑤⑥紅外反射傳感器ITR20001/T及紅外發(fā)射傳感電路;⑦⑧發(fā)射輸出1、2接口J2、J3,測量紅外反射傳感器光敏三極管輸出的電壓,即比較器1、2正端(3腳、5腳)的輸入電壓;⑨反射AD輸出1、2接口J10、J11,測量比較器1、2輸出端(1腳、7腳)電壓;⑩接地GND接口J4。3.3.3聲音傳感器工作原理

按照結(jié)構(gòu)不同,可將聲音傳感器分為駐極體電容式聲音傳感器和壓電駐極體聲音傳感器兩類。1.駐極體電容式聲音傳感器

駐極體傳聲器分為振膜式駐極體電容傳聲器和背極式駐極體電容傳聲器。背極式駐極體電容傳聲器由于膜片與駐極體材料各自發(fā)揮其特長,因此性能比振膜式駐極體電容傳聲器好。其結(jié)構(gòu)如圖3-19所示。圖3-19駐極體電容傳聲器結(jié)構(gòu)2.

壓電駐極體聲音傳感器

壓電駐極體電聲器件利用壓電效應(yīng)進(jìn)行聲電/電聲變換,其聲電/電聲轉(zhuǎn)換器為一片30~80μm厚的多孔聚合物壓電駐極體薄膜,相對(duì)電容式/動(dòng)圈式結(jié)構(gòu)復(fù)雜且精度要求極高的零件配合設(shè)計(jì),大大減小了電聲器件的體積。3.3.3聲音傳感器工作原理壓電駐極體電器件示意圖及其結(jié)構(gòu)圖分別如圖3-20、圖3-21所示。圖3-20壓電傳聲器結(jié)構(gòu)示意圖圖3-21壓電傳聲器結(jié)構(gòu)圖本實(shí)驗(yàn)所用聲音傳感器模塊:如圖3-22所示。3.3.3聲音傳感器工作原理圖3-22聲音傳感模塊電路板說明:①咪頭MP9767P;②麥克風(fēng)信號(hào)接口J4,測試麥克風(fēng)輸出的音頻信號(hào)③信號(hào)放大電路;④信號(hào)放大接口J6,測量音頻信號(hào)經(jīng)過放大后疊加在直流電平上的信號(hào),即比較器1的負(fù)端輸入電壓;⑤靈敏度調(diào)節(jié)電位器;⑥靈敏度測試接口J10,測試可調(diào)電阻可調(diào)端輸出電壓,即比較器1的正端輸入電壓;⑦比較器電路;⑧比較信號(hào)測試接口J7,即比較器1的輸出電壓;⑨比較輸出測試接口J3,即比較器2的輸出電壓;⑩接地GND接口J2。3.3.4任務(wù)實(shí)訓(xùn)步驟第1步,搭建硬件環(huán)境,連接各模塊。開關(guān)量傳感器采集系統(tǒng)按照?qǐng)D3-23所示進(jìn)行模塊間的連線,具體步驟如下:(1)將ZigBee模塊、聲音傳感器模塊和紅外傳感器模塊置于NEWLab平臺(tái)上。(2)將紅外傳感器模塊的對(duì)射輸出1(J5)與ZigBee模塊的IN1(J12/P1.4)相連。(3)將聲音傳感器模塊的比較輸出端(J3)與ZigBee模塊的IN0(J13/P1.3)相連。圖3-23開關(guān)量傳感器采集系統(tǒng)連線圖第2步,新建工程和程序文件,添加頭文件。新建工程的方法與過程參照本項(xiàng)目的任務(wù)3.2;頭文件應(yīng)添加basicrf、board、common、utils共4組。第3步,配置工程。配置方法參照本項(xiàng)目的任務(wù)3.2。第4步,編寫程序。編寫主程序代碼,或?qū)⒓夹g(shù)服務(wù)網(wǎng)站上相應(yīng)的源代碼添加進(jìn)工程。下面將主程序Kaiguan_Sensor.c中的關(guān)鍵代碼分析如下:(1)點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置/************************************點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置*******************************/#defineRF_CHANNEL20//頻道11~26#definePAN_ID0x1379//網(wǎng)絡(luò)id#defineMY_ADDR0x1234//本機(jī)模塊地址1號(hào)模塊#defineSEND_ADDR0x5678//發(fā)送地址1號(hào)模塊/*****************************************************************************************/(2)main()函數(shù)/********************************************MAIN***************************************/voidmain(void){uint8sensor_val;halBoardInit();//模塊相關(guān)資源的初始化//ConfigRf_Init();//無線收發(fā)參數(shù)的配置初始化

port1->port=1;port1->pin=0x03;port1->pin_bm=0x08;port1->dir=0;halDigioConfig(port1);halDigioIntEnable(port1);halDigioIntConnect(port1,port13Int);while(1){sensor_val=get_swsensor();//讀取開關(guān)量,即P1.3引腳狀態(tài)if(sensor_val)//紅外傳感器模塊{halLedSet(2);//點(diǎn)亮LED2}else{halLedClear(2);//熄滅LED2}if(SY_flag)//聲音傳感器模塊{SY_flag=0x00;halLedSet(1);//點(diǎn)亮LED1halMcuWaitMs(30000);//延時(shí)30shalLedClear(1);//熄滅LED1}}}/*****************************************************************************************/第5步,下載程序、運(yùn)行。編譯無誤后,把程序下載到ZigBee模塊中。(1)將一物體放到“紅外對(duì)射1”元件的槽中,發(fā)現(xiàn)ZigBee模塊中的LED2被立刻點(diǎn)亮,當(dāng)物體離開槽時(shí),LED2立刻熄滅。(2)再拍手制造響聲,ZigBee模塊中的LED1立刻亮起來,并且維持2s亮的狀態(tài),2s后LED1自動(dòng)熄滅。注意:可以調(diào)節(jié)電位器,設(shè)置觸發(fā)閥點(diǎn)電壓。任務(wù)3.4模擬量傳感器采集系統(tǒng)【任務(wù)描述】采用氣體傳感器、光敏/溫度傳感器模塊,以及ZigBee模塊組成一個(gè)模擬量傳感器采集系統(tǒng)。把帶酒精的棉簽靠近氣體傳感器模塊,使用手機(jī)電筒照射光敏/溫度傳感器模塊,當(dāng)氣體傳感器檢測到不同濃度的氣體時(shí),光敏傳感器檢測到不同光強(qiáng)的光照時(shí),都會(huì)在電腦的串口調(diào)試軟件上就顯示檢測到的氣體電壓信息和光照電壓信息。【任務(wù)環(huán)境】硬件:NewLab平臺(tái)1套、zigbee節(jié)點(diǎn)板3塊、氣敏傳感器1個(gè)、光敏/溫度傳感器1個(gè)、CC2530仿真器1組、PC機(jī)1臺(tái),信號(hào)線若干。軟件:Windows7/10,IAR集成開發(fā)環(huán)境,串口調(diào)試助手?!颈貍渲R(shí)點(diǎn)】1. 氣體傳感器的工作原理;2. 光敏/溫度傳感器的工作原理。3.4.1氣敏傳感器工作原理氣敏傳感器是一種把氣體中的特定成分檢測出來,并把它轉(zhuǎn)換為電信號(hào)的器件。它具有結(jié)構(gòu)簡單,使用方便,性能穩(wěn)定、可靠,靈敏度高等諸多優(yōu)點(diǎn)。按照氣體傳感器的結(jié)構(gòu)特性,一般可以分為以下幾種:半導(dǎo)體型氣敏傳感器、電化學(xué)型氣敏傳感器、固體電解質(zhì)氣敏傳感器、接觸燃燒式氣敏傳感器、光化學(xué)型氣敏傳感器、高分子氣敏傳感器、紅外吸收式氣敏傳感器等。本教材重點(diǎn)介紹半導(dǎo)體型氣敏傳感器和紅外吸收式氣敏傳感器。1.半導(dǎo)體型氣體傳感器

半導(dǎo)體型氣體傳感器的作用原理是傳感器與氣體相互作用時(shí)產(chǎn)生表面吸附或反應(yīng),引起以載流子運(yùn)動(dòng)為特征的電導(dǎo)率或伏安特性或表面電位變化。借此來檢測特定氣體的成分或者測量其濃度,并將其變換成電信號(hào)輸出。(1)可燃?xì)怏w/煙霧傳感器MQ-2型可燃?xì)怏w/煙霧傳感器屬于二氧化錫半導(dǎo)體氣敏材料,屬于表面離子式N型半導(dǎo)體。當(dāng)處于200~300°C溫度時(shí),二氧化錫吸附空氣中的氧,形成氧的負(fù)離子吸附,使半導(dǎo)體中的電子密度減少,從而使其電阻值增加。當(dāng)與煙霧接觸時(shí),如果晶粒間界處的勢(shì)壘受到該煙霧的調(diào)制而變化,就會(huì)引起表而電導(dǎo)率的變化。利用這一點(diǎn)就可以獲得這種煙霧存在的信息,煙霧濃度越大,電導(dǎo)率越大輸出電阻越低。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。(2)酒精傳感器

酒精傳感器一般有3個(gè)管腳,兩側(cè)的是加熱電極,中間的一個(gè)是檢測電極,從中間這個(gè)電極到任意兩個(gè)加熱電極的電阻都與酒精的濃度有關(guān),因此檢測這個(gè)電阻的阻值就可以檢測酒精的濃度。由于這個(gè)檢測電極與加熱電極之間是電器聯(lián)通的,因此受加熱電極上電壓的影響,需要從此電極連接一個(gè)檢測電阻到任意一個(gè)加熱電極上,檢測電極上的電壓即為傳感器輸出。(3)空氣質(zhì)量傳感器空氣質(zhì)量傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當(dāng)傳感器所處環(huán)境中存在污染氣體時(shí),傳感器的電導(dǎo)率隨空氣中污染氣體濃度的增加而增大。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)??諝赓|(zhì)量傳感器(MQ-135)對(duì)氨氣、硫化物、苯系蒸汽的靈敏度高,對(duì)煙霧和其它有害氣體的監(jiān)測也很理想。這種傳感器可檢測多種有害氣體,是一款適合多種應(yīng)用的低成本傳感器。2.紅外吸收式氣敏傳感器紅外吸收式氣敏傳感器的工作原理是利用一束紅外光的強(qiáng)度在通過一個(gè)氣體容器時(shí)將會(huì)減少,而光強(qiáng)度損失是一定體積內(nèi)活動(dòng)氣體分子數(shù)量的函數(shù),它將用來表示氣體濃度的函數(shù)。不同氣體器紅外波長各不相同,部分典型氣體的特征紅外吸收波長如表3-4所示。表3-4部分氣體的特征紅外吸收波長表當(dāng)一定頻率強(qiáng)度為I0的入射紅外光穿過氣體時(shí),氣體吸收自己特征頻率紅外光的能量后,從而使出射光能量減弱為I,即:I=I0e^((-μCL))(式3-2)式中:μ——?dú)怏w吸收系數(shù);

C——待測氣體濃度;

L——光程長度。這種紅外吸收式氣敏傳感器具有選擇性好、不易受有害氣體的影響而中毒或老化、響應(yīng)速度快、穩(wěn)定性好、防爆性好、信噪比高,使用壽命長、測量精度高、應(yīng)用范圍廣等優(yōu)點(diǎn)。本實(shí)驗(yàn)空氣質(zhì)量傳感模塊圖3-24氣體傳感模塊電路板說明:①M(fèi)Q-2氣體傳感器;②靈敏度調(diào)節(jié)電位器;③靈敏度電壓測試接口J10,測試有害氣體濃度閥值電壓,即比較器1負(fù)端(3腳)電壓;④比較器電路;⑤數(shù)字量輸出接口J7,測試比較器1輸出電平電壓;

⑥模擬量輸出接口J6,測試氣體傳感器感應(yīng)電壓,即比較器1正端電壓;⑦接地GND接口J2。3.4.2光敏/溫度傳感器工作原理光電式傳感器是將光通量轉(zhuǎn)換為電量的一種傳感器,它的基礎(chǔ)是光電轉(zhuǎn)換元件光電效應(yīng)。(1)

光電效應(yīng)

光電效應(yīng)是光電器件的理論基礎(chǔ)。光可以認(rèn)為是由具有一定能量的粒子(一般稱為光子)所組成的,而每個(gè)光子所具有的能量E與其頻率大小成正比。光照射在物體表面上就可以看成是物體受到一連串能量為E的光子轟擊,而光電效應(yīng)就是由于該物質(zhì)吸收到光子能量為E的光后產(chǎn)生的電效應(yīng)。本實(shí)驗(yàn)所用光照傳感器與溫度傳感器與一體,具體如圖3-30所示。圖3-30溫度/光照傳感模塊電路板說明:①溫敏或光敏電阻傳感器②基準(zhǔn)電壓調(diào)節(jié)電位器③比較器電路④基準(zhǔn)電壓測試接口J10,測試溫度感應(yīng)的閥值電壓,即比較器1負(fù)端(3腳)電壓⑤模擬量輸出接口J6,測試熱敏電阻兩端的電壓,即比較器1正端(2腳)電壓;⑥數(shù)字量輸出接口J7,測試比較器1輸出電平電壓⑦接地GND接口J23.4.3任務(wù)實(shí)訓(xùn)步驟第1步,搭建硬件環(huán)境,連接各模塊。

(1)組成光敏傳感器采集系統(tǒng)(光敏傳感器模塊設(shè)備)把ZigBee模塊和光敏傳感器模塊固定在NEWLab平臺(tái),將光敏傳感器模塊的模擬量輸出接口與ZigBee模塊的ADC0(P0_0)接口連接起來。(2)組成氣體傳感器采集系統(tǒng)(氣體傳感器模塊設(shè)備)把ZigBee模塊和氣體傳感器模塊固定在NEWLab平臺(tái),將氣體傳感器模塊的模擬量輸出接口與ZigBee模塊的ADC0接口連接起來。(3)組成模擬量集中采集系統(tǒng)(協(xié)調(diào)器模塊設(shè)備)將協(xié)調(diào)器模塊通過串口線連接到PC機(jī)串口或者通過USB轉(zhuǎn)串口線連接到PC機(jī),并給協(xié)調(diào)器通電。各模塊連接效果如圖3-30所示。圖

3-30硬件模塊連接圖第2步,新建工程和程序文件。新建工程的方法與過程參照本項(xiàng)目的任務(wù)3.2;第3步,編寫程序。編寫主程序代碼,或?qū)⒓夹g(shù)服務(wù)網(wǎng)站上相應(yīng)的源代碼添加進(jìn)工程。下面將sensor.c和collect.c兩個(gè)主文件中的關(guān)鍵代碼分別分析如下:sensor.c中的main函數(shù)/******************************************main**********************************************/voidmain(void){uint16sensor_val;uint16len=0;halBoardInit();//模塊相關(guān)資源的初始化ConfigRf_Init();//無線收發(fā)參數(shù)的配置初始化

halLedSet(1);halLedSet(2);Timer4_Init();//定時(shí)器初始化Timer4_On();//打開定時(shí)器while(1){APP_SEND_DATA_FLAG=GetSendDataFlag();if(APP_SEND_DATA_FLAG==1)//定時(shí)時(shí)間到{/*【傳感器采集、處理】

開始*/#ifdefined(GM_SENSOR)//光敏傳感器sensor_val=get_adc();//取模擬電壓//把采集數(shù)據(jù)傳化成字符串,以便于在串口上顯示觀察printf_str(pTxData,"光照傳感器電壓:%d.%02dV\r\n",sensor_val/100,sensor_val%100);#endif#ifdefined(QT_SENSOR)//氣體傳感器sensor_val=get_adc();//取模擬電壓//把采集數(shù)據(jù)傳化成字符串,以便于在串口上顯示觀察printf_str(pTxData,"氣體傳感器電壓:%d.%02dV\r\n",sensor_val/100,sensor_val%100);#endifhalLedToggle(3);//綠燈取反,無線發(fā)送指示//把數(shù)據(jù)通過zigbee發(fā)送出去basicRfSendPacket(SEND_ADDR,pTxData,strlen(pTxData));Timer4_On();//打開定時(shí)}/*【傳感器采集、處理】

結(jié)束*/}}/*******************************************mainend****************************************/2.collect.c中的main函數(shù)/***********************************************main******************************************/voidmain(void){uint16len=0;halBoardInit();//模塊相關(guān)資源的初始化ConfigRf_Init();//無線收發(fā)參數(shù)的配置初始化

halLedSet(1);halLedSet(2);while(1){if(basicRfPacketIsReady())//查詢有沒收到無線信號(hào){halLedToggle(4);//紅燈取反,無線接收指示//接收無線數(shù)據(jù)len=basicRfReceive(pRxData,MAX_RECV_BUF_LEN,NULL);//把接收到的無線發(fā)送到串口halUartWrite(pRxData,len);}}}/******************************************MAINEND****************************************/第4步,建立與配置模塊設(shè)備。(1)建立與配置光敏傳感器模塊設(shè)備1)建立模塊設(shè)備選擇菜單“Project→EditConfigurations”,彈出項(xiàng)目的配置對(duì)話框,如圖3-31所示,系統(tǒng)會(huì)檢測出項(xiàng)目中存在的模塊設(shè)備。圖

3-31項(xiàng)目配置對(duì)話框單擊“New...”按鈕,在彈出的對(duì)話框中輸入模塊名稱為:“gm_sensor”,基于Deubg模塊進(jìn)行配置,然后單擊【OK】按鈕完成模塊設(shè)備的建立。然后在項(xiàng)目配置對(duì)話框中就可以自動(dòng)檢測出剛才建立的模塊設(shè)備“gm_sensor”。具體如圖3-32所示。圖3-32光敏傳感器模塊配置對(duì)話框2)模塊“Options”設(shè)置為了給模塊設(shè)備設(shè)置對(duì)應(yīng)的條件編譯參數(shù),在此我們需要進(jìn)行如下設(shè)置:在項(xiàng)目工作組中選擇“gm_sensor”模塊,單擊右鍵選擇“Options”,在彈出的對(duì)話框中選擇“C/C++Compile”類別,在右邊的窗口中選擇“Preprocessor”選項(xiàng)中的“Definedsymbols:”中輸入“GM_SENSOR”

。具體配置如圖3-33所示。圖3-33光敏傳感器模塊Options設(shè)置3)建立與配置氣體傳感器模塊設(shè)備操作步驟與建立光敏傳感器模塊設(shè)備一樣,只需要將模塊設(shè)備名稱與模塊“Options”設(shè)置分別設(shè)置為“qt_sensor”與“QT_SENSOR”,操作方法與建立光敏傳感器模塊設(shè)備相同。4)建立與配置協(xié)調(diào)器模塊設(shè)備操作步驟與建立光敏傳感器模塊設(shè)備一樣,需要將模塊設(shè)備名稱設(shè)置為“collect”,并修改模塊“Options”設(shè)置。第5步,給各工作組下載程序。(1)為光敏傳感器模塊設(shè)備下載程序在IAR軟件的workspace欄內(nèi),選擇“gm_sensor”模塊,選中collect.c單擊右鍵,選擇“Options”,在彈出的對(duì)話框中將“Excludefrombuild”復(fù)選框打“√”,然后單擊“OK”。重新編譯程序無誤后,給NEWLab平臺(tái)上電,下載程序到ZigBee模塊中。(2)為氣體傳感器模塊設(shè)備下載程序在IAR軟件的workspace欄內(nèi),選擇“qt_sensor”模塊,選中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論