Hi Leute,
ich habe ein paar Grundsätzliche fragen zum Beschleunigungssensor.
ich wollte mal fragen, ob jemand weiss, was man damit alles messen kann
und welche erfolgreich ín Benutzung sind. Sicherlich kann man damit
bestimmen, mit welcher geschwindigkeit der Sensor in die jeweilige
Richtung bewegt wird. Wie genau funktioniert das aber, was für Werte
bekomme ich für die jeweiligen Richtungen und was sagen diese aus bzw
wie stelle ich anhand der ADC Werte für die Gravitation fest, mit
welcher geschwindigkeit ich in die jeweilige Richtung "fahre"? Kann man
damit auch neigungen in die jeweiligen Richtungen feststellen, oder muss
der Sensor zwangsweise bewegt werden? Ich würde mich freuen, wenn mir
jemand auf die Sprünge helfen könnte...
Danke und LG
Karl
Die Beschleunigungsmesser messen meines Wissens sowohl Beschleunigungen,
als auch die Erdbeschleunigung. Somit kannst du jederzeit daraus die
Lage des Sensors bestimmen.
Die Absolutgeschwindigkeit gibt dir der Sensor nie aus. Um die
Geschwindigkeit zu erhalten musst du aufintegrieren, was nach recht
kurzen Zeiten bedingt durch Diskretisierungsfehler (Amplitude, Zeit ),
rauschen,...je nach Anwendung zu recht ungenauen Werten führt.
Die genauesten mir bekannten Sensoren gibt es von Colibrys.
Sowas gibts in Festplatten von Laptops. Die schlten den Lesekopf ab wenn
der Laptop runter fällt, dann ist wenigstens noch der Inhalt der Disk
ganz.
Nennt sich "Free Fall Sensor".
Vielen Dank für die Antworten.
was sagt ihr zu LIS302? Der ist einigermaßen gut erhältlich. Ich möchte
einfach bewegungen in alle 3 Richtungen ziemlich genau erfassen, bzw die
Beschleunigung der Bewegungen. Die Geschwindigkeit spielt erstmal nicht
so eine große rolle. Eine Mouse auf basis eines Beschleunigungssensors
soll es werden. Dabei sollen neigungen erstmal keine rolle spielen, aber
dafür die bewegung in x und y richtung ziemlich genau übertragen
werden...
Ist das so realisierbar mit einem beschleuningssensor?
Danke nochmal und Gruß
Karl
Ich hatte mal vor einigen Jahren den "LIS3L02AQ" im Einsatz. War easy zu
benutzen.
Eigentlich wollte ich den "LIS3L02DQ", konnte ihn damals leider nicht
aufteiben.
Ich habe erfolgreich den LIS3LV02DL schon benutzt. Der ist per SPI oder
I2C sehr einfach auszulesen und hat mit 12/16Bit pro Achse eine ganz
brauchbare Auflösung. Der LIS302DL hat eine Auflösung von 8Bit, welche
für deinen Anwengdungszweck aber völlig ausreichend sein sollte. Nur das
Löten dieser Bauteile ist nicht ganz so einfach, da die Pins am Gehäuse
bei zu langem Lötenvorgang sich schnell ablösen. Musste ich beim ersten
Sensor leider selber feststellen. Und dann waren ~14€ futsch. ;)
Ciao,
Rainer
Wenn man genauer messen will (> 10 Bit, < 1g), dann wird das Rauschen
der Sensoren und der OVs interessant.
Da lohnt es sich dann tatsaechlich mal, sich mit den Datenblaettern
eingehend zu beschaeftigen und ein paar Euro mehr in die Hand zu nehmen.
Gruss hro
Beschleunigungssensor als Maus gibt es fertig:
http://www.codemercs.com/index.php?id=92&L=0
MouseWarrior24F8
Die Bewegung zu messen um damit den Cursor zu steuern ist zum Scheitern
verurteilt, weil Du dabei jede Menge Drift bekommst und der Cursor nicht
zum Stehen kommt. Das liegt daran, dass Beschleunigungssensoren die
Beschleunigung und nicht die Bewegung erfassen, um die Bewegung zu
bekommen musst Du das Integral der Beschleunigung bilden. Da
Messauflösung und Messdatenrate endlich sind, hast Du immer Fehler
dabei, die sich aufschaukeln können (und werden).
Sinnvoll verwenden lässt sich nur die Neigung für Maussteuerung.
@Karl,
die Maussteuerung mit dem Beschleunigungssensor kannst du vergessen. Vor
einiger Zeit habe ich versucht mit dem Beschleunigungssensor PingPong zu
spielen. Geht leider nicht. Beim Integrieren bekommst du zu viele Fehler
rein. Am Ende bin ich auch dazu übergegangen den Schläger mit der
Neigung zu steuern.
Das ist auch der Grund, warum Wii zusätzlich zum Beschleuningssensor
noch einen Infrarot-Sensor benutzt.
Wenn Gyro und Kompass integrierst, dann sollte sowas realisierbar sein.
Da musst du aber zum Beispiel mit dem Kalmanfilter gut auskennen.
Das funktioniert nicht.
1. Die Maus bildet eine Position auf dem Tisch in eine Position des
Mauscursors auf dem Bildschirm ab.
Wenn Du beschleunigung misst, dann musst Du 2 mal aufintegrieren um zur
Position zu kommen.
2. Wie arbeitest Du mit einer Maus? Wenn Du den Rechner einschaltest
steht dein Mauscursor irgendwo in Bildschirmmitte. Wenn Deine Maus jetzt
aber am Tischrand liegt, dann nimmst Du sie hoch (hebst Sie vom Tisch
weit genug ab) und positionierst sie in der Mitte Deines Mauspads.
Bei einem Beschleunigungssensor würde das aber zur Bewegung des Cursors
führen, das heisst Du hast keine Möglichkeit mehr die Position der Maus
zu ändern ohne die Curserposition zu ändern.
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.