Hallo liebe Community, Erstmal zu meinem Wissenstand, ich hab Grundkenntnisse in C und im Zusammenhang damit grundlegende Erfahrung mit Sensoren. D.h. Ich habe mal leds Blinken lassen, 7Seg Anzeigen- und LCDs beschriftet, Temperaur Sensoren ausgelesen und den ein oder anderen Taster verwendet. Allerdings stehe ich momentan in meinem Praktikum vor einer Aufgabe die mich zur weißglut bringt. Und damit kommen wir zu meinem Problem: Ich habe ein hübsches kleines 9DOF Razor IMU (Arduino). Ich würde jetzt gerne eine Beschleunigung auslesen. Das Heisst für mich, wnn ich das Board bewege soll die Beschleunigung zu sehen sein un wenn es wieder da liegt soll der Wert wieder Richtung 0 gehen. Ich bin mir nicht sicher ob mein Grundverständnis für Beschleunigungssensoren richtig ist denn momentan sehe ich nur Werte die der jeweiligen Rotation der Achse ensprechen(Eine Test Firmware ist aufgespielt). Mir geht es hier jetzt garnicht um Codebeispiele oder ähnliches, eher darum das ich eine Vorstellung habe wie es funktionieren sollte. Muss ich den Beschleunigungssensor mit zb Gyro in irgendeiner Art "koppeln" oder ... ich bin einfach ein bisschen verzweifelt.... Ich hoffe ihr lest das hier auch wenn es recht viel Text ist und ich hoffe, dass ich mein Problem verständlich formuliert habe. Viele Grüße jlange ps.: ich bin auch froh über Stichwörte mit denen ich über Google weiter komme. pps/pss.: Das alles soll später mal zur Positionsbestimmung dienen ähnlich wie hier http://www.youtube.com/watch?v=6ijArKE8vKU (ich hoffe links sind erlaubt.)
> denn momentan sehe ich nur Werte die > der jeweiligen Rotation der Achse ensprechen bist du sicher, dass du da nicht den Gyro ausliest? Der Gyro gibt dir Drehraten zurück. Gruß
ja soweit die Test Firmware nicht völliger mist ist Sollte es nicht das gyroskop sein... Das gibt nochmal Andere Werte. Und das ist ja auch was ich nicht verstehe, ich dachte der Beschleunigungs Sensor sollte standartmäßig Werte zurück geben wie ich sie haben möchte. Vielleicht muss ich in den sauren Apfel beissen und es mal selber Programmieren... Ps.: nicht dass es zu verwirrungen kommt ich hab mich hier angemeldet =) Viele Grüße
also nur für dein Verstädnnis Beschleunigungssensor (G in m/s²) X Y Z ... im ideal Fall 0 0 -1G wenn du jetzt in die jeweilige Achse wackelst siehst du den Ausschlag der einwirkenden Karft. (-1g weil auf die Richtung Boden gerichtete/entgegengerichtete Achse die Erdbschleunigung von 9,81m/sec wirkt) wenn du das Board seitlich hinstellst hast du dann 0 -1G 0 wenn du es schräg hinstellst dann wirkt die Kraft auf mehreren Achsen und du musst dir ein Raumzeigermodell vorstellen. Gyroskope messen die Drehrahte (DPS °/sec - degree per second)... also die Geschwindigkeit der Drehung. wenn du jetzt das Board kurz umd 90 drehst und dann stehen bleibst, dann gibts ein ausschlag von bis zu 2000°/s abhängig von deiner in dieser Bewegung ausgeführten Drehgeschwindgkeit. ROLL PITCH und YAW sind die Winkel des Körpers, die errechnest du mit hilfe eines AHRS Algorithmus der entweder das Magnetometer einbezieht oder nicht. Was du beschreibst: >Das Heisst für mich, wnn ich das Board bewege soll die >Beschleunigung zu sehen sein un wenn es wieder da liegt soll der Wert >wieder Richtung 0 gehen. ist wenn du das board in die hand nimmst und wieder hinlegst so wie es war, dann müsstee der ausgangszustand normalerweise wieder dargestellt werden. Wenn du es aber immernoch in der hand hälst, dann ist ja logisch das die G-Kraft der Erde immer noch auf die Achsen einwirkt. wenn du nicht die statische Erdbeschleunigung in deiner Messung haben willst, kannst du diese rausrechnen (leichte Vektorrechnung). Dann misst du nur die relative Beschleunigung. PS. ich hab noch ein razor 9dof Board das ich gerne verkaufen würde :D
www.ccass.h-da.de (ein institut für Inertialnavigation , speziell für das was du da vor hast. Die helfen dir sicherlich auch kostenlos weiter bei fragen.) ... ich arbeite ja da :D schau: http://www.youtube.com/watch?v=v2h0ySEWCy0
Sven ... einfach danke scon mal =) deine Definitionen waren super und haben mir auf jeden fall geholfen. Werd mich morgen mal auf der Seite umschaun =) vielen dank edit: eine frage fällt mir da grad noch ein... in der Arduino Entwicklungsumgebung kann man ja nur .ino und pde oder so ähnlich öffnen .... aber es gibt ein par beispiele die sind in .c datein ... wie bring ich die denn auf das board.....
1 | The board comes programmed with the 8MHz Arduino bootloader (stk500v1) |
2 | and some example firmware that demos the outputs of all the sensors. Simply |
3 | connect to the serial TX and RX pins with a 3.3V FTDI Basic Breakout, open a |
4 | terminal program to 57600bps and a menu will guide you through testing the |
5 | sensors. You can use the Arduino IDE to program your code onto the 9DOF, just |
6 | select the 'Arduino Pro or Pro Mini (3.3v, 8mhz) w/ATmega328' as your board. |
das ist dass einzige was mir sagen könnte wie das geht allerdings weiß ichn icht, was sie mit dem terminal programm meinen .... also doch vielleicht die cmd aber ich weiß nicht wie ich das dann hoch laden kann....
>... im ideal Fall 0 0 -1G
Wir haben hier mal mit einem I²C Beschleunigungssensor gespielt. Der hat
aber nur auf "echte" Beschleunigungen reagiert. Also in Ruhe auf dem
Tisch:
0, 0, 0 und nicht 0, 0, -1. Irgendwie stand der auf Delta.
dieser war dann wohl g-kompensiert also die erdbeschleunigung rausgerechnet. Das macht man folgendermaßen (vereinfacht erklärt) Man hat eine G-Matrix 3x3 es wird ein Vektor errechnet welcher die einwirkende G-Kraft auf die einzelnen Achsen darstellt also ohne relativbeschl.. bspw: 0 0 1 0 1 0 1 0 0 Dann eine zweite Matrix wo die Messwerte reinkommen. G G G G G G G G G Dann wird der Messwertmatrix die Erdbeschleunigungsmatrix rausgerechnet, so erhält man dann im groben die G-Kompensierte Matrix. Ich kann für das Tehema folgende Literatur empfehlen : 1) Der Vater der inertial-sensorik: http://www.verlag.fraunhofer.de/bookshop/artikel.jsp?v=220250 In dem buch sind alle Algorithmen und verfahrensweisen einfach erklärt! Auch wenn es sich kompliziert anhört :) ... Ein muss für jeden der eine IMU bauen will und den Algorithmus schreiben möchte samt Kompensierung, Offset etc... 2) auch ganz cool, einfacher erklärter systemaufbau: http://www.diplom.de/Entwicklung-Implementierung-Softwareplattform-referenzlose-Low-cost-Indoornavigation-Basis-modularen-Systemarchitektur/16193.html
so ich hab mir jetzt mal nen schlitte gebau um die beschleunigung besser testen zu können und ich glaube ich habs endlich hinbekommen =) allerdings wir meine erdbeschleunigung leider mit um die 200 angezeigt aber das liegt momentan wohl daran dass das die rohdaten sind... damit bin ich so vorerst zufrieden =) Damit würde ich hier vorerst schlussmachen und vielleicht auf ein ganz neues Problem kommen.... Bei meinem Gyroskop veränderns sich die werte nicht egal wie schnell oder langsam ich es auf nur jede erdenkliche art bewege die werte bleiben gleich... gibt es das problem vielleicht heufiger?
... gibts ne möglichkeit das zu testen xD? Also beim gyro bekomm ich immer diesenoutput: x= -11823, y= -11823, z= -11823 egal was ich mache... edit: ok habe grade die selftest funktion gefunden... irgendwas stimmt mit dem Gyro nicht... muss jetzt mal schaun ob ich rausfinden was... ps.: hier hab ich mal die werte die ich jeweils bei meinem Beschleunigungssensor bekomme (in den 3 positionen) x= 22, y= -28, z= 196 x= -1, y=-277, z= -9 x=-271, y= -13, z= -41 das sieht eigendlich schon gut aus.
Hmm in ruhe bekommst du diese beschleunigungswerte? Kann es sein das du die Offsettwerte geändert hast? Accel_X, Accel_y, Accel_z, Gyro_X, Gyro_Y, Gryo_Z -161 141 1108 -2 5 -3 -172 151 1087 0 3 -3 -156 151 1087 0 3 -3 -156 151 1116 -1 4 -3 -166 134 1116 -2 4 -2 schau mal so siehts bei mir aus.
also immoment hab ich noch garnichts groß geändert. Habe einfach diese test Firmware (https://github.com/a1ronzo/SparkFun-9DOF-Razor-IMU-Test-Firmware) die Sparkfun da anbietet drauf gemacht und mir die Werte angeschaut...
also das vordere ist dein Beschleunigungssensor? off set ist nicht in meinem programm... hab jetzt ein bisschen gesucht. Das heisst wohl das es auch nicht verändert wurde...
genau.. ich hab dir mal was angehängt fürs verständnis. Aber ich denk deine IMU hat nen schuss.
das schöne daran das ich in einem Praktikum bin ist, bein chef hat mir heute ein neues Spielzeug bestellt ArduIMU + V3 hat zwar nur 6dof aber ist für meine Vorhaben ja völlig ausreichend. wahrscheinlich melde ich mich dann nochmal ...
bestell die hier: ist besser und auch wireless wenn man mag http://www.winsense.de/de/product?info=6
der kleine aber feine unterschied sind die 200 dollar mehr die das nette teil kostet ... es geht hier ja erst mal um nen prototyp bei dem geschwindigkeit und hohe genauigkeit usw erstmal eine nicht so große rolle spielen....
Ähm ... Beitrag "[V] STM32 IMU 9-DoF AHRS (iNEMO V2 Clon aber mit besseren sensoren)" 180€ ! Ich hab die damals selbst dort gekauft für 200€ (uni projekt)
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.