Projektseite 'Steuerung für einfachen Antennenrotor' |
Rotor billig
Meine Antennenanlage besteht schon seit einigen Jahren aus einer 6-Element-Yagi
für UKW sowie einem Rundstrahler. Dieses Gebilde wird von einem
einfachen Antennenrotor gedreht, wie er z.B. von Conrad für kleinere
UKW-Rundfunkantennen vertrieben wird [1]. Zwei solche Rotoren habe ich in
recht gutem Zustand (Unterdacheinbau) bei eBay ersteigert (Abb. zeigt ein
schlecht erhaltenes Exemplar).
|
Anforderungen Übliche, höherpreisige Rotorsteuergeräte haben
Für das zu bauende Gerät gibt es folgende Anforderungen, hier nach meinen Prioritäten geordnet:
|
Grundaufbau... Die Steuerung läßt sich grob in folgende Funktionsbaugruppen bzw. funktionelle Teile untergliedern:
Es frägt sich, ob es notwendig ist, die Aufgabenstellung mit mehreren Mikro-Controllern (u-Controller) zu lösen. Angesichts der (späteren) Code-Größe, lässt sich alles sicherlich in einem einzigen u-Controller unterbringen, nur die Hardware wird dann etwas ausgefeilter sein müssen. Auch von der Programmentwicklung her ist das Entwickeln an 2 'Enden' etwas anspruchsvoller, dafür sind die Einzelprogramme an sich weniger komplex und einfacher zu überschauen. |
'Positionsanzeige' und Bedienung
Auf einer Lochrasterplatine sind einige Digi-Taster (Reichelt DTL 2 bzw.
DIT 1) sowie Leuchtdioden untergebracht. Mit den Tastern lässt sich
Rechts- und Linkslauf wählen,
sowie die Preset-Funktion ansprechen. 2 jeweils 3-stellige
7-Segmentanzeigen mit jeweils unterschiedlichen Farben dienen zur
Anzeige der aktuellen Antennenrichtung bzw. des Preset-Wertes. |
Auswertung der Rotor-Position
Üblicherweise wird das mit einem Poti gemacht, das mit der Drehachse
des Rotors verbunden ist. Es ist als Spannungsteiler geschaltet, die
jeweilige Spannung wird dann als Rükmeldung des gegenwärtigen
Drehwinkels interpretiert wird. In dieser Weise könnte man auch den
vorliegenden Rotor erweitern, siehe [4] ...
In meinem Fall habe ich mich für die Kombination 3D-Magnetfeldsensor und 3D-Accelerometer LSM303DLH entschieden, die von [5] vertrieben wird, Datenblätter etc. siehe [6],[7]. Dieses, auf einem sog. Breakout-Board montierte Modul, läßt sich via SPI oder I2C (TWI) ansprechen, da ja der Sensor sich bei der Antenne und damit vom Steuergerät abgesetzt befinden soll, müssen die Steuersignale irgendwie umgesetzt werden. Angeregt von einem Artikel in der cq/dl [8], nehme ich hier RS-485 Signale. Ein mit dem Modul verbundener u-Controller liest es periodisch aus, rechnet die Werte um (u.a. Lagekompensation mit Hilfe des 3D-Accelerometers) und schickt sie dann im NMEA-Protokoll (ähnlich einem GPS-Modul) periodisch über die serielle Schnittstelle mit RS-485 Signalpegeln zum Steuergerät. Die Ansteuerung bzw. Auslese des LSM303DLH, welcher geschützt am Boom der Antenne montiert ist, erfolgt durch einen eigenen u-Controller. Dieser initialisiert den DSM303DLH und frägt dann periodisch seine Sensoren ab. Die erhaltenen Werte werden über die serielle Schnittstelle wieder ausgegeben, die gesendete Zeichenkette hat Ähnlichkeit mit den bei GPS-Geräten verwendeten NMEA-Datenformat. Ein geeigneter Pegelkonverter (z.B. MAX 485) setzt das TTL-Ausgangssignal des u-Controller-UARTs in RS-485 kompatible Signale um. Das Programm für diese Aufgabe, ist weniger als 2 kByte groß, es liesse sich bereits in einen ATtiny2313 unterbringen. Jenem fehlt allerdings die TWI-Schnittstelle, so daß es doch ein ATmega48 oder ATmega8/88 sein muß. Die Applikationsschrift AN 3192 [7] beschreibt, wie man mittels der beiden Sensoren des LSM303DLH einen neigungs-kompensierten Kompass (wichtig für Handheld-Geräte) aufbaut. Unter der Annahme, daß die Antenne sich in einer horizontalen Ebene dreht, ist das eigentlich unnötig, es wird also erst mal darauf verzichtet. Ein weiterer Aspekt ist, daß die dazu erforderlichen Fliesskommarechnungen mehr als 8 kByte Programmspeicher benötigen, ein ATmega48 oder ATmega8/88 damit also überfordert wäre. Anmerkung: Die Entwicklung der Sensorik, auch angetrieben von der Entwicklung der Smartphones, verläuft so rasant, so daß leider davon auszugehen ist, daß jeder andere hier als Alternative aufgeführte Sensor schon bald nicht mehr erhältlich sein wird.
|
RS-485 und Bootloader Da die RS-485-Schnittstelle in ihrer Standardversion eine halb-duplex arbeitende Schnittstelle ist, muss man auf Protokollebene in geeigneter Weise erkennen, ob eine Umschaltung der Übertragungsrichtung notwendig ist, dazu bedarf es eines weiteren Steuerausgangs am jeweiligen u-Controller. Alternativ wäre eine Ansteuerung mit der Vollduplex-Version von RS-485 oder mit RS-422 bzw. RS-232 (aber max. Leitungslänge ist hier eingeschränkt) denkbar... Bei der abgesetzten Montage des Sensor-u-Controllers ist auch ein nachträgliches Update der Firmware nur recht schwierig möglich, d.h. in diesem Fall muss man einen Firmware-Update über einen Bootloader durchfühen, der natürlich installiert sein muss und auch die Besonderheiten der RS-485-Ansteuerung beachten muss. Um in den Sensor-u-Controller eine neue Firmware einzuspielen, benötigt man (nur in der endgültigen Montageposition) noch einen geeigneten RS-232-zu-RS-485-Umsetzer, der ist eigentlich trivial, das RTS-Signal nimmt dann die Umschaltung der Senderichtung in der 'Bodenstation' vor. Von FTDI gibt es USB-Serial-to-RS-485-Convertor [], alternativ reicht auch eine Schaltung z.B. nach DL1DMW [].
|
Rotoransteuerung Zur Ansteuerung des Rotors (Motors) gibt es zwei 2-polige Relais mit Umschaltkontakten (Wechsler). Eines wird für die Rechtsdrehung geschaltet (CW), das andere für die Linksdrehung (CCW). Damit ist es möglich, die Umpolung für Gleichstrommotoren zu bewerkstelligen als auch die beiden Wicklungen eines Wechselstrommotores (des vorliegenden Rotors) geeignet anzusteuern, um eine Umkehrung der Drehrichtung zu erreichen. Ein weiteres Relais auf der gleichen Lochrasterplatine mit einem Umschaltkontakt ist für eine evtl. vorhandene Bremse vorgesehen. Auf einer kleinen Zusatzplatine befindet sich ein weiteres Relais, das die Stromversorgung des Rotors während der Drehung einschaltet. Die Schaltlogik des alten Rotorsteuergerätes hat so etwas im Prinzip auch implementiert.Nachfolgende Skizze zeigt, wie man den AC-Rotor geeignet mit den beiden Relais zu verbinden hat:
|
Zentrale Steuerungsplatine Der zur zentralen Steuerung eingesetzte u-Controller muss zum einen die Signale von den Tastern, der Richtungsanzeige und (optional) von einem Steuercomputer (CAT) auswerten und zum anderen, die Signale für die Anzeige (TWI) und zur Ansteuerung der Relais bilden. Falls das Gerät in Zukunft auch noch via Netzwerk ansprechbar sein soll, muss der Netzwerkchip auch noch via SPI angesprochen werden. Es werden also eine grössere Anzahl von I/O-Pins benöigt, ein u-Controller in der Größe mindestens eines ATmega32 ist also vorteilhaft. Da außrdem 2 serielle Schnittstellen (UART) benöigt werden, muss es mindestens ein ATmega644P (oder 1284P) sein, der davon 2 besitzt (alternativ könnte man den 2. UART in Software implementieren oder z.B. einen I2C-UART einsetzen).
|
Gehäuse Als Gehäuse wurden die Überreste des Gehäuses einer Turbo- Pumpensteuerung aus dem Schrott verwendet. Die Seitenteile bestehen aus Aluminium-Profilen, an deren Ende die Front- bzw. Rückwand angeschraubt werden. In die Nuten des Alu-Profils lassen sich M4-Muttern verdrehsicher einschieben an welchen man dann die inneren Aufbauten befestigen kann. Front- und Rückwand sind natürlich noch zu erstellen und dürfen auch andere Maße haben, als die Originale. Ober- und Unterseite waren nicht mehr vorhanden, hier sollen Lochraster-Alu-Bleche aus dem Baumarkt zu Einsatz kommen, die lassen sich ebenso in Nuten der Seitenteile einschieben.
|
Software Dadurch, daß die Aufgaben der Sensor-Auswertung und die Anzeige der aktuellen und der Preset-Position auf eigene u-Controller ausgelagert wurde, gestaltet sich die Software für die Steuerung um einiges einfacher (Sicher wären die Aufgaben auch von einem einzelnen u-Controller zu erledigen gewesen sein). Grob lässt sich dessen Software in folgende Bestandteile unterteilen:
Im Display zur Winkelanzeige kommt, wie bereits erwähnt, eine modifizierte Software von U.Radig zur Verwendung. Die neue Software gliedert sich grob in folgende Teile:
|
Projektstatus bzw. -Fortschritt
|
Nachlese
|
Referenzen
|