INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Dreiachs-Lagesensor - Kalibrierung?
24.01.2019, 22:14
Beitrag #1
Dreiachs-Lagesensor - Kalibrierung?
Moin!

Ich habe gerade mal einen Dreiachs-Lagesensor an einen Nano angeschlossen und ein bißchen damit herumgespielt.

Der Typ ist ADXL553, hier der Link zur Dokumentation:

https://www.analog.com/en/products/adxl3...umentation

Alles funktioniert prima, aber ich sitze jetzt vor den Rohdaten und würde ganz gern eine Lage im Raum beschreiben, also als Roll- und Nickneigung (unter der Annahme daß der Sensor gerade ruht).

Dazu muß ich den Sensor natürlich erst kalibrieren. Bei meinen Versuchen ist mir aufgefallen, daß der Wertebereich der einzelnen Achsen nicht symmetrisch ist. Ich habe so das Gefühl, daß ich den Sensor liegend, liegend über Kopf, und mit jeder der drei Achsen auf 90° gedreht einmal kalibrieren muß.

Um da nicht mit viel Energie in eine Sackgasse zu rennen, habe ich jetzt mal online nach Code mit solcher Kalibrierung gesucht, bin aber leider nicht fündig geworden. Es gibt viele Demos, aber die zeigen alle nur, daß es im Prinzip geht, oder sie nutzen den Sensor nur als "Wackel-Erkenner", nicht als Lagesensor.

Ist Euch vielleicht mal irgendwo ein Quelltext mit so einer Kalibrierung über den Weg gelaufen? Mich würde vor allem interessieren, mit wie wenig Kalibrierung man auskommen kann :-)

Hier mein kurzer aber leicht wirrer Code ... bisher kalibriere ich nur so, daß alle Sensoren in der Ausgangslage Null zeigen:

Code:
int x;
int y;
int z;

int xr;
int yr;
int zr;

long x0 = 0;
long y0 = 0;
long z0 = 0;

void setup ()
{
  calAcc ();
  Serial.begin (9600);
}

void calAcc ()
{
  delay (1000);
  for (int i = 0; i < 64; i++)
  {
    readAcc (false);
    x0 += x;
    y0 += y;
    z0 += z;
  }

  x0 = x0 / 64;
  y0 = y0 / 64;
  z0 = z0 / 64;
}

void readAcc (bool useoffsets)
{
  xr = analogRead (5);
  yr = analogRead (6);
  zr = analogRead (7);

  x = xr - (useoffsets?x0:0);
  y = yr - (useoffsets?y0:0);
  z = zr - (useoffsets?z0:0);
}


void loop ()
{
  delay (10);
  readAcc (true);

  Serial.print (x); Serial.print ("\t");
  Serial.print (y); Serial.print ("\t");
  Serial.print (z); Serial.println ("");
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 01:05 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 01:06 von Bitklopfer.)
Beitrag #2
RE: Dreiachs-Lagesensor - Kalibrierung?
Hallo,
hast dich schon mal mit dieser Applikation Note auseinandergesetzt ?... die könnte deine Lösung beinhalten... Neudeutsch liegt mir leider nicht so...
Auf der letzten Seite steht was von "simple Claibration"...
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 02:03 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 02:11 von Arduinero.)
Beitrag #3
RE: Dreiachs-Lagesensor - Kalibrierung?
(25.01.2019 01:05)Bitklopfer schrieb:  Hallo,
hast dich schon mal mit dieser Applikation Note auseinandergesetzt ?... die könnte deine Lösung beinhalten... Neudeutsch liegt mir leider nicht so...
Auf der letzten Seite steht was von "simple Claibration"...
lgbk

Danke, das ist ein guter Fund!

Sehr lustig: "Wenn eine Achse in einem +1-G- und in einem -1-G-Feld plaziert wird ..." - ich laß mein Schwerefeld lieber auf Plus, vom letzten Umschalten habe ich noch Kaffeeflecken an der Decke! :-D

Der Artikel beschreibt das Kalibrieren von einer Achse zur Zeit, einmal "richtigrum" und einmal "über Kopf". Der Nullpunkt wird nicht kalibriert, und die Messung wird wohl als im Wertebereich linear angesehen. (Also so ähnlich, wie ich mir das naiv gedacht hatte.) Der Abschnitt vor dem Teil übers Kalibrieren erklärt, welche Fehler der Sensor aufweist - da ist man dann schon mal gut motiviert, wirklich zu kalibrieren :-)

Mein Sensor scheint im Wertebereich nicht linear zu sein, was der Artikel nicht so richtig berücksichtigt.

Mal sehen, ich habe noch einen kombinierten Kompass-/Beschleunigungssensor ... den über I2C anzuschließen ich allerdings noch nicht geschafft habe. Vielleicht ist bei dem die Null ja schön in der Mitte :-)

(25.01.2019 01:05)Bitklopfer schrieb:  Applikation Note auseinandergesetzt ?

Oh, jetzt fällt bei mir erst der Groschen ... "AN-1057" ist nicht die Typbezeichnung irgendeines anderen Sensors, sondern eine numerierte Application Note. Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 06:38
Beitrag #4
RE: Dreiachs-Lagesensor - Kalibrierung?
(25.01.2019 02:03)Arduinero schrieb:  ....
Oh, jetzt fällt bei mir erst der Groschen ... "AN-1057" ist nicht die Typbezeichnung irgendeines anderen Sensors, sondern eine numerierte Application Note. Blush

Jupp...
Apropos an der Decke klebender Kaffee, als ich ausgelernt hatte hatte ich es mal mit einem einfachen Beschleunigungssensor zu tun... 1 Achse...mehr nicht. Zum kalibrieren wurde der in einen Stahlwürfel geschraubt der dann auf eine genau per Wasserwaage ausgerichtete Richtplatte gelegt wurde - also die Platte war dann im Wasser wie man so schön sagt +/- 0° in beiden Achsen. Somit wurde dann der Geber auf 0G abgeglichen. Um dann die 1G Anzeige zu bekommen wurde dann der Würfel samt Geber um 90 Grad gekippt und man hatte 1G...einfach aber sicher diese Methode... X und Y Achse sollte so kein Problem sein... bei der Z-Achse müßte man mal die Grauen Zellen aktivieren....aber ich schlafe noch...*zumhallowachkaffeegreife*...
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 11:35 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 11:35 von Tommy56.)
Beitrag #5
RE: Dreiachs-Lagesensor - Kalibrierung?
(25.01.2019 06:38)Bitklopfer schrieb:  aber ich schlafe noch...*zumhallowachkaffeegreife*...
So früh schon aktiv? Du hast Dich noch nicht so richtig ans Rentnerdasein gewöhnt. Um diese nachtschlafende Zeit sind die Augen noch zu. Wink

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 12:02
Beitrag #6
RE: Dreiachs-Lagesensor - Kalibrierung?
(25.01.2019 06:38)Bitklopfer schrieb:  Somit wurde dann der Geber auf 0G abgeglichen. Um dann die 1G Anzeige zu bekommen wurde dann der Würfel samt Geber um 90 Grad gekippt und man hatte 1G...einfach aber sicher diese Methode...

Macht Sinn! Solange man die Richtplatte nicht als Kaffeeabstellplatz zweckentfremdet ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 15:53 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 15:56 von Bitklopfer.)
Beitrag #7
RE: Dreiachs-Lagesensor - Kalibrierung?
(25.01.2019 11:35)Tommy56 schrieb:  
(25.01.2019 06:38)Bitklopfer schrieb:  aber ich schlafe noch...*zumhallowachkaffeegreife*...
So früh schon aktiv? Du hast Dich noch nicht so richtig ans Rentnerdasein gewöhnt. Um diese nachtschlafende Zeit sind die Augen noch zu. Wink

Gruß Tommy

...naja...man kämpft sich eben so langsam an die Sache ran...Tongue
lgbk

(25.01.2019 12:02)Arduinero schrieb:  
(25.01.2019 06:38)Bitklopfer schrieb:  Somit wurde dann der Geber auf 0G abgeglichen. Um dann die 1G Anzeige zu bekommen wurde dann der Würfel samt Geber um 90 Grad gekippt und man hatte 1G...einfach aber sicher diese Methode...

Macht Sinn! Solange man die Richtplatte nicht als Kaffeeabstellplatz zweckentfremdet ;-)

...würde der Kaffeetasse aber auch nichts ausmachen wenn sie mal richtig waagrecht steht...Big Grin

Aber gut das Nullen ist das eine... das andere ist die Drift während dem Betrieb mit der wohl zu rechnen ist...auf die sollte man auch achten.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 16:14
Beitrag #8
RE: Dreiachs-Lagesensor - Kalibrierung?
(25.01.2019 15:53)Bitklopfer schrieb:  ...würde der Kaffeetasse aber auch nichts ausmachen wenn sie mal richtig waagrecht steht...Big Grin

Ach so - ich hatte mir das so vorgestellt, daß die ganze Plattform senkrecht gestellt wird, wenn man die andere Achse nullen will ... aber wenn der Sensor in einem schönen maßhaltigen Würfel steckt, braucht man natürlich nur den zu drehen.

Der kardanisch aufgehängte Kompass soll in der Handelsschiffahrt auch sehr beliebt gewesen sein, um seinen Kaffee seegangssicher abzustellen. Die Verwendung von Dosenmilch war aber verpönt, weil sie zu erheblichen Kompass-Mißweisungen führte! ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Keine Kalibrierung möglich Tudorf 1 724 16.03.2018 10:46
Letzter Beitrag: Tudorf
  Drei Achsen Lagesensor Franz54 27 4.334 16.06.2017 21:19
Letzter Beitrag: Franz54

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste