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

正文內容

三軸位置傳感器模塊設計與實現畢業(yè)設計(文件)

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

下一頁面
 

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