Questo SW può essere utile per realizzare rapidamente un modulo COR (Carrier Operated Relay) per il comando di un transponder RF a tre vie.
Utile soprattutto in situazioni di emergenza o di Protezione Civile, per realizzare una tratta di trasferimento VHF/UHF.
Il firmware è stato da me ideato, realizzato e collaudato. Il programma, adeguatamente "strutturato" risulta molto efficiente e funzionale.
Sulle uscite, sono disponibili sia segnali "diretti" che "complementari" per una facile interfaccia con i dispositivi esterni da collegare.
Utile soprattutto in situazioni di emergenza o di Protezione Civile, per realizzare una tratta di trasferimento VHF/UHF.
Fig. 1: schema applicativo del COR |
Il firmware è stato da me ideato, realizzato e collaudato. Il programma, adeguatamente "strutturato" risulta molto efficiente e funzionale.
Sulle uscite, sono disponibili sia segnali "diretti" che "complementari" per una facile interfaccia con i dispositivi esterni da collegare.
v. anche:
Dispositivo COR per Ripetitori o Transponder - RadioRama n° 95 agosto 2019
/* ---------------------------------- Inizio programma -----------------------------------------------
* COR in bassa frequenza per Transponder Radio a tre moduli TRX.
* Achille De Santis - tecnatron@gmail.com - V6.0 del 05-05-2019
* prelevare i segnali di BF da ogni uscita altoparlante attraverso un potenziometro da 10 KOhm
* I segnali di PTT sono "interbloccati".
* La scansione ciclica della BF permette la rilevazione del segnale che, se presente, manda in
* trasmissione gli altri due moduli.
* La sequenza di priorità è: 1,2,3.
* Ridurre opportunamente il segnale di BF da iniettare sugli ingressi microfonici.
*/
// --------------- parametri di I/O ---------------------------
#define BF1 A1 // ingresso 1
#define PTT1 12 // uscita 1
#define PTT1A 7 // uscita ausiliaria invertita 1
#define BF2 A2 // ingresso 2
#define PTT2 11 // uscita 2
#define PTT2A 6 // uscita ausiliaria invertita 2
#define BF3 A3 // ingresso 3
#define PTT3 10 // uscita 3
#define PTT3A 5 // uscita ausiliaria invertita 3
// ---------------------------------------------------------------
const int soglia1=200; // soglia di intervento I modulo
const int soglia2=200; // soglia di intervento II modulo
const int soglia3=200; // soglia di intervento III modulo
const int T1=200; // tempo di ritardo rilascio portante
int S=0;
void attivalink (bool A, bool B, bool C)
{
digitalWrite(PTT1, A);
digitalWrite(PTT2, B);
digitalWrite(PTT3, C);
digitalWrite(PTT1A, !A);
digitalWrite(PTT2A, !B);
digitalWrite(PTT3A, !C);
}
void disattiva() { attivalink(0,0,0); }
void setup()
{
pinMode(BF1, INPUT);
pinMode(BF2, INPUT);
pinMode(BF3, INPUT);
pinMode(PTT1, OUTPUT);
pinMode(PTT2, OUTPUT);
pinMode(PTT3, OUTPUT);
pinMode(PTT1A, OUTPUT);
pinMode(PTT2A, OUTPUT);
pinMode(PTT3A, OUTPUT);
}
void loop()
{
S=analogRead(BF1);
if (S>=soglia1) {attivalink(0,1,1);}
else
{S=analogRead(BF2);
if (S>=soglia2) {attivalink(1,0,1);}
else
{
S=analogRead(BF3);
if (S>=soglia3) {attivalink(1,1,0);}
else {delay(T1); disattiva();}
}
}
}
Simulazione: Radiotransponder con COR in bassa frequenza
v. anche RadioRama n° 95-pag 57
> Arduino N° 11
Dispositivo COR per Ripetitori o Transponder - RadioRama n° 95 agosto 2019
/* ---------------------------------- Inizio programma -----------------------------------------------
* COR in bassa frequenza per Transponder Radio a tre moduli TRX.
* Achille De Santis - tecnatron@gmail.com - V6.0 del 05-05-2019
* prelevare i segnali di BF da ogni uscita altoparlante attraverso un potenziometro da 10 KOhm
* I segnali di PTT sono "interbloccati".
* La scansione ciclica della BF permette la rilevazione del segnale che, se presente, manda in
* trasmissione gli altri due moduli.
* La sequenza di priorità è: 1,2,3.
* Ridurre opportunamente il segnale di BF da iniettare sugli ingressi microfonici.
*/
// --------------- parametri di I/O ---------------------------
#define BF1 A1 // ingresso 1
#define PTT1 12 // uscita 1
#define PTT1A 7 // uscita ausiliaria invertita 1
#define BF2 A2 // ingresso 2
#define PTT2 11 // uscita 2
#define PTT2A 6 // uscita ausiliaria invertita 2
#define BF3 A3 // ingresso 3
#define PTT3 10 // uscita 3
#define PTT3A 5 // uscita ausiliaria invertita 3
// ---------------------------------------------------------------
const int soglia1=200; // soglia di intervento I modulo
const int soglia2=200; // soglia di intervento II modulo
const int soglia3=200; // soglia di intervento III modulo
const int T1=200; // tempo di ritardo rilascio portante
int S=0;
void attivalink (bool A, bool B, bool C)
{
digitalWrite(PTT1, A);
digitalWrite(PTT2, B);
digitalWrite(PTT3, C);
digitalWrite(PTT1A, !A);
digitalWrite(PTT2A, !B);
digitalWrite(PTT3A, !C);
}
void disattiva() { attivalink(0,0,0); }
void setup()
{
pinMode(BF1, INPUT);
pinMode(BF2, INPUT);
pinMode(BF3, INPUT);
pinMode(PTT1, OUTPUT);
pinMode(PTT2, OUTPUT);
pinMode(PTT3, OUTPUT);
pinMode(PTT1A, OUTPUT);
pinMode(PTT2A, OUTPUT);
pinMode(PTT3A, OUTPUT);
}
void loop()
{
S=analogRead(BF1);
if (S>=soglia1) {attivalink(0,1,1);}
else
{S=analogRead(BF2);
if (S>=soglia2) {attivalink(1,0,1);}
else
{
S=analogRead(BF3);
if (S>=soglia3) {attivalink(1,1,0);}
else {delay(T1); disattiva();}
}
}
}
// ------------------------------ fine programma ------------- tecnatronATgmail.com ------------------
Simulazione: Radiotransponder con COR in bassa frequenza
v. anche RadioRama n° 95-pag 57
> Arduino N° 11
Nessun commento:
Posta un commento