LU9CBL

LU9CBL
LU9CBL

lunes, 13 de marzo de 2017

Ya un año de tu partida Fer LU2BPM (SK)



Hace un año ya, recibíamos la terrible noticia de la partida de un amigo de esos que no hay en todas partes. Fue y será por mucho siempre, una persona única, que siempre proporcionaba alegría en todos los ámbitos en los cuales participaba. Personalmente me toco conocerlo en el mundo de la radio, por ser uno de los integrantes del Grupo Dx Norte y realmente se lo extraña en cada concurso o actividad que uno desarrolla.



Para todos aquellos que no tuvieron la posibilidad de conocerlo, les dejo unos videos que demuestran la pasión que tenía por la actividad.





Fer sea donde sea que estés en este momento, sabe que te seguimos recordando con cada concurso o actividad que realizamos. Esperanos allá arriba para recibirnos cuando nos toque partir, y de esa manera alegrarnos nuevamente.
Mati LU9CBL

domingo, 4 de diciembre de 2016

Baliza de CW con Arduino Pro Mini [Parte 1]

Hace unos días, Claudio LU7DW, me comento la necesidad que tenia de armarse una baliza para la banda de 10 metros (28 MHz), para lo cual necesitaba hacer con algún PIC o Arduino que pueda realizar la manipulación del mensaje de la misma. A raíz de esto, buscando un poco en mi baúl de electrónica, decidí realizarlo en un Arduino Pro Mini, debido a su costo y su simplicidad de uso.



Aún no decidimos sobre qué equipo será instalado, pero como para ir avanzando en la codificación fue que se realizó una prueba preliminar. Se utiliza el pin 13 que ya posee un led incorporado para poder realizar la visualización de la manipulación.

Se utilizará en principio un LM7805 para poder darle los 5v que necesita la placa desde los 13,8 VCC del equipo que se elija, y se utilizará un transistor como conmutador para la secuencia de TX aplicada a su base (en principio se utilizará un 2N2222 y una resistencia en su colector, emisor conectado a masa).

A continuación se adjunta el código generado para que sobre el PIN 13 se emita los caracteres en telegrafía “VVV de LU7DW/BCN LU7DW/BCN GF05 GF05”. Se utiliza una única constante de tiempo en la variable cteTiempo declarada dentro de void loop() {} por lo que al modificar ese parámetro se aumenta y se disminuye la velocidad de tx, manteniendo las relaciones de espacio entre caracteres / palabras y entre sonidos cortos / largos.


Código Generado:
// Realizado por LU9CBL - Mat - 01/12/2016
// MENSAJE PARA BALIZA LU7DW:
// VVV de LU7DW/BCN LU7DW/BCN GF05 GF05
// Cada 20 segundos

int ledPin = 13; // LED en el pin digital 13
int cte;
int cteTiempo;
int cteTiempoLargo;

void setup() {
 
  // Configura el pin 13 como salida
  pinMode(ledPin, OUTPUT);
 
}

void loop() {
 
  // Declaro la constante de tiempo
  cte = 50;

  // Llamo a la función de la licencia de la baliza
  vvvde(cte);
  lu7dw(cte);
  lu7dw(cte);
  gridLocator(cte);
  gridLocator(cte);

  //ESPERA ENTRE MENSAJES (20 Segundos == 20000)
  delay(20000);
 
}

void vvvde(int cteTiempo){

  cteTiempoLargo = 3 * cteTiempo;

  //V
  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //V
  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //V
  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //D

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);
 
  delay(cteTiempoLargo);

  //E

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

}

void lu7dw(int cteTiempo){

  cteTiempoLargo = 3 * cteTiempo;

  //L
  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);
 
  //U
  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //7

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);
 
  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);
 
  delay(cteTiempoLargo);
 
  //D

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);
 
  delay(cteTiempoLargo);

  //W

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

// "/"

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //B

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);
 
  delay(cteTiempoLargo);

  //C

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //N

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

}


void gridLocator(int cteTiempo){

  cteTiempoLargo = 3 * cteTiempo;

  //G

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //F
  digitalWrite(ledPin, HIGH);   // activa el LED
  delay(cteTiempo);             // espera el tiempo de constante
  digitalWrite(ledPin, LOW);    // desactiva el LED
  delay(cteTiempo);             // espera el tiempo de constante

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //"0"

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempoLargo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

  //"5"

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  digitalWrite(ledPin, HIGH);
  delay(cteTiempo);
  digitalWrite(ledPin, LOW);
  delay(cteTiempo);

  delay(cteTiempoLargo);

}

miércoles, 12 de octubre de 2016

MFJ-1026 Noise Canceller.... ¡Al Rescate!



En el Grupo DX Norte, donde nos juntamos con amigos a disfrutar de la radio y de los concursos, hace un tiempo que tenemos una interferencia en las tres bandas principales (20m, 15m y 10m). Esto nos dejaba sordos en esas tres bandas, que es justamente donde está la direccional JVP36DX que funciona excelente.

A raíz de esto, Beto LU7BTO nos prestó un Noise Canceller MFJ-1026, el cual realmente nos salvó y genera el motivo de esta entrada, luego de “aprender” a utilizarlo, por si alguno tiene el mismo inconveniente.

En la parte delantera, podemos ver cuatro perillas y cuatro botones.
·         Perilla T/R DELAY: es la perilla que define el tiempo que tarda en conmutar entre RX y TX una vez que detecta la portadora. Esto también se puede realizar mediante una ficha RCA de la parte posterior que luego veremos. Nosotros lo utilizamos entre 2 y 3.
·         Perilla AUXILIARY ANTENNA GAIN: Es la que determina la ganancia de la antena auxiliar o que debe captar (de ser posible) la mayor cantidad de ruido que es el que buscamos eliminar.
·         Perilla PHASE: Es la fase entre ambas entradas (Main y Auxiliar).
·         Perilla MAIN ANTENNA GAIN: Es la perilla que determina la ganancia de la antena principal.
·         Botón de POWER: Es auto descriptivo permite encender el equipo.
·         Baton PRE-AMP, FREQ (High y Low) y PHASE (Normal o Invertido).



En la parte trasera, tenemos:
·         Conector de MAIN ANTENA: es donde va la antena principal.
·         Conector de Radio: Donde va conectado el transceptor.
·         Conector AUXILIARY ANTENNA: dónde va la antena de Ruido.
·         Conector de Power.
·         GND.
·         Conector T/R Control: Es el que permite por ejemplo agregar al foot-switch para que se active cuando deseamos transmitir.



Comentarios Previos
En nuestro caso, conectamos la antena principal (Direccional JVP) en la MAIN ANTENNA, y una antena direccional de 11 elementos de VHF apuntando al ruido. Esto lo hicimos así porque es lo que teníamos a mano y resulto funcionar muy bien, pero esta puede ser reemplazada también por una antena Loop apuntando a la fuente de ruido.

El MFJ también posee una antena telescópica que sale desde dentro del equipo, la cual resulto ser muy poco efectiva. Según pude leer la misma se usa cuando la fuente de ruido se encuentra hasta 10 metros de donde tenemos el equipo (ergo muy rara vez nos servirá).

Operatoria
En principio debemos poner las tres perillas (MAIL, AUX y PHASE) al mínimo. Una vez realizado eso, el S-METER del equipo va a quedar en su posición mínima.
Primero vamos a mover la perilla de antena auxiliar (AUX) hasta que en el medidor del receptor, tengamos una señal considerable, por ejemplo en nuestro caso es un S5. Anotamos cual es el valor de la perilla que marca (por ejemplo 6 u 8 o el que sea) y volvemos la perilla a su posición original.
Segundo, vamos a mover la perilla de la antena principal MAIN, hasta que tengamos el mismo nivel de señal que vimos con la auxiliar (en nuestro ejemplo S5). Una vez obtenido eso, llevamos la perilla de antena auxiliar a la posición que habíamos anotado antes (6 u 8 en nuestro ejemplo). Esto genera que se equiparen las dos señales.
Como tercer paso, vamos a ir girando lentamente la perilla de PHASE, hasta que se observe que las señales del SMETER decaen, por ejemplo se visualiza generalmente un pozo, que es donde la señal del ruido se resta con la señal de la principal. En algunos casos se llega al final del recorrido de la perilla sin encontrar ese pozo, en cuyo caso oprimimos el botón de INVERT para invertir justamente una de las señales. Esto es porque tal vez el ruido ya viene invertido, entonces con solo mezclarlos ya se restan (posición NORMAL).
Una vez realizado esto y luego de haber detectado el pozo, se deja en esa posición, y se opera normalmente. Generalmente al principio cuesta un poco, pero es como cuando se utiliza un sintonizador de antenas. Al principio es algo complejo, pero una vez que uno se acostumbra, lo hace casi de manera intuitiva.

Espero que les sirva, y si alguno conoce alguna otra forma los invito a dejar sus comentarios.
73s
Mati LU9CBL

***** ACTUALIZACIÓN 28/10/2016 *****
Googleando por internet. encontre un video de otra forma de poder utilizar el MFJ. Puntualmente en este caso deja fijo el MAIN a maxima ganancia, y juega con el AUXILIAR y el PHASE para encontrar cuando disminuye mas el ruido.