DIY Headtracker (Easy build, No drift, OpenSource)

Sijjim

Erfahrener Benutzer
#41
Ich hänge mit meinem Projekt ein wenig fest. Das vorhaben ist aber eine abgewandelte Version von dem normalen Tracker hier.

Als Board kommt ein Pro Mini zum Einsatz. Dort bietet es sich an, das Sensorboard kopfüber mit dem Mainboard zu verbinden. Allerdings stimmen damit die Signale überhaupt nicht, welche da raus kommen. Immer irgendwelche Extremwerte. Kann aber auch an der Kalibrierung liegen, wie ich hier gerade rauslese.
Wie exakt müssen die Achsen beim drehen eingehalten werden? Ich meine, wenn ich zum Beispiel die x-Achse um 360° drehen soll, wie schlimm ist dann ein Wackler auf der y-Achse?
Noch ein Punkt: langsam. Ich lese immer langsam drehen. Wie langsam ist langsam? 2 Sekunden? 5 Sekunden? 1 Minute?

Noch ein extra meiner Variante, statt eines PPM-Signals sollen die nackten PPM-Zahlen per 433MHz abwandern. Das funktioniert auch tadellos.

Stehe schon kurz davor, die ganze Sache noch einmal neu selber zu schreiben und meine "Kalibrierung" im Code fest einzutragen. Kalibrieren muß man ja nur, weil der Quellcode für viele unterschiedliche Hardware geschrieben wurde, damit die Software auch weiß was da passieren soll bei welcher Bewegung. Würde mir diese Arbeit aber gerne ersparen....
 

Rangarid

Erfahrener Benutzer
#42
Die Firmware ist für genau eine Hardware: das GY-85 Board. Der Microcontroller den du nutzt spielt dafür keine Rolle.

Die Kalibrierung ist einzig und allein für den Kompass. Nennt sich dann Tilt-Compensated Compass. Das wird gemacht, um den Kompass an das Magnetfeld in deiner Umgebung anzupassen. Dafür ist die Kalibrierung.

Es gibt 2 Kalibrierungmethoden, die eine hat bei mir auch nicht funktioniert. Probier mal die andere. Das IMU Board immer genau wie im Bild halten. Der MicroController ist egal, die IMU Board Orientierung ist wichtig.
 

-Paulchen-

Neuer Benutzer
#43
Hi,

eine Kalibrierung mit den IMU-Bauteilen nach unten ergab bei mir keine verwertbaren Ergebnisse. Wie Rangarid sagte: genau nach den Bildern richten.

Ich habe beim Kalibrieren pro Achse rund 20 sec gebraucht. Das Board in eine Streichholzschachtel erleichtert die Orientierung und das handling. Normale Unschärfen durch das Freihand-Drehen hat mir das Board verziehen.

Andreas
 
Erhaltene "Gefällt mir": Sijjim

Sijjim

Erfahrener Benutzer
#44
Hab gestern Abend nochmal eifrig probiert und analysiert: der acc-Sensor auf meinem GY-85 scheint wohl hin zu sein :mad:
Zeigt beim Kalibrieren nur 4096 4096 -2xxx an und bewegt sich auch nicht ein Stück. I2C-Scanner geladen, die Adresse findet er. Der Chip ist also elektrisch vorhanden, spuckt nur keine Werte aus. Habe Testweise mal ein Sketch geladen das die nackten Sensorwerte ausspuckt: -512, -512, -512, egal wie das Ding gedreht, geschüttelt oder sonst was wird.

Ich hab noch nen ungenutzten ADXL335 zu Hause rumliegen, den kann ich doch als Ersatz nehmen, oder? Natürlich zusätzlich zu den 2 verbliebenden Sensoren auf dem GY-85 und mit angepasstem Sketch.
Will halt endlich, das sich die 2 Servos da auf der Nase des Copters bewegen und nicht zig Wochen auf Ersatz warten. Sommer ist fast vorbei....
 

Rangarid

Erfahrener Benutzer
#45
Probier mal mit Multiwii, da siehste auch alle Sensoren. Wenn du tauschst, dann musst du die komplette Kommunikation mit dem Acc umschreiben. Ka ob der ADXL die selben Werte ausgibt.
 

kl_Haribo

ergebener Benutzer
#46
Ich wollte für den Tracker trotzdem das camstab aktiv halten, und so habe ich mein multiwii leicht verändert:

Datei: output.cpp
Zeile: ~1326
multiwii: 2.3

Code:


#if defined(SERVO_TILT)
servo[0] = rcData[AUX3];
servo[1] = rcData[AUX4];
if (rcOptions[BOXCAMSTAB]) {
servo[0] += ((int32_t)conf.servoConf[0].rate * att.angle[PITCH]) /50L;
//servo[1] += ((int32_t)conf.servoConf[1].rate * att.angle[ROLL]) /50L;
}
#endif
 

Sijjim

Erfahrener Benutzer
#47
Das mit dem Multiwii werd ich mal probieren, hab aber ehrlich gesagt wenig Hoffnung.

Den Code umschreiben werd ich sowieso machen, ist mir zu überladen mit zu viel unnützem Zeug(für mich), macht alles viel zu unübersichtlich. Das ganze debugging-Zeug brauch ich nicht, oder anders. PPM-Geenerierung auch nicht, sogar das mit in den EEPROM speichern könnte man optimieren. Dafür brauch ich aber die virtualWireLibrary. Ausserdem will ich die Sensoren über Kopf montieren, damit das komplette Modul kompakter wird.

Dann nehm ich gleich den originalen Code von Peter Bartz und mache daraus meinen wireless Tracker, Dennis Frie hat auch nur den Guttenberg gemacht :ding:

Edit: Der aktuellste originale Code ist auch viel besser dokumentiert.

Wie ich die 2 Kanäle aus der Multiwii am Copter ausführe muß ich auch noch suchen, Input kommt vom RSat2, da kann ich nicht vorher abzweigen.
 
Zuletzt bearbeitet:
#48
Bekomme mein DIY Headtracker nicht am Sender zum laufen!!

Wer könnte mir da mal bitte weiter helfen??

Sender ist eine Futaba T14MZ
am Rechner scheint alles soweit zu funktionieren
 
#53
Cool, es funktioniert!

Hab alles an einer Futaba T8FG am laufen. Zuerst hatte ich etwas Schwierigkeiten die genaue Position der IMU herauszufinden, da ich die anders auf dem Arduino habe als auf den Bildern in der GUI zu sehen ist. Aber dann hat´s geklappt. Alle 3 Achsen machen unabhängig voneinander das was sie sollen. Feine Sache, jetzt muss ich mich um ne 3-Achs-Gimbal kümmern.

Danke nochmal an Olex für die IMU.

Gruß Robert
 

mfischer70

Erfahrener Benutzer
#54
Hi Leute,

ich hab genau das gleiche Problem wie in Post 30 schon beschrieben und auch dort im 1. Bild gezeigt. Eine Achse (Pan) bewegt sich super alleine und bei den anderen beiden Achsen bewegt sich allerdings die Pan Achse immer mit. Hab die Version 1.04 drauf. Hat jemand eine Idee? Wenn ich nur den Kompass nehme, könnte ich es mit 2 Achsen ja nutzen, aber das ist ja nicht Sinn der Sache. Zum kalibrieren hab ich den Wizard genommen und da die Axis Methode.

Gruß Mike
 
#55
Hi Mike,
mein Problem (post 30) konnte ich bis jetzt nicht lösen, hab aber auch nicht viel dagegen getan. Ich meine ich hätte in nem amerikanischen Forum gelesen, das man auch mal versuchen soll die Achsen zu vertauschen. Hab es aber noch nicht getestet.
Schreib auf jeden Fall, wenn du ne Lösung findest.

Gruß,
Martin
 

mfischer70

Erfahrener Benutzer
#58
Bin auch am suchen in dem englischen Beitrag. Hätte ja schonmal jemand geschrieben, dass man 2 Achsen tauschen soll. Nur leider nicht wie. Der Beitrag ist auch Mega lang...wer es also vor mir findet, sagt bitte Bescheid. Es gibt ja User, die es geschafft haben. Entweder es ist tatsächlich ein neues Design des Boards und dabei wurde die Lage von Sensoren verändert, oder wir machen was grundlegendes falsch.
 

MH74

Erfahrener Benutzer
#59
Nach langem rumprobieren endlich ne Lösung für MFischer70 und mich gefunden.
Entgegen dem Bild auf der Seite http://www.michael-heck.net/index.php/fpvmenu/headtracker wo alle Kontakte des GY85 gelötet sind, sollte man nur VCCin, GND, SCL und SDA verlöten. Und die anderen "überflüssigen" Stifte der Leiste entfernen (sofern schon angelötet). Wir hatten beim ersten Aufbau alle 8 angelötet. Das brachte die beschriebenen Fehler wie zwei gleichzeitig bewegende Achsen oder unerklärliche Achsausschläge ect. . Mit Versuch 2 und nur den 4 angelöteten: sauber einzeln ansteuerbare Achsen. Auf dem Bild ist es noch nicht perfekt kalibriert (Pan Achse ein wenig verschoben).

IMG-20141223-WA0022.jpg

Genutzt haben wir die Version 1.04 und dort den Calibration Wizard Axis Method.

Cal Wiz.jpg

20141223_214707.jpg 20141223_214546.jpg

Noch ne Kleinigkeit: Ich habe beides, Arduino und GY85 von DealExtreme. Und die funktionieren. Nur das dazu, das die nicht gut sein sollen.:D
 
#60
Guten Abend, ähm Morgen.
Frohe Weihnachten erstmal.
Ich habe vergeblich versucht den Beitrag zu finden wie man die Achsen tauscht...
Der letzte post von MH74 (#59) gibt mir aber Hoffnung, das ich mein Problem mit den Achsen auch in den Griff kriegen kann.
Ich werde im Januar mal mein board umlöten und weitere Tests machen.
Vorab schon mal vielen Dank für eure versuche und das Teilen eurer Erfahrungen.
 
FPV1

Banggood

Oben Unten