圓創力科技.MakeBlock TW

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

掃一掃,訪問微社區

查看: 800|回復: 0

Makeblcok電子模組手冊----電子羅盤模組

[複製鏈接]
benny 發表於 2016-7-6 12:01 | 顯示全部樓層 |閱讀模式
電子羅盤模組



1 、概述

電子羅盤模組可以檢測周圍的磁場強度,可應用於使運動的裝置或設備轉動到指定的方向等,比如安裝在小車上,可以控制小車轉動到指定方向或沿著指定方向行走。模組上具有用於校準的按鍵和指示燈,當模組周圍的機械結構或模組的安裝位置(方向)發生改變時,用戶可以通過下載Makeblock提供的程序並操作按鍵來進行校準,以使得模組在新的環境下能準確測量出角度值。這也是本模組相比於其他商家同類型產品的優勢之一。該本模組接口是白色色標,說明是I2C通信模式,需要連接到主板上帶有白色標識接口。

2 、技術規格

l 工作電壓:5V DC
l 分辨率:5 mil gauss
l 磁場動態範圍:±1到±8 gauss
l 電子羅盤精度:可精確到1°到2°
l 信號模式:I2C通信
l 工作溫度:-30到85℃
l 模組尺寸:52 x 24 x 18 mm (長x寬x高)
3 、功能特性

l 模組的白色區域是與金屬梁接觸的參考區域;
l 模組有兩種工作模式:測量模式→藍燈常亮,校準模式→藍燈閃爍;
l 在通電後第一次使用模組時需要校準模組;
l 具有反接保護,電源反接不會損壞IC。
l 支持Arduino IDE編程, 並且提供運行庫來簡化編程;
l 支持mBlock圖形化編程,適合全年齡用戶;
l 使用RJ25接口連線方便;
l 模組化安裝,兼容樂高系列;
l 配有接頭支持絕大多數Arduino系列主控板。
4 、引腳定義

電子羅盤模組有六個針腳的接頭,每個針腳的功能如下表

  
  
  
序號
  
  
  
  
引腳
  
  
功能
  
  
1
  
  
GND
  
  
接地線
  
  
2
  
  
VCC
  
  
電源線
  
  
3
  
  
SDA
  
  
I2C 數據接口
  
  
4
  
  
SCL
  
  
I2C 時鐘接口
  
  
5
  
  
RDY
  
  
檢測數據是否已採集
  
  
6
  
  
KEY
  
  
檢測校準按鈕是否按下
  
表1 6-Pin 接口功能

5 、接線方式

l RJ25連接
由於電子羅盤模組接口是白色色標,當使用RJ25接口時,需要連接到主控板上帶有白色色標的接口。以Makeblock Orion為例,可以連接到3,4,6,7,8 號接口,如圖

圖1 電子羅盤模與Makeblock Orion連接

l 杜邦線連接
當使用杜邦線連接到Arduino Uno主板時,模組SCL、SDA引腳需要連接到I2C接口,即連接到A5、A4接口如下圖所示:

圖2 電子羅盤模與Arduino UNO 連接圖

注:接杜邦線時,模上需要焊接排針。

6 、編程指南

l Arduino編程
如果使用Arduino編程,需要調用庫Makeblock-Library-master來控制電子羅盤模組
本程序通過Arduino編程
  1. #include "MeOrion.h"
  2. #include <Wire.h>
  3. #include <SoftwareSerial.h>
  4. MeCompass myCompass(PORT_4);
  5. #define LED_PIN 13
  6. void setup()
  7. {
  8.     Serial.begin(9600);
  9.     Serial.println("Initializing I2C devices...");
  10.     myCompass.init();
  11.     Serial.println("Testing device connections...");
  12.     Serial.println(myCompass.testConnection() ? "HMC5883L connection successful" : "HMC5883L connection failed");
  13. }
  14. void loop()
  15. {
  16.     int16_t head_X, head_Y, head_Z;
  17.     double angle_number = 0;
  18.     angle_number = myCompass.getAngle();
  19.     Serial.println(angle_number, 1);
  20.     delay(500);
  21. }
複製代碼




電子羅盤模組函數功能列表
  
  
  
函數
  
  
  
  
功能
  
  
void init(void)
  
  
電子羅盤初始化函數
  
  
bool testConnection(void)
  
  
連接檢測函數
  
  
double getAngle(void)
  
  
獲取角度測量值
  
  
int16_t getHeadingX(void)
  
  
獲取X軸磁場測量值
  
  
int16_t getHeadingY(void)
  
  
獲取Y軸磁場測量值
  
  
int16_t getHeadingZ(void)
  
  
獲取Z軸磁場測量值
  
  
void getHeading(int16_t *x, int16_t *y, int16_t *z)
  
  
同時獲取X、Y、Z軸磁場測量值
  

l mBlock編程

6 、注意事項
電子羅盤模組對其周圍磁場的變化比較敏感。模組周圍的機械結構發生變化或改變模組的方向,都有可能使模組周圍的磁場發生改變,從而使模組的測量結果有不同程度的偏差。這時,需要對模組進行校準一下,使得模組在當前的環境能夠準確的測量出角度值。
模組的校準流程如下:
(1)將模組正確連接到Makeblock主控板,接通電源,並下載我們提供的任意一個電子羅盤的例程;
(2)按住模組上的按鍵不放,直到模組上的藍色指示燈不斷地閃爍後,才鬆開按鍵;
(3)在藍色指示燈閃爍的過程中,將模組(連同與其連接的機械結構)在你需要應用電子羅盤的平面上旋轉一周以上,最好能比較平穩地旋轉;
(4)完成旋轉操作後,再按一下模組上的按鍵退出校準流程,模組上的藍色指示燈保持常亮;
備註:
模組有兩種工作模式:測量模式→藍燈常亮, 校準模式→藍燈閃爍;
若模組在當前環境下校準過一次,斷電重啟後不需要再校準;
模組在不需要校準的情況下,請不要按模組上的按鍵,否則會使之前的校準操作無效;
在校準過程中,須將模組(連同與其連接的機械結構)旋轉一周以上,否則會校準無效。
7 、原理解析
傳統指南針用一根被磁化的磁針來感應地球磁場,地球磁場與磁針之間的磁力時磁針轉動,直至磁針的兩端分別指向地球的磁南極與磁北極。電子羅盤也一樣,只不過把磁針換成了磁阻傳感器,然後將感受到的地磁​​信息轉換為數字信號輸出給用戶使用。
三軸電子羅盤由三軸磁阻傳感器、雙軸傾角傳感器和MCU構成。三軸磁阻傳感器用來測量地球磁場,傾角傳感器是在磁力儀非水平狀態時進行補償;MCU處理磁力儀和傾角傳感器的信號以及數據輸出和軟鐵、硬鐵補償。三個互相垂直的磁阻傳感器,每個軸向上的傳感器檢測在該方向上的地磁場強度。傳感器產生的模擬輸出信號進行放大後送入MCU進行處理。

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|Archiver|手機版|小黑屋|圓創力科技有限公司 IOP Robotic Technology Co.,Ltd Tel: 07-3924582

GMT+8, 2018-1-19 07:15 , Processed in 0.044217 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表