Friday, March 02, 2012

FreeTrak progress

I have made some progress with the FreeTrak PIC based APRS tracker. I found a slightly newer version of the PICFlash programming software. At first this gave exactly the same warning message as the original version. But after a bit of random clicking I tried again and this time the software reported that it was writing to the chip. It verified OK as well. I don't know exactly what I did, but at least that hurdle was now passed.

FreeTrak configuration

I set the DIP switches on the EasyPIC board to link the PIC pins used for serial I/O to the serial output. That didn't seem to work the first time, either, but at the second attempt at powering up I saw the configuration prompt appear in the terminal window. I was able to complete the FreeTrak configuration with the PIC in the development board.

Next, I changed a DIP switch to put the chip in Run mode. Using a utility called NMEAGen I began sending simulated GPS messages to it using the same serial connection I used for configuration. The LED began flashing at 1 second intervals and using a crystal earpiece on the output pin I could hear the familiar sound of 1200baud packet bursts. I don't know why it appears to be transmitting at 1 second intervals, but perhaps it is something to do with the simulated GPS data.

FreeTrak schematic

So FreeTrak appears to be working. All I need to do now is build it on to a circuit board and attach it to my GPS module and a radio. Here's where I could use a little help from readers. The AFSK audio output of the FreeTrak uses an obsolete op-amp which is unobtainable. I presume I could just replace this with a simple transistor amplifier stage using a 2N3904 or similar, but do I really need anything at all, given that the audio will drive a sensitive microphone input? Could I get away with just a DC blocking capacitor and a trimpot to set the level?

The other thing I'm unsure about is how to interface the FreeTrak to my GPS module. I think the circuit shown is intended to work with GPS devices that use 5V TTL or even RS-232 signal levels. The data sheet for my bare GPS module states quite clearly that the absolute maximum voltage on any of the pins is 3.3V. The serial lines on the PIC measure close to 5V. How to connect them?

5 comments:

zl3ame said...

Regarding the level shifting: as built, it's for RS232 voltage levels. Probably for 3V3 you should ditch the transistors and put a voltage divider on the Tx line from the PIC to the GPS. You don't need one on the line from the GPS to the PIC as the logic 1 level (3V3) is above the logic 1 level for TTL. You should also check the source code and look for the logic sense for the serial interface (true or inverted logic). If you need to invert it then you can do it in software, or with a transistor inverter.

Richard G3CWI said...

Julian

The 16F628A is specified to run down to 3V so just run it on 3.3V - the same as the GPS. 2 x 1.5V batteries will be just fine.

Incidentally, I have some APRS code running on the Propellor.

73

Richard
g3CWI

Kenneth Finnegan said...

For the record, 3.3V logic into 5V controllers *usually* works, but is usually outside the spec (look for a "minimum logic high = 0.7 * Vcc" value in the datasheet or something), so you'd want to use a 74HCT125, or any other kind of HCT logic, to be "proper," which isn't important until you start doing production runs, really...

(Compare the first line of page 4 of this datasheet vs your typical 74HC125 buffer to see what I mean.

W6KWF

Richard G3CWI said...

http://forums.parallax.com/showthread.php?138341-APRS&p=1079117#post1079117

APRS for the Propellor!

zl3ame said...

Hmm, the first part of my comment was chopped. I said I built one of these and I replaced the OP196 with a Microchip MCP601 (which I was able to get easily).

HTH. 73!