本期小編將為大家分享的熱門問答帖來自 MEMS專區(qū)。趕緊來看看,您是否也有相同的疑惑?
調(diào)試ADXL372,Y軸和Z軸的MSB輸出數(shù)據(jù)是0xFF?
調(diào)試ADXL372,Y軸和Z軸的MSB輸出數(shù)據(jù)是0xFF?X軸輸出是正常的,Y、Z軸MSB為什么輸出是0xFF,讀ID和寄存器都是正確的
使能下自檢(self test),看結(jié)果正常嗎
檢查了,你看我的處理程序,這是初始化
等待數(shù)據(jù)準(zhǔn)備好讀取
二進(jìn)制補(bǔ)碼,所以高位寄存器00或FF都有可能,按二進(jìn)制補(bǔ)碼換算成十進(jìn)制LSB和加速度值看一下,你截圖的加速度值單位是什么,怎么換算轉(zhuǎn)換出來的。
我也感覺是二進(jìn)制補(bǔ)碼
void ADXL372_RD_XYZ(void)
{
u8 BUF[6];
short tx2,ty2,tz2;
if(ADXL372_RD_Reg(ADXL372_STATUS_1)&0x01)
{
BUF[1] = ADXL372_RD_Reg(ADXL372_X_DATA_H);
BUF[0] = ADXL372_RD_Reg(ADXL372_X_DATA_L);
BUF[3] = ADXL372_RD_Reg(ADXL372_Y_DATA_H);
BUF[2] = ADXL372_RD_Reg(ADXL372_Y_DATA_L);
BUF[5] = ADXL372_RD_Reg(ADXL372_Z_DATA_H);
BUF[4] = ADXL372_RD_Reg(ADXL372_Z_DATA_L);
// BUF[4] = ADXL372_RD_Reg(0x0D);
// BUF[5] = ADXL372_RD_Reg(0x0C);
printf(" BUF[0]:%x ",BUF[0]);
printf(" BUF[1]:%x ",BUF[1]);
printf(" BUF[2]:%x ",BUF[2]);
printf(" BUF[3]:%x ",BUF[3]);
printf(" BUF[4]:%x ",BUF[4]);
printf(" BUF[5]:%x ",BUF[5]);
}
tx2 = (BUF[1] << 8 | BUF[0] ) ;
ty2 = (BUF[3] << 8 | BUF[2] ) ;
tz2 = (BUF[5] << 8 | BUF[4] ) ;
tx2 = tx2>>4;
ty2 = ty2>>4;
tz2 = tz2>>4;
// tx2 = ((BUF[1] << 4 | BUF[0]>>4 )) ;
// ty2 = ((BUF[3] << 4 | BUF[2]>>4 )) ;
// tz2 = ((BUF[5] << 4 | BUF[4]>>4 )) ;
a2 = (float)tx2 * ADXL372_USCALE;//97.65625;
b2 = (float)ty2 * ADXL372_USCALE;//97.65625;
c2 = (float)tz2 * ADXL372_USCALE;//97.65625; //加速度轉(zhuǎn)換
a2/= 1000000;
b2/= 1000000;
c2/= 1000000;
printf(" X軸加速度:%f ",a2);
printf(" Y軸加速度:%f ",b2);
printf(" Z軸加速度:%f ",c2);
}
這樣處理有問題嗎?
如果0xff 0xa0,實(shí)際應(yīng)該是十進(jìn)制多少數(shù)值?
如果我處理數(shù)據(jù)是對(duì)的,那這個(gè)數(shù)據(jù)采集的結(jié)果感覺誤差很大,實(shí)際這個(gè)精度是±3g,大概在±30m/s2都屬于正常嗎?
ADXL372是大量程檢測(cè)跌落沖擊事件的傳感器,噪聲會(huì)大一點(diǎn),2~3g峰峰值的噪聲是正常的
如果±3g有點(diǎn)大,可以改一下采樣率做下fft看頻域是否平坦,另外傳感器要固定好,電源推薦用低噪聲LDO。
Tips
ADXL372是一款超低功耗、3軸、±200 g MEMS加速度計(jì)。
ADXL372以3200 Hz輸出數(shù)據(jù)速率(ODR)工作時(shí)功耗為22 μA,該器件未對(duì)其前端周期供電以實(shí)現(xiàn)其低功耗操作,因此不會(huì)冒傳感器輸出混疊的風(fēng)險(xiǎn)。
除了超低功耗以外,ADXL372還具有許多特性來實(shí)現(xiàn)沖擊檢測(cè)以及系統(tǒng)級(jí)節(jié)能。該器件包含了一個(gè)深度多模式輸出先進(jìn)先出(FIFO)、幾個(gè)運(yùn)動(dòng)檢測(cè)模式以及一種用于僅捕捉過閾值事件峰值加速度的方式。
提供兩種額外的較低功耗模式和中斷驅(qū)動(dòng)的喚醒特性,用于監(jiān)控非活動(dòng)期間的運(yùn)動(dòng)情況。在喚醒模式下,可以對(duì)加速度數(shù)據(jù)求均值以獲取足夠的低輸出噪聲,從而觸發(fā)低g閾值。在即時(shí)導(dǎo)通模式下,ADXL372功耗為1.4 μA,同時(shí)連續(xù)監(jiān)控沖擊環(huán)境。當(dāng)檢測(cè)到?jīng)_擊事件超過內(nèi)部設(shè)定的閾值時(shí),器件會(huì)切換到正常的工作模式,其速度非??煲员阌涗浭录?。
高 g 應(yīng)用往往會(huì)在寬頻率范圍內(nèi)體驗(yàn)加速度內(nèi)容。ADXL372包含一個(gè)4極低通抗混疊濾波器,能夠使高 g 應(yīng)用中常見的帶外信號(hào)衰減。ADXL372還內(nèi)置一個(gè)高通濾波器,可消除初始和慢速變化的誤差,如環(huán)境溫度漂移。
ADXL372在100 mg/LSB比例因子時(shí)提供12位輸出數(shù)據(jù)。用戶可以通過串行外設(shè)接口(SPI)或有限I2C協(xié)議訪問配置和數(shù)據(jù)寄存器。ADXL372在寬電源電壓范圍內(nèi)工作,采用3 mm × 3.25 mm × 1.06 mm封裝。
多功能引腳名稱可能僅通過相關(guān)功能來引用。
應(yīng)用
沖擊和震動(dòng)檢測(cè)
資產(chǎn)狀況評(píng)估
便攜式物聯(lián)網(wǎng)(IoT)邊緣節(jié)點(diǎn)
腦震蕩和頭部創(chuàng)傷檢測(cè)
審核編輯:湯梓紅
-
寄存器
+關(guān)注
關(guān)注
31文章
5359瀏覽量
120790 -
mems
+關(guān)注
關(guān)注
129文章
3949瀏覽量
190850 -
調(diào)試
+關(guān)注
關(guān)注
7文章
583瀏覽量
33999 -
加速度計(jì)
+關(guān)注
關(guān)注
6文章
704瀏覽量
45929
原文標(biāo)題:調(diào)試MEMS加速度計(jì),為什么Y軸和Z軸的MSB輸出數(shù)據(jù)是0xFF?
文章出處:【微信號(hào):ADI智庫,微信公眾號(hào):ADI智庫】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論