A Motorola GT+ based GPS Clock

Dave Robinson G4FRE

 

Introduction

When I initially assessed the usefulness of the Tanner $15 GPS unit (1) I concluded that the unit wasn’t too useful for GPS locking but would make a nice GPS clock. This writeup describes how to use the GT+ unit along with a display board to make a GPS locked clock.

Preliminary Investigations

Unlike the other Tanner surplus board, (the Motorola SV6),  the output format (binary or NMEA) provided by the GT+ can be selected by the user. This choice can be effected by programs such as TAC32 through the serial port. Using TAC32, the board was set produce the GPGGA sentence every second as follows:

$GPGGA,,,,,,0,0,,,,,,,*56
$GPGGA,,,,,,0,1,,,,,,,*57
$GPGGA,,,,,,0,2,,,,,,,*54
$GPGGA,020240.0,3309.944,N,09639.154,W,1,3,005.1,,M,-024,M,,*56
$GPGGA,020242.0,3309.949,N,09639.138,W,1,3,005.1,,M,-024,M,,*56
(Duplicate lines have been removed)

Note $GPGGA does not include the date, so the date display option not available on this version. 

Also Note that the unit powers up in binary mode and must be set to NMEA mode before the clock will work. 

Design

Previous microprocessor projects (2),(3),(4) have used PIC microprocessors from Microchip (5), so they were used again, as the development tools were available.  The facilities offered by these chips have increased considerably since the original keyer applications, features such as UARTS, SPI interfaces, EEPROM;  the question was which features were needed.

The next task was to identify suitable displays.  No suitably sized 6 digit displays could be found, so a pair of 3 digit 7 segment plus right hand decimal point multiplexed displays were found (6). To drive the 7 segments plus decimal points of all 6 digits would require a PIC with 14 output pins and a lot of processing to do the multiplexing

After doing a web search a Maxim chip (MAX7219) was discovered (7) which had an SPI 3 pin interface (thereby only requiring 3 PIC I/O pins) had onboard multiplexing and could drive up to 8 Common cathode digits.

To satisfy the PIC requirements a 16F628A was chosen. Chips were available that had both SPI interfaces and onboard UART, which would have been ideal BUT what you need to dig out from the datasheet (8) is that both cannot be used together in the same application as both use the same pins, which cannot be changed. Hence a cheaper PIC with just an onboard UART was chosen and the SPI part was done using onboard software (sometimes called “bit banging”).  Flash versions of the chips were chosen as they can be electrically programmed many times, very useful in the development stages.

The circuit diagram is shown in Figure 1, the associated component list is shown in Table 1. A spare section of the RS232 level converter chip was used to buffer the 1PPS output of the GPS board and provide it on the RS232 pin 6, for possible future use.

Software development

Maxim provides an application note on their web site (9) using a PIC to drive a MAX7219 in a LED display thermometer, which made writing the SPI interface easier.

The 16F628A has an onboard 4MHz RC clock, which was initially used to save component count and cost. However it was discovered, by witnessing corrupted received data that this clock was not stable enough. Therefore an external 10MHz crystal clock is used; since this change no further problems have been encountered.

To save space in this writeup (program is around 400 lines of assembler), and allow revision control, the final software will be distributed to interested parties as a .HEX file to allow the 16F628 to be programmed. (10)

Construction

To keep the board size down a double sided PCB , with plated through holes would have to be used. This was beyond my production capabilities so following the guidance of Paul Wade W1GHZ, boards were designed and made by Expresspcb. (11) The PCB is designed using their supplied software, the design is submitted via the web and the boards arrive 3 days later. The final board size is 3.75 x 1.75”.  A view of the front of the assembled PCB is shown in Figure 2, the rear view is shown in Figure 3. The two displays are mounted on one side of the board along with the chip components. The Integrated circuits, electrolytics and crystal are mounted on the other side., thus allowing the board to be directly mounted inside the lid of the box. Input signals and power for the board are extracted from the GPS board by a length of screened  cable soldered directly to a 10 pin header.

The electronics  is mounted in a 5”x3”x2” diecast box. A 175x18mm cut out was made in the lid of the box (just large enough to show the digits). Four 4-40 clearance holes were made aligning with the four holes in the PCB and countersunk. The board was held in place with four countersunk 4-40 screws and spacers. The GPS board is mounted in the base of the box, along with the 7805 heatsink. Figure 4 shows how the GPS and display boards are mounted. Figure 5 shows the outside of the completed unit.

Operation

When the Display unit is powered up all the digits on the display are blanked except for the right-hand digit which indicates number of satellites acquired. Three Decimal points will flash on and off  to show that GPS valid data is being received from the GPS board.   When Three satellites (or more) have been acquired the display will then show UTC time.

Future Developments

The project has achieved all the aims originally set. By slightly altering the software the same PCB could be used to make a digital clock from other OEM GPS units that have appeared on the surplus market. This will be written up at a later date.  Details on obtaining Programmed PICs, PCB’s and complete kits from the author will be found at (10)

  

References:

1.                http://g4fre.com/gps15.htm

2.                http://g4fre.com/keyers2.htm

3.                http://g4fre.com/intelli.htm

4.                http://g4fre.com/dtmf.htm

5.                http://www.microchip.com

6.                http://www.fairchildsemi.com/ds/MS/MST6941C.pdf

7.                http://pdfserv.maxim-ic.com/en/ds/MAX7219-MAX7221.pdf

8.                http://ww1.microchip.com/downloads/en/DeviceDoc/40044b.pdf

9.                http://www.maxim-ic.com/appnotes.cfm/appnote_number/917

10.           http://g4fre.com/kits.htm

11.           http://www.expresspcb.com/

Table :1 Component Listing

R1              10k 0805 size SMT (DK 311-10.0KCCT) (increase to dim display)

U1              PIC16F628A 18 pin DIL (DK PIC16F628A-I/P-ND)

U2              MAX7219 24 pin DIL (DK MAX7219CNG-ND)

U3, U4        MST6941C 3 digit common cathode display (Mouser 512-MST6941C)

U5              MAX232CPE

X1              10MHz 18pF crystal HC49US (DK 300-6021)

C1,C2        18pF 0805 size SMT (DK 311-1102)

C3              0.1uF 0805 size SMT (DK 490-1666-1)

C4              10uF 10V tantalum SMT (DK 399-1563-1)

C5,6,7,8 1uF 35V tantalum SMT (DK 478-1671-1-ND)


Figure 1: Circuit diagram

 


Figure 2: Assembled PCB: Front view

Figure 3: Assembled PCB: Rear view


Figure 4: Assembled Unit:Internal view

 

Figure 5: Assembled Unit:External view

 

 

 Last modified 7 Feb 2005