Kaip Prijungti Skaitmeninį Kompasą HMC5883 Prie „Arduino“

Turinys:

Kaip Prijungti Skaitmeninį Kompasą HMC5883 Prie „Arduino“
Kaip Prijungti Skaitmeninį Kompasą HMC5883 Prie „Arduino“

Video: Kaip Prijungti Skaitmeninį Kompasą HMC5883 Prie „Arduino“

Video: Kaip Prijungti Skaitmeninį Kompasą HMC5883 Prie „Arduino“
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Gegužė
Anonim

Panagrinėkime modulio GY-273 prijungimą prie trijų ašių skaitmeninio kompaso „Honeywell HMC5883L“. Šią mikroschemą galima naudoti magnetometriniams matavimams, navigacijai, jei nereikia didelio matavimo tikslumo (su 1 … 2 laipsnių paklaida ir kalibravimo galimybe). Prietaisas prijungtas per „I2C“sąsają.

Skaitmeninis kompasas HMC5883
Skaitmeninis kompasas HMC5883

Būtinas

  • - Skaitmeninis kompasas HMC5883;
  • - Arduino;
  • - plokštės prototipas ir jungiamieji laidai;
  • - kompiuteris.

Nurodymai

1 žingsnis

Tai yra pagrindinės magnetinio kompaso savybės:

- 3 ašių magnetiškai jautrus jutiklis;

- 12 bitų ADC su 2 mGs (miligausų) skiriamąja geba;

- įmontuotas savęs išbandymas;

- maža darbinė įtampa ir mažos sąnaudos;

- skaitmeninė sąsaja I2C;

- didelis rinkimų dažnis - iki 160 kartų per sekundę (vieno matavimo laikas yra apie 6 ms);

- krypties nustatymo tikslumas yra 1 °… 2 °;

- gali būti naudojamas stipriuose magnetiniuose laukuose (iki ± 8 Gausų).

HMC5883L magnetinio jutiklio prijungimo prie „Arduino“schema parodyta paveikslėlyje. Tai labai kompaktiška ir paprasta, nes Dviejų laidų I2C sąsaja yra puiki, nes jai reikia nedaug jungčių. Galite naudoti duonos lentą.

HMC5883 skaitmeninio kompaso prijungimas prie „Arduino“
HMC5883 skaitmeninio kompaso prijungimas prie „Arduino“

2 žingsnis

Tai turėtų atrodyti panašiai kaip nuotrauka. Taip pat prie SCL ir SDA magistralių prijungsiu loginį analizatorių, kad galėčiau stebėti keitimąsi informacija tarp „Arduino“ir HMC5883 modulio. Tai nėra privaloma.

HMC5883 skaitmeninis kompasas, prijungtas prie „Arduino“ant duonos
HMC5883 skaitmeninis kompasas, prijungtas prie „Arduino“ant duonos

3 žingsnis

Pirmieji susipažinę pabandykime perskaityti skaitmeninio kompaso HMC5883 identifikavimo registrus 10 (0xA), 11 (0xB) ir 12 (0xC) ir parašyti tokį eskizą, kaip pav. Jai pateikiami išsamūs komentarai.

Eskizas, skaitantis HMC5883 identifikavimo registrus
Eskizas, skaitantis HMC5883 identifikavimo registrus

4 žingsnis

Su loginiu analizatoriumi gautas signalas bus toks, kaip parodyta iliustracijoje.

Ką tai reiškia? Pirmasis baitas yra I2C adresas, su kuriuo mes (pagrindinis įrenginys, „Arduino“) užmezgame ryšį (dideli 7 bitai 0x1E), ir rašymo režimas (mažas bitas - 0x0); skaičius yra 0x3C. Antrasis baitas yra skaičius 0xA, kurį parašėme adresu 0x1E ir patvirtinimo bitą iš HMC5883L jutiklio, kuris yra vergas. Tai yra registro numeris, nuo kurio pradėsime skaityti duomenis. Tai užbaigia pirmąjį sandorį. Prasideda kitas. Trečias baitas yra vergo skaitymo užklausa (reikšmingiausi 7 bitai yra adresas 0x1E, aštuntasis bitas yra skaitymo operacija 0x1; gautas skaičius yra 0x3D). Paskutiniai trys trys baitai yra HMC5883L vergo atsakas iš atitinkamai 0xA, 0xB ir 0xC registrų.

Skaitmeninis kompasas HMC5883L nuolat juda per registrus nuolatinio skaitymo metu. Tie. nebūtina (bet nedraudžiama) kiekvieną kartą nurodyti atvejį. Pavyzdžiui, jei vietoj 0xA rašytume 0x3 ir skaitytume 10 kartų, gautume reikšmes 10 registrų, pradedant nuo 3 iki 12.

Kas yra šie trys skaičiai - 0x48, 0x34, 0x33? Vėl naudodami duomenų lapą HMC5883L skaitmeniniam kompasui, pamatysime, kad tai yra numatytosios trijų identifikavimo registrų vertės.

I2C mainų su HMC5883 skaitmeniniu kompasu laiko schema
I2C mainų su HMC5883 skaitmeniniu kompasu laiko schema

5 žingsnis

Norėdami gauti skaitmeninio kompaso duomenis magnetiniame lauke, turite perskaityti 3–8 registrus, lygiai taip pat, kaip mes skaitome identifikavimo registrus. Vienintelis skirtumas yra tas, kad kiekvienos iš trijų ašių X, Y ir Z duomenys pateikiami kaip dviejų baitų skaičiai. Konvertuodami juos į dešimtainius skaičius, mes gauname kryptis išilgai trijų ašių.

Rekomenduojamas: