Hallo zusammen, hab den ICM-42605 von TDK Invensense in Betrieb genommen. Die Daten sehen recht gut aus. Nur hab ich ab und Probleme mit der SPI Datenübertragung. Es sieht so aus, als würden die Adressen nach einer Weile nicht richtig erkannt und es kommt dazu, dass z.B. die X-Beschleunigung sicht nicht mehr ändert. Nach einer Weile fängt sich das Teil wieder und läuft ne Zeitlang so wie erwartet. Der Sensor ist nach Datenblatt recht gut (<0.5% accel Genauigkeit) und sehr preiswert. Stromverbrauch ist auch top (<1mA). Kennt jemand das Teil oder hat damit ähnliche Effekte ? CPU ist ein STM32L476.
Lässt du den CS vielleicht dauerhaft auf low? Das kann dazu führen dass die State-Machine durcheinander kommt.
Wenn ich die Bytes übertragen hab, die ich will, dann setz ich CS wieder auf H. In der Beispielsoftware von TDK werden auch die Accel + Gyro Daten am Stück gelesen, deshalb dachte ich, das wird schon ok sein. Ich probier jetzt schon den ganzen Tag rum. Schneller - langsamer usw. usw. Bald bin ich soweit und nehme einen anderen Baustein. BMI160 oder sowas in der Art. Es nützt auch nix, wenn ich einen Soft-Reset auslöse oder die SPI Schnittstelle neu initialisiere. Nur wenn ich mehrfach einen Reset per ST-Link auslöse und neu starte läuft der Baustein wieder für ne Weile. Irgendwie fehlt mir eine Idee, wo ich noch suchen soll...
:
Bearbeitet durch User
Benutzt du ne Demo des Herstellers um Fehler im Code auszuschließen? Wie sehen die Pegel aus (scope)? Mal mit nem Logic analyzer geguckt, ob das Problem am Host oder am Sensor liegt?
Schorsch X. schrieb: > Irgendwie fehlt mir eine Idee, wo ich noch suchen soll... Die Bus-Signale sind sauber und das Timing bewegt sich in den Grenzen des Datenblattes?
Jan schrieb: > Benutzt du ne Demo des Herstellers um Fehler im Code auszuschließen? Wie > sehen die Pegel aus (scope)? Mal mit nem Logic analyzer geguckt, ob das > Problem am Host oder am Sensor liegt? Ich hab ne eigene Platine, die mit MDO3034 gemessen, saubere Signale anliegen hat. Das Timing stimmt mit den Angaben im DB überein. Was mich inzwischen völlig seltsam berührt: Wenn ich mit dem verwendeten STLink V3 einen Reset auslöse (manchmal mehrfach nötig) läuft das Mistvieh wieder für ein paar Minuten. Das dollste daran: Der Sensor hat gar keinen Reset Anschluß... Die Ansteuerung erfolgt über gepollte HAL Routinen, die ich aber schon häufig in anderen Anwendungen benutze. .....
So wie es aussieht, war das Adapterkabel StLink -> Platine die Ursache. Ist jetzt die ganze Nacht durchgelaufen und macht das, was es soll. Immer wieder Überraschungen...Vielen Dank für eure Hilfe.
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.