freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(文件)

2025-08-09 16:39 上一頁面

下一頁面
 

【正文】 nd people39。本課題所使用的三軸加速度傳感器具有體積小,重量輕的特點(diǎn),可以測(cè)量空間加速度,能夠完全準(zhǔn)確反映物體的運(yùn)動(dòng)性質(zhì),在控制,儀器儀表等領(lǐng)域,以及其他的電子設(shè)備,例如智能手機(jī),筆記本電腦 ,數(shù)碼相機(jī) 等方面都有著最廣泛的應(yīng)用。 本論文詳細(xì)論述了基于人體位置狀態(tài)變化的三軸加速度傳感器模塊的設(shè)計(jì)。 第四章 是根據(jù)實(shí)際的電路連接情況,對(duì)本課題的傳感器模塊 軟件 設(shè)計(jì), 使用 I2C 總線技術(shù)讀取加速度信息,并根據(jù)實(shí)際情況對(duì)加速度信息予以校正,最后設(shè)計(jì)出適當(dāng)?shù)乃惴ǎ?jì)算出人體運(yùn)動(dòng)狀態(tài)下位置的變化。而 Sensor 定義為這種裝置用來感知被 檢測(cè)系統(tǒng)的參數(shù),他能把特定的被檢測(cè)信息按一定規(guī)律轉(zhuǎn)換成某種便于處理、易于傳輸?shù)男畔?。由于現(xiàn)代技術(shù)發(fā)展迅速,敏感元件與傳感器產(chǎn)品的更新?lián)Q代周期越來越短,使得一些 新型傳感器具有原理新穎、機(jī)理復(fù)雜、技術(shù)綜合等鮮明的特點(diǎn),因此,需要不斷的更新生產(chǎn)技術(shù),配備相關(guān)的生成設(shè)備,同時(shí)需要配備多方面的高技術(shù)人才協(xié)同攻關(guān)。例如,一座大型鋼鐵廠需要 20 000 臺(tái)套傳感器和檢測(cè)儀表;大型石油化工廠需要 6 000 臺(tái)套傳感器和檢測(cè)儀表;大型發(fā)電機(jī)組需要 3 000 臺(tái)套傳感器和檢測(cè)儀表等。 由于同一被測(cè)量可用不同轉(zhuǎn)換原理實(shí)現(xiàn)探測(cè),利用同一種物理法則、化學(xué)反應(yīng)或生物效應(yīng)可設(shè)計(jì)制作出檢測(cè)不同被測(cè)量的傳感器,而功能大同小異的同一類傳感器可用于不同的技術(shù)領(lǐng)域,故傳感器有不同的分類法。 靈敏度: 傳感器在穩(wěn)態(tài)信號(hào)作用下輸出量變化對(duì)輸入量變化的比值 。 漂移: 傳感器在輸入量不變的情況下,輸出量隨 時(shí)間變化的現(xiàn)象。 三軸加速度傳感器 加速度傳感是基于加速度的基本原理去實(shí)現(xiàn)工作的,加速度是個(gè)空間矢量,一方面,要準(zhǔn)確了解物體的運(yùn)動(dòng)狀態(tài),必須得到三個(gè)坐標(biāo)軸上的分量;另一方面,在預(yù)先不知道物體運(yùn)動(dòng)方向的場(chǎng)合下,只有應(yīng)用三軸加速度傳感器來測(cè)量加速度信號(hào)。 加速度傳感器 的應(yīng)用 加快度 傳感器 可以 應(yīng)用 于 車輛運(yùn)動(dòng)姿態(tài)的測(cè)量 , 車輛在行駛中,由于路面的不平整,會(huì)產(chǎn)生跌宕,對(duì)駕駛的舒適度產(chǎn)生影響,而如果配備了三軸加速度傳感器,那么它就可以采集出車輛行駛過程中的三個(gè)軸向的加速度值,計(jì)算出車與路面的傾角,并分析這三個(gè)加速度的形成原因,從而可以調(diào)整駕駛的位置,使得駕駛的舒適性大大的提高。 加速度傳感器還可以應(yīng)用于各種電子產(chǎn)品,比如現(xiàn)在越來越多的人使用智能手機(jī),在閱讀文章,玩游戲的時(shí)候,使用加速度傳感器可以模擬出人體對(duì)手機(jī)位置 的操作,從而方便了人們的一些操作 ,使人們的日常生活更加的方便,更加的科學(xué)化,人性 化。很顯然,加速度對(duì)時(shí)間的二次積分就是位移,從而 再經(jīng)過 處理,就可以得到最終的位置信息。假設(shè) X,Y,Z 三個(gè)坐標(biāo)軸的單位向量為: i , j , k 那么 P 點(diǎn)的向量表示為: 0 0 0* * *r x i y j z k? ? ? (21) 在人體運(yùn)動(dòng)時(shí),傳感器模塊也跟著做出相應(yīng)的運(yùn)動(dòng),因此我們可以建立一個(gè)關(guān)于人體的空間直角坐標(biāo)系, 從而反映出模塊的位置變化。 假設(shè)加速度采樣時(shí)間為 Δt,前一時(shí)刻和當(dāng)前時(shí)刻的加速度值分別為 a_old 和a_new。 設(shè) i , j , k 為 x,y,z 方向的單位向量 ()xxe e t? , ()yye e t? , ()zze e t? 表示 各坐標(biāo) 軸隨 著 時(shí)間的變化 時(shí)各軸的方向向量。因此可以先計(jì)算出夾角,然后各個(gè)坐標(biāo)軸單獨(dú)求加速度分量。因此 可以分為以下幾個(gè)子模塊,主控模塊,加速度采集模塊,顯示模塊,電源。接著分析了傳統(tǒng)的位置計(jì)算方法,提出了改進(jìn)后的位置計(jì)算方法,很明顯傳統(tǒng)的思路 雖然簡(jiǎn)單,可實(shí)際應(yīng)用時(shí)卻要進(jìn)行向量運(yùn)算,而改進(jìn)后的方法只需要求出傳感器各軸偏轉(zhuǎn)的角度,就可以確定出標(biāo)準(zhǔn)空間坐標(biāo)系上各軸的加速度值,從而只需要進(jìn)行簡(jiǎn)單的數(shù)值積分就能得到位置信息。該框架由四個(gè)子模塊構(gòu)成: 8051 單片機(jī)微處理器模塊, ADXL345 加速度傳感器模塊, 1602 液晶顯示模塊,以及電平 轉(zhuǎn)換模塊。只有這樣才能夠采集到正確的加速度信息。 本課題選用的是 STC89C52 單片機(jī),是一種 增強(qiáng)型 8051 單片機(jī) 。 8051 單片機(jī)的 功耗 極低,并且擁有很高的 性能 ,是一個(gè) 8 位 的 微控制 。 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 13 5. 外部中斷 有 4 路, 都是 下降沿中斷 方式 或 者使用 低電平觸發(fā)電路 6. 可以使用異步串口模式 UART, 對(duì)于程序的調(diào)試幫助很大 很明顯可以看出 STC89C52 芯片,可以充分的完成本課題的需求,低功耗,高速處理數(shù)據(jù),電路簡(jiǎn)單,操 作方便。 因?yàn)樗莒`敏,因此可以精確的 測(cè)量 出 不到 176。為了后期程序的編寫,這里 給出了 ADXL345 的寄存器映射 , 如圖 34 所示。 圖 34 1602 液晶顯示屏電路圖 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 15 從圖 34 可以看出, 1602 采用的是 16 腳帶背光的標(biāo)準(zhǔn)腳。 在三軸位置傳感器模塊的設(shè)計(jì)中, ADIXL345 由 的電壓進(jìn)行供電,但是 單片機(jī) 卻是 以 5v 電壓運(yùn)行供電 ,所以需要加入電平 轉(zhuǎn)換 芯片,在這里我們選用 的是SN74LVC4245, SN74LVC4245 是一種 電平和 5v 電平轉(zhuǎn)換芯片,它 有三態(tài)輸出,是一種 8bit 總線收發(fā)器。在被控制電路均并聯(lián)在這條總線上, 如圖 36 所示。當(dāng) I2C 總線不工作時(shí),數(shù)據(jù)線和時(shí)鐘線均被拉高,同時(shí)如果總線上的電路器件的輸出為低電平,都會(huì)使 I2C 總線的信號(hào)變?yōu)榈碗娖剑簿褪?SDA 及 SCL 在器件上表現(xiàn)為 線與 關(guān)系, 如圖 37 所示 。 停止信號(hào): SCL 為低電平時(shí), SDA 由高電平向低電平的跳變,結(jié)束傳送數(shù)據(jù)。如圖 39 所示。即使電路搭建了起來,它也是 不能夠工作的,還必須進(jìn)行詳細(xì)的軟件設(shè)計(jì),下一章將詳細(xì)分析讓電路工作起來,并采集加速度信息,計(jì)算位置狀態(tài)信息的軟件設(shè)計(jì)。 Keil uVision 是 美國(guó) Keil Software 公司出品的 51 系列兼容 單片機(jī) C 語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用 。 開 始 上電延時(shí) 各模塊初始化 采集加速度 閾值判斷 計(jì)算位置 顯示數(shù)據(jù) 結(jié)束 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 20 單片機(jī)常用操作 系統(tǒng) 的復(fù)位及 初始化 8051單片機(jī)復(fù)位的目的在于使得 CPU和系統(tǒng)中的其他功能器件都處于一個(gè)確定一個(gè)確定的初始狀態(tài),并且從這個(gè)初始狀態(tài), 8051 單片機(jī)復(fù)位的條件是必須使 RST段加上兩個(gè)周期的高電平圖 42 給出了一種復(fù)位電 路 。16 為的定時(shí)器 /計(jì)數(shù)器的實(shí)質(zhì)就是一個(gè)加 1 的計(jì)數(shù)器,可實(shí)現(xiàn)定時(shí)和計(jì)數(shù)兩種功能, 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 21 其功能通常又程序進(jìn)行設(shè)置 。 TMOD 是 定時(shí)器 /計(jì)數(shù)器 方式寄存器 用于控制 T0 和 T1 的操作模式,各位的定義模式如 圖 43。那么提供組定時(shí)器的是計(jì)數(shù)源是什么呢?其實(shí)就是由單片機(jī)的晶振經(jīng)過 12 分頻后獲得的一個(gè)脈沖源。 定時(shí)器 /計(jì)數(shù)器的定時(shí) /計(jì)數(shù)范圍 : 工作方式 0: 13 位定時(shí) /計(jì)數(shù)方式,因此,最多可以計(jì)到 2 的 13 次方,也就是8192 次。 中斷 中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過程中 , 由于計(jì)算機(jī)系統(tǒng)內(nèi)、 外的某種原因 , 而必須中 止原程序的執(zhí)行 , 轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序 , 待處理結(jié)束之后 , 再回來繼續(xù)執(zhí)行被中止的原程序的過程。 中斷允許控制寄存器 IE ( 0A8H) 圖 45 中斷允許控制寄存器 EX0:外部中斷 0 允許位 ET0:定時(shí)器 /計(jì)數(shù)器 0 中斷允許位 EX1:外部中斷 1 允許位 ET1:定時(shí)器 /計(jì)數(shù)器 1 中斷允許位 ES : 串行口中斷允許位 EA :中斷總允許位 中斷優(yōu)先級(jí)控制寄存器 IP( 0B8H) 圖 46 中斷優(yōu)先級(jí)控制寄存器 PX0:外部中斷 0 允許位 PT0:定時(shí)器 /計(jì)數(shù)器 0 中斷允許位 PX1:外部中斷 1 允許位 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 23 PT1:定時(shí)器 /計(jì)數(shù)器 1 中斷允許位 PS : 串行口中斷允許位 程序設(shè)計(jì) 在本節(jié)將 對(duì)加速度采集模塊,顯示模塊, 以及最終 的位置計(jì)算 進(jìn)行詳細(xì)的算法設(shè)計(jì) 。 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 24 然后進(jìn)行應(yīng)答信號(hào)的接收與發(fā)送。 位置計(jì)算 從 ADXL345 采集到的是二進(jìn)制數(shù),因此必須把二進(jìn)制數(shù)轉(zhuǎn)換為 10 進(jìn)制數(shù),也就是合成數(shù)據(jù),根據(jù)加速度傳感器的數(shù)據(jù)手冊(cè) ,乘上系數(shù) 再除以 1000 這樣 變?yōu)橐?g 為單位的加速度信息 ,有助于后期數(shù)據(jù)的處理。 步驟如下: ( 1)先從 ADXL345 讀取 X 軸的加速度信息,并處理成以 g 為單位的數(shù)據(jù)。并設(shè)一個(gè)標(biāo)志量 flag,它的初始值為 0,如果進(jìn)行了數(shù)據(jù)累加,那么令它的值為 1。否則的話令此時(shí)的速度為 0,距離還是保持不變。 實(shí)際上我們顯示的數(shù)據(jù)分為兩行,它的每一行從 0 開始到 15 有 16 個(gè)位置 。 //IIC 時(shí)鐘引腳定義 sbit SDA=P1^3。 //LCD1602 命令端口 define SlaveAddress 0xA6 typedef unsigned char BYTE。 //接收數(shù)據(jù)緩存區(qū) uchar ge,shi,bai,qian,wan。 angx,angy, angz 為相對(duì)于標(biāo)準(zhǔn)位置的偏移角度 float idata vx0=0,vx=0,vy0=0,vy=0,vz0=0,vz=0。 //初始化 lcd1602 void Init_ADXL345(void)。 三軸位置傳感器模塊設(shè)計(jì)與實(shí)現(xiàn) 30 void conversion(uint temp_data)。//連續(xù)的讀取內(nèi)部寄存器數(shù)據(jù) void Delay5us()。 void ADXL345_SendACK(bit ack)。 void ADXL345_ReadPage()。 //取余運(yùn)算 qian=temp_data/1000+0x30 。 //取余運(yùn)算 shi=temp_data/10+0x30 。 for(i=0。j++) {。LCM_EN=1。 result=(BOOL)(DataPortamp。 } /*******************************/ void WriteCommandLCM(uchar CMD) { while(WaitForEnable())。 _nop_()。 _nop_()。 LCM_EN=0。LCM_EN=0。 LCM_EN=1。 } /***********************************/ void InitLcd() { WriteCommandLCM(0x38)。 } /***********************************/ void DisplayOneChar(uchar X,uchar Y,uchar DData。 WriteCommandLCM(0x06)。_nop_()。 DataPort=dataW。 LCM_RS=1。 _nop_()。 DataPort=CMD。LCM_RW=0。 LCM_EN=0。_nop_()。 LCM_RS=0。i++) { for(j=0。 //取余運(yùn)算 ge=temp_data+0x30。 //取余運(yùn)算 bai=temp_data/100+0x30 。 //轉(zhuǎn)化數(shù)據(jù) void conversion(uint temp_data) { wan=temp_data/10000+0x30 。 void ADXL345_SendByte(BYTE dat)。 void ADXL345_Start()。 //單個(gè)寫入數(shù)據(jù) uchar Single_Read_ADXL345(uchar REG_Address)。 void WriteCommandLCM(uchar CMD)。 void delay(unsigned int k)。 //變量 float idata T,K,Q,Q0,T_0,K0,angy,angz,angx。 typedef bit BOOL。 //LCD1602 命令端口 sbit LCM_RW=P2^5。 它的流程圖為:
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1