HMC5883L - Winkel berechnen

Dieses Thema im Forum "Software" wurde erstellt von Janiiix3, 28. März 2018.

  1. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.277
    Zustimmungen:
    8
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Hallöchen,

    hat jemand Erfahrungen mit dem "HMC5883L - Beschleunigungssensor" sammeln dürfen?
    Daten ( X , Z , Y - Achse(n)) bekomme ich schon.

    Nun würde ich gerne so eine art "Neigungssensor" bauen. Der mir auf einem Display oder später mit LED´s den aktuellen WInkel anzeigt ( 0 - 359 ° ).

    Wie kann ich diesen Winkel aus den Achsen berechnen?

    Datenblatt zum Sensor..
     

    Anhänge:

  2. addi

    addi Mitglied

    Registriert seit:
    2. September 2013
    Beiträge:
    98
    Zustimmungen:
    3
    Punkte für Erfolge:
    8
    Sprachen:
    BascomAVR, C, Assembler
    Hmmm...schau dir z.b die python libs für den raspi oder die libs fuer den arduino an..
    73 de addi
     
  3. Mikro23

    Mikro23 Mitglied

    Registriert seit:
    2. Januar 2017
    Beiträge:
    264
    Zustimmungen:
    19
    Punkte für Erfolge:
    18
    Sprachen:
    C, Assembler
    Dazu mußt Du Deine kartesischen Koordinaten in Kugelkoordinaten umrechnen.
    Kugelkoordinaten.png
    Phi ist der Winkel in der xy-Ebene, Theta in z-Richtung (hoch/runter). Bild

    Solltest Du das noch nicht für Polarkoordinaten in der Ebene gemacht haben, wäre es sicher einfacher fertige Bibliotheken zu benutzen, wie addi schon anmerkte.

    Dir ist übrigens bewußt, daß der HMC5883L ein Magnetsensor ist?
     
  4. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.277
    Zustimmungen:
    8
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Ist es damit etwa nicht möglich?
     
  5. Mikro23

    Mikro23 Mitglied

    Registriert seit:
    2. Januar 2017
    Beiträge:
    264
    Zustimmungen:
    19
    Punkte für Erfolge:
    18
    Sprachen:
    C, Assembler
    Das Ergebnis ist von Deiner Position relativ zum Erdmagnetfeld abhängig.
    Wenn Du das Gerät translatorisch in der Nähe bewegst, ändert sich nichts.
    Bei jeder Rotation, wie auch immer Du es drehst, ändern sich zwei Winkel. (Wenn man es genau nimmt, gibt es zwei Ebenen im Raum, in denen sich nur ein Winkel ändert.)

    Um es also als »sowas wie eine "Digitale Wasserwaage"« zu verwenden, wie Du irgendwo anders schriebst, mußt Du es vor jeder Messung auf Null stellen und Dir bei jeder Bewegung darüber im Klaren sein in welche Richtung Du es in Bezug auf den Nullpunkt drehst.
     
  6. addi

    addi Mitglied

    Registriert seit:
    2. September 2013
    Beiträge:
    98
    Zustimmungen:
    3
    Punkte für Erfolge:
    8
    Sprachen:
    BascomAVR, C, Assembler
    Hmmm...und damit die sache noch etwas komplexer wird, brauchst du noch die geomagnetischen daten deiner umgebung. Hier etwas , was deiner zielvorstellung besser entgegenkommt

    https://funduino.de/nr-14-lagesensor

    73 addi
     
  7. addi

    addi Mitglied

    Registriert seit:
    2. September 2013
    Beiträge:
    98
    Zustimmungen:
    3
    Punkte für Erfolge:
    8
    Sprachen:
    BascomAVR, C, Assembler
    Hmmm...man könnte aber den sensor zur beobachtung des erdmagnetfeldes einsetzen und grobe aenderungen des magnetfeldes, das durch den sensor ja erfasst wird, monitoren...autos, verönderungen im feld durch sonnenstürme
    73 de addi
     
  8. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.277
    Zustimmungen:
    8
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Damals wo ich diesen Sensor bestellt hatte, habe ich gedacht das man damit ohne weiteres sowas realisieren könnte.
    Das scheint ja aber nicht wirklich dafür gemacht zu sein.

    Dann muss ich mich wohl noch mal umschauen. Was könnte man sonst mit diesem Sensor anstellen?

    Dies scheint eine gute Alternative zu sein, muss man halt mal schauen wie sich die Spannungen bei 0° verhalten und ob sie einigermaßen proportional ansteigen.
     
  9. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.277
    Zustimmungen:
    8
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Man kann diesen Sensor wohl auch als Kompass benutzen.
    Wenn ich das Register für die 'X' Achse auslese, komme ich zwar in den Bereich des möglichen (bezogen auf den Wertebereich laut Datenblatt.. min | max), nur kommt mir dieser Wert ziemlich komisch vor.

    Kann man irgendwo im Internet? für meine Region vergleichen ob der Wert im Bereich des möglichen liegt?

    Die Messdaten drüfen folgende Werte annehmen.: 0xF800–0x07FF (-2048–2047 ).
    Mein gemessener Wert für 'X' beträgt so zwischen.: -53 - -55.
     
  10. Mikro23

    Mikro23 Mitglied

    Registriert seit:
    2. Januar 2017
    Beiträge:
    264
    Zustimmungen:
    19
    Punkte für Erfolge:
    18
    Sprachen:
    C, Assembler
    Wie der Name »3-Axis Digital Compass IC« schon sagt, wurde er genau dafür entwickelt. ;)

    Das Erdmagnetfeld hat eine horizontale und eine vertikale Komponente. Die Intensität ist an jedem Punkt der Erdoberfläche entweder durch drei Werte in kartesischen Koordinaten oder durch zwei Winkel und den Radius in Kugelkoordinaten genau bestimmbar. Die Inklination (der Winkel, unter dem das Magnetfeld die Erdoberfläche schneidet) beträgt in Deutschland ca. 70°. Die Gesamtintensität der magnetischen Flußdichte beträgt bei uns ca. 50µT, der horizontale Anteil daran beträgt etwa 20µT.

    Wenn Du die genaue Lage der Sensors kennst, kannst Du aus den drei Werten die Stärke des Magnetfeldes in jeder Richtung ablesen.
    Wenn Du den Sensor z.B. so drehst, daß der x-Wert am größten bzw. kleinsten wird und der y- und z-Wert gleichzeitig Null sind, dann zeigt die x-Achse genau in Richtung des Magnetfeldes.
     
  11. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.277
    Zustimmungen:
    8
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Danke für jegliche Erklärung.
     
  • Über uns

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren und die Seite optimal für dich anzupassen. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden