色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HMC5883L磁力傳感器使用指南

CHANBAEK ? 作者: Jason ? 2023-04-17 18:00 ? 次閱讀

1、前言

霍尼韋爾 HMC5883L 是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器芯片,應用于低成本羅盤和磁場檢測領域(指南針、GPS)。

HMC5883L 包括最先進的高分辨率 HMC118X 系列磁阻傳感器,并附帶霍尼韋爾專利的集成電路包括放大器、自動消磁驅動器、偏差校準、能使羅盤精度控制在 1°~2°的 12 位模數轉換器.

支持 I2C,帶有 16 引腳,尺寸為 3.0 X 3.0 X 0.9mm。

HMC5883L 的所應用領域有手機、筆記本電腦、消費類電子、汽車導航系統和個人導航系統。

HMC5883L 采用霍尼韋爾各向異性磁阻(AMR)技術,該技術的優點是其他磁傳感器技術所無法企及。 這些各向異性傳感器具有在軸向高靈敏度和線性高精度的特點。 傳感器帶有的對于正交軸低敏感行的固相結構能用于測量地球磁場的方向和大小,其測量范圍從毫高斯到 8 高斯(gauss)。

2、傳感器特性

  1. 三軸磁阻傳感器和 ASIC 都被封裝在 3.0 × 3.0 × 0.9mm LCC 表面裝配中
  2. 12-bit ADC 與低干擾 AMR 傳感器,能在 ±8 高斯的磁場中實現 5 毫高斯分辨率
  3. 內置自檢功能
  4. 低電壓工作(2.16-3.6V)和超低功耗(100uA)
  5. 內置驅動電路
  6. I2C 數字接口
  7. 無引線封裝結構
  8. 磁場范圍廣(+/-8Oe)
  9. 有相應軟件及算法支持
  10. 最大輸出頻率可達 160Hz
  11. 4 個可編程紅外 LED 電流輸出
  12. 高環境光抑制
  13. 串擾補償
  14. 符合 RoHS 安全標準

優點

  1. 是體積小高集成產品。 只需添加一個微處理器接口,外加兩個外部 SMT 電容。 專為大批量、成本敏感的 OEM 生產而設計,易于裝配并與高速 SMT 裝配件兼容
  2. 能讓羅盤航向精度精確到 1°~2°
  3. 產品組裝后能進行低成本功能性測試
  4. 適用于電池供電的應用場合
  5. 帶置位/復位和偏置驅動器用于消磁、自測和偏移補償
  6. 適用于消費類電子設備應用中通用雙線串行數據接口
  7. 符合 RoHS 標準
  8. 傳感器能在強磁場環境中羅盤航向精度達到 1°~2°
  9. 可獲得羅盤航向、硬磁、軟磁以及自動校準庫
  10. 能應用于個人導航系統和 LBS

技術規格

25°C 時的測試

圖片圖片圖片圖片

內部示意圖

圖片

電源參考設計

圖片

單電源參考設計

圖片

電源管理

該器件可有兩種不同的供電模式。 第一個是內部運作的 VDD 供電電源,第二個是為 IO 接口供電的 VDDIO 電源,當然 VDDIO 的電壓可以與 VDD 電源電源相近; 單電源模式,或在 VDDIO 電壓低于 VDD 的情況下,HMC5883L 都能正常運作并能與其他裝置兼容。

自測

為了檢測 HMC5883L 是否正常運行,傳感器內部可產生標準磁場而進行的自測試(不論是正向配置還是負向配置),再去測量此標準磁場強度并輸出。 在設置 A 寄存器上相應位 MS 的值,就可啟動自測功能及產生電壓的極性。 來自 VDD 電源的內部電流源產生直流電流(大約 10 mA),然后加到磁阻傳感器的偏置帶上,這樣就在傳感器內部產生了一個人為的標準磁場。

3、參考資料

《HMC5883L中文規格書.pdf》

《HMC5883L.pdf》

4、引腳說明

圖片

圖片

箭頭標明磁場方向,該磁場在正常測量模式下產生正向輸出可讀。

封裝圖 HMC5883L(16-PIN LPCC,單位 mm)

圖片

5、工作模式

1)連續測量模式

連續測量模式,在客戶所選擇的速率下進行連續的測量,并所測量的更新數據輸出寄存器。 如果有必要,數據可以從數據輸出寄存器重新讀取,但是,如果主機并不能確保在下次測量完成之前可以訪問數據寄存器,數據寄存器上的舊的數據會被新的測量數據取代。 為了保存測量之間的電流,該裝置被放置在一個類似閑置模式的狀態,但模式寄存器沒有改變成空閑模式。 即MD[n]位不變。 配置寄存器A的設置在連續測量模式時會影響數據輸出速率(比特DO[n]) ,測量配置(bits MS[n]),和增益(bits GN[n])。 所有寄存器在連續測量模式中保留數值。 在連續測量模式下 I2C 總線可被網絡內的其他裝置啟用。

2)單次測量模式

這是預設的供電模式。 在單測量模式,該裝置進行單次測量并將測量數據更新至輸出數據寄存器中。 在完成測量和輸出數據寄存器的更新以后,通過設置MD[n] bits,該裝置被置于閑置模式,模式寄存器變更為閑置模式。 配置寄存器的設置在單一測量模式時影響測量配置(bits MS[n])。。 在單測量模式中所有寄存器保留數值。 在單測量模式下 I2C 總線可被網絡內其他裝置啟用。

3)閑置模式

在此模式下,裝置可以通過 I2C 總線訪問,但主要電源能耗是禁用的,如 ADC,放大器,傳感器偏置電流,但不僅限于這些。 在空閑模式下所有寄存器保留數值。 在閑置測量模式下 I2C 總線可被網絡內其他裝置啟用。

6、I2C 讀寫地址

7位地址:0x1E

8位讀取地址:0x3D

8位寫入地址:0x3C

7、寄存器

寄存器詳細解釋請參考數據手冊

圖片

8、代碼

博主用的是輪詢去讀數據,大家也可以配置成中斷方式。

HMC5883L.H

#define HMC5883_ADDR      0X1E
 
#define HMC_CONFIG_A_REG    0X00
#define HMC_CONFIG_B_REG    0X01  
#define HMC_MODE_REG        0X02 
  
#define HMC_XMSB_REG        0X03    //X
#define HMC_XLSB_REG        0X04  
  
#define HMC_ZMSB_REG        0X05    //Z 
#define HMC_ZLSB_REG        0X06  
  
#define HMC_YMSB_REG        0X07    //Y  
#define HMC_YLSB_REG        0X08  
  
#define HMC_STATUS_REG      0X09   
  
#define HMC_CHEAK_A_REG     0X0A 
#define HMC_CHEAK_B_REG     0X0B  
#define HMC_CHEAK_C_REG     0X0C  

//value
  
#define HMC_CHECKA_VALUE    0x48
#define HMC_CHECKB_VALUE    0x34  
#define HMC_CHECKC_VALUE    0x33

HMC5883_Check

u8 HMC5883_Check(void)
{
 u8 tempA;
 u8 tempB;
 u8 tempC;
 
 tempA=I2C2_ReadOneByte(HMC5883_ADDR,HMC_CHEAK_A_REG);
 tempB=I2C2_ReadOneByte(HMC5883_ADDR,HMC_CHEAK_B_REG);
 tempC=I2C2_ReadOneByte(HMC5883_ADDR,HMC_CHEAK_C_REG);
     
 if(tempA == HMC_CHECKA_VALUE & tempB == HMC_CHECKB_VALUE & tempC == HMC_CHECKC_VALUE)
  return 0; 
 else
   return 1; 
}

void Hmc5883_Init(void)
{
 I2C2_WriteOneByte(HMC5883_ADDR,HMC_CONFIG_A_REG,0x78);  //set 75Hz
 I2C2_WriteOneByte(HMC5883_ADDR,HMC_CONFIG_B_REG,0x00);
 I2C2_WriteOneByte(HMC5883_ADDR,HMC_MODE_REG,0x00);  //cotinue mode
}

讀取數據

xValue = I2C2_ReadOneByte(HMC5883_ADDR,HMC_XLSB_REG)|(I2C2_ReadOneByte(HMC5883_ADDR,HMC_XMSB_REG)<<8);
zValue = I2C2_ReadOneByte(HMC5883_ADDR,HMC_ZLSB_REG)|(I2C2_ReadOneByte(HMC5883_ADDR,HMC_ZMSB_REG)<<8);
yValue = I2C2_ReadOneByte(HMC5883_ADDR,HMC_YLSB_REG)|(I2C2_ReadOneByte(HMC5883_ADDR,HMC_YMSB_REG)<<8);
printf("M-SENSOR:xValue:%d ,yValue:%d ,zValue:%d \\r\\n",xValue,yValue,zValue);

9、國產替代

HMC5883L 國產替代是 QMC5883L,硬件上 PIN to PIN,軟件上大致相同,寄存器有所區別,如下:

圖片

圖片

圖片

因此大家也可以用 QMC5883L。

10、傳感器集線器

自此,博主大致實現了一個 sensorhub,在 STM32 上,用 FreeRTOS 啟用幾個 task,采集傳感器數據并上報。 后面會繼續擴展:

1、將 accgyro 從輪詢模式改成中斷模式,并從 I2C 改為 SPI 接口,應對高速率采集場景。 其他三個傳感器還是輪詢模式,I2C 接口,但是不用延時實現,用定時器去做。

2、可以動態的 enable、disable、config、sample、calibration 各個傳感器,并且支持數據時間戳機制。

3、為該系統提供一個 framework 層,統一管控各個傳感器的 enable、disable、config 、sample、calibration 操作。

4、在 framework 層區分下命令的 user,根據 user 下命令的不同,為各個 user 分發不同速率的傳感器數據,簡稱 down sample 機制(down sample 只能以倍數實現,如采樣 200Hz,可以分發出 50Hz,100Hz)

5、若器件數據手冊寫明支持自測功能,則增加 self_test 函數,如 lsm6dso accgyro 和 HMC5883L 磁力計都支持。

6、增加虛擬傳感器功能,利用物理傳感器的數據進行融合,實現如計步器、步伐檢測、設備旋轉方向等功能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2552

    文章

    51366

    瀏覽量

    755731
  • 驅動器
    +關注

    關注

    53

    文章

    8269

    瀏覽量

    146823
  • 接口
    +關注

    關注

    33

    文章

    8687

    瀏覽量

    151674
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1495

    瀏覽量

    124248
  • HMC5883L
    +關注

    關注

    0

    文章

    25

    瀏覽量

    15065
收藏 人收藏

    評論

    相關推薦

    Protues中HMC5883L尋找

    最近要做一個電子指南針,需要用到元件HMC5883L,軟件元件庫中找不到,求幫助。
    發表于 11-27 13:03

    基于MSP430F149和HMC5883L的數字指南

    基于MSP430F149和HMC5883L的數字指南
    發表于 08-09 14:06

    HMC5883L

    HMC5883L 是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器芯片,應用于低成本羅盤和磁場檢測領域。HMC5883L 包括最先進的高分辨率HMC118X系列磁阻
    發表于 04-16 09:04

    基于HMC5883L的電子指南

    在I2C方面做了部分的改動。讀取HMC5883L傳感器的讀取函數中要注意寄存器的地址和讀出來的數據所存放的緩沖器大小及位置void read_hmc5883l(void
    發表于 09-10 09:57

    請問怎么進行HMC5883L數據的讀取

    最近在調試GY-86模塊,調試到HMC5883L的時候讀回來的數據都是0,仔細看原理圖發現HMC5883L的SDA,SCL是連接到MOU6050的XDA,XCL上的,這樣的話就是MPU6050作為
    發表于 05-08 04:16

    如何處理磁力HMC5883L獲取的三軸數據?

    HMC5883L來矯正陀螺儀使用四元數法來求偏航角,想問問如何處理磁力HMC5883L獲取的三軸數據?
    發表于 07-25 19:44

    HMC5883L傳感器的sampling rate tolerance指的是什么?

    我用到一個傳感器HMC5883L,有人提出必須考慮傳感器的sampling rate tolerance,可是我不明白這是什么意思???
    發表于 12-15 07:29

    GY-273 HMC5883L電子指南針羅盤

    【Realplay】GY-273 HMC5883L電子指南針羅盤模塊 三軸磁場傳感器
    發表于 11-10 10:44 ?82次下載

    HMC5883L中文數據手冊

    霍尼韋爾公司出品,三軸地磁傳感器HMC5883的升級版HMC5883L,用于地磁車輛檢測,智能交通系統,停車誘導系統等等。
    發表于 02-29 16:58 ?116次下載

    HMC5883L中文

    HMC5883L中文
    發表于 12-13 17:15 ?13次下載

    hmc5883l三軸電子羅盤傳感器連接arduino

    本文開始對HMC5883L進行了介紹,其中包括了HMC5883L的主要技術參數、工作原理、應用領域及尺寸說明,然后闡述了hmc5883l三軸電子羅盤傳感器連接arduino的方法及程序
    的頭像 發表于 03-08 08:46 ?1.9w次閱讀

    hmc5883l的特點及優點_HMC5883L磁力計校準方法

     霍尼韋爾 HMC5883L 是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器芯片,應用于低成本羅盤和磁場檢測領域。HMC5883L 包括最先進的高分辨率HMC118X系列磁阻
    發表于 03-08 10:32 ?1.6w次閱讀

    HMC5883L應用說明

     霍尼韋爾 HMC5883L 是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器芯片,應用于低成本羅盤和磁場檢測領域。HMC5883L 包括最先進的高分辨率HMC118X系列磁阻
    發表于 03-08 10:49 ?2.8w次閱讀

    霍尼韋爾HMC5883L詳細資料下載

    霍尼韋爾HMC5883L詳細資料下載
    發表于 12-08 10:51 ?10次下載

    磁力HMC5883L傳感器特性

    霍尼韋爾 HMC5883L 是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器芯片,應用于低成本羅盤和磁場檢測領域(指南針、GPS)。 HMC5883L 包括最先進的高分辨率
    的頭像 發表于 07-20 10:40 ?1465次閱讀
    主站蜘蛛池模板: 亚洲精品成人a| 九九九九九热| 亚洲日本国产综合高清| 蜜芽国产在线精品欧美| 国产成人无码精品久久久影院| 精品国产品在线18年| 边做边爱BD免费看片| 亚洲永久在线观看| 老湿影院色情a| 国模玲玲自拍337p| 爱穿丝袜的麻麻3d漫画acg| 伊人狼人久久精品热9| 十分钟免费看完整视频| 男男h啪肉np文总受| 花蝴蝶在线直播观看| 东北嫖妓对白粗口| 91popny蜜桃臀| 亚洲一区精品在线| 午夜爱情动作片P| 日本一区二区三区在线观看网站| 快播av种子大全| 精品无码一区二区三区中文字幕| 国产精品久久久久影院色老大| jj插入bb| 91黄色影院| 伊人香蕉在线播放视频免费| 性绞姿始动作动态图| 日韩免费视频一区| 琪琪色在线播放| 男人J桶女人P视频无遮挡网站 | 国产亚洲精品久久无亚洲| jizz日本黄色| 91免费网站在线看入口黄| 亚洲综合色婷婷在线影院| 新妺妺窝人体色WWW| 色综合99久久久国产AV| 琪琪色原网20岁以下热热色原网站| 免费在线伦理片| 免费精品国产人妻国语麻豆| 美女内射少妇三区五区| 亚洲 综合 自拍 精品 在线|