Geschätztes Forum, schaut Euch bitte mal meine Beschaltung dieses XYZ BMA020-Moduls (Beschleunigungssensor) von ELV an, ist sie korrekt? Es soll I2C / TWI Modus betrieben werden. Die Informationen von ELV sind aus meiner Sicht etwas dürftig. http://www.elv.de/3-achsen-beschleunigungssensor-3d-bs-komplettbausatz.html Hab versucht mit dem Datenblatt von BOSCH die Beschaltung zu ergründen. Fragen: - Darf dieses Modul mit 5V betrieben werden? - Muss der Enable-PIN beschaltet werden? - Wozu dient der UPulUp-Pin? - Gibt es einen Schaltplan / Prinzipschaltung von diesem Modul ? - Wie hoch ist der Strombedarf dieses Moduls bei 5V Versorgungsspannung? Gibt es schon praktische Erfahrungen mit der Genauigkeit des BMA020, würde gern z.B: - die Motorleistung eines Autos ermitteln - die Höhe eines Objektes (z.B. eines Schrankes) - die Geschwindigkeit eines Aufzuges usw. Bernhard
:
Bearbeitet durch User
Bis auf die letzten 3 fragen steht alles im Datenblatt. Motorleistung bestimmen... Nein, dazu bedarf es etwas mehr Informationen als nur die Beschleunigung zu messen. Zur Berechnung von zurückgelegter Strecke (doppelte Integration) bzw bestimmen der Geschwindigkeit (einfache Integration) sind beschleinungssensoren alleine nicht sonderlich gut geeignet, da insbesondere die Ausrichtung und rauschen extrem ungünstig auf das Ergebnis auswirken. Um sowas zu realisieren sind komplexe Filteralgorithmen (Kalman etc) notwendig, die aber auch zumindest noch ein gyro brauchen um einigermaßen realistische Werte zu liefern. Dazu gibt es tonnenweise Artikel im Netz.
>Bis auf die letzten 3 fragen steht alles im Datenblatt. Ich sehe das etwas anders, bei allem Respekt, z.B. "Darf dieses Modul mit 5V betrieben werden". Diese Frage bezog sich nicht auf den BMA020-Chip, sondern auf das angebotene Modul von ELV. >Motorleistung bestimmen... Nein, dazu bedarf es etwas mehr Informationen >als nur die Beschleunigung zu messen. Ich gehe davon aus, dass die Masse / Gewicht des Fahrzeuges hinreichend genau bekannt ist. >Zur Berechnung von zurückgelegter Strecke (doppelte Integration) bzw >bestimmen der Geschwindigkeit (einfache Integration) sind >beschleinungssensoren alleine nicht sonderlich gut geeignet... Hochwertige Messsysteme areiten mit diesen Verfahren z.B. Systeme von der Firma Henning Gmbh. Timmo, danke für Deine Zeilen, brachten uns aber nicht weiter.
:
Bearbeitet durch User
Bernhard S. schrieb: >>Bis auf die letzten 3 fragen steht alles im Datenblatt. > > Ich sehe das etwas anders, bei allem Respekt, > z.B. "Darf dieses Modul mit 5V betrieben werden". > Diese Frage bezog sich nicht auf den BMA020-Chip, sondern auf das > angebotene Modul von ELV. > ...und stellt für die einfache Einbindung in eigene Applikationen einen 2,5-V-Spannungswandler sowie fünf Pegelwandler bereit.... >>Motorleistung bestimmen... Nein, dazu bedarf es etwas mehr Informationen >>als nur die Beschleunigung zu messen. > > Ich gehe davon aus, dass die Masse / Gewicht des Fahrzeuges hinreichend > genau bekannt ist. > >>Zur Berechnung von zurückgelegter Strecke (doppelte Integration) bzw >>bestimmen der Geschwindigkeit (einfache Integration) sind >>beschleinungssensoren alleine nicht sonderlich gut geeignet... > > Hochwertige Messsysteme areiten mit diesen Verfahren z.B. Systeme von > der Firma Henning Gmbh. > Und hochwertige Messsysteme arbeiten auch mit 3€ Sensoren und haben Filter eingebaut die jeder Hans und Franz in ein paar Stunden programmieren kann. Auf kurze Zeit-Intervalle und bei hinreichend großer Beschleunigung bezogen auf den Messbereich des Sensors kann man mit solchen Sensoren durchaus nicht ganz verkehrte Werte bekommen. Beim Fahrstuhl denke ich dass es schon möglich ist die endgeschwindigkeit zu bestimmen, da hier nicht allzu lange beschleunigt wird. Je länger beschleunigt wird um umso kleiner die Beschleunigung umso mehr versaut dir das rauschen das Ergebnis. Probier es doch einfach mal aus, ist ja schnell gemacht
:
Bearbeitet durch User
Timmo H. schrieb: > Je länger beschleunigt wird um umso kleiner die Beschleunigung umso mehr > versaut dir das rauschen das Ergebnis. Eine einfache Integration zur Bestimmung der Geschwindigkeit aus der Beschleunigung wird wohl eher unter dem Offset leiden. Das Rauschen wird durch die Mittelung unterdrückt.
Die Beschaltung ist richtig. Und ja, das Modul kann mit 5V bterieben werden. Das iost ja gerade der Sinn des Moduls, da diese Sensoren alle für deutlich weniger Spannung ausgelegt sind. ELV hat den kompletten Schaltplan als PDF bereit gestellt.
@stefanus >Die Beschaltung ist richtig Danke >ELV* hat den kompletten Schaltplan als PDF bereit Ich finde ihn nicht :-( Bernhard
Ja, das ahben die gut versteckt. azu muss man wissen, dass dieses Ding mal in einem Artikel der Zeitschrift behandelt wurde. Und in dem steht alles drin, was Du wissen willst. Unter der Artikelbeschreibung wird auf den Artikel verwiesen: http://www.elv.de/controller.aspx?cid=726&detail=30764 Der Download kostetGeld. Wenn Du das Modul kaufst, bekommst Du einen Ausdruck des Artikels mit geliefert. So war das jedenfalls bei mir. Und hier haben sie kostenlos verraten, wie der Pegelwandler aufgebaut ist: http://www.google.de/imgres?imgurl=http%3A%2F%2Fwww.elv-downloads.de%2Fbilder%2Felvexpertenwissen%2Fbi_pegelwandler02.jpg&imgrefurl=http%3A%2F%2Fwww.elv.de%2Fcontroller.aspx%3Fcid%3D758%26detail%3D10%26detail2%3D7&h=248&w=540&tbnid=3XGrAKxTvQtmKM%3A&zoom=1&docid=XWWV2kw7NSewoM&ei=mlgdVIfpBKP4yQORq4CYBw&tbm=isch&client=ubuntu&iact=rc&uact=3&dur=1321&page=4&start=69&ndsp=24&ved=0CIkCEK0DMEw
Zum Strombedarf: Ich weiss es nicht mehr genau, aber es waren auf jeden Fall nur wenige milliampere. Weniger als 10.
>Wenn Du das Modul kaufst, bekommst Du einen >Ausdruck des Artikels mit geliefert. So war das jedenfalls bei mir. Und genauso war es auch bei mir, war nur temporär nicht auffindbar ^^ Dieser Tipp führte zum gewünschten Erfolg. Ich abe mal einen Prinzip- Schaltplan / Schaltung vom BMA020 Modul mit angehängt. >- Darf dieses Modul mit 5V betrieben werden? ja >- Muss der Enable-PIN beschaltet werden? Nein, ein interner Pull-Up Widerstand sorgt dafür, daß das Modul im unbeschalteten Zustand aktiv ist. Zieht man diesen PIN gegen LOW, ist das Modul deaktiviert. >- Wozu dient der UPulUp-Pin? Man kann bei Bedarf die einzelnen interne Pull-Up Widerstände "dazuschalten" für die Pins CSB, SCK, SDI, SDO und INT. >- Gibt es einen Schaltplan / Prinzipschaltung von diesem Modul ? s. Anlage >- Wie hoch ist der Strombedarf dieses Moduls bei 5V Versorgungsspannung? kleiner 1mA lt. Beschreibung
Die Daten vom Beschleunigungssensor lassen sich relativ einfach auslesen. - I2C-START-Master-Transmitter - x02 senden - I2C-START-Master-Receiver- - 6 Bytes empfangen (X,Y,Z) - I2C-STOPP - X,Y,Z 6 x nach rechts schieben (signiert) - Rohdaten anzeigen Die Rohdaten für X,Y,Z liegen (bei Ruhelage des Sensors) im 2g Modus zwischen ca. -250...0...+250.
Hmmm.. 3 verschiedene Ruhe-Lagen des Sensors, 3 verschiedene g-Werte, im Idealfall wäre g bei jeder Lage des BMA020 immer konstant, wenn man den Einfluss des Mondes (Erdtrabant) vernachlässigt. g=Wurzel(X^2+Y^2+Z^2) Ich vermute, die einzelnen Achsen müssen entsprechend kompensiert werden? Bernhard
:
Bearbeitet durch User
Bernhard S. schrieb: > Hmmm.. 3 verschiedene Ruhe-Lagen des Sensors, 3 verschiedene g-Werte, > Ich vermute, die einzelnen Achsen müssen entsprechend kompensiert > werden? versuch doch mal die Bandwidth herab zu setzen. lt Datenblatt startet das Teil immer mit der höchsten. Schau mal auf S.11
> Ich vermute, die einzelnen Achsen müssen entsprechend kompensiert werden?
Ganz sicher. Laut Datenblatt muss man (bei Zero g) mit einem Offset von
+/- 360mg rechnen, sowie einen temepraturbedingten Drift von +/-6mg.
>versuch doch mal die Bandwidth herab zu setzen. lt Datenblatt startet >das Teil immer mit der höchsten. Schau mal auf S.11 Stimmt, immer wenn der Sensor aus dem SLEEP-Modus erwacht, arbeitet er mit der höchsten Bandbreite, schaltet aber, wenn er genügend ADC-Messwerte gesammelt hat, mit der eingestellten (im Register 14h) Bandbreite weiter. Wenn die Bandbreite sehr hoch eingestellt ist, zappeln die Messwerte kräftig +/- 5 LSB (bei meinem Exemplar). Was ich noch nicht richtig heruslesen konnte: Geht der Sénsor immer automatisch in den SLEEP-Modus? Was bewirkt das WAKE_UP-BIT (15h,BIT-0)? >Ganz sicher. Laut Datenblatt muss man (bei Zero g) mit einem Offset von >+/- 360mg rechnen, sowie einen temepraturbedingten Drift von +/-6mg. Wie könnte man den Offset-Wert ermitteln? - Freifall-Bedingung ermöglichen (1m freier Fall ca. 0,5s Flugzeit) ? - Sensor um jede Achse drehen und das MAXIMUM / MINIMUM ermitteln?
Bernhard S. schrieb: > Wie könnte man den Offset-Wert ermitteln? Sensor auf den Kopf stellen und die Summe von Normallage und Kopfstandlage halbieren.
Ist das Bit-5 im Register 15h (new_data_INT) gesetzt, entstehen folgende Impulse am INT-Ausgang des DMA020. Wenn die 6-Daten-Bytes per I2C ausgelesen werden, wird ein Test-Ausgang am µC gegen LOW gezogen (blaue Linie). >Sensor auf den Kopf stellen und die Summe von Normallage und >Kopfstandlage halbieren. Danke, eine sehr einfache Variante :-)
:
Bearbeitet durch User
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.