Hallo Moppi,
vielleicht hilft Dir das Datenblatt von NXP weiter:
https://www.nxp.com/docs/en/data-sheet/MMA8452Q.pdf
Gruß
Searcher
Hallo,
ich trete auf der Stelle:
Ich habe bei Conrad vor längerer Zeit einen Neigungssensor/Lagesensor gekauft. Bezeichnung s. Titel.
Nun ist das ein Accelerometer. Hier das erste Fragezeichen
Ein Accelerometer ist ein Beschleunigungssensor. Zweites Fragezeichen
Ein Neigungssensor ist ein Accelerometer, ist ein Beschleunigungssensor.
Ich habe lange Zeit dazu geschwiegen.
Habe mich jetzt damit beschäftigt.
Mit dem Teil kann man die Lage bestimmen. Dreh ich es auf den Kopf, bekomme ich negativen Wert von -1. Dreh ich es richtig, bekomme ich einen Wert von +1. Das geht sowohl in der Horizontalen, als auch in der Vertikalen.
Dabei sind auch Beispielsketche, aber so weit ich gesehen habe, kein einziger, der eine Geschwindigkeit ausgeben würde oder einen G-Kraft-Wert.
Wo ist da die Beschleunigung? Wieder Fragezeichen
Einstellen lässt sich das Teil aber in g-Bereichen.
Vielleicht kann jemand erklären, was man damit genau tun kann. Außer Werte auslesen, die etwas zur Lage des Sensors aussagen.
Gibt es da für diese Teile auch externe Störquellen?
Das Teil hat wohl 2 Interruptausgänge (?) Weiß aber nicht, wie man das nutzen kann, sprich programmieren.
Hier das Teil, dass ich habe: https://botland.com.pl/en/accelerome...329683450.html
MfG
Geändert von Moppi (09.05.2019 um 14:55 Uhr)
Hallo Moppi,
vielleicht hilft Dir das Datenblatt von NXP weiter:
https://www.nxp.com/docs/en/data-sheet/MMA8452Q.pdf
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Weg zu einigen meiner Konstruktionen
3D Accelerometer (Beschleunigungsmesser) messen (auch) immer die Erdbeschleunigung mit.Mit dem Teil kann man die Lage bestimmen. Dreh ich es auf den Kopf, bekomme ich negativen Wert von -1. Dreh ich es richtig, bekomme ich einen Wert von +1. Das geht sowohl in der Horizontalen, als auch in der Vertikalen.
Dabei sind auch Beispielsketche, aber so weit ich gesehen habe, kein einziger, der eine Geschwindigkeit ausgeben würde oder einen G-Kraft-Wert.
Wo ist da die Beschleunigung? Wieder Fragezeichen
In Standardausrichtung misst in Ruhe also die Achse nach oben/unten (oft als z bezeichnet) die volle Erdbeschleunigung (+1 G),
während die anderen beiden Achsen (dann x und y) horizontal liegen und daher in Ruhe keine Beschleunigung erfahren.
Drehst du ihn 90° auf die Seite, erfährt nun die y-Achse die volle Erdbeschleunigung, während x und z horizontal liegen und keine Beschleunigung erfahren.
Drehst du ihn stattdessen 90° nach vorn, erfährt die x-Achse die volle Erdbeschleunigung, während y und z horizontal liegen und keine Beschleunigung erfahren.
Drehst du ihn 180°, erfährt wieder die z-Achse die volle Erdbeschleunigung, aber "verkehrt herum", daher nun -1 G.
Bewegst du ihn aber zügig hin und her oder rauf und runter, erhalten die Achsen zusätzliche Beschleunigeung durch deine beschleunigte Bewegung.
Du misst aber Beschleunigung, keine Geschwindigkeit.
Beschleunigung ist immer (nur) die ÄNDERUNG einer Geschwindigkeit, also während sie gebremst oder beschleunigt oder die Bewegungsrichtung geändert wird.
eine gleichmäßige, geradlinige Geschwindigkeit (also z.B. konstant mit 100km/h geradeaus) bedeutet daher immer :
du hast keine anderen Messergebnisse als in Ruhe.
Bild hier
Geändert von HaWe (09.05.2019 um 17:31 Uhr)
Danke für die Erläuterung!
Das Datenblatt habe ich gesichtet und gespeichert. Register sind beschrieben, müsste ich mit klar kommen.
Ich habe da was von "E-compass applications" gelesen. Also müsste man damit praktisch auch die Richtung bestimmen können(?)
MfG
Von Kompass sehe ich hier bisher nichts.
Wie lautet das Zitat vollständig?
Mit Accelerometern kann man keine (relative oder absolute) Richtung bestimmen, sondern nur mit Gyroskopen (Rotationssensoren) oder Magnetometern (Kompass-Sensoren), meist sind sie miteinander kombiniert (sog. IMU = inertial measurement unit).
Der MPU6050 (Acc.+Gyro), MPU9050 (Acc.+Gyro+Kompass) oder CMPS11/12 (Acc.+Gyro+Kompass) wären hier gute Beispiele.
Datenblatt erste Seite
Typical applications
• E-compass applications
• Static orientation detection (portrait/landscape, up/down, left/right, back/front
position identification)
• Notebook, e-reader, and laptop tumble and freefall detection
• Real-time orientation detection (virtual reality and gaming 3D user position feedback)
• Real-time activity analysis (pedometer step counting, freefall drop detection for HDD, dead-reckoning GPS backup)
• Motion detection for portable product power saving (auto-sleep and auto-wake for cell phone, PDA, GPS, gaming)
• Shock and vibration monitoring (mechatronic compensation, shipping and warranty usage logging)
• User interface (menu scrolling by orientation change, pulse detection for button replacement)
Ja, sieht danach aus.
MfG
Ich habe jetzt das Accelerometer so weit im Programm eingebunden.
Bevor ich jetzt wieder selber das Rad erfinde, folgende Frage:
Hat schon jemand einen Algorithmus gesichtet, der die Werte eines Lagesensors auf 6 Beine, bei einem Hexapod - als Offset - berechnet? Oder was ähnliches?
Ich habe die Werte so weit verarbeitet, dass ich in jeder Achse 0 bis +/-15 erhalte.
Also 0 wäre waagerecht, -15 (max). zu der einen Seite, +15 (max.) zu der andern Seite gekippt.
Jetzt muss ich, je nachdem wie der Sensor aus der Waagerechten gekippt wird, verschiedene Werte berechnen, die sich zu den einzelnen Beinen addieren lassen, so dass der Hexapod-Körper die Waagerechte in X und Y wieder einnimmt.
MfG
"so etwas ähnliches": ja.
Allerdings für den mpu6050, der aber für die Lage-Berechnung ebenfalls seine Accelerometer benutzt.
Da sie als raw-Werte sehr verrauscht sind, wird ein Kalmanfilter verwendet:
https://github.com/TKJElectronics/KalmanFilter
https://github.com/TKJElectronics/Ka...50/MPU6050.ino
(Anm.: Da dein Sensor sehr "ungewöhnlich" ist, er keine Gyros zur Stabilisierung per Sensorfusion hat und ich keine Arduino-Libs dafür kenne, würde ich dir empfehlen, ebenfalls auf den mpu6050 zu wechseln, er ist sehr preiswert erhältlich.)
Lesezeichen