*** Ständig UNDER CONSTRUCTION ***
UPDATE 12.02.2012: Firmware 1.1 mit Ansteuerung I2C Display, Ansteuerung Rangevideo Diversity, RSSI Tracking als Fallback oder Standard, falls kein GPS Signal anliegt
UPDATE 29.01.2012: Platinenlayout, Hardwareerweiterungen, Bilder, Etwas aufgeräumt
UPDATE 30.12.2011: Neue Firmwareversionen, Bildchen getauscht
Hallo Zusammen,
hier im ersten Post entsteht nach und nach die Dokumentation zu einem Antennentracking-System, welches zur Datenübertragung aus dem Flieger den Rückkanal des FrSky Two Way Telemetry Systems nutzt. Als Mikrokontroller werden Arduino pro minis eingesetzt.
Der Name für diesen Tracker ergibt sich damit automatisch:
-> ArduFrSky-Tracker (kurz AFS-Tracker)
Ich löse damit meine Bruchstücke aus diesem Thread heraus und trage hier alles zusammen...
Grüße
Christian
Das Ganze tut mit emulierten GPS-Daten (NMEAGEN108) und Hardware-GPS. Auch der RSSI basierte Fallback tut jetzt. Der Algorithmus unterscheidet sich allerdings von Heckmic.
Konzept:
Airborne: Im Flieger nimmt das Arduino per serieller Schnittstelle (Hardware) die NMEA-Strings vom GPS entgegen und extrahiert über TinyGPS Höhe, Breite und Länge der aktuellen Position. Diese Daten werden über die zweite serielle Schnittstelle (Software, Library: NewSoftSerial) an den FrSky-Empfänger D8R-II übergeben.
Groundstation: Vom FrSky-Sender, der in der Groundstation verbaut ist, nimmt das zweite Arduino die oben genannten Daten entgegen, macht etwas Mathe und läßt die Antenne dahin zeigen, wohin sie soll...ganz einfach...
Wenn kein GPS Signal verfügbar ist (warum auch immer), schaltet der Tracker auf RSSI-basiertes Tracking zurück.
Hardware Groundstation:
Bauteile für AFS-Tracker Platine und Steuerung:
- Arduino Pro Mini 16Mhz 5V
- Level-Converter (http://www.sparkfun.com/products/8745)
- Magnetometer (http://www.sparkfun.com/products/10530)
- Max232 Serial Level Shifter
- 78L33 Spannungswandler 5->3,3V
- OpAmp LM358 für zweimal RSSI input
- I2C Display von Ebay
- Taster,Poti,LEDs,Kondensatoren,Widerstände...
Restliche Hardware für den Tracker:
- FrSky Two Way Hack Sendemodul
- Rangevideo Diversity
- Vierfach Video-Verstärker
- Spannungsversorgung gefiltert (2x5V, 1x7.5V, 1x9V)
- BEC 7,5A
- 1x RC305 Videoempfänger
- 1x RX5808 basierter Eigenbau-Videoempfänger direkt mit Helix von rabe2000 verlötet
- Pan/Tilt von Servocity
Neue Bilder von meiner ersten selbst geätzten Platine
Das ist der jetzt aktuelle Nachfolger zum obigen Prototypen.
Layouts zum Ausdrucken, die unterscheiden sich leicht von der von mir Geätzten. Stiftreihen sind etwas anders angeordnet und zwei kleine Fehler sind ausgemerzt.
Frontlayout wieder geändert. So solls jetzt bleiben...:
Ganz wichtig:
Hardware Airborne:
In den FrSky D8R-II läßt sich das Arduino pro mini board direkt ins Gehäuse verbauen, da ist genug Platz.
Anbei drei Bilder, auf dem 2. kann man das eingebaute Arduino erkennen. Auf dem Dritten ist das neue GPS zu sehen, meingott war das eine Frickelei mit dem Lötkolben. Aber schön klein
Bedienung:
Es gibt ne gote,gelbe und grüne LED. Dazu nen roten und gelben Taster, sowie ein Poti. Neu: Jetzt gibts auch noch ein I2C Display für Statusmeldungen.
Gimmick: Wird beim Einschalten der rote Taster gedrückt gehalten, wechselt der Tracker in einen seriellen Passthrough-Mode, damit kann auf den FrSky Sender von aussen zugegriffen werden.
Nach dem normalen Einschalten leuchtet erstmal nur die grüne LED dauerhaft, sobald gültige GPS-Pakete durchkommen blinkt sie.
Norden wird automatisch dauerhaft mit 10Hz über das Magnetometer gefiltert bestimmt (filtern mit gewichtetem Mittelwert, damit keine Sprünge auftreten, allerdings nicht beim aktiven Tracking. Das macht Probleme wegen des sich ändernden Magnetfelds des laufenden Pan-Servos).
Sollte es hier Abweichungen vom "echten" Norden geben, läßt sich dass immer per Poti nachstellen.
Wenn die rote Taste kurz gedrückt wird, wird aus 10 GPS-Paketen die home-Position des Trackers bestimmt. Hierzu muss der Flieger natürlich neben dem Tracker liegen. Dabei blinkt die rote LED und ist nach home-Findung dauerhaft rot. Der Vorgang ist wiederholbar.
Über den gelben Taster kann man dann drei Zustände des Trackers druchschalten:
(1) Gelbe Led aus: Antenne zeigt in die gewünschte Transportstellung.
(2) Gelbe Led an:
-(Normales Anschalten) Antenne zeigt nach Norden (das ist quasi ein Test).
-(Beim Anschalten gelben Taster gedrückt gehalten) Antenne fährt diverse Positionen im 90° Winkel an, um zu überprüfen, ob die Servos richtig eingestellt sind.
(3) Gelbe Led blinkt: Tracking ist aktiv, Antenne zeigt auf Flieger. Dieser Modus ist nur verfügbar, wenn Home bereits gesetzt ist.
Neu: Ohne Home oder GPS wird automatisch ein RSSI-basiertes Tracking gewählt (motiviert durch Heckmic, aber mit komplett from scratch geschriebenem Algorithmus)
Reset des Trackers erfolgt über dern Ein/Aus-Schalter der Stromversorgung.
Debug-Informationen werden über die nach aussen geführte serielle Schnittstelle ausgegeben. Über die kann man auch bequem, ohne den Tracker zu öffnen, neue Firmwares einspielen....
Software Groundstation/Airborne:
Code als Zip-Datei. Steht unter GPL V3.
NEU (AllinOne, inklusive der Libraries):
Anhang anzeigen FrSkyTracker_1.2a_Arduino022.zip
Videobeweis
AFS-Tracker Demo
http://vimeo.com/34261705
Google Earth Input for AFS-Tracker Demo
http://vimeo.com/34360831
Im Video wird die Airborne-HW vom Laptop mit GPS-Daten für einen Flug rund um die SAP-Arena in Mannheim versorgt. Der Tracker steht dabei gedacht auf dem Dach der Arena.
UPDATE 12.02.2012: Firmware 1.1 mit Ansteuerung I2C Display, Ansteuerung Rangevideo Diversity, RSSI Tracking als Fallback oder Standard, falls kein GPS Signal anliegt
UPDATE 29.01.2012: Platinenlayout, Hardwareerweiterungen, Bilder, Etwas aufgeräumt
UPDATE 30.12.2011: Neue Firmwareversionen, Bildchen getauscht
Hallo Zusammen,
hier im ersten Post entsteht nach und nach die Dokumentation zu einem Antennentracking-System, welches zur Datenübertragung aus dem Flieger den Rückkanal des FrSky Two Way Telemetry Systems nutzt. Als Mikrokontroller werden Arduino pro minis eingesetzt.
Der Name für diesen Tracker ergibt sich damit automatisch:
-> ArduFrSky-Tracker (kurz AFS-Tracker)
Ich löse damit meine Bruchstücke aus diesem Thread heraus und trage hier alles zusammen...
Grüße
Christian
Das Ganze tut mit emulierten GPS-Daten (NMEAGEN108) und Hardware-GPS. Auch der RSSI basierte Fallback tut jetzt. Der Algorithmus unterscheidet sich allerdings von Heckmic.
Konzept:
Airborne: Im Flieger nimmt das Arduino per serieller Schnittstelle (Hardware) die NMEA-Strings vom GPS entgegen und extrahiert über TinyGPS Höhe, Breite und Länge der aktuellen Position. Diese Daten werden über die zweite serielle Schnittstelle (Software, Library: NewSoftSerial) an den FrSky-Empfänger D8R-II übergeben.
Groundstation: Vom FrSky-Sender, der in der Groundstation verbaut ist, nimmt das zweite Arduino die oben genannten Daten entgegen, macht etwas Mathe und läßt die Antenne dahin zeigen, wohin sie soll...ganz einfach...
Wenn kein GPS Signal verfügbar ist (warum auch immer), schaltet der Tracker auf RSSI-basiertes Tracking zurück.
Hardware Groundstation:
Bauteile für AFS-Tracker Platine und Steuerung:
- Arduino Pro Mini 16Mhz 5V
- Level-Converter (http://www.sparkfun.com/products/8745)
- Magnetometer (http://www.sparkfun.com/products/10530)
- Max232 Serial Level Shifter
- 78L33 Spannungswandler 5->3,3V
- OpAmp LM358 für zweimal RSSI input
- I2C Display von Ebay
- Taster,Poti,LEDs,Kondensatoren,Widerstände...
Restliche Hardware für den Tracker:
- FrSky Two Way Hack Sendemodul
- Rangevideo Diversity
- Vierfach Video-Verstärker
- Spannungsversorgung gefiltert (2x5V, 1x7.5V, 1x9V)
- BEC 7,5A
- 1x RC305 Videoempfänger
- 1x RX5808 basierter Eigenbau-Videoempfänger direkt mit Helix von rabe2000 verlötet
- Pan/Tilt von Servocity
Neue Bilder von meiner ersten selbst geätzten Platine
Das ist der jetzt aktuelle Nachfolger zum obigen Prototypen.
Layouts zum Ausdrucken, die unterscheiden sich leicht von der von mir Geätzten. Stiftreihen sind etwas anders angeordnet und zwei kleine Fehler sind ausgemerzt.
Frontlayout wieder geändert. So solls jetzt bleiben...:
Ganz wichtig:
Hardware Airborne:
In den FrSky D8R-II läßt sich das Arduino pro mini board direkt ins Gehäuse verbauen, da ist genug Platz.
Anbei drei Bilder, auf dem 2. kann man das eingebaute Arduino erkennen. Auf dem Dritten ist das neue GPS zu sehen, meingott war das eine Frickelei mit dem Lötkolben. Aber schön klein
Bedienung:
Es gibt ne gote,gelbe und grüne LED. Dazu nen roten und gelben Taster, sowie ein Poti. Neu: Jetzt gibts auch noch ein I2C Display für Statusmeldungen.
Gimmick: Wird beim Einschalten der rote Taster gedrückt gehalten, wechselt der Tracker in einen seriellen Passthrough-Mode, damit kann auf den FrSky Sender von aussen zugegriffen werden.
Nach dem normalen Einschalten leuchtet erstmal nur die grüne LED dauerhaft, sobald gültige GPS-Pakete durchkommen blinkt sie.
Norden wird automatisch dauerhaft mit 10Hz über das Magnetometer gefiltert bestimmt (filtern mit gewichtetem Mittelwert, damit keine Sprünge auftreten, allerdings nicht beim aktiven Tracking. Das macht Probleme wegen des sich ändernden Magnetfelds des laufenden Pan-Servos).
Sollte es hier Abweichungen vom "echten" Norden geben, läßt sich dass immer per Poti nachstellen.
Wenn die rote Taste kurz gedrückt wird, wird aus 10 GPS-Paketen die home-Position des Trackers bestimmt. Hierzu muss der Flieger natürlich neben dem Tracker liegen. Dabei blinkt die rote LED und ist nach home-Findung dauerhaft rot. Der Vorgang ist wiederholbar.
Über den gelben Taster kann man dann drei Zustände des Trackers druchschalten:
(1) Gelbe Led aus: Antenne zeigt in die gewünschte Transportstellung.
(2) Gelbe Led an:
-(Normales Anschalten) Antenne zeigt nach Norden (das ist quasi ein Test).
-(Beim Anschalten gelben Taster gedrückt gehalten) Antenne fährt diverse Positionen im 90° Winkel an, um zu überprüfen, ob die Servos richtig eingestellt sind.
(3) Gelbe Led blinkt: Tracking ist aktiv, Antenne zeigt auf Flieger. Dieser Modus ist nur verfügbar, wenn Home bereits gesetzt ist.
Neu: Ohne Home oder GPS wird automatisch ein RSSI-basiertes Tracking gewählt (motiviert durch Heckmic, aber mit komplett from scratch geschriebenem Algorithmus)
Reset des Trackers erfolgt über dern Ein/Aus-Schalter der Stromversorgung.
Debug-Informationen werden über die nach aussen geführte serielle Schnittstelle ausgegeben. Über die kann man auch bequem, ohne den Tracker zu öffnen, neue Firmwares einspielen....
Software Groundstation/Airborne:
Code als Zip-Datei. Steht unter GPL V3.
NEU (AllinOne, inklusive der Libraries):
Anhang anzeigen FrSkyTracker_1.2a_Arduino022.zip
Videobeweis
AFS-Tracker Demo
http://vimeo.com/34261705
Google Earth Input for AFS-Tracker Demo
http://vimeo.com/34360831
Im Video wird die Airborne-HW vom Laptop mit GPS-Daten für einen Flug rund um die SAP-Arena in Mannheim versorgt. Der Tracker steht dabei gedacht auf dem Dach der Arena.
Zuletzt bearbeitet: