Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
hab mal ein wenig experimentiert und festgestellt, dass die Werte für+- 1 g für die x,y,z Achse sehr unterschiedlich sind (ist aber auch im Datenblatt angegeben) und der Wert für +-1g von +-256 stark abweicht . Bei meinem Exemplar liegen die Kennlinien in diesem Bereich:
-90° +90°
x: -198 +264
y: -258 +220
z: -232 +228
Ich hab das dann auf 255 normiert und den Nullpunkt entsprechend verschoben.
Damit komm ich dann auf Werte von > 88 ° für die Maximalpositionen,
die auch mit der wirklichen lage des Sensors gut korrespondieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Sternthaler,
Ich hatte bei meinem grossen Monowheel (Big-MW) , bei dem ich den MMA7260Q verwende, auch das Problem, dass die Beschleunigungswerte, wenn ich nur z.B. die x-Richtung quer zur Fahrtrichtung betrachtete, von dem im Ruhezustand abwichen, auch wenn das Fahzeug garnicht in x-Richtung geneigt war.
Das lag wohl nicht nur an den "dynamischen" Beschleunigungen z.B. durch den Antrieb, sondern im Wesentlichen daran, dass das Innenfahrzeug nach dem Anfahren eine Schräglage einnimmt ( Es fährt anfangs vorne im Rad hoch, um den Ausennreifen in Drehung zu bringen, nach dem Anfahren (und Erreichen der rel. konstanten Fahrgeschwindigkeit) lag das Innenfahrzeug etwas (ca 20°) nach vorne geneigt im Rad . Dadurch bekam dann die Beschleunigung quer zur Fahrtrichtung nicht mehr den vollen g-Vektor mit.
Ich hab das dann anfangs korrigiert, indem ich die Nullage des Sensors etwas manipuliert habe, werd das jetzt aber wohl mit den unten angegebenen Formeln bzw. der Tabelle machen.
Zu Deiner Frage:
ich hab da vom MMA7260Q/Freescale eine Doku (AN3461), wo ein wenig Geometrie gemacht wird. Da gibt's dann die Winkel
rho = arctan(Ax/sqrt(Ay*Ay + Az*Az))
phi = arctan(Ay/sqrt(Ax*Ax + Az*Az))
und theta = arctan(sqrt(Ax*Ax + Ay*Ay)/Az)
und sqrt (Ax*Ax + Ay*Ay + Az*Az) = 1 g (falls nur Gravitation)
wobei bei theta - nehme ich an - ein Schreibfehler vorliegt
ich rechne mit
theta = arctan(Az/sqrt(Ax*Ax + Ay*Ay))
zusätzlich ist dort auch noch eine Umsetztabelle
von AD-Werten zu Winkeln ( der MMA7260 ist ja ein analoger Sensor).
Ich versuche mal, meinen (wohl nicht sehr schönen und vermutlich auch nicht ganz fehlerfreien) Code zu posten. Kansst Du Dir ja mal ansehen und verbessern.
Gruss mausi_mick
PS: Ich hab mit ELV telefoniert und ihnen mitgeteilt, dass mein
2. Sensor defekt ist. Ich hab dann geäussert, dass es mir lieber wäre , anstelle das defekte hin-und-her zu senden , noch zusätzlich zwei Sensoern portofrei zu erwerben.
Sie waren dann sehr kulant und haben mir ausserdem noch ein Exemplar kostenlos beigelegt.
Die Lieferung erfolgte dann auch innerhalb von 2 Tagen, nachdem ich bei den ersten Exemplaren mehr als 3 Monate gewartet hatte