USDigital Absolute Encoder with a 0.1 degrees definition
USDigital Absolute Inclinometer also with 0.1 degrees definition
I am currently using (March/2016) a new antenna system which is
based on a single self standing box serving the 2 antennas (23 &
70cm) using a Raspberry PI 2 Linux computer.
The system is
able to provide the following functions:
1) Calculate the
current position for MOON/SUN/ any astral object by giving the RA DEC
cohordinates.
2) Tracking the selected object with a +- 0.2
degrees precision
3) Driven by the K3 PTT does all the switching
between TX & RX with a 4 steps timed events to drive the correct
sequencing of xverter,driver,PA,LNA relay.
4) Allow manual
operations to move the antennas
5) Park the antenna in the
desired position
6) Switch the IF signal to 70 or 23cm
transverter
7) Interface via a SEI to USB converter the US
digital encoders connected on the same bus
8) Read and calculate
Azimuth and Elevation of the 70cm controllers via the Arduino board
connected via USB to the Raspberry
Done ,as usual, as a prototype and the result is messy due also to
several changes during the development.
The initial idea was to
fill inside also the power supply but finally there was no room left
so is powered fron an external supply providing 28V and 12V, an
internal regulator provides the 5V to the Raspberry and the 70cm
encoders.
The following picture gives an idea, at the right the
Raspberry while at left there is an Arduino board.
An this is a back view:
The result is a black box with only a switch to power the unit
and a led lamp to check when correctly powered in the front panel
while a detached 7" TFT display with an HDMI connection is the
user interface.
The idea was to use the touch capability of the screen but
unfortunately i was not able to make it working under Raspian with
the drivers given by the supplier (it was instead working well with
windows).
The solution, at the moment, is to use a wireless mouse
instead.
The software written for the purpose is basically made of 4
programs:
1)23cm antenna controller
2)70cm antenna
controller
3)23cm configurator
4)70cm configurator
All
of them are written in C++ using the freely available QT graphic
environment.
No need for explanation
To initially configure the system a keyboard must be connected
to the back of the box, during normal operation (like selecting the
desired target) the mouse is good enough.
The list of track able
objects is open and is possible to make add/delete operations (except
for sun & moon).
Very similar to the 23cm version
There are no mechanical switching inside the box, the 4 motors
are controlled via H bridge mosfet boards
The only external
dependency of the system is the clock syncronisation, the Raspberry
does not have a native real time clock and therefore need to be
synchronized at every switch on.
To add an external RTC is not
difficult but at the moment i keep the box connected to my router and
the timer is periodically checked against the web servers.
In
case of no connection to web is possible to set it manually.
I tried to read the 70cm encoders directly with Raspberry PI2 I/O but also taking all the precautions like an high priority dedicated thread and interrupt service on wire status change, the latency in context switching was bad enough to generate an unacceptable loss of accuracy and hence the choice of adding the Arduino as front end.
The HDMI interface carries video an audio at the same time,
since the 7" TFT has 2 (very small) integrated loudspeakers i
have been integrating into the antenna controller programs a voice
synthesizer and in case of error, like encoder malfunctions or motor
not moving ... and others, the system attracts the operation
attention with vocal messages.
The quality leaves a lot to be
desired but the goal is equally reached.
Of course, in any error condition every activity is stopped at once.