Forum: Mikrocontroller und Digitale Elektronik LSM303 als Kompass


von Max (Gast)


Lesenswert?

Hi

hat von euch schon jemand mit dem LSM303 gearbeitet?

Ich will ihn als Kompass und Neigungssensor verwenden.
Bisher bekommen ich nur willkürliche Daten für X, Y und Z.
Hat jemand nen Plan wie ich das in Grad umrechnen kann?

Danke für eure Hilfe.

von Bernhard S. (schweigi)


Lesenswert?

"Willkürliche Daten" --> einmal um die Hochachse drehen und die 
gemessenen x & y Werte gegeneinander plotten --> sollte einen Kreis oder 
zumindest Ellipse ergeben...

Zum Rechnen selbst sollte folgendes helfen (ist zwar auch schon irgendwo 
im Forum verfügbar, hab's aber auf die Schnelle nicht mehr 
angefunden...):

Michael J. Caruso, Applications of Magnetoresistive Sensors in 
Navigation Systems, Honeywell Inc.

http://www.ssec.honeywell.com/position-sensors/datasheets/sae.pdf

Auf Seite 5, Formel 4 ist beschrieben, wie man den "Kompass" rechnet, 
mit den Beschleunigungssensoren muss man davor aber die Kippwinkel 
berechnen...

lg
Bernhard

von Hermann-Josef M. (hermann-josef)


Lesenswert?

Hi Max,

den Thread durch Zufall gesehen ;)

Tja, habe mir so ein Teil vor einigen Monaten zugelegt, mittlerweile ist 
es leider bei lipoly.de nicht mehr erhältlich. Da gab es auch 
Beispiel-Code (von Pololu).

Das Original (LSM303DLH = product/1250) ist von Pololu, da gibt es auch 
noch Infos. Es gibt eine App-Note dazu, da läuft es so, wie es Bernhard 
skizziert hat. Den Nachfolger LSM303DLM findest Du hier:

http://www.pololu.com/catalog/product/1273

Gegenwärtig bastele ich gerade mal wieder damit rum, sofern es meine 
Zeit erlaubt, kannst ja ggf. eine PM schicken.

Viel Erfolg
Hermann-Josef

von Bernhard S. (schweigi)


Lesenswert?

bezüglich "Nachfolger":

aktuell hat ST zwei dieser Dinger im Programm: LSM303DLM und LSM303DLHC, 
wobei der DLHC z.B. beim Farnell um 4.5 € zu haben ist...

soweit ich gesehen habe ist der Unterschied (ausser natürlich im 
Gehäuse), dass der DLHC bei der Beschleunigungsmessung bis 16 g geht und 
zusätzlich einen Temperatursensor hat...

Was ich aber bei beiden nicht rausfinden konnte - vielleicht kann mir da 
ja jemand helfen - laut Datenblatt hat er einen integrierten "Set/Reset 
Circuit" - also eine demagnetisier-Einheit - ist die automatisch aktiv? 
Wenn ja wie oft tut er es? Oder gibt's da einen Befehl zum aktivieren 
(denn ich aber nirgends finden konnte...)?

lg
Bernhard

von Hermann-Josef M. (hermann-josef)


Lesenswert?

Hallo Bernhard,

kann dazu leider nichts sagen, ich habe den Sensor auf dem genannten 
Breakout-Board, nicht als Einzelchip. Auch hier (Farnell) ist der DLH im 
Datenblatt als 'obsolete' gekennzeichnet.

Grüße
Hermann-Josef

von Bernhard S. (schweigi)


Lesenswert?

Nur um sicherzugehen, dass wir nicht aneinander vorbeireden - es gibt 
drei Typen:
den veralteten DLH
die beiden neueren DLM und DLHC (beide bei ST als "active" 
gekennzeichnet)

Wobei DLH und DLM auf den ersten Blick anscheinend Pin-kompatibel sind - 
dürfte als Upgrade Pfad gedacht sein. Daher auch meine Vermutung, das 
der DLHC das aktuellste Modell ist (neue Pinbelegung, zusätzliche 
Funktionen...)

Werd mir so ein Ding mal zulegen, eine Platine dazumachen und dann weiss 
ich hoffentlich mehr :-)

lg
Bernhard

von Badal (Gast)


Lesenswert?

Hallo Leute,

ich habe etwa das gleiche Problem. Ich möchte gerne zuerst die eine 
Achse auf Gleichgewicht halten.

Wenn ich den Senor hinstelle schwankt der Wert zwischen -100 und +170 
hin und her. Wie kann ich es Kalibrieren das es ausgeglichen ist.

Vielen Dank

von Bernie (Gast)


Lesenswert?

... kenne diese Sensoren überhaupt nicht!

Aber ein Sensor, der bei stabilem zu messenden Wert
schwankende Messwerte ausgibt, rauscht entweder selbst,
oder ist schlecht angeschlossen. (Störunterdrückung...)

Mit Kalibrieren allein kann man bestenfalls
von -100 ... +170
auf -135 ... +135 kommen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.