Pages: 1 [2] 3   Go Down
Author Topic: Benötige Hilfe bei Auswahl eines Gyroskopsensors und Geschwindigkeitsmessers  (Read 4081 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey,

neue Infos gibt es nicht direkt. Ich hänge immer noch an dem Problem das ich einem Gyroskopsensor suche der mir seinen aktuellen Winkelwert als Analogwert unabhängig von der Zeit ausgibt... finde einfach keinen. Bei allen de ich bis jetzt gefunden habe spielte der Zeitfaktor eine Rolle.

Gruß Tobi
Logged

Nobody is perfect but - impossible is nothing

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Warum willst Du unbedingt eine analoge Ausgabe?
Logged

_______
Manfred

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hey,

ich fixiere mich nicht auf eine analoge Ausgabe des Sensors. Gern kann der Sensor auch den Winkelwert als digitalWert über z.B. I2C an den Arduino ausgeben. Das was mir wichtig ist ist das der Wert der vom Sensor kommt (analog oder digital egal) muss dem aktuellen Winkel entsprechen in dem sich das Board zur Erde befindet. Und ein solches Sensorboard habe ich bisher nicht gefunden, zumindest nichts was ich bezahlen kann.
Das ist zum Beispiel so ein Kandidat der für meine Zwecke gehen würde. Kommuniziert sogar über SPI:
Quote

Der ist halt nur zu teuer. Den Sensor den ich aktuell verwende der gibt mir nur die Winkeländerung in einer Bestimmten Zeit aus. Also
Messung 1: Winkel X  in Zeit X
Messung 2: Winkel X +z.B. 5° in Zeit X+ z.B 1ms
Also gibt mir das Board in diesem Fall z.B. 5° aus. Wenn das Board nicht bewegt wird kommt folglich 0°. Aber das ist nicht das was ich brauche. Ich brauche einen Winkelwert ohne den Zeitfaktor.

Gruß,
Tobi
Logged

Nobody is perfect but - impossible is nothing

Offline Offline
Full Member
***
Karma: 6
Posts: 161
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ein Gyroskop kann dir nur Winkeländerungen ausgeben - genau wie ein Beschleunigungsmesser nur Geschwindigkeitsänderungen (und keine absuluten Geschindigkeiten!) erkennen kann.
Du kannst aber relativ einfach mit einem 3-Achs-Beschleunigungsmesser die Erdbeschleunigung in jeder Achse messen. Ist das Board eben, dann ist die Beschleunigung az = 1 g in Z-Achse, die anderen Achsen ay = 0 und ax = 0. Wenn du das Board auf der Y-Achse um ß neigst, wird ax = sin ß * 1g, entsprechend az = cos ß * 1g; ay = 0. Bei einer Neigung auf der X-Achse um ß entsprechend auch ay = sin ß * 1g und wieder az = cos ß * 1g; ax = 0.

Skizze: Neigung auf X-Achse (Geht durch die Zeichenebene durch!)


* Accel.png (11.03 KB, 546x337 - viewed 19 times.)
Logged

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hey,

ich fixiere mich nicht auf eine analoge Ausgabe des Sensors. Gern kann der Sensor auch den Winkelwert als digitalWert über z.B. I2C an den Arduino ausgeben. Das was mir wichtig ist ist das der Wert der vom Sensor kommt (analog oder digital egal) muss dem aktuellen Winkel entsprechen in dem sich das Board zur Erde befindet. Und ein solches Sensorboard habe ich bisher nicht gefunden, zumindest nichts was ich bezahlen kann.
Das ist zum Beispiel so ein Kandidat der für meine Zwecke gehen würde. Kommuniziert sogar über SPI:
Quote

Der ist halt nur zu teuer. Den Sensor den ich aktuell verwende der gibt mir nur die Winkeländerung in einer Bestimmten Zeit aus. Also
Messung 1: Winkel X  in Zeit X
Messung 2: Winkel X +z.B. 5° in Zeit X+ z.B 1ms
Also gibt mir das Board in diesem Fall z.B. 5° aus. Wenn das Board nicht bewegt wird kommt folglich 0°. Aber das ist nicht das was ich brauche. Ich brauche einen Winkelwert ohne den Zeitfaktor.

Gruß,
Tobi
Ist doch überhaupt kein Problem. Wenn Du ein 6050 Board nimmst, hast Du mit der FreeIMU Bibliothek (http://www.varesano.net/projects/hardware/FreeIMU) Funktionen, die Dir die absolute Position ausgeben.
Bei einem Board mit zusätzlichem Magnetometer wie dem Flyduino 9DOF (http://flyduino.net/Flyduino-9DOF-IMU-MPU6050-HMC5883l) sogar in allen drei Achsen. Ich bin von der Kombination absolut begeistert. Und die digitale Ausgabe ist durch den 16Bit AD-Wandler des 6050 sogar wesentlich präziser als bei einer analogen Ausgabe.
Logged

_______
Manfred

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey Manfred,

danke für die Rückmeldung. Ich habe versicht mit der Linrary zu arbeiten. Welche Funktionen sind das? Mein Problem ist das ich auf dem Gebiet noch nicht so fit bin deswegen habe ich mir Beispielcodes runtergeladen und die Versicht zu "analysieren" um sie dann auch zu verstehen und für meine Zwecke abämdern zu können. Jetzt habe ich schon einen andern Beispielcode ausprobiert aber die Werte die ich aus dem Serial Monitor ablesen kann geben mir Rätsel auf. Eine Frage vorab: ich habe die Pins des Boards direkt auf die Pins am Arduino gesteckt und den Code aufgespielt. Ist das ok oder muss erst noch was an dem Board geändert werden... Offsets... ?
Hast du Erfahrung mit dem Board und vielleicht einen Sketch der Funktioniert damit ich eine Funktionierende Vorlage habe?

Gruß,
Tobi
Logged

Nobody is perfect but - impossible is nothing

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe versicht mit der Linrary zu arbeiten. Welche Funktionen sind das?
Das Beispiel "FreeIMU_yaw_pitch_roll", welches bei der Lib dabei ist, sollte von der Ausgabe genau Deinen Wünschen entsprechen.

Quote
Eine Frage vorab: ich habe die Pins des Boards direkt auf die Pins am Arduino gesteckt und den Code aufgespielt. Ist das ok oder muss erst noch was an dem Board geändert werden... Offsets... ?
Ehrlich gesagt versteh ich die Frage jetzt nicht so ganz. Was meinst Du damit?
Logged

_______
Manfred

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey Manfred,

im Nachhinein liest sich der Satz wirklich etwas bescheuert. Ich hole jetzt einfach mal weit aus und hoffe das ich alle Punkte aufzähle. Ich habe das MPU 6050 Sensor Board von Invensense. Ist die Library die du genannt hast auch für dieses Board geeignet?
Das ist es:
Quote

Wenn ja, dann würde ich nun den Sketch aus der Library den du unten geschrieben hast in den Arduino spielen. Jetzt schließe ich die Ports des Boards an die zugehörigen des Arduinos an (SCL an SCL usw) dann öffne ich den Serial Monitor und bekomme Winkelwerte ausgegeben. Winkelwerte für alle 3 Achsen oder?

Wenn ich das Board flach auf den Tisch lege müsste dann einer der angezeigten Winkelwerte (z.B. X-Achse) 0 sein.

Das ist das was ich brauche. Verstehst du mein Problem jetzt besser?

Gruß,
Tobi
Logged

Nobody is perfect but - impossible is nothing

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Alles klar.

Nachdem es sich ja um die gleiche MPU handelt, sollte es eigentlich keine Probleme mit der Lib geben.
Und ja, das Beispiel würde genau so funktionieren.
Logged

_______
Manfred

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey,

ok danke für die Rückmeldung. Ich werde die Library und das Beispiel testen.

Gruß,
Tobi
Logged

Nobody is perfect but - impossible is nothing

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey,

jetzt habe ich die Library heruntergeladen und in den Library Ordner von Arduino kopiert. Ich bekomme nun folgende Fehlermeldung:

Quote
FreeIMU_yaw_pitch_roll.pde:11:24: error: DebugUtils.h: No such file or directory
In file included from FreeIMU_yaw_pitch_roll.pde:13:
C:\Users\twagner\Downloads\arduino\arduino-1.0.4\libraries\FreeIMU/FreeIMU.h:201: error: 'HMC58X3' does not name a type
C:\Users\twagner\Downloads\arduino\arduino-1.0.4\libraries\FreeIMU/FreeIMU.h:215: error: 'MS561101BA' does not name a type

Ich kann mir diese Fehlermeldung nicht so richtig erklären vermute aber das ich die Library irgendwie nicht korrekt eingebunden habe. Kann mir hier jemand weiter helfen?

Gruß,

Tobi
Logged

Nobody is perfect but - impossible is nothing

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Heruntergeladene Library ist die FreeIMU-20121122_1126.zip?

Und Du hast alles aus dem Ordner FreeIMU-20121122_1126\libraries in Deinen Arduino Libraries-Ordner kopiert (nicht nur den FreeIMU Ordner)?
Logged

_______
Manfred

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey,

ja ich beschreibe dir mal mein Vorgehen:

1. Library "FreeIMU-20121122_1126.zip" heruntergeladen.
2. Entpackt
3. In dem Entpackten Ordner sind 2 Ordner einer heißt libraries einer processing und es ist noch eine LICENSE.txt drin
4. Jetzt habe ich alle Ordner die in dem Ordner libraries drin sind kopiert und in den Arduino Ordner Librarys eingefügt (sind insgesammt 10
     Libraries)
5. Nun habe ich die Arduino IDE geöffnet und dein empfohlenes Beispiel geöffnet
6. Beim klicken auf kompilieren kommen nun keine Fehler mehr
7. Danke smiley

Ich hatte die Datei FreeIMU-20121122_1126.zip umbenannt damit ich mir sie besser merken kann, dadurch sind wohl die Pfade geändert deswegen wohl die Fehlermeldung.

Ich werde die Library nun am Wochenende auf das Board überspielen und testen und schauen ob es funktioniert.
(Am Wochenende deshalb weil mir das Board leider bei dem Versuch es auf einer Platte aufzuschrauben durchgebrochen ist, muss erst ein neues beschaffen)


Schonmal vorab vielen Dank für deine Hilfe,

Gruß Tobi
Logged

Nobody is perfect but - impossible is nothing

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hey,

ich habe jetzt ein neues Board. Ich habe das Programm "yaw pitch rowl" auf den Arduino UNO übertragen. Doch im Serial Monitor wird mir hier sowas angezeigt:

Quote
0ù¦Ð›¸ oª¤ùæл˜ ª´‹Óû0ºÍª´‹Óû0äͨ´Áùz0Ù¦¼0óz0’Á¸pó¨¤ù¦Ð›˜ }¦¼É®ô0z0’Á¸pó0äͪ´‰ÓûoªäÍæ´Áóx0’Á¸pó0äͨ´Áùoª¤ùæл˜ ª¤ù¦Ð›˜ z0ù¦Ð›¸ oª¤ùæл˜ ¨¤ù¦Ð›˜ z0ù¦Ð›¸ •Á¸É®ô0
x0’Á¸pz0ù¦¼0óoª¤ùæл˜ ¦’ñºpz0ù¦Ð›¸ x0’Á¸pópù¦Ð›˜ z0ù¦¼0óz0’Á¸pópù¦Ð›˜ }¦¸›


Damit kann ich irgendwie nichts so richtig anfangen. Weiß einer was hier los ist?

Gruß,
Tobi
Logged

Nobody is perfect but - impossible is nothing

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Baudrate des Serial Monitor mit dem Beispielcode identisch?
Logged

_______
Manfred

Pages: 1 [2] 3   Go Up
Jump to: