Ako Pripojiť Digitálny Kompas HMC5883 K Arduinu

Obsah:

Ako Pripojiť Digitálny Kompas HMC5883 K Arduinu
Ako Pripojiť Digitálny Kompas HMC5883 K Arduinu

Video: Ako Pripojiť Digitálny Kompas HMC5883 K Arduinu

Video: Ako Pripojiť Digitálny Kompas HMC5883 K Arduinu
Video: hmc5883l компас arduino, датчик магнитометра, навигация по компасу "Arduino Project для начинающих 2024, Smieť
Anonim

Uvažujme o prepojení modulu GY-273 s trojosým digitálnym kompasom Honeywell HMC5883L. Tento mikroobvod je možné použiť na magnetometrické merania, v navigácii, ak sa nevyžaduje vysoká presnosť merania (s chybou 1 … 2 stupne a možnosťou kalibrácie). Zariadenie je pripojené cez rozhranie I2C.

Digitálny kompas HMC5883
Digitálny kompas HMC5883

Nevyhnutné

  • - Digitálny kompas HMC5883;
  • - Arduino;
  • - prototypová doska a spojovacie drôty;
  • - počítač.

Inštrukcie

Krok 1

Toto sú hlavné vlastnosti magnetického kompasu:

- 3-osový magneticky citlivý snímač;

- 12-bitový ADC s rozlíšením 2 mGs (miligauss);

- zabudovaný autotest;

- nízke prevádzkové napätie a nízka spotreba;

- digitálne rozhranie I2C;

- vysoká rýchlosť dopytovania - až 160-krát za sekundu (čas jedného merania je približne 6 ms);

- presnosť určenia smeru je 1 ° … 2 °;

- môže byť použitý v silných magnetických poliach (do ± 8 Gauss).

Schéma pripojenia magnetického snímača HMC5883L k Arduinu je znázornená na obrázku. Je to veľmi kompaktné a jednoduché, pretože Dvojvodičové rozhranie I2C je vynikajúce, pretože vyžaduje niekoľko pripojení. Môžete použiť nepájivú dosku.

Pripojenie digitálneho kompasu HMC5883 k Arduinu
Pripojenie digitálneho kompasu HMC5883 k Arduinu

Krok 2

Malo by to vyzerať asi ako na fotografii. Pripojím tiež logický analyzátor k zberniciam SCL a SDA na sledovanie výmeny informácií medzi Arduino a modulom HMC5883. Nie je to povinné.

Digitálny kompas HMC5883 pripojený k Arduinu na doske
Digitálny kompas HMC5883 pripojený k Arduinu na doske

Krok 3

Ako prvý známy si skúsme prečítať identifikačné registre 10 (0xA), 11 (0xB) a 12 (0xC) digitálneho kompasu HMC5883 a napíšeme taký náčrt ako na obrázku. Poskytuje sa s podrobnými komentármi.

Náčrt načítania identifikačných registrov HMC5883
Náčrt načítania identifikačných registrov HMC5883

Krok 4

Signál získaný logickým analyzátorom bude taký, ako je znázornené na obrázku.

Čo to znamená? Prvým bajtom je adresa I2C, s ktorou (hlavné zariadenie, Arduino) nadväzujeme komunikáciu (vysokých 7 bitov 0x1E) a režim zápisu (nízky bit - 0x0); číslo je 0x3C. Druhým bajtom je číslo 0xA, ktoré sme napísali na adresu 0x1E, a potvrdzovací bit zo snímača HMC5883L, ktorý je podradeným zariadením. Toto je registračné číslo, z ktorého začneme čítať údaje. Týmto sa uzatvára prvá transakcia. Začína sa ďalší. Tretím bajtom je požiadavka na čítanie od slave (najvýznamnejších 7 bitov je adresa 0x1E, 8. bitom je operácia čítania 0x1; výsledné číslo je 0x3D). Posledné 3 tri bajty sú odpoveďou slave HMC5883L z registrov 0xA, 0xB a 0xC.

Digitálny kompas HMC5883L sa počas nepretržitého čítania pohybuje v registroch nezávisle. Tých. nie je potrebné (ale nie zakázané) zakaždým prípad špecifikovať. Napríklad ak by sme namiesto 0xA napísali 0x3 a čítali 10-krát, dostali by sme hodnoty v 10 registroch, počnúc od 3. do 12. bodu.

A aké sú tieto tri čísla - 0x48, 0x34, 0x33? Pri ďalšom použití údajového listu pre digitálny kompas HMC5883L uvidíme, že ide o predvolené hodnoty pre tri identifikačné registre.

Časový diagram výmeny I2C s digitálnym kompasom HMC5883
Časový diagram výmeny I2C s digitálnym kompasom HMC5883

Krok 5

Ak chcete získať údaje digitálneho kompasu v magnetickom poli, musíte čítať registre 3 až 8, rovnako ako čítame identifikačné registre. Jediný rozdiel je v tom, že údaje pre každú z troch osí X, Y a Z sú prezentované ako dvojbajtové čísla. Prevodom na desatinné čísla dostaneme smery pozdĺž každej z troch osí.

Odporúča: