DAVID ROBINSON WW2R
Note this version is for FSK beacons where the output power of the beacon is constant with time
What is needed is a method where the beacon automatically indicating
its output power as part of its keying sequence. It already identifies
itself in Morse so it should be possible to transmit a series of numbers
in Morse indicating the relative output power, chassis temperature and
supply volts as part of the sequence. The design presented here was originally developed
for the NTMS W5HN 902 and 1296MHz beacons. Both beacons are contained in
the same box, so it was decided to make both beacons transmit identical
callsign sequences and monitored values. The information transmitted would
be 902 transmit power, 1296 transmit power, Chassis temperature and supply
volts. This arrangement will allow the possibility that when encountering
a weak signal on 902MHz tuning to the 1296MHz beacon and checking the 902
beacon output power. The design is also now employed in the
NT5NT 10GHz Beacon, where it transmits the Output power, supply voltage,
Chassis temperature and PA temperature.
Design Considerations
After consulting with the Microchip data sheets it was decided to use a 16C711 PIC. This is an 18 pin chip with 4 eight bit A/D inputs and 8 outputs. The program would be developed in two parts. Firstly the code already available to send the cw identification was transferred to the new chip, which was achieved with little modification. Routines to read the analogue values were written with the help of the microchip application notes. Each A to D channel produces a count of 0 to FF in hex for an input of 0 to 5 Volts. In decimal this is 0 to 255, so it will be sent as three Morse numbers. It was quickly realized that to convert numbers 0-9 to their Morse equivalent some new code would need developing as nothing suitable already existed in the program. At this point I was reminded of the N1KDO NHRC-2 repeater controller published in February 97 QST that had Morse ID. Investigation of the assembler listing (1) revealed a simple conversion scheme, where all morse characters are encoded in a single Byte, bitwise, LSB to MSB.; “0” = dit, “1” = dah. The Byte is shifted out to the right, until only a “1” remains. As an example 3 is encoded as binary 00111000, which translates to 38 in hexadecimal. The A to D conversion process is done just before the information is sent to ensure data accuracy. Beacons have a wide range of output powers so writing code to have 255 being transmitted when there is an output power of 10W would be no use with a 10mW beacon as variations in the output would be hardly noticeable. However by engineering the output of the power output detector circuit to produce a count of 200 when the beacon is producing its nominal output power the software can tolerate a wide range of beacon output powers.
Software
The program listing is intelli.asm (2). A line by line explanation of the programs workings will not be done here, the operation should be deducible from the comments. No claims for compactness of code are made; others may find ways of reducing the length of the program, but this was not considered necessary as there is still plenty of memory left and speed is hardly a consideration, the processor is clocked a few tens of kilohertz. Note that the code for the callsign, locator, location etc (in the form of assembler code) has to be appended to the end of the listing, as an example see intellihn.asm(3) for the complete version. Currently this part is generated separately using a QBASIC program zipped as CWPIC.ZIP(4). This generates a text file, which is appended in DOS to intelli.asm. It is hoped soon to have a Visual Basic 6 program available that simplifies this process.
Hardware
The Circuit is shown in Fig 1. IC1, the PIC16C711 has 4 analog inputs on pins 17,18,1,2. Note that this is the order in which the values are sent. The resistor capacitor network connected to pin 16 controls the speed that the Morse is sent. The values shown provide a range of speeds around 8wpm. Two outputs are provided. The one on pin 13 drives TR1 to provide an open collector output. Pin 6 drives an LED, which provides a visual keying status indication. The four 5.1V zeners protect the A to D inputs from excessive voltage from the detector circuits, the inputs have a maximum voltage rating of 5.3Volts. Opening the link at pin 9 is a test mode which when inserted prevents the beacon from sending its callsign information sequence, which allows for more rapid setting up of the input levels to the A to D. Note that the setting of the link is only checked once at the start of the program, altering the state of the link after start up will not be detected by the program.
A small single sided PCB, 41mm x 41mm designated WW2R017 has been developed for the keyer. The component overlay is shown in Fig 2. The PCB layout is shown in Fig 3. Table 1 is the component listing.
Interfacing
The current design allows 4 physical parameters to be transmitted. These could be chassis temperature, air temperature, voltage, atmospheric pressure, current taken etc. As an example I will explain how I interfaced the board to the W5HN beacons. Fortunately the two onboard detectors built into the beacons provided outputs in excess of 5 Volts so they were fed via a potentiometer to PCB pins 17 and 18. In other applications it may be necessary to use an Operational amplifier to get the detected voltage up to a useable level.
1. www.nhrc.net/nhrc2/rptr.asm
2. http://g4fre.com/intelli.asm
3. http://g4fre.com/intellihn.asm
4. http://g4fre.com/cwpic.zip
5. www.national.com/pf/LM/LM34.html
Fig 1 Circuit of intelligent keyer. Note that in normal operation LK1 is OPEN
Fig 2. PCB Overlay of Intelligent keyer
Fig 3. PCB Layout of intelligent keyer
Fig 4. Possible power output detection method
Fig 5. Using the LM34Z temperature sensor