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
Für einen Beschäunigungssensor brauchst du einen Reponsator.....
... was meinst du mit "ständig falsche Werte" ? Kannst du das etwas konkreter beschreiben?
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
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. :)
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 ;)
Na wenigstens einer hat's kapiert, aber der OP wohl noch nicht..... :-)
Naja Fluxkompensator sagt mir was, also soviel zu brauchbaren Antworten in diesem Thread. ;)
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. :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.