3 Achsen Magnetkompass EMC5843 (Auslaufmodell) NEU ---> EMC5883L

  • 3-Axis Magnetoresistive Sensors
  • I2C Digital Interface
  • Wide Magnetic Field Range (+/-6 Oe)
  • range is 0xF800 to 0x07FF
  • Achtung auf der Platine von Sparkfun ist ein Fehler
Bildergalarie

(Quelle:SparkFun Electronics ®)

Datenblatt
Modul
Anschaltung an Propeller

Softwaremodule
' Der i2c-Treiber ist hier im anhang einzufügen.

CON 'All the I2C registers for the HMC5843 mag I2C address maximum bus speed is ???kHz.
  HMC5843                       = %0011_1100
  HMC5843_CONFIG_A              = $00
  HMC5843_CONFIG_B              = $01
  HMC5843_MODE                  = $02
  HMC5843_DATA_X_MSB            = $03
  HMC5843_DATA_X_LSB            = $04
  HMC5843_DATA_Y_MSB            = $05
  HMC5843_DATA_Y_LSB            = $06
  HMC5843_DATA_Z_MSB            = $07
  HMC5843_DATA_Z_LSB            = $08
  HMC5843_STATUS                = $09
  HMC5843_ID_A                  = $0A
  HMC5843_ID_B                  = $0B
  HMC5843_ID_C                  = $0C

VAR
  long XC, YC, ZC                        'Compass

PUB start
    waitcnt(clkfreq + cnt)                                  'start-up delay
    writeValue(HMC5843, HMC5843_ID_A)
    if readValue24(HMC5843) == $00483433                    '"H43"
      ' OK
      writeLocation(HMC5843, HMC5843_CONFIG_A, $3C)
      writeLocation(HMC5843, HMC5843_CONFIG_B, $02)
      writeLocation(HMC5843, HMC5843_MODE, $00)
      repeat
        emc
    else
      ' nOK

PRI emc
  XC := readLocation16(HMC5843, HMC5843_DATA_X_MSB)
  YC := readLocation16(HMC5843, HMC5843_DATA_Y_MSB)
  ZC := readLocation16(HMC5843, HMC5843_DATA_Z_MSB)

i2c.spin

Funktionsbeispiel
Tip's
  • Werden nach dem Einschalten immer konstante Werte angezeigt dann:
  • - EMC5843 VCC vom Bord kurz trennen, danach sollte alles funktionieren.
  • - Ursache: der C1 ist warscheinlich kein 4,7µF lowest ESR

zum Testen angelöteter 100µF Elko

sen_komp_emc5843/start.txt · Zuletzt geändert: 07.10.2012 23:57 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: GNU Free Documentation License 1.3
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki