magiccar 發表於 2016-2-2 10:56

Makeblcok電子模塊手冊——陀螺儀

陀螺儀
http://bbs.makeblock.cc/data/attachment/forum/201511/01/165437xozazygih4qgb9lq.png
1 、概述
陀螺儀是一款理想的機器人運動檢測、姿態檢測模塊。包含3軸加速度計、3軸角速度傳感器與運動處理器,並提供I2C通信腳位。可以應用在自平衡小車、四軸飛行器、機器人及移動設備上,具有高動態測量範圍與低電流消耗等優點。本模塊接口是白色色標,說明是I2C通信模式,需要連接到主板上帶有白色標識接口。2 、技術規格
l 工作電壓:5V DCl 工作溫度:0到70℃l 信號模式:I2C通信l 模塊尺寸:51 x 24 x 18 mm (長x寬x高)3 、功能特性   
l 模組的白色區域是與金屬梁接觸的參考區域;l 數字輸出6軸或9軸的旋轉矩陣、四元數、歐拉角格式的融合演算數據;l 3軸角速度可控測量範圍為±250,±500,±1000,±2000°/秒(dps);l 3軸加速計可控測量範圍為±2g,±4g,±8g與±16g;l 數位運動處理(DMP)引擎可減少複雜的運動融合、傳感器同步與姿態檢測的負荷;l 移除加速計與陀螺儀軸間敏感度,降低設定給予的影響與傳感器的漂移;l 內嵌運作時間偏差與磁力傳感器校正演算技術;l 具有反接保護,電源反接不會損壞IC;l 支持Arduino IDE編程, 並且提供程式庫來簡化程式;l 支持mBlock圖形化程式,適合全年齡用戶;l 使用RJ25插座連線方便;l 模組化安裝,相容樂高系列。4 、引腳定義
陀螺儀模組有四個針腳的接頭,每個針腳的功能如下表

序號引腳功能
1SLCI2C 通信(時鐘腳位)
2SDAI2C 通信(數據腳位)
3GND地線
4VCC電源線


表1 4-Pin 接頭功能表
5 、接線方式
l RJ25連接由於陀螺儀模組插座是白色色標,當使用RJ25插座時,需要連接到主控板上帶有白色色標的插座。以Makeblock Orion為例,可以連接到3,4,6,7,8號插座,如圖http://bbs.makeblock.cc/data/attachment/forum/201511/01/165842z9656yy9eytf90l1.png
圖1 陀螺儀模組與Makeblock Orion連接l 杜邦線連接
當使用杜邦線連接到Arduino Uno主板時,模組SCL、SDA引腳需要連接到I2C腳位,即連接到A4、A5插座如下圖所示:http://bbs.makeblock.cc/data/attachment/forum/201511/01/165948wi0y55yjjss8feey.png
圖2 陀螺儀模組與Arduino UNO 連接圖注:接杜邦線時,模組上需要焊接排針。
6 、程式開發指南
l Arduino編程如果使用Arduino IDE開發程式,需要調用程式庫Makeblock-Library-master來控制陀螺儀模組
本程序通過Arduino IDE來開發程式,當我們通過串列埠監視器輸入任意值時,模組接收並返回當前的X,Y,Z的值。從而能夠判斷當前模組的姿態,從串列埠監視器可觀察到X,,Y,Z的值。
#include "MeOrion.h"
#include <Wire.h>
#include <SoftwareSerial.h>
MeGyro gyro;
void setup()
{
    Serial.begin(9600);
    gyro.begin();
}
void loop()
{
    gyro.update();
    if(Serial.available() )
    {
      Serial.read();
      Serial.print("X:");
      Serial.print(gyro.angleX() );
      Serial.print(" Y:");
      Serial.print(gyro.angleY() );
      Serial.print(" Z:");
      Serial.println(gyro.angleZ() );
    }
}
陀螺儀函數功能列表
方程
方程功能
double angleX()讀取X軸的值
double angleY​​()讀取Y軸的值
double angleZ()讀取Z軸的值
void update()刷新數值
void begin()模組初始化
http://bbs.makeblock.cc/data/attachment/forum/201511/01/170328kzuwk76ijez0ewp1.png


串列資料顯示結果
l mBlock程式陀螺儀模組支援mBlock編程環境,如下是該模塊指令簡介
編程說明功能
http://bbs.makeblock.cc/data/attachment/forum/201511/01/170528awpw3yzh3obzpvwl.png參數一:選擇坐標軸 功能:讀取陀螺儀X軸角度




下面是讓小熊貓說出陀螺儀X/Y/Z的值效果http://bbs.makeblock.cc/data/attachment/forum/201511/01/170723z0h34i53jj5puh63.pnghttp://bbs.makeblock.cc/data/attachment/forum/201511/01/170728q9dlxq9d0dodfxjf.pnghttp://bbs.makeblock.cc/data/attachment/forum/201511/01/170731fs966tsum9tw9q3r.png7 、原理解析
陀螺儀模組集成了3軸加速度計、3軸角速度傳感器(陀螺儀)與運動處理引擎(DMP),由I2C腳位以單一數據流的形式,向應用端輸出完整的9軸融合演算數據。3軸加速計能夠在X、Y、Z軸測量加速度的變化,通過感知特定方向的慣性力總量,加速計可以測量出加速度和重力;三軸加速計意味著它能夠檢測到三維空間中的運動或重力引力。加速計可以測量重力(引力)g,如果模組靜止而沒有任何動作,地球引力對其施加的力大約為1g;如果模組豎直放置,會檢測到y軸上施加的力約為1g。如果模塊以一定角度放置,會檢測到1g的力會分佈在不同的軸上。當模塊在三維空間中運動或振動時,陀螺儀會在一個或多個軸上檢測到大於1g的力並測量出加速度,對加速度積分可以獲得速度和位移。當物體繞軸旋轉時會產生角速度,3軸角速度傳感器(陀螺儀)能夠檢測X、Y、Z軸的角速度變化量;運動處理引擎通過I2C腳位直接輸出數據,可以減輕外圍微處理器的工作負擔並且避免了繁瑣的濾波和數據融合。
8 、相關鏈接
應用案例及原理圖:
頁: [1]
查看完整版本: Makeblcok電子模塊手冊——陀螺儀