Simple PICAXE 08M PMR Repeater

1968neil

Senior Member
Hi Folks,
Just got this project working and well tested.
The idea was to use two redundant ICOM ICF12 PMR VHF handheld's as a talkthru repeater for gate entry systems that can be disabled by selcall (5 Tone Signalling). ie: start up then shutdown).

The rx/tx status led also blinks red constantly when a valid 5 tone is received This activates the transmit radio and in turn passes the received audio thru to the transmitting radio, this can be deactivated when a shutdown 5 tone is received.

As i didnt have a constant logic high i needed to use the flashing of the led to trigger my output but also when the led stopped flashing have a bit of delay (hang time) before it dropped out.

Counting the pulse of the led was my best option, but how ?
Using an interupt as sugested by hippy i was able to wait in a loop until the pulse appeared then the interupt would take over until the pulse dissapears. then re-enables the interupt and the whole thing starts again.
I've attached a circuit and PCB layout for those interested. All of which are tried tested and in daily operation.
Enjoy
Regards
Neil
 
Last edited:

1968neil

Senior Member
The Code

Duplex Switching Module
'Written by Neil Scotford March 2010
'Interface recieves 1 pulse per 4.2 sec interval from the red led output of the ICOM ICF12
'Interface monitors pulse and whilst pulse present keeps transmitter ON, if pulse is missing in a 4.2 second interval
'transmitter will be deactivated until another pulse is seen.
'Read pulse on I/O 1 (pin 6)
'Set Output Pin 2 high when pulse present causing BC546 to conduct and switch PTT low.
'LED on Microcontroller PCB is a status indicator on = active TX.



Symbol pulsePresent = b0 ' Pulse present flag

SetInt %00000010,%00000010 ' Enable interrupt on Pin6

SetFreq M8 ' Run at 8mhz (fast as possible)

Output 2 ' Pulse present output (pin5)

pulsePresent = 0 ' No pulse seen

Do
Pause 8400 ' Pause for 4.2s 8400 = 4.2 secs at 8mhz
If pulsePresent = 0 Then ' Was pulse seen ?
Low 2 ' No - Clear pulse present output (pin5)
Low 4 ' Module TX Led OFF (pin3)
Else
pulsePresent = 0 ' Clear pulse seen
End If
Loop

Interrupt:
pulsePresent = 1 ' Pulse is present
High 2 ' Set pulse present output (pin5)
High 4 ' Module TX Led ON (pin3)
SetInt %00000010,%00000010 ' Re-enable interrupt
Return
 
Last edited:

1968neil

Senior Member
Express PCB Files

Schematic Newlands-Wireless-Access-Controller.jpg

Wireless-Access-Controller-pcb-silk.jpg

Express PCB Files can be sent via email request can't attach zip files
 
Top