SKU:RB-02S096 ADXL335 三軸加速度模塊

來(lái)自ALSROBOT WiKi
2016年12月26日 (一) 15:53Arduino77討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索
02S09601.png

目錄

產(chǎn)品概述

在加速度傳感器中有一種是三軸加速度傳感器,同樣的它是基于加速度的基本原理去實(shí)現(xiàn)工作的,加速度是個(gè)空間矢量,一方面,要準(zhǔn)確了解物體的運(yùn)動(dòng)狀態(tài),必須測(cè)得其三個(gè)坐標(biāo)軸上的分量;另一方面,在預(yù)先不知道物體運(yùn)動(dòng)方向的場(chǎng)合下,只有應(yīng)用三軸加速度傳感器來(lái)檢測(cè)加速度信號(hào)。由于三軸加速度傳感器也是基于重力原理的,因此用三軸加速度傳感器可以實(shí)現(xiàn)雙軸正負(fù)90度或雙軸0-360度的傾角,通過(guò)校正后期精度要高于雙軸加速度傳感器大于測(cè)量角度為60度的情況。

產(chǎn)品參數(shù)

1、產(chǎn)品類(lèi)型:模擬傳感器
2、接口類(lèi)型:KF2510
3、工作電壓:5V
4、引腳定義:

  • X:加速度計(jì) X 軸
  • Y:加速度計(jì) Y 軸
  • Z:加速度計(jì) Z 軸
  • -:電源負(fù)極
  • +:電源正極

5、檢測(cè)范圍:

  • X 軸輸出值:靜止輸出偏差:±1,輸出范圍:275 - 425
  • Y 軸輸出值:靜止輸出偏差:±1,輸出范圍:270 - 420
  • Z 軸輸出值:靜止輸出偏差:±1,輸出范圍:280 - 425

6、工作溫度:-25℃~+85℃
7、產(chǎn)品尺寸(mm):30 x 25 mm
8、固定孔尺寸(mm):23 x 18 mm
9、重量(g):3g

使用方法

  • 實(shí)驗(yàn)環(huán)境
硬件環(huán)境:

(1)Starduino UNO R3 控制器 * 1個(gè)
(2)三軸加速度傳感器 * 1個(gè)
(3)USB 數(shù)據(jù)線 * 1條

軟件環(huán)境:Arduino 1.7.10
  • 硬件連接

如圖所示,將三軸加速度傳感器連接到 Starduino UNO R3 的模擬接口上

02S09602.png

簡(jiǎn)單讀取輸出值

  • 例子程序
void setup()
{
    Serial.begin(115200);
}
void loop()
{
      int x,y,z;  
      Serial.print("X OUTPUT");
      Serial.println(analogRead(A0));
      Serial.print("Y OUTPUT");
      Serial.println(analogRead(A1));
      Serial.print("Z OUTPUT");
      Serial.println(analogRead(A2));
 }
  • 程序效果

通過(guò)串口監(jiān)視器可以查看當(dāng)前 X、Y、Z 軸輸出的模擬量值。

檢測(cè)角度值

  • 例子程序
float Vzerog = 1.5;//ADXL335 三軸加速度計(jì) 0g 基準(zhǔn)電壓典型值
int Sensitivity = 300;//ADXL335 三軸加速度計(jì)靈敏度參數(shù)典型值
void setup()
{
    Serial.begin(115200);
}
void loop()
{
  //獲取ADLX335三軸加速度計(jì)模擬量
  int x = analogRead(A0);
  int y = analogRead(A1);
  int z = analogRead(A2);
 //將模擬量轉(zhuǎn)換成電壓值
  float vx = x * 5.0/1024.0;
  float vy = y * 5.0/1024.0;
  float vz = z * 5.0/1024.0;
 //將模擬量轉(zhuǎn)換成每個(gè)軸向的g值,1.5是三軸加速度計(jì)的0g基準(zhǔn)電壓,單位為V,300是三軸加速度計(jì)的靈敏度,單位是mv/g
  float Rx = (vx - Vzerog)/(Sensitivity / 1000.0);
  float Ry = (vy - Vzerog)/(Sensitivity / 1000.0);
  float Rz = (vz - Vzerog)/(Sensitivity / 1000.0);
 //得出重力加速度g值大小
  float R = sqrt(pow(Rx,2) + pow(Ry,2) + pow(Rz,2));
 //計(jì)算與三軸的夾角對(duì)應(yīng)弧度值
  float Axr = acos(Rx/R);
  float Ayr = acos(Ry/R);
  float Azr = acos(Rz/R);
  Serial.println(Azr);
 //將水平弧度值轉(zhuǎn)換為對(duì)應(yīng)角度,并通過(guò)串口打印
  float anglex = 180.0 * Axr / 3.14;
  float angley = 180.0 * Ayr / 3.14;
  float anglez = 180.0 * Azr / 3.14;
  Serial.print("anglex = ");
  Serial.print(anglex);
  Serial.print("  angley = ");
  Serial.print(angley);
  Serial.print("  anglez = ");
  Serial.println(anglez);
  delay(300);  
 }
  • 程序效果

說(shuō)明:程序中,ADXL335 靈敏度及 0g 偏置電平使用的均為典型值(ADXL335 芯片手冊(cè)可查),如果測(cè)試結(jié)果與實(shí)際有誤差,可通過(guò)修改兩個(gè)值來(lái)改變 Vzerog,Sensitivity 兩個(gè)參數(shù)初始值來(lái)調(diào)節(jié)。

02S00000.jpg

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購(gòu)買(mǎi)地址