APRS - TinyTrak
Juni 2001

Die hier vorgestellte Schaltung erlaubt es, mit sehr geringem Aufwand ein APRS-Signal zu erzeugen. Ausgangspunkt für das hier vorgestellte Interface war das TinyTrak von Byonics, bei dem sämtliche Funktionen durch einen Mikrocontroller erledigt werden. Die von einem GPS-Empänger im NMEA-Format ( $GPRMC ) gelieferten Positionsdaten werden dekodiert und daraus ein 1200 Baud Packet Radio-Audiosignal generiert. Dieses kann direkt einem Funkgerät zugeführt werden, ohne daß ein TNC nötig wäre. Aufgrund der einfachen Schaltung ist die Dekodierung von empfangenen APRS-Signalen nicht möglich.

Das APRS-Interface besitzt eine serielle Schnittstelle für den Anschluß des GPS-Empfängers, über die alternativ auch verschiedene Parameter mit einem Computer eingestellt werden können. Die wichtigsten Neuerungen gegenüber dem TinyTrak von Byonics sind neben Stromversorgungsvarianten geschwindigkeitsabhängige Bakenabstände und das Senden von Baken bei größeren Richtungsänderungen.


top next   Schaltung

Das Herz der Schaltung ist ein Microchip PIC16F84-10/P Microcontroller, der auch die benötigten Frequenzen für das Packet Radio-Signal erzeugt. Es wird die 10MHz-Version verwendet, die 4MHz-Version ist zu langsam für die Generierung der Tonfrequenzen.

Die Schaltung entspricht weitgehend der von TinyTrak mit einigen Hardware- und Firmware-Ergänzungen. Die Kenntnis der TinyTrak-Dokumentation ist hilfreich, ich setze sie stillschweigend voraus... Schaltplan

Da ich keinen Keramikschwinger auftreiben konnte, verwende ich einen 10MHz Quarz. Hierfür werden zusätzlich die beiden 22pF Kondensatoren benötigt.

Ein zusätzlicher 100nF-Kondensator vom gemeinsamen Punkt der vier Widerstände des D/A-Wandlers nach Masse verbessert die Kurvenform der Signale ein wenig.

Ein Jumper erlaubt die PTT-Steuerung über den MIC-Anschluß, wie für die meisten Handfunkgeräte erforderlich. Ein installierter Jumper hat bei meinen Mobilgeräten FT-90R und TM-733 nicht gestört, aber man weiß ja nie. Ein 100nF-Kondensator von der Basis des PTT-Transistors nach Masse verhindert Probleme bei HF-Einstrahlung.

An Pin 11 des Microcontrollers kann ein Taster nach Masse angeschlossen werden, der ein sofortiges Aussenden einer Bake gestattet.

Die von mir erweiterte Firmware ermöglicht nun neben den festen Bakenraten auch eine intelligente Bakensteuerung. Hierbei wird die Bakenrate in Abhängigkeit von der gefahrenen Geschwindigkeit variiert, wobei zwischen zwei verschiedenen Tabellen ausgewählt werden kann.

maximale
Geschwindigkeit
< 4
km/h
> 4
km/h
> 11
km/h
> 24
km/h
> 50
km/h
> 100
km/h
> 150
km/h
S2 an:  Bake alle 25 min 4 min 120 sec 60 sec 30 sec 20 sec 10 sec
S2 aus: Bake alle 30 min 5 min 160 sec 80 sec 40 sec 30 sec 20 sec

Maßgeblich ist dabei der Maximalwert der Geschwindigkeit seit Aussendung der letzten Bake.

Für eine bessere Genauigkeit der Tracks an Straßenecken wird eine Bake auch bei größeren Richtungsänderungen gesendet, wenn die Geschwindigkeit größer als 15 km/h ist. Hierfür muß die aktuelle Richtung um mehr als 40 Grad (60° wenn S2 aus) von der Fahrtrichtung bei Aussendung der letzten Bake abweichen. Die Bake wird verzögert, wenn seit der letzten Bake weniger als 10 sec vergangen sind.

Gelegentlich kommt die Frage, ob auch die Höhe übertragen werden könnte. Im Prinzip ja. Der ausgewertete $GPRMC Datensatz enthält keine Höhe, es müßten also noch andere Datensätze ausgewertet werden. Als mir vor einiger Zeit die Variablen ausgingen, habe ich dies durch geschickte Mehrfachbenutzung entschärfen können, aber inzwischen sind auch nur noch 21 Bytes an Programmspeicher frei, das wird etwas eng. Sollte ich mal zu viel Zeit haben... könnte ich das ja noch mal überdenken.

Zwischenzeitlich hat Byonics die Übermittlung der Höhe für ihre TinyTraks hinzugefügt, damit dürfte der Speicher dann aber ebenso voll sein. Kürzlich war ich Beta-Tester für ein neues TinyTrak-II mit einem Mikrocontroller mit mehr Speicher. Neben der Höhe beherrscht das neue TinyTrak-II nun auch die intelligente Bakenrate und Baken an der Ecke, ähnlich wie ich es bei meiner Version implementiert hatte. Der Austausch-Chip müßte nach der Dayton Hamvention 2001 von Byonics zu erhalten sein. Also, wer nicht selber Hand anlegen will...


top next   Stromversorgung

Um den Stromverbrauch zu senken, kommt statt des 78L05 ein LP2950 von National Semiconductor zum Einsatz. Es handelt sich um einen Low Power, Low Dropout Spannungsregler. Auf die Power-LED habe ich verzichtet, bei leuchtender GPS-LED beträgt der Stromverbrauch etwa 5mA.

Entkoppelt über ein paar Dioden kann die Schaltung aus den Handshake-Leitungen der seriellen Schnittstelle mit Strom versorgt werden. Statt der 1N4148 könnten auch L103B Schottky-Dioden mit kleinerer Durchlaßspannung verwendet werden. Beim Programmieren am PC ist somit keine externe Spannung notwendig. Die Versorgung kann auch vom Funkgerät aus erfolgen, bei meinem Yaesu FT-90R liegen z.B. +9V am 6-poligen Mikrofonstecker an. Falls notwendig, kann eine externe Spannungsquelle zusätzlich über die GPS-Steckverbindung angeschlossen werden, wie weiter unten beschrieben.

Bei Betrieb im Auto muß gegebenenfalls eine Diode in die GND-Leitung direkt an der D-Sub-Buchse eingefügt werden. Hierdurch vermeidet man eine Groundschleife über die Mikrofonleitung, die zu Verzerrungen des Audiosignals durch Überlagerung mit Lichtmaschinenstörungen führen kann. Bei den Logikpegeln vom GPS spielen solche Störungen dagegen keine Rolle.

Zum Schutz des Microcontrollers an den Anschlüssen für die serielle Schnittstelle wurde in die Sendeleitung ein 330R Widerstand eingefügt. In Verbindung mit dem 10k Widerstand kappt eine Schottky-Diode auf der Empfangsleitung negative Spannungen und eine 5.1V Zenerdiode begrenzt die Eingangsspannung auf +5V.

Bei einer weiteren Schaltung, die besonders für Portabelbetrieb geeignet sein sollte, erzeugt ein DC/DC-Konverter 3.3V aus einer einzelnen Mignonzelle. Der Mikrocontroller arbeitet auch bei 3.3V noch einwandfrei, braucht aber deutlich weniger Strom als bei 5V. Zum Schutz des seriellen Eingangs wird nun eine 3V-Zenerdiode (statt der 5.1V) verwendet und die Vorwiderstände für die LEDs wurden verkleinert (rot 820R, grün 680R).
DC/DC-Wandler DC/DC-Wandler
Der DC/DC-Wandler wurde mit einem Maxim MAX1642 aufgebaut. Mit einem 1800mAh NiMH-Akku läuft diese Schaltung etwa 150 Stunden lang.


top next   Carrier-Detect

Die Carrier-Detect-Schaltung von TinyTrak konnte nicht zwischen Signal und Rauschen unterscheiden. Da beim Datenanschluß mancher Transceiver aber der Squelch außer Betrieb ist, kann die Originalschaltung (10k-Trimmer zwischen "A" und "B") nicht immer eingesetz werden. Läßt man diesen Teil ganz weg, so wird auch gesendet, wenn der Kanal durch eine andere Station gerade belegt ist. Besonders bei vielen APRS-Stationen auf dem Band ist das natürlich lästig. Hat man dagegen eine funktionierende Squelch-Schaltung, reicht die einfachere Variante mit dem Trimmpoti aus.

Die einfache Schaltung arbeitet relativ problemlos, wenn man den eingebauten Squelch des Funkgeräts und den Lautsprecherausgang benutzt. Man muß dann aber immer auf die Einstellung von Squelch und Lautstärke achten. Bei Verwenden des Datenanschlußes funktionierte bei mir auch das Kenwood TM-733 ohne XR2211, während der Yaesu FT-90R die aufwendigere Schaltung benötigt.

Mit dem Exar XR2211 kann eine echte Carrier-Detect-Schaltung aufgebaut werden, die auch Signal und Rauschen unterscheiden kann.
Carrier Detect R0 und C0 bestimmen die Mittenfrequenz, R1 die Bandbreite, RD und CD legen die Zeitkonstante des Lock Detect Filters fest. R0 lag bei mir im Bereich zwischen 15k und 17k.

Die Schaltung soll ansprechen, wenn die Eingangsfrequenz zwischen 1200 Hz und 2200 Hz liegt. Die Dimensionierung ist etwas kritisch, am besten das Datenblatt und Application Note TAN-008 hinzuziehen um mit den Werten zu experimentieren.

Die Schaltung wird an den Punkten "A" und "B" des obigen Schaltplans eingefügt.

Mit diesem Schaltungsteil steigt der Stromverbrauch auf etwa 10mA, eigentlich etwas viel für die Gewinnung der Versorgungsspannung aus der seriellen Schnittstelle. Da bei der TinyTrak-Programmiersoftware auch nur eine der Handshake-Leitungen (RTS) gesetzt wird, bricht die Spannung während des Programmierens auf 3,7V zusammen. Es funktioniert aber trotzdem! Anderenfalls (z.B. bei Notebooks) müßte auch während des Programmierens eine externe Spannungsquelle angeschlossen werden.


top next   Aufbau

Für nicht so Versierte zunächst der Hinweis, daß das originale TinyTrak in den USA als Bausatz mit programmiertem Microcontroller angeboten wird. Auf der Interradio 2000 in Hannover wurde es am Stand von WiMo verkauft, sie haben es wohl inzwischen auch ins Programm aufgenommen.
APRS-Interface Die Schaltung ist recht kompakt auf einer Lochrasterplatine aufgebaut und findet in einem kleinen Kunststoffgehäuse Platz.

Für den Funkgeräteanschluß benutze ich eine 6-polige Western-Buchse, wie sie auch in meinem FT-90R für das Mikrofon verwendet wird.

Wenn statt einer IC-Fassung zwei Kontaktstreifen verwendet werden, paßt ein Low-Profile-Quarz unter den Microcontroller.

Alle anderen Bauteile befinden sich auf der Unterseite der Platine, meist in SMD-Technik. Verdrahtung
APRS fürs Auto Eine weitere Schaltung (ohne XR2211) wurde hinter eine Schalterabdeckung meines Autos gebaut und findet nun in der Mittelkonsole Platz.

Inzwischen wurde auch hier eine Carrier-Detect-Schaltung mit XR2211 auf dem verbliebenen freien Platz nachgerüstet, um so meinen Yaesu FT-90R auch im Auto verwenden zu können.

Die beiden winzigen SMD-Schalter dienen zur Einstellung der Betriebsart, mit dem Taster kann auch manuell eine Bake ausgesendet werden. Rückseite
APRS für Portabel-Betrieb Hier erzeugt ein DC/DC Konverter 3.3V aus einer einzelnen Zelle. Mit einem 1800mAh NiMH-Akku läuft diese Schaltung etwa 150 Stunden lang, also bestens geeignet für Portabel-Betrieb.



top next   Mikrocontroller-Programmierung

Ein neuer Microcontroller muß zunächst mit passender Firmware programmiert werden, d. h. es muß ein Programm geladen werden, das die GPS-Daten auswertet und APRS-Signale erzeugt. Hinweise zum Bau von Programmiergeräten finden sich auf meiner Microcontroller Seite und hier gibt es die Firmware V1.6. Für wenig Geld werden Microcontroller aber auch durch die Firma Segor in Berlin programmiert. Falls es bei Selbstbau-Flashern mit Windows-Software Probleme beim Einlesen der HEX-Datei gibt, hilft gegebenenfalls Öffnen und Abspeichern mit einem Texteditor.


top next   Abgleich

Der Mikrofonpegel muß passend zum jeweiligen Funkgerät eingestellt werden, der PTT-Jumper wird bei Handgeräten gesteckt (PTT über MIC-Eingang).

Zur Überprüfung der Modulation bzw. der Frequenzlage kann die Schaltung verschiedene Dauertöne erzeugen. Die Steuerung kann über mein Konfigurationsprogramm erfolgen oder durch Eingabe spezieller Befehle mit Hilfe eines Terminalprogramms (4800 baud, 8N1). Bei letzterem beendet ein beliebiges weiteres Zeichen den Ton und die Schaltung wird neu initialisiert.

  • ESC T 0  erzeugt einen 1200 Hz Ton
  • ESC T 1  erzeugt einen 2200 Hz Ton
  • ESC T M erzeugt einen gemischten 1200/2200 Hz Ton

Für den Abgleich der XR2211 Carrier-Detect-Schaltung ist ein Signalgenerator von Vorteil. Die Mittenfrequenz sollte mit dem Trimmpoti so eingestellt werden, daß die Schaltung etwa im Bereich von 1150 Hz bis 2250 Hz anspricht. Falls die Bandbreite nicht stimmt, muß R1 geändert werden (bei mir 47k || 330k).

Bei der einfacheren Variante wird das 10k-Trimmpoti so eingestellt, daß die Carrier-LED gerade noch nicht leuchtet. Beim Funkgerät müssen der Squelch- und der Lautstärkeregler eingestellt werden.


top next   Einstellungen

Zur Einstellung der Parameter (Rufzeichen, Path, etc.) unter Linux dient ein Perl/Tk Skript. Es zeigt auch das jeweils gewählte Symbol an und unterstützt die Erzeugung der Testfrequenzen. Wer unter Windows nicht mit Perl, Tk und den benötigten Modulen experimentieren möchte, kann auf eine ältere Version des original Setup-Programm TinyTrakConfig.exe von Byonics zurückgreifen.

Screenshot

Wenn alles funktioniert, sollte Version den Versionstext des angeschlossenen TinyTraks anzeigen, bei Versorgung aus der seriellen Schnittstelle spätestens beim zweiten Mal. Die feste Bakenrate kann in Schritten von 10 sec eingestellt werden, das TxDelay mit einer Auflösung von 6,6ms.

Mit dem Parameter Calibration kann die Frequenzlage in geringem Umfang korrigiert werden. Die Sollfrequenzen für Bell 202 sind 1200 und 2200 Hz, systembedingt ist der Abstand der beiden erzeugten Töne etwas zu groß.

Calibration 36 40 50 58 60 63 70 80 90
Frequenz 1 [Hz] 1199 1197 1191 1187 1186 1184 1180 1175 1169
Frequenz 2 [Hz] 2249 2244 2234 2225 2223 2220 2212 2202 2192

Hier ist der Einfluß des Kalibrationsfaktors auf die gemessenen Frequenzen dargestellt. Für einen möglichst symmetrischen prozentualen Fehler habe ich einen Wert von 58 gewählt.

Mit den beiden Schaltern kann die Betriebsart eingetellt werden. Ist Schalter S1 offen, wird eine feste Bakenrate verwendet, bei geschlossenem Schalter wird die intelligente Bakensteuerung eingeschaltet. Hierbei wird die Aussendung von Baken von der Geschwindigkeit und von Richtungsänderungen bestimmt.

Bei fester Bakenrate entscheidet Schalter S2, ob das primäre (S2 an) oder das sekundäre Timing (S2 aus) zum Einsatz kommt. Bei intelligenter Bakensteuerung wird dagegen bei gechlossenem Schalter S2 häufiger gesendet (obere Zeile in der Geschwindigkeitstabelle) und Richtungsänderungen größer 40 Grad erzeugen eine Bake, ansonsten wird seltener gesendet (untere Zeile) und Richtungsänderungen müssen größer als 60 Grad sein. S2 legt immer auch das TxDelay gemäß dem primären oder sekundären Timing fest.

Die Carrier-Detect-LED an Pin 17 leuchtet, wenn eine andere Station gerade sendet. Die GPS-LED an Pin 18 leuchtet bei gültigen Daten vom GPS-Empfänger und blinkt bei GPS-Daten ohne gültige Position. Die PTT-LED leuchtet, wenn der Sender getastet wird. Während der Initialisierung nach dem Anlegen der Versorgungsspannung blinken die gelbe und grüne LED dreimal, gefolgt von der Aussendung einer Bake. Automatische Baken werden jedoch nur gesendet, wenn gültige NMEA-Daten vom GPS anliegen.


top  Anschluß

Das Kabel für den GPS-Empfänger hat bei mir eine DB-09-Buchse und paßt damit direkt an den Computer. Über das Interfacekabel erfolgt auch die Stromversorgung des GPS, über einen Vorwiderstand von 220R bis 330R wird über Pin 8 auch die APRS-Schaltung versorgt.

GPS Kabel
Adapter Da in meinem Fall auch die APRS-Schaltung mit einer DB-09-Buchse zum direkten Anschluß an den Computer vorgesehen wurde, muß für den Anschluß des GPS ein Adapterkabel (Nullmodem) verwendet werden.

Line
Document Revision:   04 Jan 2009
(c) 2009 Rolf Bleher
e-mail
Valid HTML 4.01! English Prev Home Next