Forum: Mikrocontroller und Digitale Elektronik IMU korrekt auslesen


von Jan K. (jan_k)


Lesenswert?

Hey Leute,

habe mal eine konkrete Frage zur Ansteuerung folgender IMU

http://www.exp-tech.de/Sensoren/MinIMU-9-v2-Gyro-Accelerometer-and-Compass-L3GD20-and-LSM303DLHC-Carrier.html?XTCsid=d1da9a963dae8c7ca7b6af863e58fbc3


Der Sensor (konkret der Beschleunigungssensor) wird per I2C ausgelesen, 
laut Datenblatt wird der Acc per internem ADC gesampelt.
Wenn ich jetzt eine Abtastrate einstelle, z.B. 95Hz (eine der drei 
Auswahlmöglichkeiten) gehe ich davon aus, dass dies die Samplingrate der 
ADCs ist, oder?

Jedenfalls sollte sich doch eigentlich ein analoger Tiefpass vor der 
Abtastung befinden, da ich mir sonst Alias Effekte einhandele, oder 
nicht? Das scheint ja bei dem Sensor nicht der Fall sein.

Wie kann ich also sichergehen, dass keine Störungen durch Alias 
auftreten? Ich frage, weil wir Probleme bei dem Einsatz in einem 
Spielzeugauto mit den Motorvibrationen haben und ich gerne ein 
Rausch/Störmodell für die Vibrationen ableiten möchte. Doch ohne 
zuverlässige Messwerte ist das nun nicht möglich.

Und noch was: gibt es Faustregeln, wie schnell ich abtasten sollte, wenn 
ich z.B. meine Datenverarbeitung mit 100Hz laufen lassen möchte? Sollte 
ich eine Abtastrate in eben diesem Bereich wählen oder ist eine höhere 
sinnvoll, wobei dann ja eher Messwerte verworfen werden.

Danke für Eure Antworten + schöne Grüße,
Jan

von Jan K. (jan_k)


Lesenswert?

Hat keiner eine Idee?

Oder benötige ich den Tiefpass eigentlich gar nicht?

von Nachbar (Gast)


Lesenswert?

Jan K. schrieb:
> Und noch was: gibt es Faustregeln, wie schnell ich abtasten sollte, wenn
> ich z.B. meine Datenverarbeitung mit 100Hz laufen lassen möchte? Sollte
> ich eine Abtastrate in eben diesem Bereich wählen oder ist eine höhere
> sinnvoll, wobei dann ja eher Messwerte verworfen werden.

Mindestens Doppelt so schnell. Bei Reglern sagt man als Daumenwert 10 
schneller als die Systemzeit

von Timmo H. (masterfx)


Lesenswert?

Was willst du mit dem Beschleunigungswert denn machen auf dem 
Spielzeug-Auto?
Willst du die Geschwindigkeit oder Strecke ermitteln (einfache bzw. 
doppelte Integration) oder einfach nur schauen wie die Lage im Raum ist?
Erstere beiden dinge sind nicht gerade trivial. Bei letzterem kannst du 
ruhig per Software einen ordentlichen Tiefpass drüber machen und/oder 
das interne Oversampling des Accelerometers verwenden (sofern 
vorhanden). Und eine mechanische Entkopplung kann natürlich auch nicht 
schaden.

von Jan K. (jan_k)


Lesenswert?

Nachbar schrieb:
> Jan K. schrieb:
>> Und noch was: gibt es Faustregeln, wie schnell ich abtasten sollte, wenn
>> ich z.B. meine Datenverarbeitung mit 100Hz laufen lassen möchte? Sollte
>> ich eine Abtastrate in eben diesem Bereich wählen oder ist eine höhere
>> sinnvoll, wobei dann ja eher Messwerte verworfen werden.
>
> Mindestens Doppelt so schnell. Bei Reglern sagt man als Daumenwert 10
> schneller als die Systemzeit

Mindestens 2 mal so schnell gilt doch eher in die andere Richtung oder? 
Wenn ich Veränderungen von zb 200 Hertz erkennen will, muss ich auf 200 
Hertz tiefpassfiltern und dann mit mehr als 400Hz abtasten. Theoretisch 
... Ich kann aber vorher nicht filtern und möchte die Daten mit 
100Hzweiter verarbeiten. Muss ich dann aauch doppelt so hoch abtasten?

Was ich machen könnte ist vllt schon im uC über ein paar samples mitteln 
und dann ausgeben..

Timmo H. schrieb:
> Was willst du mit dem Beschleunigungswert denn machen auf dem
> Spielzeug-Auto?
> Willst du die Geschwindigkeit oder Strecke ermitteln (einfache bzw.
> doppelte Integration) oder einfach nur schauen wie die Lage im Raum ist?
> Erstere beiden dinge sind nicht gerade trivial. Bei letzterem kannst du
> ruhig per Software einen ordentlichen Tiefpass drüber machen und/oder
> das interne Oversampling des Accelerometers verwenden (sofern
> vorhanden). Und eine mechanische Entkopplung kann natürlich auch nicht
> schaden.

Erst einmal wollte ich nur wissen, wie ich den Sensor korrekt verarbeite 
und gucken, ob die Daten verwendbar sind. Die Geschwindigkeit oder gar 
die Position zu ermitteln ist kompliziert ich weiss. Daher soll ja ein 
Modell für die Vibrationen erstellt werden, mit dem ich ggf den kalman 
filter füttern kann. Aber ob das funktioniert weiss ich noch nicht :)

Danke für die Antworten!

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.