Kā Savienot Digitālo Kompasu HMC5883 Ar Arduino

Satura rādītājs:

Kā Savienot Digitālo Kompasu HMC5883 Ar Arduino
Kā Savienot Digitālo Kompasu HMC5883 Ar Arduino

Video: Kā Savienot Digitālo Kompasu HMC5883 Ar Arduino

Video: Kā Savienot Digitālo Kompasu HMC5883 Ar Arduino
Video: Трехосевой цифровой компас HMC5883L и Arduino 2024, Maijs
Anonim

Apsvērsim GY-273 moduļa savienojumu ar Honeywell HMC5883L trīsasu digitālo kompasu. Šo mikroshēmu var izmantot magnetometriskiem mērījumiem, navigācijā, ja nav nepieciešama augsta mērījumu precizitāte (ar kļūdu 1 … 2 grādi un kalibrēšanas iespēju). Ierīce ir savienota, izmantojot I2C saskarni.

Digitālais kompass HMC5883
Digitālais kompass HMC5883

Nepieciešams

  • - digitālais kompass HMC5883;
  • - Arduino;
  • - tāfeles un savienojošo vadu prototips;
  • - dators.

Instrukcijas

1. solis

Šīs ir galvenās magnētiskā kompasa iezīmes:

- 3 asu magnētiski jutīgs sensors;

- 12 bitu ADC ar izšķirtspēju 2 mGs (miligauss);

- iebūvēta paštestēšana;

- zems darba spriegums un mazs patēriņš;

- digitālā saskarne I2C;

- augsts vēlēšanu ātrums - līdz 160 reizēm sekundē (viena mērījuma laiks ir aptuveni 6 ms);

- virziena noteikšanas precizitāte ir 1 °… 2 °;

- var izmantot spēcīgos magnētiskajos laukos (līdz ± 8 Gauss).

Diagramma HMC5883L magnētiskā sensora pievienošanai Arduino ir parādīta attēlā. Tas ir ļoti kompakts un vienkāršs, jo Divu vadu I2C interfeiss ir lielisks, jo tam nepieciešams maz savienojumu. Jūs varat izmantot maizes dēli.

HMC5883 digitālā kompasa pievienošana Arduino
HMC5883 digitālā kompasa pievienošana Arduino

2. solis

Tam vajadzētu izskatīties apmēram kā fotoattēlam. Es arī savienošu loģisko analizatoru ar SCL un SDA kopnēm, lai uzraudzītu informācijas apmaiņu starp Arduino un HMC5883 moduli. Tas nav obligāti.

HMC5883 digitālais kompass, kas savienots ar Arduino uz maizes dēļa
HMC5883 digitālais kompass, kas savienots ar Arduino uz maizes dēļa

3. solis

Kā pirmo paziņu mēģināsim nolasīt digitālā kompasa HMC5883 identifikācijas reģistrus 10 (0xA), 11 (0xB) un 12 (0xC) un uzrakstīt tādu skici kā attēlā. Tam tiek sniegti detalizēti komentāri.

Skice, lasot HMC5883 identifikācijas reģistrus
Skice, lasot HMC5883 identifikācijas reģistrus

4. solis

Ar loģiskā analizatora iegūtais signāls būs tāds, kā parādīts attēlā.

Ko tas nozīmē? Pirmais baits ir I2C adrese, ar kuru mēs (galvenā ierīce, Arduino) izveidojam sakarus (augsti 7 biti 0x1E), un rakstīšanas režīms (zems bits - 0x0); skaitlis ir 0x3C. Otrais baits ir skaitlis 0xA, kuru mēs uzrakstījām uz adresi 0x1E un apstiprinājuma bitu no HMC5883L sensora, kas ir vergs. Šis ir reģistra numurs, no kura mēs sāksim lasīt datus. Tas noslēdz pirmo darījumu. Sākas nākamais. Trešais baits ir verga lasīšanas pieprasījums (nozīmīgākie 7 biti ir adrese 0x1E, 8. bits ir lasīšanas operācija 0x1; iegūtais skaitlis ir 0x3D). Pēdējie 3 trīs baiti ir HMC5883L verga atbilde no 0xA, 0xB un 0xC reģistra.

Digitālais kompass HMC5883L nepārtraukti lasot, reģistros pārvietojas neatkarīgi. Tie. katru reizi nav nepieciešams (bet nav aizliegts) precizēt gadījumu. Piemēram, ja 0xA vietā mēs rakstītu 0x3 un lasītu 10 reizes, mēs iegūtu vērtības 10 reģistros, sākot no 3. līdz 12. skaitlim.

Un kādi ir šie trīs skaitļi - 0x48, 0x34, 0x33? Vēlreiz izmantojot datu lapu HMC5883L digitālajam kompasam, mēs redzēsim, ka šīs ir trīs identifikācijas reģistru noklusējuma vērtības.

Laika diagramma I2C apmaiņai ar HMC5883 digitālo kompasu
Laika diagramma I2C apmaiņai ar HMC5883 digitālo kompasu

5. solis

Lai iegūtu digitālā kompasa datus uz magnētiskā lauka, jums jālasa reģistri no 3 līdz 8, tāpat kā mēs lasām identifikācijas reģistrus. Vienīgā atšķirība ir tā, ka dati par katru no trim asīm X, Y un Z tiek parādīti kā divbaitu skaitļi. Pārvēršot tos decimāldaļās, mēs iegūstam virzienus pa katru no trim asīm.

Ieteicams: