Clone of TRACKUINO
APRS-Tracker.
Here is automatic translation made by Google:
http://translate.google.com/translate?hl=en&sl=de&tl=en&u=http%3A%2F%2Fwww.kh-gps.de%2Ftrackuino.htm
Anleitungen zum Aufbau von
APRS-Trackern lassen sich im Internet nicht gerade selten finden. Mir
ging es dabei um ein einfaches, preiswertes Konzept, das sich aber auch
von der Hardwareseite betrachtet schnell umsetzen lassen sollte.
Nachdem ich mich in letzter Zeit auch schon an anderen Stellen (
http://www.kh-gps.de ) damit
beschäftigt hatte, hierfür überwiegend
handelsübliche fertig erhältliche ARDUINO-Boards zu
verwenden, lag es nicht ganz fern, einmal zu schauen, ob es nicht etwas
geben würde, das auf diesem Sektor bereits realisiert wurde und
stiess dabei auf das Projekt "TRACKUINO" [1]. Ursprünglich wurde
der APRS-Tracker "TRACKUINO" dabei vorzugsweise für den Einsatz
bei Ballonflügen entwickelt, erlaubt darüberhinaus aber auch
den universellen Einsatz. Die aktuellen Versionen des Projektes
zeichnen sich dadurch aus, das sie mit nach aussen klar definierten
Schnittstellen arbeiten und dadurch auch den Anschluss anderer als in
der Originalversion vorgesehener Zusatzkomponenten wie
GPS-Empfänger und Funksender erlauben. Nachdem sich auch die
Anzahl der zusätzlich zum ARDUINO-Board noch benötigten
Bauelemente in engen Grenzen hält, besteht auch keine unbedingte
Notwendigkeit zur Verwendung des für den "TRACKUINO" eigens
entwickelten Shields, so dass stattdessen ebenso auch eine schnell
bestückbare Lochrasterplatine ( Proto-Shield ) verwendet werden
konnte.
Aufgesteckt auf ein
Basisboard "Arduino-Uno" zeigt Abb.1 das entsprechend bestückte
Zusatzshield. Wir erkennen das GPS-Empfängermodul und einige
wenige weitere Bauteile. Was dabei zur Steuerung eines angeschlossenen
Funksenders noch erforderlich ist, geht aus dem Schaltbild Abb.2
hervor, wobei daraus auch die mit dem Basisboard herzustellenden
Querverbindungen ersichtlich sind.
Abb.4 zeigt einige
Beispiele für TRACKUINO-Aussendungen. Neben dem üblichen
APRS-Header mit Absender-Call; Ziel-Call und APRS-Pfadeinstellungen
gehören dazu: Zeitstempel; Breitengraddaten;
Symbol-Tabelle; Längengraddaten; APRS-Symbol; Kurs- und
Geschwindigkeitsdaten;
Höhenwerte; Werte Temperatursensor1; Werte Temperatursensor2,
sowie Versorgungsspannung und Zusatztext.
Um TRACKUINO-Firmware in den
Flash-Speicherbereich des
ARDUINO-UNO-Prozessors ATMEGA328P laden zu können, muss das Board
via USB mit einem PC verbunden und dort die ARDUINO-Betriebssoftware
[3] installiert sein. Kompilierungsversuche
unter Verwendung aktueller ARDUINO-Versionen werden dabei allerdings
erst einmal nur viele Fehlermeldungen bewirken. Verwendbar sollten an
dieser Stelle dagegen die älteren ARDUINO-Version 22 und 23
sein.
Um zur Kompilierung auch neuere
ARDUINO-IDE-Versionen nutzen zu
können, sind vorher erst noch einige Änderungen im
Programmcode durchzuführen. So sind im "trackuino.pde" bzw. "ino"
zuerst
einmal alle sich auf Nutzung der älteren Versionen 22 und 23
beziehenden Zeilen zu löschen oder zumindest auszuklammern. Im
Einzelnen handelt es sich um die folgenden ( hier schon ausgeklammerten
) Codezeilen:
//
#if (ARDUINO + 0) == 0
// #error "Oops! We need the real Arduino IDE (version 22 or 23) for
Arduino builds."
// #error "See trackuino.pde for details on this"
// #elif (ARDUINO + 0) < 22
// #error "Oops! We need Arduino 22 or 23"
// #error "See trackuino.pde for details on this"
// #elif (ARDUINO + 1) >= 100
// #error "Ooops! We don't support Arduino 1.0+ (yet). Please use 22 or
23"
// #error "See trackuino.pde for details on this"
// #endif |
Weiterhin ist in folgenden in das
TRACKUINO-Projekt eingebundenen Files nach <WProgram.h>
zu suchen und hierfür stattdessen
jeweils <Arduino.h> einzusetzen:
trackuino.pde
bzw. trackuino.ino
sensors_avr.cpp
radio_hx1.cpp
power_avr.cpp
pin_avr.cpp
buzzer_avr.cpp
|
Ich hoffe, dass ich bei der
Auflistung kein File vergessen habe. Ansonsten kommt es aber zu
Fehlermeldungen mit Hinweisen auf die noch vorzunehmenden
Änderungen. Nach Abschluss dieses Vorgangs ist eine
TRACKUINO-Kompilierung auch mit den aktuellen Versionen von
ARDUINO möglich.
Das TRACKUINO-Firmwarepaket selbst ist derzeit in der Version 1.4
verfügbar und steht hier [2] zum Download bereit. Dabei
enthält die zugehörige Hauptdatei "trackuino.pde" auch
noch einmal die Hinweise auf die zu verwendende Version der
ARDUINO-Betriebssoftware.
Die darüberhinaus im Paket enthaltene Datei "config.h" muss
einmalig entsprechend der vom Anwender gewünschten Einstellungen
modifiziert werden. Dazu gehören eine Anpassung des
Absender-Rufzeichens incl SSID ( hier: "DJ7OO-11" ), der Zieladresse (
hier: "APRS" ), der APRS-Pfadeinstellungen ( hier:
"WIDE2-1" ) und eines möglichen, jeweils am Stringende
stehenden Zusatztextes. Nachdem genannte Config-Datei sehr
ausführlich dokumentiert ist, sollte es nicht schwer fallen,
darüberhinaus ggf. auch noch weitere Parameter an die eigenen
Bedürfnisse anzupassen. So könnte es z.B. erforderlich sein,
den voreingestellten Minutentakt für Bakenaussendungen (
Einstellung: #define APRS_PERIOD 60 ) auf einen
anderen Wert umzustellen.
Anm: Hinsichtlich der möglichen APRS-Pfadeinstellungen würde
ich mir für zukünftige Versionen noch etwas mehr
Flexiblität wünschen!
NEU: Version mit
BOARDUINO-Platine
Unter dem Namen "Boarduino" [6]
ist seit einiger Zeit eine als Kit erhältliche kleine Baugruppe
verfügbar [z.B. bei 7], mit der sich ansonsten mit
Standard-Arduino-Bausteinen realisierte Anwendungen ebenfalls umsetzen
lassen. So entstand die Idee, den "Boarduino" auch für den schon
oben beschriebenen "Trackuino" zu verwenden. Abb.5 zeigt die
entsprechende Anordnung.
Abb.5
Trackuino-GPS-Tracker unter Verwendung von Boarduino-Board
Als GPS-Empfangsbaustein kommen alle
Versionen infrage, die ihre NMEA-Daten mit 9600bps und TTL-Pegel
seriell zur Verfügung stellen. Eine an dieser Stelle geeignete
hochmoderne Version ist z.B. der bei z.B. [9] und [10] erhältliche
Baustein "Ultimate GPS" von Adafruit [8].

Abb.6 "Ultimate GPS" von Adafruit
Mit der gezeigten Anordnung lässt sich ein ultrakompakter
APRS-Tracker realisieren. Als Sender auf üblicherweise 144.8 MHz
lassen sich z.B. die für wenig Geld aus China erhältlichen
Transceiver verwenden.
Die Programmierung des verwendeten Prozessors "ATMEGA328P" kann auf
unterschiedliche Weise erfolgen. So kann, wer noch
einen "UNO" oder die Vorgängerversion mit DIL-Stecksockel besitzt,
seinen Prozessor "ATMEGA328P" auch dort via USB und Bootloader flashen
und ihn
danach auf das Boarduino-Board umstecken. Eine andere Möglichkeit
besteht darin, den Baustein temporär um einen "USB zu
Seriell-TTL"-Wandlerbaustein zu erweitern und dabei die
standardmäßige ARDUINO-IDE zu benutzen. Ein hierzu
geeigneter und noch dazu sehr preiswerter USB-Adapterbaustein ist z.B.
der" UM2102" von ELV [11].

Abb.7 "UM2102" USB<>ser. TTL-Adapter
Nicht allgemein bekannt ist, dass pc-intern bei Ausführung
von Kompiliervorgängen über die ARDUINO-IDE zumindest
zeitweilig auch HEX-Files der
jeweiligen Anwendung ablegt werden. Diese lassen sich bei Bedarf aber
"retten" und mithilfe z.B. eines USB-Programmiersticks [z.B.: 12] via
ICP in den
Boarduino-Prozessor laden. Hat man in der ARDUINO-IDE unter
"
Datei", "
Einstellungen" einen Haken bei "
Ausführliche Ausgabe
anzeigen während Kompilierung" gesetzt, so werden am
unteren Rand des Ausführungsfensters auch Pfad und Zielregister
des jeweiligen HEX-Files angezeigt, was den Zugriff natürlich sehr
vereinfacht. Zumindest bei einigen ARDUINO-Versionen scheinen diese
Files allerdings nur bis zum Abschluss der jeweils aktuellen
IDE-Programmausführung zur Verfügung zu stehen. Damit ist es
ratsam, rechtzeitig Kopien zu erstellen und diese an leicht wieder
auffindbarer Stelle abzulegen.
Mathias, DH7AHO hatte mich noch
auf die Seite von SV1OAN hingewiesen (
http://sv1oan.wordpress.com/2013/05/18/never-hide/
) . OM Antonis aus Athen hat sich auch mit dem Trackuino-Projekt
beschäftigt und berichtet dort darüber. Dabei stellt er
auch seine an einigen Stellen geänderte bzw. erweiterte
Softwareversion zur Verfügung.
Abschlussbemerkung
Ein Schwachpunkt des TRACKUINO-Konzeptes scheint mir derzeit noch darin
zu bestehen, dass Aussendungen OHNE vorherige Überprüfung
einer eventuell schon vorhandenen Kanalbelegung erfolgen. Für
Balloneinsätze auf besonderen Frequenzen mag das ohne Belang sein,
aber bei Betrieb auf der APRS-Hauptfrequenz 144.8 MHz ist das ggf.
problematisch. Somit ist zu hoffen, dass die Programmentwickler ( oder
ein anderer engagierter Programierer ) in naher Zukunft noch eine
entsprechende Programmerweiterung präsentieren. Im
praktischen Betrieb sollte man den TRACKUINO-Tracker daher zur Zeit
zumindest nicht in Verbindung mit Sendern betreiben, deren
Sendeleistung deutlich oberhalb von 1W liegt.