Kako Spojiti Digitalni Kompas HMC5883 Na Arduino

Sadržaj:

Kako Spojiti Digitalni Kompas HMC5883 Na Arduino
Kako Spojiti Digitalni Kompas HMC5883 Na Arduino

Video: Kako Spojiti Digitalni Kompas HMC5883 Na Arduino

Video: Kako Spojiti Digitalni Kompas HMC5883 Na Arduino
Video: hmc5883l компас arduino, датчик магнитометра, навигация по компасу "Arduino Project для начинающих 2024, Travanj
Anonim

Razmotrimo povezanost modula GY-273 s troosovinskim digitalnim kompasom Honeywell HMC5883L. Ovaj mikrovez se može koristiti za magnetometrijska mjerenja, u navigaciji, ako nije potrebna velika točnost mjerenja (s pogreškom od 1 … 2 stupnja i mogućnošću kalibracije). Uređaj je povezan putem I2C sučelja.

Digitalni kompas HMC5883
Digitalni kompas HMC5883

Potrebno

  • - Digitalni kompas HMC5883;
  • - Arduino;
  • - prototipna ploča i spojne žice;
  • - Računalo.

Upute

Korak 1

Ovo su glavne značajke magnetskog kompasa:

- 3-osni magnetno osjetljivi senzor;

- 12-bitni ADC s rezolucijom od 2 mGs (miligauss);

- ugrađeno samoispitivanje;

- nizak radni napon i mala potrošnja;

- digitalno sučelje I2C;

- visoka stopa anketiranja - do 160 puta u sekundi (vrijeme jednog mjerenja je oko 6 ms);

- točnost određivanja smjera je 1 ° … 2 °;

- može se koristiti u jakim magnetskim poljima (do ± 8 Gaussa).

Dijagram povezivanja magnetskog senzora HMC5883L na Arduino prikazan je na slici. Vrlo je kompaktan i jednostavan, jer Dvožično I2C sučelje je sjajno jer zahtijeva malo veza. Možete koristiti ploču za kruh.

Spajanje digitalnog kompasa HMC5883 na Arduino
Spajanje digitalnog kompasa HMC5883 na Arduino

Korak 2

Trebao bi izgledati otprilike poput fotografije. Također ću spojiti logički analizator na SCL i SDA sabirnice kako bih nadzirao razmjenu informacija između Arduina i HMC5883 modula. Nije obavezno.

Digitalni kompas HMC5883 povezan s Arduinom na ploči za ploču
Digitalni kompas HMC5883 povezan s Arduinom na ploči za ploču

3. korak

Pokušajmo kao prvo poznavanje pročitati identifikacijske registre 10 (0xA), 11 (0xB) i 12 (0xC) digitalnog kompasa HMC5883 i napišite takvu skicu kao na slici. Sadrži detaljne komentare.

Skica koja čita identifikacijske registre HMC5883
Skica koja čita identifikacijske registre HMC5883

4. korak

Signal dobiven logičkim analizatorom bit će prikazan na slici.

Što to znači? Prvi bajt je I2C adresa s kojom mi (glavni uređaj, Arduino) uspostavljamo komunikaciju (visokih 7 bitova 0x1E) i način pisanja (mali bit - 0x0); broj je 0x3C. Drugi bajt je broj 0xA, koji smo napisali za adresiranje 0x1E i bit potvrde sa senzora HMC5883L, koji je pomoćni uređaj. To je registarski broj s kojeg ćemo započeti čitanje podataka. Time je zaključena prva transakcija. Sljedeća započinje. Treći bajt je zahtjev za čitanje od pomoćnog uređaja (najznačajniji 7 bitova su adresa 0x1E, osmi bit je operacija čitanja 0x1; rezultirajući broj je 0x3D). Posljednja 3 tri bajta su odgovor od pomoćnog uređaja HMC5883L iz registara 0xA, 0xB i 0xC.

Digitalni kompas HMC5883L kreće se kroz registre neovisno tijekom neprekidnog čitanja. Oni. nije potrebno (ali nije zabranjeno) svaki put navesti slučaj. Na primjer, ako bismo umjesto 0xA napisali 0x3 i pročitali 10 puta, dobili bismo vrijednosti u 10 registara, počevši od 3. do 12..

A koja su to tri broja - 0x48, 0x34, 0x33? Ponovnim korištenjem podatkovnog lista za digitalni kompas HMC5883L, vidjet ćemo da su to zadane vrijednosti za tri identifikacijska registra.

Vremenski dijagram razmjene I2C s digitalnim kompasom HMC5883
Vremenski dijagram razmjene I2C s digitalnim kompasom HMC5883

Korak 5

Da biste dobili podatke digitalnog kompasa o magnetskom polju, morate pročitati registre od 3 do 8, baš kao što i mi čitamo identifikacijske registre. Jedina je razlika što su podaci za svaku od tri osi X, Y i Z prikazani kao dvobajtni brojevi. Pretvarajući ih u decimalne brojeve, dobivamo upute duž svake od tri osi.

Preporučeni: