EME antennas control system

 

FOREWORDS

This last August 2006, I visited Mira OK1YK in Southern Bohemia . Out of our talks, it a pp eared that we were using the same equipment for our EME antennas, and he showed interest in my tracking system. He also mentioned that many stations were using it in the Czech Republic , where the AlphaSpid azimuthal rotor is widely used. My friend Jan OK1JVG offered to translate this article in Czech language. Let him be thanked for that.

Both F6BKI and myself had decided to build an EME station on 2 meters .

One of my tasks was to set up an antenna control system capable of ensuring manual tracking of the antennas as well as automatic moon tracking (or any other celestial object) out of commands received on a RS232 line with a standardized protocol.

As soon as the antennas become relatively imposing (in our case, 4 x 3 WL, i.e. 6.50m long boom, 4 meters apart from each other) the elevation faces a problem with rotor power, and the commercial solutions at reasonable price are not satisfactory .

The proposed solution uses a satellite parabola actuator with a 18 inch- course, can be found at reasonable prices around 50 Euros.

On the picture below, you can see the whole system. The two PVC tubes that you can see on both sides of tilt-over chassis hold the preamplifiers, the coupling system as well as the antenna switching for each polarization.

 

 

For azimuth orientation, we are using a RAK type rotor from AlphaSpid, available in France from RF-Ham (http://www.rfham.com).

Once done with deciding and making the mechanical solution, we still had to take care of the subjection in position.

As for the power command, both rotors are using continuous current with low voltage, where the rotating direction reverses with the polarity.

The functioning threshold is very wide, since the actuator uses 36 volts, but the couple remains sufficient at 15 volts in our case.

The azimuth motor uses between 12 to 24 volts.

Therefore, the same voltage is possible for the two rotors.

In order to recopy the positions and the antenna subjection, several solutions may be chosen:

Recopy by potentiometers coupled to the rotation axes by various mechanical systems,

Pendular potentiometric systems for elevation,

Relative or absolute sensors, US DIGITAL type, mechanically coupled to the rotation axes,

ETC

The potentiometric recopy systems require a later analogic/numerical conversion in order to ensure subjection.

All these sensors require very precise and more or less complex mechanical coupling, since they are subject to bad weather. They demand protection and very careful manufacturing in order to be reliable. They are the source for problems in the long term.

In our example, and for a 144Mhz antenna, a one-degree precision being more than enough, I have used a much more simple system that uses the pulses given by the two rotors.

Both the actuator and the AlfaSpid rotor are equi pp ed with an magnetic captor

The AlfaSpid delivers one pulse per degree, i.e. 360 impulses per round.

The 18-inch actuator delivers about 1500 pulses for the whole 50 cm of its course.

In the case of an azimuth rotor, there is proportionality between impulses and angular rotation. It is not the case with the actuator, because of the introduction of a rod to allow the change from linear movement to circular movement. Therefore, an angular correction will be necessary during the impulse count of the actuator.

In this case, the sensors being integrated with the rotors, reliability of the recopy in time can be excellent.

Nevertheless, counting or decounting of the impulses gives a lot of problems in its treatment to avoid de-synchronization of the display.

An initial retiming will be set in the microprogram of the controller

Controler schematic

I have used a PIC6F877A type microcontroller to ensure: 2x20 character LCD display RS232 link for automatic tracking Reading of the manual control buttons Command of the rotors power interface

Schematic specials

The E port (JP3) has 3 push-buttons, each with double function:

Ensure configuration and setting of the controller,

Command memorized positions, like return to zero degree, or the parking position

These actions are achieved through fugitive push-buttons connected onto JP3 .

The D port is in charge of LCD display administration.

The C port administers the RS232 communication on its C6 and C7 bits

It receives instructions from the rotor manual command buttons through C0, C3, C4 and C5.

The output C2 allows control of the azimuth rotor speed trough the Q7 transistor, which command a relay.

It short-circuits a 6.8 ohms resistor through a NC contact (Normally Closed), in serial in the powering of the azimuth rotor. The micro-program calculates the error angle and closes the relay when it goes over 8 degrees, this action include the resistance in the motor power-supply. Under these conditions, starting and sto pp ing is done at a reduces speed, which avoids à-coups on the rotor and the antennas.

The B port is used to program in situ (ISP), as well as for debugging the program (RB3, 6 and 7)

The 4 and 5 bits respectively receive the site and azimuth impulses. These impulses are previously filtered and reshaped by two Schmitt triggers 74LS14. The 0 bit is used to detect the switching off of the controller, so as to save the position context.

A 0.1 farad saving capacitor allows to maintain the microcontroller active after switch off, to allow it to finish the process of counters saving.

The A port is dedicated to the power commands of the rotors through transistors and relays.

The 74HCT14 relay is a Schmitt trigger that allows reshaping of the impulses coming from the rotors.

The LCD display is Hitachi HD44780 compatible, with 2 lines of 20 characters each, 14-in line pin plug.

The C14 capacitor is 0.1 farad so as to maintain the microcontroller active a few seconds after switch off. This switching off is detected by a microcontroller interrup (RBO, POWER FAIL) to allow flash memory saving of the positioning and a program stop. This interruption is set as soon as the regulator input voltage goes under 9 volts.

The power interface

The schematic not requires little explanation.

The relays can of SPST type

The rotor power must give two currents of about +18V and -18V, but its value is not critical but depends on the length of the connecting cable and its resistance. A half wave rectifier is sufficient. A 2 x 15V, 45 AC can be used.

The program

It is written, in C language for PIC on the PCW development platform.

.H

.HEX

Principle of operation

In order to know if the impulses received from a rotor must be counted or discounted, it is necessary to know which side the rotor is turning. The microcontroller gives the command to the rotor.

It opens a “temporary window” for counting or discounting the impulses according to the rotating side of that command. This counting window is closed a few moments after this command is gone, to take into account the antenna slowness, which might send an extra impulse.

The impulses received on the B4 and B5 pins start an interrupt sub-program.

The rotor may stop in the middle of an impulse, so the microcontroller actually counts or discounts each transition, up or down.

When the current drops to zero, it also sends a priority stop instruction which stops the rotor if the rotor are moving, and saves the elevation and azimuth counters values in EEPROM, so that the proper values are displayed when the controller is powered again.

The reception of the characters on the RS232 line is treated by interruption routine.

During rotation, the tracking commands are not treated so as not to disturb the impulse counting.

In the present version of the program, the controller will only react to a command received on the RS232 line if the angle difference is above 2 degrees.

If tracking commands are received on the RS232 line, the manual commands are inhibited, and a 5-second delay is required without receiving any valid command before being able to control the manual commands.

The value of the impulses counters allows to determine the antennas position.

It is easy for the azimuth since the rotor sends 360 impulses per round, that is 720 transitions. Divinding the counter value by 2 gives the position

Elevation table

For elevation, we must compare the counter value with a pre-set evaluation table. This table has 19 points , 5 degrees apart between 0 and 90 degrees. The impulse counter corresponding value is saved for each of these positions. The program will interpolate in order to calculate intermediary points.

The setup of this table will mainly depend upon the jack mechanical construction. The elevation calibration can only be done once the final mechanical construction is finished. A "digital spirit level" or electronic inclinometer is a great help for that purpose.

If the elevation mechanism you are using does not cover 90 degrees, set up identical values on the last table positions.

An option allows re-reading the 19 table points. You can draw the counter progressive curve, and, if need be, rectify the irregularities if you detect discrepancies on each side of this curve.

These discrepancies come from small errors of a few impulses when positioned on certain points.

You can then re-do the calibration procedure based on the exact values of the theoretical curve.

For use mainly for EME, I have chosen NORTH as azimuth starting point.

Use

Upon powering, the display will look like this :

    F1TE ROTOR   Req

AZ 123° EL  16°* Pos

The first line displays the positioning request.

The second line displays the actual rotor position.

The star ahead of "POS" indicates that the controller is ready to receive positioning requests on the RS232. This star disa pp ear when the rotors are turning.

The positioning requests come from 3 different sources :

The manual buttons

The pre-positioning buttons saved as Zero and Park

The RS232 communication line (9600 bd) or tracking.

 

Manual positioning

The manual positioning keys allow to display a position to reach for both elevation and azimuth on the first line. Once the desired position is displayed on this first line, the rotor(s) will start moving after a one-second delay which allows you to correct the value if necessary.

It is possible to stop a rotation going on by pressing one of the buttons corresponding to the movement to be sto pp ed. The corresponding command rotor is sto pp ed immediately, the position is re-calculated and displayed. The rotation of the other rotor is only delayed during the use of that command key

Memorized positions.

These 3 buttons are called Zero, Park and Memo, and respectively agree with the RE0, RE2 and RE1 bits of the microcontroller.

The Zero push-button is a zero degree position in both elevation and azimuth.

The Park push-button is the parking position. In order to save the position defined as parking, both "Memo" and "Park" buttons must be pushed simultaneously. This will save the present position as parking position.

Tracking

The positioning commands are received on the RS232 in Nova, EasyCom or GS232 format.

Not all GS232 commands are implemented, only are those "Waaaeee" and "Maaa".

The microprogram analyses the received chain characters to calculate the azimuth and elevation values.

The rotors will start moving only if the values received differ from more than 2 degrees.

Avoid power cuts during rotation, as this may give way to counters de-synchronization

Configuration.

The 3 pre-positioning buttons, when pushed during switch on, are ready to enter in one of the three configuration processes.

The Zero button

It is the position set on the RE2 bit of the microcontroller.

It allows the elevation and azimuth positioning to their respective reference position. For example, when the rotor can be oriented to a known topographic mark.

For the azimuth, a reference value is required

REF AZIMUT     0

THEN PUSH ‘PARK'

By default, a zero position is proposed, but it can be modified with the azimuth position button.

Once the value chosen for azimuth reference point, push the middle button "Park".

Then a message will ask to position the azimuth to the value chosen as reference.

SET AZIMUT TO     0

THEN PUSH ‘PARK'

Use the azimuth positioning button to bring the rotor to the reference position. Validate through the "Park" button to set the azimuth synchronization.

The following message asks to position the elevation to the zero degree position.

SET ELEV. TO ZERO

THEN PUSH ‘PARK'

Set the position with the elevation button and validate with the "Park" button.

At this point, the rotors are set to their reference positions.

This azimuth reference position may be different from the mechanical abutment of the azimuth rotor. This operation only consists in the synchronization of the display with the actual antenna position : it may be changed at any time is a discrepancy is noticed.

The "Park" button

It is set for the RE0 bit.

When switching on, this button allows to read the elevation setting table.

It has 19 positions from 0 to 90 degrees, by increments of 5 degrees.

The "Zero" button allows to display the 19 values one after another.

The table will memorize the corresponding number of impulses for each of these 19 positions. For intermediate positions, the controller will interpolate.

 

The "Memo" button

It is set for the RE1 bit.

If pressed when switching on, it allows to enter the procedureof setting the elevation table

  CONFIG ELEVATION 

Push ‘PARK' when Ok

The following message asks to position the jack successively at 0 and 90 degrees.

Push ‘Park' when Ok

EL TO   0  IMP  100

For each position, command the jack with its key, and check the actual position with an inclinometer. When the position is correct, validate with the "Park" button.

The value of the impulse counter is displayed for each position

The zero degree position always starts at 100 displayed on the impulse counter.

When the 19 positions are set and saved, the elevation jack is calibrated.

Manufacturing

The system is made of 2 printed-circuit boards, 125 x 91 mm

The controller board

It is made of double-sided PCB and some components are SMD in order to save space.

I have used resistors and capacitors in the 1206 serie, which reasonable size allow an easy assembly. Some through components are making link between the two faces : they must therefore be soldered on both sides in case you are not using a metal-hole PCB.

It is the case of the microcontroller board, which must be of the "tulip" kind so as to allow soldering on the component side. The pads and the traces of the printed circuit have been sized adequately to allow copy onto a tracing paper, the inked face on the sensibilized layer.

Drilling must be done with 0.8mm diameter drills, with exceptions. On the schematic, the 17 round pads without components are THROUGH VIAs between the two faces

 

125,1x91,4 mm Scale 1/1

Controller board, soldering side (bottom face)

Controller board, components side (top face)

 

Parts list       1 Septembre 2006      0:19:01

Page1

Item

Quantité

Référence

Valeur

 

 

 

 

1

1

C1

470_µF/35_V radial 5.08_mm

2

1

C2

10_µF/16_V radial 5.08_mm

3

1

C3

0.1_µF/35_V radial 2.54_mm

4

7

C4,C5,C8, C9,C10,C11,C12

0.1_µF SMD 1206

5

2

C13,C15

0.1_µF radial 5,08_mm

6

2

C6,C7

18_pF SMD 1206

7

1

C14

0.1_F Memory backup capacitor

8

1

D1

Zener 9.1_V/ 0,5 W

9

1

D2

Zener 4.7_V/ 0,5_W

10

6

D5,D3,D9,D10,D11,D12

1N4148

11

1

JP3

Bornier 2.54_mm CALIBATE / MEMO

12

1

J1

Barrette 10 points HE10 2.54_mm mâle

13

1

J2

HE10 mâle 2 points 2.54_mm / RESET

14

1

J3

Bornier 5 points 3.81_mm / MANUAL CONTROL

15

1

J4

HE10 2,54_mm mâle, 6 points / PROG/DEBUG

16

1

J5

Bornier 5 points 3.81_mm

17

1

LCD1

LCD HITACHI 2X20

18

5

Q1,Q2,Q3,Q4,Q7

BC238

19

7

R1,R2,R4,R5,R24,R26,R27

4.7_K SMD 1206

20

4

R3,R9,R14,R17

1_K SMD 1206

21

1

R6

1,5_K SMD 1206

22

1

R8

47_K SMD 1206

23

4

R10,R11,R12,R13

10_K SMD 1206

24

1

R15

5_K POT. CERMET

25

3

R19,R20,R21

22_K SMD 1206

26

2

R22,R23

33_K SMD 1206

27

1

U1

LM7805/TO220

28

1

U2

PIC16F877A-I/P 20_MHz DIP40

29

1

U3

MAX232CWE SMD - 16 SO WIDE

30

1

U5

74HCT14D SMD

31

1

Y1

Quartz 20_MHz

The command board

It is a single-face PCB, connected to the controller board through TARAUDEES COLONETTES M3, 25mm long.

The JP1 connector on the controller board is connected wire-to-wire to the JP2 connector on the rotor board. This can be achieved with male/female single-raw HE10 connectors. Five straps are to be wired, above JP2 next to K4. The LED diodes must be REPORTEES to the front board of the controller so as to visualize the display of the rotor rotation direction.

 

Scale 1/1 : 125,1 x 91,4 mm

Command board

 

The relays may be of the "SPDT" type

They must have a cutting power of at least 10A. I have used the RP310012 model from Schrack.

The rotor power being separated, the relays ensure galvanic isolation of the rest of the program.

This PCB powers the microcontroller board through the JP2 connector.

Do protect the external power of the rotors with a pp ropriate fuses.

The K5 relay is closed only when the azimuth rotor starts or stops.

 

Parts list       1 Septembre 2006      0:19:01

Page1

Item

Quantité