Kako Povezati Digitalni Kompas HMC5883 Na Arduino

Kazalo:

Kako Povezati Digitalni Kompas HMC5883 Na Arduino
Kako Povezati Digitalni Kompas HMC5883 Na Arduino

Video: Kako Povezati Digitalni Kompas HMC5883 Na Arduino

Video: Kako Povezati Digitalni Kompas HMC5883 Na Arduino
Video: Подключаем цифровой компас HMC5883L к Arduino 2024, November
Anonim

Razmislimo o povezavi modula GY-273 s triosnim digitalnim kompasom Honeywell HMC5883L. To mikrovezje se lahko uporablja za magnetometrične meritve v navigaciji, če ni potrebna visoka merilna natančnost (z napako 1 … 2 stopinji in možnostjo kalibracije). Naprava je povezana prek vmesnika I2C.

Digitalni kompas HMC5883
Digitalni kompas HMC5883

Potrebno

  • - digitalni kompas HMC5883;
  • - Arduino;
  • - prototipna plošča in povezovalne žice;
  • - računalnik.

Navodila

Korak 1

To so glavne značilnosti magnetnega kompasa:

- 3-osni magnetno občutljiv senzor;

- 12-bitni ADC z ločljivostjo 2 mGs (miligausa);

- vgrajen samotestiranje;

- nizka delovna napetost in majhna poraba;

- digitalni vmesnik I2C;

- visoka stopnja glasovanja - do 160-krat na sekundo (čas ene meritve je približno 6 ms);

- natančnost določanja smeri je 1 °… 2 °;

- se lahko uporablja v močnih magnetnih poljih (do ± 8 Gauss).

Diagram za priključitev magnetnega senzorja HMC5883L na Arduino je prikazan na sliki. Je zelo kompakten in preprost, ker Dvožični vmesnik I2C je odličen, ker zahteva malo povezav. Lahko uporabite ploščo.

Priključitev digitalnega kompasa HMC5883 na Arduino
Priključitev digitalnega kompasa HMC5883 na Arduino

2. korak

Videti mora približno tako, kot je fotografija. Na vodila SCL in SDA bom priklopil tudi logični analizator za spremljanje izmenjave informacij med Arduino in modulom HMC5883. Ni obvezno.

Digitalni kompas HMC5883, povezan z Arduino na plošči
Digitalni kompas HMC5883, povezan z Arduino na plošči

3. korak

Kot prvo poznanstvo poskusimo prebrati identifikacijske registre 10 (0xA), 11 (0xB) in 12 (0xC) digitalnega kompasa HMC5883 in napišite takšno skico kot na sliki. Vsebuje podrobne komentarje.

Skica, ki bere identifikacijske registre HMC5883
Skica, ki bere identifikacijske registre HMC5883

4. korak

Signal, pridobljen z logičnim analizatorjem, bo prikazan na sliki.

Kaj to pomeni? Prvi bajt je naslov I2C, s katerim (glavna naprava, Arduino) vzpostavimo komunikacijo (visokih 7 bitov 0x1E) in način pisanja (nizki bit - 0x0); število je 0x3C. Drugi bajt je številka 0xA, ki smo jo zapisali za naslov 0x1E, in potrditveni bit senzorja HMC5883L, ki je pomožni. To je registrska številka, s katere bomo začeli brati podatke. S tem je zaključena prva transakcija. Naslednja se začne. Tretji bajt je zahteva za branje iz podrejene enote (najpomembnejši 7 bitov je naslov 0x1E, 8. bit je operacija branja 0x1; nastalo število je 0x3D). Zadnji 3 tri bajti so odziv pomožnika HMC5883L iz registrov 0xA, 0xB in 0xC.

Digitalni kompas HMC5883L se med neprekinjenim branjem premika po registrih samostojno. Tisti. ni treba (vendar ni prepovedano) vsakič natančno navesti primera. Če bi na primer namesto 0xA zapisali 0x3 in prebrali 10-krat, bi dobili vrednosti v 10 registrih, začenši od 3. do 12..

In kaj so te tri številke - 0x48, 0x34, 0x33? Ob ponovni uporabi podatkovnega lista za digitalni kompas HMC5883L bomo videli, da so to privzete vrednosti za tri identifikacijske registre.

Časovni diagram izmenjave I2C z digitalnim kompasom HMC5883
Časovni diagram izmenjave I2C z digitalnim kompasom HMC5883

5. korak

Če želite dobiti podatke digitalnega kompasa o magnetnem polju, morate prebrati registre od 3 do 8, tako kot beremo identifikacijske registre. Razlika je le v tem, da so podatki za vsako od treh osi X, Y in Z predstavljeni kot dvobajtna števila. Če jih pretvorimo v decimalna števila, dobimo navodila vzdolž vsake od treh osi.

Priporočena: