Juni 2001 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 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.
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...
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.
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...
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).
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.
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.
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.
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.
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.
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.
![]() 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ß.
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
|
|