本期小編將為大家分享的熱門問答帖來自 MEMS專區。趕緊來看看,您是否也有相同的疑惑?
調試ADXL372,Y軸和Z軸的MSB輸出數據是0xFF?
調試ADXL372,Y軸和Z軸的MSB輸出數據是0xFF?X軸輸出是正常的,Y、Z軸MSB為什么輸出是0xFF,讀ID和寄存器都是正確的
使能下自檢(self test),看結果正常嗎
檢查了,你看我的處理程序,這是初始化
等待數據準備好讀取
二進制補碼,所以高位寄存器00或FF都有可能,按二進制補碼換算成十進制LSB和加速度值看一下,你截圖的加速度值單位是什么,怎么換算轉換出來的。
我也感覺是二進制補碼
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; //加速度轉換
a2/= 1000000;
b2/= 1000000;
c2/= 1000000;
printf(" X軸加速度:%f ",a2);
printf(" Y軸加速度:%f ",b2);
printf(" Z軸加速度:%f ",c2);
}
這樣處理有問題嗎?
如果0xff 0xa0,實際應該是十進制多少數值?
如果我處理數據是對的,那這個數據采集的結果感覺誤差很大,實際這個精度是±3g,大概在±30m/s2都屬于正常嗎?
ADXL372是大量程檢測跌落沖擊事件的傳感器,噪聲會大一點,2~3g峰峰值的噪聲是正常的
如果±3g有點大,可以改一下采樣率做下fft看頻域是否平坦,另外傳感器要固定好,電源推薦用低噪聲LDO。
Tips
ADXL372是一款超低功耗、3軸、±200 g MEMS加速度計。
ADXL372以3200 Hz輸出數據速率(ODR)工作時功耗為22 μA,該器件未對其前端周期供電以實現其低功耗操作,因此不會冒傳感器輸出混疊的風險。
除了超低功耗以外,ADXL372還具有許多特性來實現沖擊檢測以及系統級節能。該器件包含了一個深度多模式輸出先進先出(FIFO)、幾個運動檢測模式以及一種用于僅捕捉過閾值事件峰值加速度的方式。
提供兩種額外的較低功耗模式和中斷驅動的喚醒特性,用于監控非活動期間的運動情況。在喚醒模式下,可以對加速度數據求均值以獲取足夠的低輸出噪聲,從而觸發低g閾值。在即時導通模式下,ADXL372功耗為1.4 μA,同時連續監控沖擊環境。當檢測到沖擊事件超過內部設定的閾值時,器件會切換到正常的工作模式,其速度非常快以便記錄事件。
高 g 應用往往會在寬頻率范圍內體驗加速度內容。ADXL372包含一個4極低通抗混疊濾波器,能夠使高 g 應用中常見的帶外信號衰減。ADXL372還內置一個高通濾波器,可消除初始和慢速變化的誤差,如環境溫度漂移。
ADXL372在100 mg/LSB比例因子時提供12位輸出數據。用戶可以通過串行外設接口(SPI)或有限I2C協議訪問配置和數據寄存器。ADXL372在寬電源電壓范圍內工作,采用3 mm × 3.25 mm × 1.06 mm封裝。
多功能引腳名稱可能僅通過相關功能來引用。
應用
沖擊和震動檢測
資產狀況評估
腦震蕩和頭部創傷檢測
審核編輯:湯梓紅
-
寄存器
+關注
關注
31文章
5321瀏覽量
120016 -
mems
+關注
關注
129文章
3899瀏覽量
190354 -
調試
+關注
關注
7文章
572瀏覽量
33899 -
加速度計
+關注
關注
6文章
698瀏覽量
45859
原文標題:調試MEMS加速度計,為什么Y軸和Z軸的MSB輸出數據是0xFF?
文章出處:【微信號:ADI智庫,微信公眾號:ADI智庫】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論