Dave Robinson WW2R, G4FRE
After publishing my initial design for a DTMF beacon controller, a request was made for a version of the controller with fewer key presses required to control outputs. This was made possible as the radio coverage of the application was over a very short range and therefore the 4 digit security code could be removed. Initial inspiration for the project was a design published in CQTV 186 by GW6BWX This was designed to control a TV repeater and had latching, non-latching and “1 of 4” outputs, some with timeouts, capabilities that are not required in this applications and were therefore removed.
Design
It was decided to use an MT8870 DTMF decoder chip for its local availability and the success that others were having interfacing it to PIC chips. The 16F84 PIC was chosen, as it is EEPROM based which allows the memory to be rewritten electrically many times, thereby allowing easy change of the access code should it become necessary. The circuit is shown in Fig 1. IC1 is the MT8870 DTMF. This takes the DTMF tones and provides a 4-bit output word (presented at pins 11,12,13,14) representing the tone and a strobe signal (pin 15) indicating a valid tone has been received. These five signals are sent to a PIC 16F84 micro controller, which checks for the correct security code and controls the appropriate outputs. These outputs drive IC3, a ULN2803A Darlington driver which increases the current capabilities of the PIC, providing eight open collector outputs each capable of sinking 50V at 0.5Amps. These outputs drive relays external to the board. IC4 is a 10 segment LED bar display. Eight of the LEDs are connected to +12V via individual 2.7K resistors contained in resistor pack RPAK. A ninth LED, driven by the strobe output of IC1 pin 15 via TR1 indicates successful tone decoding. The tenth LED shows that 12V is present on the board. The 3.579545MHz crystal and an on chip oscillator provide timing for IC1. This same signal is also used as the clock for the PIC. IC5 is a 5V 1 Amp regulator that provides 5 Volts for IC1 and IC2. LK1 (LED Enable) is a 2 pin jumper enabling the LED display to be activated only when needed, saving current consumption of the board
Construction
A small single sided PCB, 102mm x 45mm designated WW2R022, has been developed for the controller. The PCB layout is shown in Fig 2 and the component overlay in Fig 3. Table 1 shows the component listing.
Software
The assembler listing (dtmfun.asm) is downloadable from this web area. Note that due to the way the dtmf decoder presents its outputs, a “0” (zero) in the number it should be entered as a “A”
1st digit
Always a “*”
2nd digit
Digit representing output to be controlled. “1”=output 1, through “8” =
output 8. “0” represents all eight outputs together.
3rd digit
Represents output state. “1” = on, “0” = “off”
4th digit
“#” which terminates the sequence
Note that entering “#” at any time or pausing for more than about 4 seconds terminates the sequence, thereby providing a “get out” if a mistake in entry is made.
Examples, *11# will turn on relay one. *07# will turn off relay 7. *00# turns off all relays
To control more than 8 outputs the boards are “stackable”, enabling multiples of 8 outputs to be controlled. The Audio inputs to all boards are connected in parallel. The .asm code will have to be modified so each board has a unique on and off digit. For example board 1 may have on=1, 0=off, board 2 may have on=3, 2=off etc. Up to 40 outputs may be controlled using this method.
(1) An MF Controlled switch. B.Kelly GW6BWX.
CQ-TV 186 pp31-32
|
|
|
|
|
|
|
|
|
| C3,C4 | 1uF 16V tantalum | IC2 | 16C84 PIC | R3 | 330k | RPAK | nine 2k7 resistors in 10 pin SIL package |
| C5 | 100uF 16V Elect | IC3 | ULN2803A | R4 | 10k | X1 | 3.579545MHz crystal |
| C6,C7 | 0.1uF Ceramic | IC4 | 7805 | R5 | 2k7 | TR1 | 2N2222A OR EQUIV |