Forum: Mikrocontroller und Digitale Elektronik Beschäunigungssensor LIS3LV02DL


von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich hab ein Problem mit dem Beschäunigungssensor LIS3LV02DL von ST. Ich 
hab versucht das Ding im SPI Modus anzusprechen. Das initialisieren des 
Sensors scheint zu funktionieren. Aber ich bekomme beim lesen vom Sensor 
ständig falsche Werte. Auch wenn ich ein Kontrollregister beschreibe und 
sofort wieder auslese, stimmt der Wert nicht über ein.

Vielleicht hat ja jemand schonmal was mit dieser Sensorfamilie gemacht, 
oder findet auch so einen Fehler.
Ich hab ein komplettes Beispiel Projekt für AVR mit angehängt. 
Beinhaltet nur eine einfache Software-SPI, die lis-Routinen und ein 
kleines Hauptprogramm zum Testen.

das Datenblatt zum Sensor:
http://www.st.com/stonline/products/literature/ds/12094/lis3lv02dl.pdf


Gruß
Klaus

von Bensch (Gast)


Lesenswert?

Für einen Beschäunigungssensor brauchst du einen Reponsator.....

von gast (Gast)


Lesenswert?

... was meinst du mit "ständig falsche Werte" ? Kannst du das etwas 
konkreter beschreiben?

von R. W. (quakeman)


Lesenswert?

Also ich habe gestern zwei Samples vom LIS3LV02DL bekommen und will 
damit in nächster Zeit mal etwas herumexperimentieren. Leider wird es 
wohl noch etwas dauern, bis ich erste Ergebnisse berichten kann.

Ich habe aber auf dem (hoffentlich bald fertiggestelltem) 
Experimentierboard dafür einen LPC936 mit Hardware SPI und I2C 
Interface, weshalb sich unsere Ansteuerungen etwas unterscheiden.

Vielleicht stimmt ja nur etwas mit dem Software-SPI Timing nicht?

@Bensch:
Was genau meinst du mit "Reponsator" ?
Der Begriff sagt mir gerade nichts. :)

Ciao,
     Rainer

von R. W. (quakeman)


Lesenswert?

Mir ist eben aufgefallen, daß du bei der Initialisierung entweder ein 
falsches Bit gesetzt hast oder dein Kommentar falsch ist:

lis_write_register( CTRL_REG3, 0b00010000 ); //Hp Filter on

Das 5. Bit von rechts ist laut Datenblatt FDS und steht für "Filtered 
Data Selection".
Das 6. Bit von rechts ist HPFF und steht für "High Pass filter enabled 
for Free-Fall and Wake-Up".
Das 7. Bit von rechts ist HPDD und steht für "High Pass filter enabled 
for Direction Detection".

In deinem Kommentar steht "Hp Filer on", was sich dann aber nur auf das 
HPFF oder HPDD Bit beziehen könnte, du setzt aber das FDS Bit.

Ebenso hat die Zeile
byte |= FULL_SCALE<<7; //set full scale mode
momentan keine Auswirkung, da du  FULL_SCALE in deiner lis.h Datei mit 0 
definierst.

Das dürfte zwar nichts mit deinem Problem zu tun haben, aber das wollte 
ich trotzdem kurz anmerken. :)

von mugel (Gast)


Lesenswert?

Oh oh wenn man den Responsator nicht kennt... wo soll das noch enden in 
diesem Land ;)

PS: Der Responsator ist mit dem Fluxkompensator verwandt.
Man muss nur drei Zirkulatoren davor schalten und schon hat man einen 
Responsator ;)

von bergsen (Gast)


Lesenswert?

Na wenigstens einer hat's kapiert, aber der OP wohl noch nicht..... :-)

von R. W. (quakeman)


Lesenswert?

Naja Fluxkompensator sagt mir was, also soviel zu brauchbaren Antworten 
in diesem Thread. ;)

von Besserwisser (Gast)


Lesenswert?

Wie Bensch schon schrieb:

"Für einen Beschäunigungssensor brauchst du einen Reponsator....." ;-)

Demnach braucht man für einen Beschäunigungssensor einen Fluxkompensator 
mit drei Zirkulatoren.

Manche verwechseln den Beschäunigungssensor mit einem 
Beschleunigungssensor, aber die haben keine Ahnung ;-)
Manche haben aber auch nur einen zu kurzen linken kleinen Finger. :-)

von bergsen (Gast)


Lesenswert?

Ich glaub, jetzt ist er total sauer und braucht einen 
Beschäumungssensor.....

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.