Kuinka Yhdistää Digitaalinen Kompassi HMC5883 Arduinoon

Sisällysluettelo:

Kuinka Yhdistää Digitaalinen Kompassi HMC5883 Arduinoon
Kuinka Yhdistää Digitaalinen Kompassi HMC5883 Arduinoon

Video: Kuinka Yhdistää Digitaalinen Kompassi HMC5883 Arduinoon

Video: Kuinka Yhdistää Digitaalinen Kompassi HMC5883 Arduinoon
Video: 3-х осевой цифровой компас HMC5883L испытания в железе 2024, Saattaa
Anonim

Tarkastellaan GY-273-moduulin kytkemistä Honeywell HMC5883L kolmi-akseliseen digitaaliseen kompassiin. Tätä mikropiiriä voidaan käyttää magnetometrisiin mittauksiin navigoinnissa, jos suurta mittaustarkkuutta ei vaadita (1 … 2 asteen virhe ja mahdollisuus kalibrointiin). Laite on kytketty I2C-liitännän kautta.

Digitaalikompassi HMC5883
Digitaalikompassi HMC5883

Tarpeellinen

  • - Digitaalikompassi HMC5883;
  • - Arduino;
  • - piirilevy ja liitäntäjohdot;
  • - tietokone.

Ohjeet

Vaihe 1

Nämä ovat magneettikompassin pääpiirteet:

- 3-akselinen magneettisesti herkkä anturi;

- 12-bittinen ADC, resoluutio 2 mGs (milligauss);

- sisäänrakennettu itsetesti;

- matala käyttöjännite ja pieni kulutus

- digitaalinen liitäntä I2C;

- korkea äänestysnopeus - jopa 160 kertaa sekunnissa (yhden mittauksen aika on noin 6 ms);

- suunnan määrittämisen tarkkuus on 1 °… 2 °;

- voidaan käyttää voimakkaissa magneettikentissä (enintään ± 8 Gausia).

Kaavio HMC5883L-magneettianturin liittämisestä Arduinoon on esitetty kuvassa. Se on erittäin kompakti ja yksinkertainen, koska Kaksijohtiminen I2C-liitäntä on loistava, koska se vaatii vähän yhteyksiä. Voit käyttää leipälautaa.

HMC5883-digitaalikompassin liittäminen Arduinoon
HMC5883-digitaalikompassin liittäminen Arduinoon

Vaihe 2

Sen pitäisi näyttää jotain valokuvalta. Yhdistän myös logiikka-analysaattorin SCL- ja SDA-väyliin valvomaan Arduinon ja HMC5883-moduulin välistä tiedonvaihtoa. Se ei ole pakollista.

HMC5883-digitaalikompassi, joka on kytketty Arduinoon leipälaudalle
HMC5883-digitaalikompassi, joka on kytketty Arduinoon leipälaudalle

Vaihe 3

Ensimmäisenä tuttavana yritetään lukea digitaalisen kompassin HMC5883 tunnistusrekisterit 10 (0xA), 11 (0xB) ja 12 (0xC) ja kirjoittaa sellainen luonnos kuin kuvassa. Sille toimitetaan yksityiskohtaiset kommentit.

Luonnos lukee HMC5883: n tunnistusrekisterit
Luonnos lukee HMC5883: n tunnistusrekisterit

Vaihe 4

Loogisella analysaattorilla saatu signaali on kuvan mukainen.

Mitä se tarkoittaa? Ensimmäinen tavu on I2C-osoite, johon me (päälaite, Arduino) muodostamme tiedonsiirron (korkeat 7 bittiä 0x1E), ja kirjoitusmoodi (matala bitti - 0x0); luku on 0x3C. Toinen tavu on numero 0xA, jonka kirjoitimme osoitteeseen 0x1E ja vahvistusbitin HMC5883L-anturista, joka on orja. Tämä on rekisterinumero, josta aloitamme tietojen lukemisen. Tämä on ensimmäinen kauppa. Seuraava alkaa. Kolmas tavu on orjan lukupyyntö (merkittävimmät 7 bittiä ovat osoite 0x1E, kahdeksas bitti on lukutoiminto 0x1; tuloksena oleva luku on 0x3D). Kolme viimeistä tavua ovat vastaus HMC5883L-orjalta vastaavasti rekistereistä 0xA, 0xB ja 0xC.

Digitaalikompassi HMC5883L liikkuu rekistereiden läpi itsenäisesti jatkuvan lukemisen aikana. Nuo. tapaus ei ole tarpeen (mutta ei kiellettyä) täsmentää joka kerta. Esimerkiksi, jos kirjoitamme 0xA: n sijasta 0x3 ja luemme 10 kertaa, saisimme arvot 10 rekisterissä alkaen 3. - 12..

Ja mitkä ovat nämä kolme numeroa - 0x48, 0x34, 0x33? Käyttäen uudelleen HMC5883L-digitaalikompassin tietolomaketta näemme, että nämä ovat kolmen tunnistusrekisterin oletusarvot.

Aikakaavio I2C-vaihdosta digitaalisen HMC5883-kompassin kanssa
Aikakaavio I2C-vaihdosta digitaalisen HMC5883-kompassin kanssa

Vaihe 5

Digitaalisen kompassidatan saamiseksi magneettikentälle sinun on luettava rekisterit 3 - 8, aivan kuten me luemme tunnistusrekisterit. Ainoa ero on, että kunkin kolmen akselin X, Y ja Z tiedot esitetään kaksitavuisina numeroina. Muuntaen ne desimaalilukuiksi saamme suunnat jokaista kolmea akselia pitkin.

Suositeltava: