




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
遼 寧 工 業(yè) 大 學(xué) 無線傳感網(wǎng)絡(luò)技術(shù) 課程設(shè)計(jì)(論文)題目: 加速度傳感器數(shù)據(jù)采集系統(tǒng) 院(系): 電子與信息工程學(xué)院 專業(yè)班級: 物聯(lián)網(wǎng) 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師: 教師職稱: 起止時(shí)間:14-06-23至14-07-11 課程設(shè)計(jì)(論文)任務(wù)及評語院(系):電子與信息工程學(xué)院 教研室:學(xué) 號(hào)學(xué)生姓名專業(yè)班級課程設(shè)計(jì)(論文)題目加速度傳感器數(shù)據(jù)采集系統(tǒng)課程設(shè)計(jì)(論文)任務(wù)利用加速度傳感器進(jìn)行數(shù)據(jù)采集,并將采集到的數(shù)據(jù)傳遞到上位機(jī),并顯示。用加速度傳感器采集到的信息來控制電機(jī),通過轉(zhuǎn)動(dòng)與停止來檢測是否產(chǎn)生加速度。主要設(shè)計(jì)內(nèi)容:1. 畫出實(shí)驗(yàn)原理圖2. 編寫功能代碼,燒寫代碼3. 功能熟練演示要求:1. 根據(jù)題目和所用的傳感器節(jié)點(diǎn),用計(jì)算機(jī)繪制出原理圖以及程序流程圖;2. 認(rèn)真獨(dú)立完成所規(guī)定的設(shè)計(jì)內(nèi)容(4000字左右),嚴(yán)禁相互抄襲;指導(dǎo)教師評語及成績平時(shí)成績: 論文質(zhì)量: 答 辯: 總 成 績: 指導(dǎo)教師簽字: 年 月 日目 錄第1章 加速度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案51.1 引言51.2 總體方案論述5第2章 加速度數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)62.1 系統(tǒng)所需的硬件62.2 硬件系統(tǒng)各部分實(shí)現(xiàn)的功能82.3系統(tǒng)整體實(shí)現(xiàn)的功能簡介9第3章 加速度傳感器數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)103.1 系統(tǒng)軟件的功能說明103.2 系統(tǒng)程序流程圖103.3 系統(tǒng)主要代碼11第4章 課程設(shè)計(jì)總結(jié)16參考文獻(xiàn)17第1章 加速度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案1.1 引言隨著智能化腳步的到來,人們已經(jīng)發(fā)明出了很多用于測量的高智能產(chǎn)品,其中就有加速度傳感器,加速度傳感器是通過測量由于重力引起的加速度,你可以計(jì)算出設(shè)備相對于水平面的移動(dòng)速度,通過分析動(dòng)態(tài)加速度,你可以分析出設(shè)備移動(dòng)的方式。加速度傳感器不僅可以測量牽引力產(chǎn)生的加速度,甚至可以用來分析發(fā)動(dòng)機(jī)的振動(dòng)。其應(yīng)用非常廣泛,例如加速度傳感器可應(yīng)用于地震波的檢測,車禍報(bào)警的應(yīng)用,還可用于高壓電線的擺動(dòng)監(jiān)測,應(yīng)用十分的廣泛。1.2 總體方案論述 加速度數(shù)據(jù)采集系統(tǒng)的總體結(jié)構(gòu)如圖1所示。系統(tǒng)主要由三部分組成,包括加速度傳感器節(jié)點(diǎn),協(xié)調(diào)器,PC。首先我們將編寫好的協(xié)調(diào)器代碼通過IAR環(huán)境燒寫到協(xié)調(diào)器中,然后修改協(xié)調(diào)器中各節(jié)點(diǎn)ID,此時(shí)協(xié)調(diào)器將會(huì)組建一個(gè)小范圍的網(wǎng)絡(luò)來控制各個(gè)節(jié)點(diǎn)協(xié)調(diào)工作。加速度傳感器節(jié)點(diǎn)將采集到的數(shù)據(jù)通過無線的方式傳給協(xié)調(diào)器,協(xié)調(diào)器通過串口將數(shù)據(jù)上傳到上位機(jī)的顯示屏。本次的系統(tǒng)設(shè)計(jì)在原有的基礎(chǔ)上增加了難度,不僅通過串口通信輸出到 PC 機(jī)上實(shí)時(shí)顯示,而且同過無線的方式用加速度傳感器采集到的信息來控電機(jī),通過轉(zhuǎn)動(dòng)與停止來檢測是否產(chǎn)生加速度。其系統(tǒng)組成框圖如圖1.1所示 協(xié)調(diào)器PC顯示屏加速度傳感器器電源模塊電機(jī)傳感器圖1.1 系統(tǒng)總體框圖第2章 加速度數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)2.1 系統(tǒng)所需的硬件加速度數(shù)據(jù)采集系統(tǒng)所需的硬件包括加速度傳感器節(jié)點(diǎn),協(xié)調(diào)器,電機(jī)傳感器節(jié)點(diǎn),PC機(jī),燒寫代碼的工具。其實(shí)物圖如下: 圖2.1 加速度傳感器節(jié)點(diǎn) 圖2.2 燒寫代碼工具圖2.3 協(xié)調(diào)器圖 2.4 電機(jī)傳感器節(jié)點(diǎn)2.2 硬件系統(tǒng)各部分實(shí)現(xiàn)的功能2.2.1 數(shù)據(jù)的采集與發(fā)送部分實(shí)現(xiàn)該部分功能的部件是加速度傳感器節(jié)點(diǎn),該節(jié)點(diǎn)中的敏感元件將測點(diǎn)的加速度信號(hào)轉(zhuǎn)換為相應(yīng)的電信號(hào),進(jìn)入前置放大電路,經(jīng)過信號(hào)調(diào)理電路改善信號(hào)的信噪比,再進(jìn)行模數(shù)轉(zhuǎn)換得到數(shù)字信號(hào),最后送入到其嵌入的的單片機(jī)中,單片機(jī)再進(jìn)行數(shù)據(jù)存儲(chǔ)與控制。當(dāng)傳感元件以加速度a運(yùn)動(dòng)時(shí),質(zhì)量塊受到一個(gè)與加速度方向相反的慣性力作用,發(fā)生與加速度成正比a的形變,使懸臂梁也隨之產(chǎn)生應(yīng)力和應(yīng)變。該變形被粘貼在懸臂梁上的擴(kuò)散電阻感受到。根據(jù)硅的壓阻效應(yīng),擴(kuò)散電阻的阻值發(fā)生與應(yīng)變成正比的變化,將這個(gè)電阻作為電橋的一個(gè)橋臂,通過測量電橋輸出電壓的變化可以完成對加速度的測量。其框圖如圖2.2:無線單片機(jī)(CC2430)外圍匹配電路加速度傳感器電源監(jiān)測電路以及相應(yīng)的指示電路系統(tǒng)電源圖 2.2 無線加速度傳感器網(wǎng)絡(luò)節(jié)點(diǎn)框圖2.2.2 協(xié)調(diào)器節(jié)點(diǎn)部分協(xié)調(diào)器是加速度傳感器數(shù)據(jù)采集系統(tǒng)中的重要組成部分,它的作用主要包括協(xié)調(diào)建立網(wǎng)絡(luò),還包括檢測網(wǎng)絡(luò)狀態(tài)、發(fā)送維護(hù)信號(hào)、發(fā)送采集命令,其他功能還包括:傳輸網(wǎng)絡(luò)信標(biāo)、管理網(wǎng)絡(luò)節(jié)點(diǎn)及存儲(chǔ)網(wǎng)絡(luò)節(jié)點(diǎn)信息,并且提供關(guān)聯(lián)節(jié)點(diǎn)之間的路由信息;此外,網(wǎng)絡(luò)協(xié)調(diào)器要存儲(chǔ)一些基本信息,如節(jié)點(diǎn)數(shù)據(jù)設(shè)備、數(shù)據(jù)轉(zhuǎn)發(fā)表及設(shè)備關(guān)聯(lián)表等。其框圖如圖2.3:有節(jié)點(diǎn)加入網(wǎng)絡(luò)初始化開始分配網(wǎng)絡(luò)地址建立網(wǎng)絡(luò) 圖 2.3 協(xié)調(diào)器節(jié)點(diǎn)框圖2.2.3 結(jié)果的表達(dá)與輸出部分 該部分包括兩部分,一是電機(jī)節(jié)點(diǎn),二是PC機(jī)的顯示屏。由加速度傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)最終將通過串口輸出數(shù)據(jù)顯示在屏幕上,還有通過電機(jī)的轉(zhuǎn)動(dòng)與停止來觀察數(shù)據(jù)。圖 2.4 數(shù)據(jù)顯示在屏幕上2.3系統(tǒng)整體實(shí)現(xiàn)的功能簡介 各個(gè)節(jié)點(diǎn)的代碼及協(xié)調(diào)器的代碼燒寫完畢后,對加速度傳感器進(jìn)行一定動(dòng)作后,在協(xié)調(diào)器所組建的這個(gè)小網(wǎng)絡(luò)下將進(jìn)行數(shù)據(jù)的無線傳輸。協(xié)調(diào)器接收到數(shù)據(jù)后通過串口將數(shù)據(jù)上傳到顯示屏上,電機(jī)接收到數(shù)據(jù)后會(huì)開始轉(zhuǎn)動(dòng)。其實(shí)現(xiàn)的功能如下圖所示: 第3章 加速度傳感器數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)3.1 系統(tǒng)軟件的功能說明主程序是系統(tǒng)的監(jiān)控程序,主要對系統(tǒng)中各部分進(jìn)行初始化工作,使整個(gè)系統(tǒng)在上電后進(jìn)入初始化狀態(tài),主要工作流程是:系統(tǒng)在上電后首先完成CPU和外部端口的初始化,采集節(jié)點(diǎn)會(huì)將采集到的數(shù)據(jù)在ZigBee網(wǎng)絡(luò)中廣播,協(xié)調(diào)器將收到的數(shù)據(jù)上傳上位機(jī),電機(jī)收到數(shù)據(jù)后發(fā)生轉(zhuǎn)動(dòng),這就是系統(tǒng)軟件實(shí)現(xiàn)的功能。開始3.2 系統(tǒng)程序流程圖處理器初始化各功能模塊初始化ADC初始化設(shè)置到接收數(shù)據(jù)時(shí)間相應(yīng)寄存器標(biāo)志位清零Y讀取數(shù)據(jù)寄存器處理并通過串口發(fā)送數(shù)據(jù)圖 3.1 系統(tǒng)程序流程圖3.3 系統(tǒng)主要代碼3.3.1 加速度傳感器節(jié)點(diǎn)代碼void SerialApp_Init( uint8 task_id ) halUARTCfg_t uartConfig; static uint8 deviceID;SerialApp_TaskID = task_id; afRegister( (endPointDesc_t *)&SerialApp_epDesc ); RegisterForKeys( task_id );Init_I2c();ADXL345Init(); IReadData(ADXL345_ADDR1, WHO_AM_I, &deviceID); /0xD3if(deviceID = 0xE5) else while(1); UART0_Format.Header_1 = 0xee;UART0_Format.Header_2 = 0xcc;UART0_Format.NodeSeq = 0x01;UART0_Format.NodeID = Accele; UART0_Format.Tailer = 0xff; SerialApp_TxAddr.addrMode =(afAddrMode_t)Addr16Bit;/發(fā)送地址初始化 SerialApp_TxAddr.endPoint = SERIALAPP_ENDPOINT;SerialApp_TxAddr.addr.shortAddr = 0xffff;TXPOWER = 0xf5;void SerialApp_Init( uint8 task_id )halUARTCfg_t uartConfig;static uint8 deviceID;SerialApp_TaskID = task_id;afRegister( (endPointDesc_t *)&SerialApp_epDesc );RegisterForKeys( task_id );Init_I2c();ADXL345Init();IReadData(ADXL345_ADDRclusterId ) case SERIALAPP_CLUSTERID1: /處理各個(gè)傳感器節(jié)數(shù)據(jù) receiveData = (UART_Format *)(pkt-cmd.Data); if(receiveData-Header_1=0xcc)&(receiveData-Header_2=0xee)&(receiveData-Tailer=0xff) /校驗(yàn)包頭包尾 if(receiveData-NodeID = Accele) /地址 HalLedBlink(HAL_LED_2,1,50,600); break; case SERIALAPP_CLUSTERID2: break; default: break; 3.2 協(xié)調(diào)器節(jié)點(diǎn)主要代碼void SerialApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt ) /處理接收到的RF消息 UART_Format *receiveData;/*UART_Format rsp;rsp.Header_1 = 0xcc;rsp.Header_2 = 0xee;rsp.NodeSeq = 0x01; rsp.Tailer = 0xff;*/receiveData = (UART_Format *)(pkt-cmd.Data);int8 receive_rssi; receive_rssi = pkt-rssi; switch ( pkt-clusterId )case SERIALAPP_CLUSTERID1: /處理各個(gè)傳感器節(jié)數(shù)據(jù)if(receiveData-Header_1=0xee)&(receiveData-Header_2=0xcc)&(receiveData-Tailer=0xff) /校驗(yàn)包頭包尾if(receiveData-Command = MSG_PERIOD) /如果是周期消息receiveData-Data0 = receive_rssi;HalUARTWrite(SERIAL_APP_PORT, (uint8*)receiveData, sizeof(UART_Format); /通過串口發(fā)送給網(wǎng)關(guān) if(receiveData-NodeID = LED_PWM)PWM_TxAddr = pkt-srcAddr; break;case SERIALAPP_CLUSTERID2: break;default:break; if (afStatus_SUCCESS != AF_DataRequest(txaddr, /發(fā)送地址(endPointDesc_t *)&SerialApp_epDesc, /endpoint描述cID, /clusterIDlen, p, /發(fā)送數(shù)據(jù)包的長度和地址&SerialApp_MsgID, 0, AF_DEFAULT_RADIUS) elseHalLedBlink(HAL_LED_1,1,50,600);void SerialApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt ) /處理接收到的RF消息 UART_Format *receiveData; /*UART_Format rsp; rsp.Header_1 = 0xcc; rsp.Header_2 = 0xee; rsp.NodeSeq = 0x01; rsp.Tailer = 0xff;*/ receiveData = (UART_Format *)(pkt-cmd.Data); int8 receive_rssi; receive_rssi = pkt-rssi; switch ( pkt-clusterId ) case SERIALAPP_CLUSTERID1: /處理各個(gè)傳感器節(jié)數(shù)據(jù) if(receiveData-Header_1=0xee)&(receiveData-Header_2=0xcc)&(receiveData-Tailer=0xff) /校驗(yàn)包頭包尾 if(receiveData-Command = MSG_PERIOD) /如果是周期消息 receiveData-Data0 = receive_rssi; HalUARTWrite(SERIAL_APP_PORT, (uint8*)receiveData, sizeof(UART_Format); /通過串口發(fā)送給網(wǎng)關(guān) if(receiveData-NodeID = LED_PWM) PWM_TxAddr = pkt-srcAddr; break; case SERIALAPP_CLUSTERID2: break; default: break; 3.3.3 電機(jī)節(jié)點(diǎn)代碼void SerialApp_Init( uint8 task_id )halUARTCfg_t uartConfig;SerialApp_TaskID = task_id;afRegister( (endPointDesc_t *)&SerialApp_epDesc );RegisterForKeys( task_id );Motor_Init();LED_Init();uartConfig.configured = TRUE; / 2x30 dont care - see uart driver.uartConfig.baudRate = SERIAL_APP_BAUD;uartConfig.flowControl = FALSE;uartConfig.flowControlThreshold = SERIAL_APP_THRESH; / 2x30 dont care - see uart driver.uartConfig.rx.maxBufSize = SERIAL_APP_RX_SZ; / 2x30 dont care - see uart driver.uartConfig.tx.maxBufSize = SERIAL_APP_TX_SZ; / 2x30 dont care - see uart driver.uartConfig.idleTimeout = SERIAL_APP_IDLE; / 2x30 dont care - see uart driver.uartCEnable = TRUE; / 2x30 dont care - see uart driver.uartConfig.callBackFunc = SerialApp_CallBack;HalUARTOpen (SERIAL_APP_PORT, &uartConfig); UART0_Format.Header_1 = 0xee;UART0_Format.Header_2 = 0xcc;UART0_Format.NodeSeq = 0x01;UART0_Format.NodeID = Motor;UART0_Format.Tailer = 0xff;SerialApp_TxAddr.addrMode =(afAddrMode_t)Addr16Bit;/發(fā)送地址初始化SerialApp_TxAddr.endPoint = SERIALAPP_ENDPOINT;SerialApp_TxAddr.addr.shortAddr = 0x0000;TXPOWER = 0xf5;void SerialApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt ) /處理接收到的RF消息 static UART_Format *receiveData; static UART_Format Rsp; Rsp.Header_1 = 0xee; Rsp.Header_2 = 0xcc; Rsp.NodeSeq = 0x01; Rsp.NodeID = Motor; Rsp.Command = MSG_RSP; Rsp.Tailer = 0xff; switch ( pkt-clusterId ) case SERIALAPP_CLUSTERID1: /處理各個(gè)傳感器節(jié)數(shù)據(jù) receiveData = (UART_Format *)(pkt-cmd.Data); if(receiveData-Header_1=0xee)&(receiveData-Header_2=0xcc)&(receiveData-Tailer=0xff) /校驗(yàn)包頭包尾 if(receiveData-NodeID = Accele) /地址 Motor_Control(FRONT); Rsp.Data0 = FRONT; else Motor_Control(HALT);第4章 課程設(shè)計(jì)總結(jié) 為期三周的加速度傳感器數(shù)據(jù)采集系統(tǒng)的課程設(shè)計(jì)即將結(jié)束,這次的課設(shè)對我來說真的很重要,很貼近我們所學(xué)習(xí)的專業(yè),真的學(xué)到了很多有用的知識(shí)。最近我們專業(yè)的實(shí)驗(yàn)室引進(jìn)了一批物聯(lián)網(wǎng)實(shí)驗(yàn)箱,這是我以前所沒有見過的,我想通過這次的學(xué)習(xí)會(huì)對我以后的工作有很大的幫助的。 這三周的課設(shè)共分為三個(gè)部分,第一部分是中軟國際的一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年小微企業(yè)創(chuàng)業(yè)扶持資金申請申報(bào)指南與政策解讀報(bào)告
- 2025年生物制藥資金申請報(bào)告
- 公司章程及經(jīng)營管理制度
- lng運(yùn)輸救援管理制度
- 家具公司無合同管理制度
- 東莞大朗藥品店管理制度
- mdr感染手術(shù)管理制度
- 公司精細(xì)化財(cái)務(wù)管理制度
- 公司檔案室安全管理制度
- 監(jiān)理部上墻安全管理制度
- 乙酸安全周知卡、職業(yè)危害告知卡、理化特性表
- 蘇少版 音樂 四年級下冊 《我的家在日喀則》 公開課一等獎(jiǎng)?wù)n件省賽課獲獎(jiǎng)?wù)n件
- 鐵道概論P(yáng)PT完整全套教學(xué)課件
- 投稿版權(quán)轉(zhuǎn)讓協(xié)議書
- 翎云教育試卷二年級下冊數(shù)學(xué)
- 淺談心理護(hù)理溝通技巧
- 哈薩克斯坦共和國有限責(zé)任公司和補(bǔ)充責(zé)任公司法
- 軟件技術(shù)專業(yè)實(shí)踐報(bào)告(五篇)
- 深基坑工程巡視檢查記錄表
- 計(jì)數(shù)型量具分析報(bào)告(Excel帶計(jì)算KAPPA公式)
- GB/T 30889-2014凍蝦
評論
0/150
提交評論