雙軸加速度傳感器_第1頁
雙軸加速度傳感器_第2頁
雙軸加速度傳感器_第3頁
雙軸加速度傳感器_第4頁
雙軸加速度傳感器_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、雙軸加速度傳感器概要Memsic 2125 雙軸加速度傳感器,能夠測量運動加速度和靜態(tài)加速度。測量范圍為-2g+2g。特點l 能測量X和Y軸方向上的-2g+2g的加速度,精度為1mgl 全溫度工作(070)l 簡單的脈沖輸出接口,容易在各種單片機上實現(xiàn)?;具B線圖圖 1將MXD2125連接到我們的實驗板很簡單,這里的Y(OUT)連接P3_3 ,X(OUT)了解到P3_2。 工作原理Memsic 2125的核心包含一個加熱器,這個加熱器產(chǎn)生“氣泡”,當(dāng)重力作用在這些“氣泡”上就會促使“氣泡”移動,這個移動會被非常敏感的溫度傳感器檢測到,通過電子器件將“氣泡”的位置轉(zhuǎn)化為脈沖輸出。Mxd2125輸

2、出的脈沖,在加速度為0的時候,脈沖的占空比為50%,這個占空比會隨著加速度的變化而變化。如圖2 。計算加速度有如下公式:A(g) = (T1 / T2) - 0.5) / 12.5%T2在25攝氏度的時候為10ms ,所以我們只要能測到某一個軸高電平的時間,就能計算出加速度。如果是在靜止?fàn)顟B(tài)下,在得到加速度以后我們還可計算出現(xiàn)在的傾斜角,公式如下:Tilt = ARCSIN(g)圖 2演示程序下面的Demo實現(xiàn)對X軸和Y軸 的加速度和傾斜角的測量。其中包含一個處理LCD數(shù)字顯示的頭文件LCDDISPNUM.H。具體見相關(guān)程序。PART 1 MXD2125.h文件/*文件 : MXD2125.h

3、描述 :雙軸加速器 編寫 : 任曉東說明 :使用MXD2125實現(xiàn)對加速度,角度的測量日期 :2008年10月30日*/#include <AT89X52.h>#include <stdio.h>#include<BoeBot.h>#include<MATH.H>#define uint unsigned int #define uchar unsigned char #define SIGX P3_2/信號引腳,外部中斷0 X#define SIGY P3_3 / Y#define PI 3.1415926#define TILT(a) a*1

4、80/PI /度弧度×180°/*- 函數(shù)名:Time2_init( ) 功 能:使用T2做串口時鐘-*/void Time2_init(void)EA = 1;T2MOD = 0; T2CON |= 0x10;SCON = 0x50 ;TH2 = (65536 - 36)/256;TL2 = (65536-36)%256;RCAP2H = (65536 - 36)/256;RCAP2L =(65536 - 36)%256;TR2 = 1; TI = 1;/*- 函數(shù)名:Time0_1_init( ) 功 能:T0和T1分別記錄X和Y 軸的值-*/void Time0_1_

5、init(void)TMOD |= 0x99 ; /定時器1和0,門控制 定時器1方式TH0 = 0 ;TL0 = 0 ; TR0 = 0 ; TH1 = 0 ; TL1 = 0 ; TR1 = 0 ;/*- 函數(shù)名:GetXmg ( ) 功 能: 計算X軸方向的加速度 根據(jù)安裝圖,右轉(zhuǎn)的時候為正-*/int GetXmg(void)uint xm;uint xn;int xtemp,Xmg;while(SIGX = 1); / 測試下一個脈沖 TR0 = 1;while(SIGX = 0);while(SIGX = 1);TR0 = 0; xm= TH0; xn= TL0; xtemp =

6、xm*256+xn + 390; /390是一個誤差補償 Xmg = (xtemp / 10) - 500) * 8; TH0 = 0; TL0 = 0; return(Xmg);/*- 函數(shù)名:GetXtilt ( ) 說 明: 傾斜角在靜止的時候測得比較精確的結(jié)果在-45度+45度-*/float GetXtilt(void)float Xmg,tiltx;float radianx;Xmg = (float)GetXmg();radianx = asin(Xmg*0.001);tiltx = TILT(radianx);return (tiltx);/*- 函數(shù)名:GetYmg ( )

7、功 能: 計算X軸方向的加速度 根據(jù)安裝圖,向前的時候為正-*/int GetYmg(void)uint ym;uint yn;int ytemp,Ymg;while(SIGY = 1); / 測試下一個脈沖 TR1 = 1;while(SIGY = 0);while(SIGY = 1);TR1 = 0; ym= TH1; yn= TL1; ytemp = ym*256+yn + 390; Ymg = (ytemp / 10) - 500) * 8 ; TH1 = 0; TL1 = 0; return(Ymg);/*- 函數(shù)名:GetYtilt ( ) 功 能: 計算X軸方向的加速度 根據(jù)安裝

8、圖,向前的時候為正 說 明: 傾斜角在靜止的時候測得比較精確的結(jié)果在-45度+45度-*/float GetYtilt(void)float Ymg,tilty;float radiany;Ymg = (float)GetYmg();radiany = asin(Ymg*0.001);tilty = TILT(radiany);return (tilty);PART 2 主程序/*文件 : MXD2125.C描述 :雙軸加速器 編寫 : 任曉東說明 :MXD2125.C,將測量的加速度和角度顯示在LCD上日期 :2008年10月31日*/#include"LCDDISPNUM.H&q

9、uot;#include"MDX2125.h"void main(void) int xmg,ymg; float xtilt,ytilt; LCM_Init();Time2_init();Time0_1_init();SIGY = SIGX = 1;printf("MXD2125 run ok !n");while(1) Write_Command_LCM(1,0); /注意清屏 xmg = GetXmg(); Display_List_Char(0,0 ,"XA:"); DispIntNum(xmg,0,3); /顯示加速度 xtilt = GetXtilt(); Display_List_Char(0,8 ,"T:"); DispFloatNum(xtilt,0,10,2);/顯示傾斜角 ymg = GetYmg(); Display_List_Char(1,0 ,"

溫馨提示

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

評論

0/150

提交評論