The relays themselves are 12V.? IF your doing one at each end then
two 6V in series (do not forget the snubbing diodes) will work.
They are switched by a 2n3904 from the atmega328 outputs at 0/5V.
The general scheme is that the relays are a tree to select one of four
with three relays KT1/KT2/KT3.? ?I do not think we want to repeat that
as its part of why we are here.
The code listing is from source V4.3 describes the way its done for the
existing machine. There may be a bug in earlier code for setting the relays.
also the relays are only picked during transmit.
That is alterable.
/**
?* Select the properly tx harmonic filters
?* The four harmonic filters use only three relays
?* the four LPFs cover 30-21 Mhz, 18 - 14 Mhz, 7-10 MHz and 3.5 to 5 Mhz
?* Briefly, it works like this,?
?* - When KT1 is OFF, the 'off' position routes the PA output through the 30 MHz LPF
?* - When KT1 is ON, it routes the PA output to KT2. Which is why you will see that
?*? ?the KT1 is on for the three other cases.
?* - When the KT1 is ON and KT2 is off, the off position of KT2 routes the PA output
?*? ?to 18 MHz LPF (That also works for 14 Mhz)?
?* - When KT1 is On, KT2 is On, it routes the PA output to KT3
?* - KT3, when switched on selects the 7-10 Mhz filter
?* - KT3 when switched off selects the 3.5-5 Mhz filter
?* See the circuit to understand this
?*/
?
void setTXFilters(unsigned long freq){
??
? if (freq > 21000000L){? // the default filter is with 35 MHz cut-off
? ? digitalWrite(TX_LPF_A, 0);
? ? digitalWrite(TX_LPF_B, 0);
? ? digitalWrite(TX_LPF_C, 0);
? }
? else if (freq >= 14000000L){ //thrown the KT1 relay on, the 30 MHz LPF is bypassed and the 14-18 MHz LPF is allowd to go through
? ? digitalWrite(TX_LPF_A, 1);
? ? digitalWrite(TX_LPF_B, 0);
? ? digitalWrite(TX_LPF_C, 0);
? }
? else if (freq > 7000000L){
? ? digitalWrite(TX_LPF_A, 1);
? ? digitalWrite(TX_LPF_B, 1);
? ? digitalWrite(TX_LPF_C, 0);? ??
? }
? else {
? ? digitalWrite(TX_LPF_A, 1);
? ? digitalWrite(TX_LPF_B, 1);
? ? digitalWrite(TX_LPF_C, 1);? ??
? }
}