Measuring and displaying Azimuth and Elevation values
On the microwave bands it is crusial to point the antenna in azimuth as precise as possible in a given direction. On the high microwave bands also the elevation angle of the antenna is important. For that purpose the development of a cheap and open system for displaying azimuth and elevation values of an antenna system was started. The accuracy should be at least sufficient for tropospheric microwave use.
A solution was using Arduino boards and Arduino code to promote the open software ideas. The results of the development is a range of software and hardwaremodules which can be used for HF, VHF, Microwaves and EME antenna systems.
Displaying azimuth and elevation values measured with potentiometers
The most simple solution is to measure the azimuth and/or elevation values with a potentiometer. The potentiometer value is read by the analog input of an Arduino and converted to degrees. For azimuth and elevation calibration a gear factor has to be put into the program. The remaining offsets will be set by push buttons; this enables also portable use. A software setting permits to use the display for azimuth or elevation only or for displaying both. An other software setting is the displayed accuracy. Azimuth and elevation display accuracy can be set indepenent to one degree, .5 degree or to .1 degree. Display refresh frequency and low-pass filtering are easily to adapt.
A prototype is shown on the photograph; the azimuth accuracy is set to .5 degree and the elevation to 1 degree. For azimuth the range is from 0 to 360 degrees; for azimuth the range is from -90 to 270 degrees.
A display unit with remote sensor boards
In most cases the antenna system is outside and the display unit is in the shack. To enable a relative long cable (up to 100 meters and more) between antenna sensor(s) and display unit the connection between them is made via RS485. Dependent on specific situations one or two RS485 signals can feed the display unit; e.g. a separate cable for azimuth and for elevation.
The following sensor boards are supported with software:
— HW_sensorboard_analog. This board can be used for one or two potentiometers reading azimuth and/or elevation.
— HW_sensorboard_HH12. This board supports one or two 12 bit encoders MAB25 or HH-12 reading azimuth and/or elevation.
— HW_sensorboard_MPU6050. This board suports a (mems) sensor (MPU6050) for measuring elevation and a 12 bit encoder MAB25 or HH-12 for reading azimuth.
The software for the display units with one or two RS485 inputs is the same. But it is recommanded (not realy needed but the calibration is more precise) to use different software when interfacing analog or digital sensor boards. Therefore two different software packages for the display unit are available:
— SW_display_analog. This software package for the display unit has to be used in combination with HW_sensorboard_analog.
— SW_display_digital. This software package for the display unit has to be used in combination with: HW_sensorboard_HH12 or HW_sensorboard_MPU6050
The sensor boards in more detail
One or two potentiometers for measuring azimuth and/or elevation may be connected to this board. After processing 12 bit information will be sent out to the RS485 port. The software can easily be configured that azimuth and elevation data will be sent or only azimuth or elevation data.
One or two 12 bits encoders MAB25 or HH-12 for measuring azimuth and/or elevation may be connected to this board. The 12 bit information will be sent out, without processing, to the RS485 port. The software can easily be configured that azimuth and elevation data will be sent or only azimuth or elevation data.
A photograph of a prototype HW_sensorboard_HH12.
An Arduino Nano is used. If the board is used for azimuth or elevation only; simple remove the connector with one HH-12. Note: This board with the software is used by Harke, PA0HRK for his EME tracking system see: http://parac.eu/projectpaohrk-1.htm
The schematic of this sensorboard is easy. If there is no need for an azimuth sensor don’t wire the HH-12/MAB25
Calibration of the MPU6050
For good results the MPU6050 board has to be calibrated. Place the MPU6050 board as flat as possible with the componentside up. Connect the board to an Arduino with an USB interface (see boardconnections in schematic HW_sensorboard_MPU6050). For calibration a separate Arduino Uno can be used or an HW_sensorboard_MPU6050 when e.g. an Arduino Nano is used on this sensorboard. Now run the calibration software (see software packages).
Examples of display units
Robert, ON5SX (sk) made a tool for me for testing the accuracy of the Hall encoders and the elevation MEMS. Every rotation of the knob is 3.6 degree increment/decriment.
Accuracy measurements for MEMS MPU6050
|Mechanical reading (degrees)||Electronic reading (degrees)||Additional info|
|0.0||0.0||Date and time: 17/05/2021 18.22 UTC|
|3.6||3.6||Temperature: 22.9 degrees Celcius|
|14.4||14.3||The mechanical reading is quite precise,|
|18.0||17.9||nearly no backlash|
|25.2||25.0||warming up time: 10 minutes|
|32.4||32.2||Device: MPU 6050|
|39.6||39.2||calibrated at zero degrees|
included in this software package:
software for display unit:
software for remote digital sensorboards:
software for calibrating MPU6050:
software for reading azimuth and elevation values direct (without sensorboard) from potentiometers:
software for remote analog sensorboard reading azimuth and elevation with potentiometers:
Practical use of the sensor boards
The developments of the Arduino sensorboards above are based on ideas from a team around F1TE. See http://www.f1te.org/index.php/realisation/pilotage-antennes/tracker-gb In principle the F1TE versions of the sensorboards can also be used in combination with the display unit above. The interface of the sensorboards is slightly different (mainly using other frame delimiters). Use the software here under for interfacing F1TE sensorboards.
Software for the F1TE Sensorboards (modified by ON4IY)
version with C0 delimiter hex file for sensor PCB with C0 delimiter (AZ only) and log file of data coming from sensor PCB
version with C1 delimiter hex file for sensor PCB with C1 delimiter (EL only) and log file of data coming from sensor PCB
version with C2 delimiter hex file for sensor PCB with C2 delimiter (AZ and EL) and log file of data coming from sensor PCB
Display unit with the Arduino Uno or Nano
The display unit used is the same as described above.