- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 5 von 5

Thema: Kompassmodul cMPS03 + I2C

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2007
    Beiträge
    5

    Kompassmodul cMPS03 + I2C

    Anzeige

    E-Bike
    Hallo,

    ich habe das Kompassmodul CMPS03 über den I2C/r232-Konverter an COM1 des PC (winXP) angeschlossen.
    Zum Testen nutze ich das i2c_beispiel_terminal-programm.

    Die ID-Adresse des Kompassmoduls ist C0. Eingeben muss ich beim Auslesen aber für die Slave-ID C1 (vermutlich wegen des Lesebits "01".). Als Anzeige erhalte ich 5 Bytes, die sich jedesmal ändern, ohne Veränderung des Kompassmoduls.

    Frage: welche Register des Kompassmoduls (0-15) lese ich eigentlich mit dem Terminalprogramm aus?

    Frage: Was muss ich verändern, um das Register 1 (Werte 0-255) auszulesen.

    Grüsse heinz

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2007
    Beiträge
    5
    Hallo,

    das Terminalprogramm gibt mir im Byte 1 5 Werte von 0 bis 255 aus, die sich auch zyklisch wiederholen und verändern, wenn ich das Modul drehe,
    aber mit den Werten kann ich leider nichts anfangen. Der PWM-Ausgang am Kompass verhält sich einwandfrei.

    Wie komme ich aber nun zu verwertbaren Werten aus dem Register 1?

    Grüsse heinz

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Wie komme ich aber nun zu verwertbaren Werten aus dem Register 1?
    ... indem du auf dem I2C-Bus HC0/Ack und anschließend die Registernummer (z.B. 1) an den CMPS03 sendest. Danach kannst du HC1/Ack senden und dann den Inhalt des Registers (Byte) lesen.

    Gruß Dirk

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2007
    Beiträge
    5
    ja, danke!

    ...aber was zeigt das Terminalprogramm denn dann für Bytes an?.Wo nimmt das die 5 Bytes her?


    Grüsse heinz

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2007
    Beiträge
    5

    Die Lösung

    Hallo,

    zuerst muss mit dem Terminalprogramm und der Adresse 192 das zu lesende Register ausgewählt werden. Dazu wird das 1.Byte (1. Feld) mit 01 beschrieben. Im Register 01 stehen die Kompassdaten 1-255. Das wird jetzt an das Kompassmodul gesendet.

    Danach wird empfangen mit der Adresse 193 und man erhält den Inhalt des Registers 01. Bevor man wieder empfängt, muss wieder erst durch Senden das REgister ausgewählt werden.

    Das Kompass modul arbeitet sehr genau, wenn er absolut waagerecht positioniert ist und kein Metall näher als 30cm in der Nähe ist. Ein kleines Blechteil in ca. 10 cm macht den Kompass unbrauchbar (Werte schwanken dann zwischen 250 und 50!!).

    Grüsse heinz

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen