DIY Headtracker

heckmic

Erfahrener Benutzer
#1
DIY Headtracker

Leicht gebaut, kein Drift, Open Source!
Seit dem ich mich mit Wiicopter beschäftige habe ich darüber nachgedacht mit dieser Technik einen driftfreien Tracker zu bauen.Grundsätzlich bin ich ja erstmal faul und habe nach einen Projekt dazu gesucht. Das Ziel sollte sein, es mit Arduino umzusetzen.Im rcgroups Forum bin ich auf einen Beitrag aufmerksam geworden. Dennis Frie aus Dänemark hat hier ein klasse Projekt gestartetüber das ich dir hier berichten will.
Der Tracker ist wirklich schnell gebaut und funktioniert perfekt. Er hat keinen Drift und kostet gerade mal rund 30€.

Hier die Einkaufsliste:Arduino Nano

http://www.dealextreme.com/p/nano-v3...-118037?item=8
oder:
http://www.hobbyking.com/hobbyking/s...ler_Board.html
oder:
http://www.dealextreme.com/p/arduino...0-81877?item=2
Sensor Board (9-axis IMU):
http://www.dealextreme.com/p/gy-85-6...arduino-148436
oder
http://www.ebay.com/itm/ws/eBayISAPI...E:L:OC:US:3160
oder
http://www.goodluckbuy.com/gy-85-sen...u-sensor-.html
oder
http://www.goodluckbuy.com/nine-axis...3l-module.html

Den Code und die Gui gibt es hier:
http://code.google.com/p/open-headtracker/
Der allgemeine Schaltplan:

Und hier der für Futaba:


Es ist noch nicht einmal nötig das Board zu verkabeln, man kann es direkt auf den Arduino legen.



Ein Kabel zur Masse muss gezogen werden



Das war es dann auch schon mit der Hardware und wir kommen zur Software
1. Download Arduino IDE (Version 1 oder größer)
2. Arduino über USB Kabel mit dem PC verbinden
3. Der Com-Port Treiber sollte nun automatisch installieren. Wenn nicht ist der Treiber im Verzeichnis "Driver" im Arduino IDE Verzeichnis zu finden
4. Hier (wenn nicht breits oben erledigt) den aktuellen Code des Trackers laden
5. Öffne das Arduino Programm und klicke auf file -> Open und wähle dann die DIY_headtracker.ino aus dem Code Verzeichnis
6. Nun sollte es so in etwa aussehen:



7. tools -> Board -> "Arduino Nano w/Atmega328
8. Tools -> Serial port -> den Com-Port der installiert wurde wählen (merken, wird später in der Gui gebraucht).
9. file -> Upload
10. Wenn alles geklappt hat, steht nach einigen Sekunden unten links "Done uploading".11. Der Code ist nun drauf und du musst nun den Kompass kalibrieren. Im Code Verzeichnis ist dazu das Programm "Magnetometer_cal".



12. Wähle den bekannten Com-Port und klicke auf connect. Arduino IDE sollte geschlossen sein.
13. Klicke "Start plot" und nun sollte der Tracker auf Bewegung reagieren.
14. Klicke "Set offset to 0".
15. Nun gehe wie in den Bildern beschrieben vor. Nach jedem Bild set drücken.
16. Klicke auf "Save".
17. Starte nun die Headtracker_GUI aus dem Code Verzeichnis (alles andere schließen)



18. Bekannten Com-Port wählen und auf connect klicken.
19. Klicke auf "start plot". Wenn alles geklappt hat bewegen sich 3 Linien.
20. Wähle nun die Einstellungen die du benötigst (Kanal für Pan/Tilt/Roll)
21. Dann auf "calibrate gyro" klicken.Nun kannst du den Tracker in dem Servomonitor deines Senders testen. Dazu musst du den Schüler Zugriff aktivieren.



Nun kann man den Tracker z.B. an der Brille befestigen:



[video=youtube;b4a7XohF3Jc]http://www.youtube.com/watch?feature=player_embedded&v=b4a7XohF3Jc[/video]

 
#2
wäre für mich hilfreich die belegung des sensor bordes noch zu sehen, zu wissen, erklärt zu bekommen.
zumindest wo a4 u. a5 beim sensor bord hingehen.
auf den schema zeichnungen sind nur vier pins beim sensor bord belegt und auf den beiden fotos darunter sind alle acht verlötet.
das bringt einen leien schon zu grübeln...

dankend grüßt der tobi
 

Dr. fite

Erfahrener Benutzer
#4
Sehr schön, so was hab ich gesucht!
DANKE!
 

Flugferd

Geht prinzipiell steil
#5
Schöner Bericht!
Es muss darauf hingewiesen werden, dass es wohl unterschiedliche Versionen der 9-Axis boards gibt. Je nach dem muss man die entsprechende Software Version draufschmeissen. Hatte damals ziemliche Probleme, aber Dennis Frie hat es gelöst. Findet sich aber alles im Originalthread (oben genannt).

Viel Spaß beim Bauen, lohnt sich wirklich!
 

Oti47

Erfahrener Benutzer
#6
Hi Ihr, Hi Flugferd,
ich bin am verzweifeln.
Ich habe mir alles nach Anleitung bestellt,
die Boards zusammengelötet, die Software geladen und.....

Leider verloren, ich erhalte beim upload der Firmware folgende Fehlermeldung:

avrdude: stk500_getsync(): not in sync: resp=0x00

Die RX LED des Arduino blinkt drei mal und dann ist schluss.

-USB Treiber mehrfach installiert
-Kabel gewechselt
-Reset bis kurz vor dem Upload gedrückt

Immer noch nix :-(

Ich hätte noch die Option über einen mySmartUSB auf die Kiste etwas zu laden, aber ich möchte das Thema nicht verschlimmern, daher mein Hilferuf hier an die Erfolgreichen.

Was kann ich noch versuchen?


Gruß
Oti
 

Oti47

Erfahrener Benutzer
#8
Hi heckmic,
kann ich das Programm nicht mit meinem ISP Progger auf den Arduino bringen?

USB muß ja nicht unbedingt sein!

LED auf Arduino und Gyroboard leuchten so wie sie sollen.

Noch weitere Ideen ausser neukaufen?

Gruß
Oti
 

Oti47

Erfahrener Benutzer
#11
Hi Leute,
ich hab mit Unterstützung die Software per USB ISP Programmer auf das Board bekommen.
Kann das Flash und Eeprom auslesen und es sieht gut aus.

Nun dachte ich ist alles gut aber nix.....
keine Daten des Boards per USB in der Kalibrierungssoftware.

Hab mir jetzt schon ein FTDI Board besorgt, um die Daten des HT ohne USB auszulesen aber auch nix.

Kann es sein das mein Gyro keine Daten sendet, wie muß es aussehen wenn das Gyro Board arbeitet? Leuchten da irgendwelche TX oder RX LEDs?

Gruß
Oti
Irgenwie nehme ich jedes Problem mit welches es geben kann.
 

der_tom

Erfahrener Benutzer
#13
Hallo,

kann ich dazu auch meine Spektrum DX18 verwenden,

ich habe heute mal aus spass das ganze nachgebaut aber muste feststellen das meine funke zwar signale bekommt per buchse aber irgendwas und nicht das was sie haben sollte


ich habe kanal 7/8/9 wie in der gui festgelegt aber irgendwie habe ich das gefühl das die funke kein sauberes Signal bekommt,

im serveromonitor sehe ich das alle 3 channel wie wild hin und her gehen aber immer nur im oberen drittel der einteillung, und auch nicht abhängig von yxz sondern absolut warlos..

gruss
 

der_tom

Erfahrener Benutzer
#14
So ich habe mich jetzt noch ein wenig damit beschäftigt, nach ein bischen da und ein bischen da schrauben habe ich ein kanal sauber hinbekmmen aber die anderen gehen nicht...


siche hier
[video=youtube;mjXkjsQOEaw]http://www.youtube.com/watch?v=mjXkjsQOEaw[/video]
 
#18
hi heckmic sorry aber ich bin eher der modellbauer und flieger als programierer.
was heist denn "fehler beim kompilimieren"?
und wie kann ich diesen umgehen?
vielen dank
 
FPV1

Banggood

Oben Unten