Fri Jul 17 14:53:00 CEST 2009: version
3.2 general release: bug fixed
Sun Mar 18 11:38:59 CET 2007: version
3.1 general release: locator bug fixed
Sat Feb 18 19:50:11 CET 2006: version
3.0 general release: all features bundled and tested.
Wed Feb 8 11:34:43 CET 2006: version
3(.)0a2 available: sun az/el for /P use
Sun Dec 18 17:07:39 MET 2005: added some to results section
Fri Nov 18 20:32:21 MET 2005: software version 24 for
unmodified DELTAWAVE PIC BOARD available (see Software)
- improved serial port handling for both tracks, resulting in faster
LCD update
- small user interface improvements
software version 23 for unmodified DELTAWAVE PIC
BOARD
- experimental track: added HDOP parsing, alert when HDOP>2
software version 22 for unmodified DELTAWAVE PIC board
- experimental track: added #stats and Height MSL
software version 20 for unmodified DELTAWAVE board
ROVERBOX - display unit
a stand-alone
GPS module monitor
please
subscribe to the mailinglist for notifications --
http://groups.yahoo.com/group/roverbox/
The Roverbox stack, LCD/PIC
module on top, GPS OEM board and 10Mhz reference below - the two 10 MHz
BNC outputs and GPS antenna pigtail are visible at the right.
Alternating display mode.
0. Introduction.
The Roverbox display unit was originally a stand-alone device to
provide
useful
(microwave) operating info based on a GPS module. OEM GPS modules
provide lots of info for cheap, but having a complete terminal (like a
PC) to monitor the output is not very handy in the field. It is now
loosely
coupled (show
combo, hi-res 300K) with the N1JEZ/G3RUH/W1GHZ
GPS based 10MHz reference, but can be used without
the reference as well. The Roverbox is
basically PIC16f877a and an 2*16 LCD - that's all. I built the
first prototype in 2004 after disussion with W3IY. The work on the
10MHz
reference encouraged me to take it a bit further than originally
intended.
Note that for those just wanting a lock indicator for the 10MHz
reference a simpler PIC with 1 LED is available (see Mike N1JEZ MUD
2005 article).
If you don t fully grasp how everything fits together: look here.
1. Functionality.
The following information is provided on the LCD:
Date
UTC time
Maidenhead
grid square
Odd/even minute indication, very useful for weak signal or
airplane scatter work
Validity of GPS data
# of sats used for fix
Height in meters above Mean Sea Level
HDOP -
will indirectly
reflect 10MHz quality
Warning on display if HDOP threshold exceeded or
validity lost
Sun azimuth and elevation
Some control funtions are also available as digital PIC outputs, such
as lock/unlock status.
1. Hardware.
The Roverbox display unit uses the backlit board from DELTAWAVE (look
on German
Ebay or Google)-
for 32EUR or 40USD one get's a complete board with PIC, LCD, true
RS-232 conversion (MAX232) and In-Circuit Programming capability.
That's hard to beat! If you live outside Europe and have
trouble
ordering, I have some (programmed) boards available. Some DELTAWAVE specific info:
If you don't want
the controller board power on your programmer (and I don't - this
causes smoke and a dead programmer), cut the trace going to the ICSP
connector .
For homebrewers: LCD on port D: 1-RS 2-R/W 3-E 4-D4 5-D5
6-D6 7-D7, port B LEDs + resistors to 5V, all the rest is standard
(4.43Mhz xtal).
2. Software.
*** Versions below
are written in CCS C.
A really useful tool for serious PIC enthousiast and not expensive. A
free version is available as well as a student version. For this
particular application an interrupt service routine is used for the GPS
data, and extensive use is made of the included libraries for floating
point and math calculations. I am currently only providing the
*.hex
files, but Email if you need anything. ***
V30-DW
This is the general release of the new code. Includes Az/El and
features a revised display set-up, with locator always on screen, and
less space for Odd/Even.
V30-4DW Same for 4MHz Xtal.
LED codes
B0 init ok
B1 serial data being processed in the ISR
B2 locked: GPS data valid AND fix obtained AND
HDOP < 1.99
B3 unlocked: one of the above not satisfied
B4 odd/even minute
B5
processor idle and waiting for serial info (should not happen at low
clock speeds, there is more than enough stuff to calculate and process)
V30a2-DW
This is a completely new ALPHA
version of the software, now also showing sun azimuth and elevation
as one of the alternating screens. The experimental code has
been
merged with the normal track. Better error handling, and some
meaningful error messages. The PIC now runs at 98% ROM and 99% RAM,
getting everything to fit was a big issue, so this will be the final
word in terms of functionality. Except for sun Az/El the functionality
is largely similar to V24-DW.
LED codes
B0 init ok
B1 serial data being processed in the ISR
B2 locked: GPS data valid AND fix obtained AND
HDOP < 1.99
B3 unlocked: one of the above not satisfied
B4
not used
B5
processor idle and waiting for serial info (should not happen at low
clock speeds, there is more than enough stuff to calculate and process)
Available info
Date
UTC time
Maidenhead
grid square (6 digits for northern hemisphere)
Odd/even minute indication
Validity of GPS data
# of sats used
for fix, when fix data available and valid
HDOP (rounded to the
next whole number)
Height in meters
above Mean Sea Level, when fix data available and
valid
*** All versions below
are written in JAL
(this guy also has a great shop and programmers, not the usual
$)$%#@%), and use no interrupts. It is "just" parsing of the serial
strings coming from the GPS. I feel we are reaching some of the limits
of this approach and I am starting to miss floats, especially for sun
Az/El, so a rewrite/port to C may be needed soon. Also the current code
is in need of a clean-up, but I like to do radio once in a while
too. For all of the above I am currently only providing the *.hex
files, but Email if you need anything. ***
V24-DW
Serial port routines rewritten so update is more fluent. Seconds
dropped from LCD in lower left corner, since this was already in upper
right when data is valid. For the experimental track LCD now shows:
locator (during 5 seconds) - sats/height (5 seconds total) -
HDOP
(1 second). LED codes unchanged. V24-4DW
Same for 4MHz Xtal. V23-DW
Some enhancements to the experimental track. HDOP is now now shown in the
display
as well as height and # of sats. If for some reason (GPS validity lost
or HDOP becomes too big (>1.99)) the accuracy gets questionable
a
warning "?"
is
displayed in front of the locator field. The digital output however
reflects validity in the GPRMC statement only. LED codes unchanged.
V22-DW Runs on stock
DELTAWAVE hardware, bugfixes and features as V20. However
experimental code can be enabled by connecting A1 to +5V at startup,
disable by connecting to ground (either one required, but the board
will flag EXPERIMENTAL when running the exp. code). The experimental
code will provide you with locator, # sats and height, shown
alternating on the LCD.
Date
UTC time
Maidenhead
grid square (6 digits for northern hemisphere)
Odd/even minute indication
Validity of GPS data
# of sats used
for fix, when fix data available and valid
Height in meters
above Mean Sea Level, when fix data available and
valid
LED codes
B0 init ok
B1 $GPRMC statement processed
B2 locked
B3 unlocked
B4
$GPGGA statement processed
V20-3.6MHz This version was the first for the DELTAWAVE
board and the
first to be publically distributed.
Date
UTC time
Maidenhead
grid square (6 digits for northern hemisphere)
Odd/even minute indication
Validity of GPS data
LED codes
B0 init ok
B1 GPRMC statement processed
B2 locked
B3 unlocked
3. Installation and troubleshooting.
Only 1 connection is
needed from the GPS board to the DELTAWAVE hardware. GPS
20 pin header pin 11 (serial out) must be connected to pin 26 of the
PIC. Of course the GPS/PIC OEM boards need power and the correct NMEA
initialization, but much info is available from N1JEZ and www.GPSKIT.nl.
V-3x Problems:
The Display Unit now
displays more meaningful errors (at least to me).
V-2x Problems:
Upon power-up without GPS the display should give an
initialization message and indicate standard/experimental mode, then
"NO GPS".
B0 lit and B1 does not blink - software error or GPS
connection lost in a critical blocking read > please reset.
B0 lit and B1 blinks irregularly, but no info on display -
the
GPS detects OK, and serial data is coming in, but "wrong Baud rate"
error, bad GPS init (no NMEA format send by GPS) or Xtal
out-of-spec.
B0 lit and B3 remains lit - validity can not be
achieved
with current coverage, date may be wrong, out-of-lock >
improve
reception. The
GPS data is only valid if minutes:seconds are displayed in the
upper-right corner.
4.
Considerations regarding the 10MHz reference.
Accuracy
We need to investigate what the impact is of bad GPS
weather (e.g. constellation) on the 10MHz output in this simple,
non-position hold approach. It is not easy to find exact information
on this subject (please correct me), but values of a 100m PDOP (95%)
typically result in 350ns (95%) timing error. This is typically the
"normal" accuracy we used to get with SA enabled. That error reduces
our 10MHz accuracy to the order of 1E-6/7, or on 47 GHz to
5-50kHz. There goes our QSO! Currently without SA the situation has
improved dramatically but accuracy claims must be regarded with
caution. Typically position accuracy is now 10-15m both horizontal and
vertically for the SPS, with H/V-DOP around 2-3. That brings us to
around 1E-8, or 0.1 Hz on 10MHz. The above numbers are for the
95%
confidence interval, so even smaller numbers will typically apply in
practice. The MUD 2005 claimed value of a bit less 1E-9 seems
somewhat optimistic but can be achieved under good circumstances like
with 1m
DOPs.
Lock indication
It is a bit tricky to assess PLL lock based on the GPS info, of course.
Currently I do this simply based on the validity indication in the
$GPRMC
sentence. However the fix quality indicator (SPS, Standard Position
Service)
or 3-D fix of the $GPGGA/GSA sentences may be better suited - I need to
validate this
in some more detail. The latter is a bit more conservative on our stock
GPS boards.
An even better solution would be to do an interpretation of the HDOP or
PDOP field that indicates the position quality and as such also the
timing quality. This is already shown on the LCD in versions 23+. I am
still not really happy with this lock indication, it seems to take up
1min for lock to occur after GPS validity or small enough HDOP is
achieved.
Construction
The MAX233 of the PLL board can be left out since the DELTAWAVE PIC
board already has this available. It is sufficient just to wire
the RX and TX data pins of the PIC together so that the data flows both
into the PIC processor as well as out of the MAX232 chip into the DTE.
For European builders of the 10MHz reference PLL board all components
are available from RS-components.
Results and measurements (at ON4IY)
I did some quick measurements recently, and H/V-DOP and PDOP where
consistently around 1/1/1-2 as reported by my TU-30 GPS module, which
has good coverage (typically 8 sats available) -- so the above numbers
and associated accuracy could well be realistic.
The output of my simple 10MHz can be seen in the following SpectrumLab
pictures, this looks very promising as the +/-1E-9 is available:
Convergence towards the
HP Z3801A reference signal shown in the bottom half of the picture
(left)
130th harmonic (1.3 GHz) with +/- 1.5Hz (3Hz max-min, hor. scale 1Hz)
deviation (right)
I checked the output on 10MHz using the HP 5370B
time interval counter accurate to around 1mHz - without added
statistical processing at 1s gate time. I measured max-min to
be
around 25mHz, as expected. You can find this counter often on Ebay at
low prices!
The output contains many harmonics as illustrated above. I recommend
using a 10base-X filter like the 20f001n to
clean up things a little. These filters can be found in discarded
Ethernet hubs or similar and provide 20dB suppression at 20MHz. This
often eliminates lock issues like on older measurement equipment.
5. Solar position
calculations.
The low accuracy algorithms of Meeus (see NOAA
- pdf file) are used. Given the numerical capabilities of the
PIC,
these seem to be accurate to 2, but mostly 1 degree. I check this using
predict and it seems very much in accordance. In a nutshell, if your
latitude is smaller than 75 degrees and you live in the 21th century,
you should be ok. By the way, if the elevation is <0, it should
be
dark. No corrections are made for height or atmospheric refraction.
6. Wish list.
PDOP Alert - go unlock status + LCD feedback when dilution
threshold exceeded --
done
serial port rewrite --
done
Southern hemisphere support
Az/El of the sun, but it always rains in ON, and this is
pretty hard so may take a while --
done
Timing receiver support, of course, this would only make
sense
for fixed stations as at least 24 hours are needed for a survey to
complete -- may not
happen
8 digit locator (G0MJW)
Others please send Email
7. More info and questions.
Author: on4iy@qsl.net.
Version: Sun Dec 18 17:07:39 MET 2005