Amateurfunkbasteln :: Azimutz-Rotorsteuerung mit 12V-Motor

Amateurfunkbasteln :: Azimuth-Rotorsteuerung

mit 12-Volt Fensterhebermotor und Anbindung an WinOrbit


Features:

Update:


Für kleine Antennen:

Digitale Rotorsteuerung ganz fix

Der Kauf einer kleinen UHF-Antenne ließ rasch den Wunsch nach einem handlichen Rotor aufkommen. Zielvorgabe: Der Rotor soll die Antenne in wenigen Sekunden komplett drehen können. Käufliche Rotoren kamen nicht in Frage, da sie für eine 360-Grad-Drehung etwa eine Minute benötigen. Ein ausgemusterter 12-Volt-Fensterheber-Motor eines vergangenen PKW lag noch in der Bastelecke, hinzu kam etwas Elektronik und ein wenig mechanisches Geschick. Als Resultat steht ein Rotor zur Verfügung, der vom PC über die Maus gesteuert wird und zudem auf die Kommandos des Satellitentrackers WinOrbit hört.

Ansicht der Taktscheibe mit Gabellichtschranke

In der Tat war es nicht die Absicht, eine wasserdichte Konstruktion zu entwerfen, die unter realen Wetterbedingungen auf dem Mast monate- und jahrelang ausharrt und still das Werk verrichtet. Als "antennengeschädigter" OM ist mir die Montage jeglicher Drahtgebilde oberhalb der Dachpfannen untersagt. Als kleiner Trost gehört der Bereich des nicht ausgebauten Spitzdaches zu meinem alleinigen Herrschaftsgebiet und wurde kurzum zur "Antennenzone" deklariert. Daher kommt der Rotor unter dem Dach zum Einsatz und kann es sich dort vor Regen und Wind geschützt "gemütlich" machen. Wie die Abbildungen illustrieren, ist die verwendete mechanische Konstruktion auf diese Belange ausgerichtet. Ein anderes Designziel hatte Vorrang: Geschwindigkeit. Die üblichen Umlaufzeit von etwa 60 Sekunden wird von dieser Konstruktion deutlich unterboten. Die Praxis zeigt, dass die Antenne nach etwa 4 bis 5 Sekunden positioniert ist.

Vorüberlegungen

Ein 12-Volt-Fensterhebermotor weist bei voller Spannung eine zu hohe Geschwindigkeit auf, um eine kleine Yagi oder die vorgesehene Log-Periodic zu drehen. Mit geringerer Spannung jedoch erwies sich die Umlaufgeschwindigkeit als geeignet: Nicht zu schnell, um mit den Massekräften der Antenne(n) in Konflikt zu geraten, andererseits nicht so langsam, dass man lange auf den Rotor warten muss. Die Geschwindigkeit ist mit der Versorgungsspannung proportional, die Drehrichtung des Motors durch Verpolen der Plus- und Minuszuleitung steuerbar. Der Motor lässt sich also beliebig drehen. Doch wie stellt man die genaue Antennenposition ein? Eine Gabellichtschranke samt Taktscheibe [1] dient zur Ermittlung der aktuellen Position. Das kleine Wunderding ist zudem in der Lage, Angaben zur Drehrichtung und zur Geschwindigkeit zu liefern (siehe Kasten). Die Taktscheibe verfügt über eine gedrehte Nabe mit Madenschraubfixierung. Sie weist 120 Teilungen auf. Damit verfügt die Rotorsteuerung über eine Genauigkeit von 3 Grad, sicherlich ausreichend auch für die "spitzeste" Yagi! Was noch fehlt, ist eine Kalibrierung auf die Rotorstellung "Nord". Dies geschieht wahlweise durch einem fest montierten Reed-Kontakt, der von einem auf der Motorachse befestigten Magneten betätigt wird. Alternativ wird ein induktiver Näherungsschalter aus industrieller Fertigung eingesetzt. Letzterer spricht sehr exakt auf viele Metalle an, unter anderen auch auf Aluminium.

Unabhängig davon, für welche Variante der Nord-Positionierung Sie sich entscheidet: Steht die Antenne auf die Richtung Nord, erkennt es der Mikroprozessor an dem nach Masse gezogenen digitalen Eingang.

Induktiver Näherungsschalter, mechanisch stabil auf einen Alu-Winkel montiert

Eine mechanische Schwachstelle der bisherigen Rotorkonstruktion ist zur Zeit der "Mast", der mit der Taktscheibe eine Verlängerung der Motorwelle bildet. Durch die geringe Nabenöffnung der Taktscheibe beträgt der Durchmesser des "Mastes" gerade einmal 4 mm. Langfristig muss hier eine andere Lösung gefunden werden, welche die Taktscheibe vom Mast (= Motorwelle) befreit. Dann ist es möglich, einen dickeren Masten zu wählen, der mit der Motorwelle zentriert verschweisst oder verschraubt wird. Die Taktscheibe kann sich dann auf einer benachbarten, separaten Welle befinden, die über eine Zahnradverbindung mit dem Motor 1:1 gekoppelt ist. Andere Übersetzungen erhöhen oder verringern die Positionierungsgenauigkeit der Anlage. Aber das liegt noch in weiter Ferne.

Taktscheibe auf der Motorachse und Montageposition der Gabellichtschranke

Der Fensterhebermotor stammt aus einem Fiat Uno und weist auf der Stirnseite der Motorwelle ein zentriertes M4-Gewinde auf, das die Montage des dünnen Mastes samt Taktscheibe sehr vereinfacht. Vorteil: Außer einem Gewindeschneider wird kein spezielles Werkzeug benötigt -- kein Schweißen, kein Drehen!

Rotor aus Bits und Bytes

Damit kommen wir zur Betrachtung der Steuerelektronik. Zwei Relais (6 V, Schaltleistung 5A bei 250 V AC) dienen zum Ein- bzw. Ausschalten des Motors und zur Steuerung der Drehrichtung. Zwei weitere Relais können bei Bedarf bestückt werden, etwa, um ein HF-Relais und eine kleine PA zu bedienen. Jedem Relais ist eine Kontroll-LED mitsamt Vorwiderstand zugeordnet. Sie visualisiert den logischen Zustand (an, aus) des Relais und diente während der Programmierung zur Funktionskontrolle. In der Regel müssen Sie die LED und deren Vorwiderstände somit nicht bestücken. Der Klemmverbinder X6 dient zur externen Spannungsversorgung des Motors und entlastet die Steuerplatine von dieser stromintensiven Aufgabe. Daher kann zur Spannungsstabilisierung ein üblicher 78S05 (5 V-Regler, 2 A-Typ) zur Anwendung kommen, der die Versorgung für den Prozessor, die RS232 und den Haltestrom für die Relais liefert. Letztere steuert ein ULN2803 an, ein bekanntes Treiber-IC. Es liefert je Ausgang maximal 500 mA Strom, die hier eingesetzten Relais je Spule bereits mit etwa 100 mA zufrieden.

Auf der Platine sind weiterhin zwei Drucktaster (Schließer) eingezeichnet, die bisher nicht benötigt werden, da die Software inzwischen diese Funktionen übernimmt. Geplant war je ein Taster für die Funktion Reset sowie für die Rotorstellung Nord. Beide Taster und die Pull-Up-Widerstände können auf der Platine unbestückt bleiben.

Die logische Ablaufsteuerung übernimmt ein kleiner Mikroprozessor AT89C2051, der seine Befehle vom PC über eine serielle Schnittstelle nach RS232-Norm erhält. Am anderen Ende der seriellen Leitung kommt ein PC zur Anwendung. Das dazu passende Steuerprogramm taufte ich "My tiny S.N.A.P. Rotor". Es läuft auf Windows 95, 98, ME und 2000. Um Datenverlusten vorzubeugen, kommuniziert es über S.N.A.P mit der Platine.. S.N.A.P ist das "Scalable Node Address Protocol", eine Entwicklung der Firma HTH [2], die es im Internet zur freien Verfügung publiziert hat. S.N.A.P. wurde speziell für Mikroprozessor-Anwendungen konzipiert. Es ist leicht zu implementieren und kommt mit nur acht Seiten Beschreibung im Format DIN-A4 aus.

Übersichtlich: So wird die Platine an die Außenwelt angeschlossen.

Kurz und gut: Ein Datenpaket, ähnlich wie Sie es von Packet Radio kennen, geht vom PC über die RS232 auf die Reise und wird von der Steuerplatine mit ACK bestätigt. Falls ein Übertragungsfehler auftritt, etwa, weil die Prüfsumme nicht stimmt, liefert die Rotorsteuerung ein NACK zurück (No Acknowledge = nicht bestätigt). "My tiny S.N.A.P.-Rotor" wertet dies aus und zeigt das Resultat zwei Sekunden lang in der Statuszeile an. Ist der Befehl erfolgreich der Rotorsteuerung übermittelt, dreht sie den Motor auf die gewünschte Position. Während dieser Zeit, in der das Windows-Programm auf die Bestätigung des Paketes wartet, können Sie keine weiteren Befehle geben -- die Schaltfläche "Transmit" ist deaktiviert. Trifft die Bestätigung nach einigen Sekunden von der Steuerung ein, aktiviert das Programm die "Transmit"-Schaltfläche und ist damit bereit für die nächste Aktion. Nun können Sie sicher sein, dass der Rotor seine Arbeit ordnungsgemäß erledigt hat.

Der Link zu WinOrbit

WinOrbit ist eines der bekannten Berechnungsprogramme für Satellitenbahnen und wird gern zur Steuerung von Azimuth- und Elevationsrotoren eingesetzt. Einen Elevationsrotor haben wir hier nicht, aber den Azimuthrotor können wir durchaus von WinOrbit steuern lassen. Voraussetzung dazu ist ein entsprechender Treiber, der speziell an die jeweilige Steuerung angepasst ist. Stellt man dazu die Elevation der Yagiantenne auf etwa 15 bis 20 Grad ein, sollte in vielen Fällen der Empfang und Betrieb über einige Satelliten möglich sein.

S.N.A.P.-Rotor kommuniziert mit der Steuerplatine via serieller Schnittstelle

Sie starten zuerst WinOrbit und anschließend "My tiny S.N.A.P. Rotor. Dort klicken Sie auf die Schaltfläche "WinOrbit". Ein neues Fenster erscheint, das die aktuellen Satellitendaten des WinOrbit Tracking Servers übernimmt und anzeigt. Ändert sich der Azimuth-Wert, führt S.N.A.P. Rotor die Antenne automatisch nach, sofern die Elevation größer als Null ist.

Wie gelangt S.N.A.P. Rotor an die aktuellen Satellitendaten? Windows stellt für derlei Zwecke Funktionen bereit, die einen dynamischen Datenaustausch zwischen zwei aktiven Prozessen (d.h. Windows-Programmen) ermöglichen. Diese als DDE (Dynamic Data Exchange) bezeichnete Austausch von Informationen wird von WinOrbit zu unserem Vorteil unterstützt. WinOrbit fungiert dazu als DDE-Server und S.N.A.P. Rotor als DDE-Client, dieser holt die aktuellen Daten in Form von Zeichenketten vom Server ab, sobald er seine Daten auffrischt. Der Informationsaustausch geschieht über Bezeichner, die Application Name und Topic Name genannt werden. Die Informationen selbst werden über sogenannte Item Names ausgetauscht, dabei handelt es sich schlicht um Namen für die auszutauschenden Zeichenketten. DDE-Bezeichner ermöglichen vielen Prozesse eine quasi-parallele DDE-Verbindung, ohne das Informationen fehlgeleitet werden.

Der Anwender merkt von alledem kaum etwas, es sei denn, er betrachtet die sich "wie von Geisterhand" aktualisierenden Satellitendaten. Wie oft das geschieht, legt man im WinOrbit-Hauptfenster unter "Res" (Resolution = Auflösung) in Sekunden fest.

Was beim Aufbau zu beachten ist

Nach dem Aufbau der Platine und einem Spannungstest ohne eingesetzte Ics kann ein erster Funktionstest erfolgen. Dazu legen Sie 12 V an die Steuerung an. Sie sollten nun das Klicken von zwei Relais hören. Ist das der Fall, schließen Sie die Platine über ein handelsübliches 9-poliges RS232-Verlängerungskabel (Stecker-Buchse) an die serielle Schnittstelle des PC an. Ändern Sie in der Datei Snap-rotor.ini den Eintrag für die serielle Schnittstelle. Starten Sie S.N.A.P.-Rotor. Verbinden Sie nun das Reed-Relais, die Gabellichtschranke und den Motor mit der Steuerplatine. Nach dem Zuführen der Spannungsversorgung dreht sich der Motor entgegen dem Uhrzeigersinn auf die Null-Grad-Position (Nord), die durch das Reed-Relais bestimmt wird. Der Motor schaltet bei Nord ab und erwartet nun Kommandos vom PC. Über den Schieber wählen Sie eine beliebige Position und betätigen die Schaltfläche "Transmit". Funktioniert alles zufriedenstellen, wird "Transmit" disabled (grau) angezeigt, der Rotor fährt auf die gewünschte Position und zwei Sekunden lang können Sie in der Statuszeile die "Mitteilung angekommen (ACK)" lesen. Danach wird die Schaltfläche "Transmit" wieder aktiviert. Geschieht dies nicht, liegt ein fehler in der Hardware vor. Folgende Voraussetzungen müssen erfüllt sein:

Reed-Relais (schwarz) und Magnet (gelb). Diese locker-flockige Montage sollten Sie allerdings nicht anstreben. Damit es richtig funktioniert, ist eine stabilere Befestigung gefordert.

Bisher blieb eine wichtige Frage unbeantwortet: Wie verhindert S.N.A.P.-Rotor, dass sich das Koaxkabel unkontrolliert um den Mast wickelt? Dazu geht das Programm wie folgt vor: Wie bereits erwähnt, wird der Rotor nach dem Einschalten entgegen dem Uhrzeigersinn auf die Position "Nord" gefahren und intern eine Variable auf Null Grad initialisiert. Von diesem Referenzpunkt aus wird jede gewünschte Position von Null Grad ausgehend im Uhrzeigersinn angefahren. Dabei "zählt" der Mikroprozessor die von der Lichtschranke kommenden Impulse (Pegelwechsel) und "merkt" sich die aktuelle Antennenposition. Steht der Rotor beispielsweise auf 355 Grad und soll er zu 5 Grad positionieren, wird er nicht etwa über die 360 Grad-Marke hinaus auf 365 Grad fahren, obwohl es der weitaus kürzeste Weg wäre. Im Gegenteil, er legt "den Rückwärtsgang" ein, da die Software den längeren Weg entgegen dem Uhrzeigersinn wählt und verhindert so ein Verheddern des Koaxkabels um den Masten. Der längere Weg ist kein entscheidender Nachteil, da sich der Rotor recht schnell dreht und in wenigen Sekunden ist die neue Position erreicht. Doch ein Problem bleibt: Was geschieht, wenn der Rotor auf 360 Grad steht und die Anlage wird stromlos? Nach erneuter Spannungsversorgung würde der Prozessor die Null-Grad-Position sofort erkennen und den Rotor wiederum im Uhrzeigersinn drehen, das heißt jedoch: Das Koaxkabel hat sich einmal um den Mast gewickelt! Um dies zu verhindern, gibt es eine tote Zone, die der Rotor nicht anfahren darf. Sie beginnt etwa bei 350 bis 355 Grad und endet bei 360 Grad. Wie groß dieser Sperrbereich wirklich ist, hängt maßgeblich von der mechanischen Ausführung des Reed-Relais und der Montage des Magneten ab. Es kommt hier darauf an, wie groß der "Fangbereich" ist, den das Reed-Relais abdeckt. Je exakter es schaltet, desto kleiner kann der Sperrbereich sein. Mit einem induktiven Näherungsschalter erreicht man eine präzise Nord-Erkennung. Er verlangt jedoch eine sehr exakte und mechanisch stabile Montage. Hier geht es um jeden Millimeter, der darüber entscheidet, ob der Näherungsschaltet die Nord-Position meldet - oder nicht! Im letzten Fall läuft der Motor munter weiter, bis die Software einen Not-Stopp auslöst! Den Sperrbereich definiert man individuell in der Datei Snap_rotor.ini anhand des Anfangswert in Grad.

Es sei noch angemerkt, dass ein Sperrbereich von 5 bis 7 Grad keine wirkliche Beeinträchtigung des Funkbetriebes darstellt, da der horizontale Öffnungswinkel der Yagis wesentlich größer ist. Dennoch sollte ein möglichst kleiner Sperrbereich angestrebt werden.

Abgesang

Je nach persönlichem Geschick stellt die Mechanik eine mehr oder weniger große Herausforderung dar. Steht das richtige Werkzeug zur Verfügung und das nötige Material bereit, kann die Steuerung bei wetterdichter "Verpackung" samt Antennen durchaus über Dach montiert werden. Spendiert man dazu ein Oberlager, ist der Fensterhebermotor in der Lage, mehrere VHF- oder UHF-Antennen zu drehen. Die intelligente Elektronik und das Windows-Programm machen es möglich. Viel Spaß beim Sägen, Bohren und Löten!

Wie arbeitet die Lichtschranke?

Der im Text sehr vereinfacht als Gabellichtschranke bezeichnete integrierte Schaltktreis GP1A71R stammt von Sharp, welche es als "Optical IC Photointerrupter with Encoder Functions" betitelt. Hinzu kommt die aud das IC abgestimmte Taktscheibe mit 120 Teilungen auf 360 Grad. Das Sharp GP1A71R arbeitet bei 5 V und verfügt über zwei um 90 Grad phasenverschobene TTL-Ausgänge. Auf dem Oszilloskop kann man die Phasenbeziehung der beiden Rechteck-Signale deutlich erkennen (siehe Abbildung). Betrachtet man ein Signal als Takt und setzt das zweite Signal dazu in Beziehung, kann man wie folgt formulieren:

So erkennt der Prozessor die Drehrichtung

Bei der fallenden Flanke des Taktsignales betrachtet man den logischen Zustand der zweiten Kurve. Ist diese "Low", handelt es sich um die Drehrichtung "1", ist der Zustand "High", bedeutet es die Drehrichtung "2". Welche Drehrichtung letztlich "rechts" oder "links" bedeutet, wird anhand eines Experimentes bestimmt.

Das Schaltbild nutzt ausschließlich leicht erhältliche Bauelemente.

Einseitiges Platinenlayout 100x80 mm
Bestückungsplan der Steuerplatine. Wird die Drahtbrücke am Spannungseingang des Motors nicht bestückt, kann die Versorgung des Motors mit abweichendem Massepotenzial erfolgen.

Literatur, Bauteile:

[1} Conrad Elektronik: GP1A70/71R, Bestellnummer 181714-88, ca 20 Euro
[2] High Tech Horizon, www.hth.com, Angelholm, Schweden

Platinen und Bausätze

Für dieses Projekt biete ich einen Bauteileservice an.


Download von Dateien zu diesem Projekt

Und hier geht es zum Download.


Zurück

Copyright Michael Wöste