El proyecto de desarrollar una versión "aggiornada" de un Pixie va tomando cuerpo.
La idea básica es tomar un diseño como el Pixie en cuanto a sistema de mezcla y recepción pero reemplazando su oscilador local por un DDS, por otra parte controlando el DDS con una placa Arduino Nano y conectando todo a una PC mediante una placa serie USB-TTL.
El circuito es potencialmente capaz de salir en cualquier modo digital basado en modulación de frecuencia o de fase en el rango de 0 a 30 MHz.
Claramente un Pixie no tiene la complejidad circuital como para modular en amplitud (AM o SSB), pero variando la configuración del DDS puede trabajarse en CW, RTTY, PSK, JT65 y WSPR. Teóricamente podría hacerlo también en cualquier variante de FM o SSTV, pero tendría que refinar un poco el concepto y hacer pruebas para verificarlo, como rareza mas que nada porque no son modos que estén indicados para una potencia reducida.Por ahora está lista la cadena de DDS y el firmware básico para controlarlo mediante una placa Arduino.
La placa Arduino que uso es la mas económica, y como tal carece de interfaz serie, lo que se soluciona con una pequeña placa de puerto serie USB a nivel TTL (en realidad la placa Arduino no necesita RS232).
El firmware inicial implementa un beacon WSPR aunque la salida aún no puede alimentarse a una antena, se requiere todavía la construcción de las etapas de RF propiamente dichas.
La programación del DDS se hace con el protocolo serie, el cual es configurado mediante señales de +5V en los pines D0,D1 junto con GND en D2. El control propiamente dicho se realiza con 3 lineas: DATA, W_CLK y FQ_UD. Opcionalmente he cableado también la linea RESET para tener flexibilidad en el futuro.
Todo el conjunto es alimentado en este momento por el puerto USB de una PC, aunque seguramente no podrá trabajarse de esta forma el diseño final.
La señal que se obtiene del DDS es limpia y estable (ver osciloscopio). La implementación tuvo, como todo diseño desde cero, sus tiroteos.
Primero para poder grabar el firmware en la placa Arduino, lo que requiere un proceso algo crítico aunque es facil tomarle la mano (recomendaciones y discusión en el foro TECNICA-LU). Luego las complicaciones propias de desarrollar tres sistemas simultaneamente, de forma que cuando hay una falla no se sabe en cual de los tres está.
El primero en despulgarse fue la placa Arduino, de forma que pudiera grabar sistemáticamente microcódigo. Al poderlo hacer desarrollé un controlador muy básico del DDS para poderlo programar, y trabajé en la interfaz hasta que pude controlar su inicialización primero y sus parámetros despues, sobre ese controlador muy básico desarrollé la lógica de una baliza WSPR.
Finalmente, con todo ya funcionando, me dediqué a implementar un sub-sistema CAT para poder controlar el funcionamiento externo; para poder hacer el debug de este desarrollo hice un programa de "test bed" en Pascal que me permite controlar todas las variables y que utilicé para ir despulgando los mensajes de control y de estado. Junto con la implementación básica fui construyendo el esqueleto del futuro transceptor en cuanto a proveer la posibilidad de realizar PTT remoto, operar en SPLIT y disponer de dos VFO. No hay razón para que no utilice otras funciones en el futuro. Queda todavia pendiente lograr que este protocolo pueda operarse mediante OmniRig para completar la integración, cosa que por razones que está por verse aún no ocurre. El protocolo es esencialmente el utilizado por Yaesu con los mensajes 0x01 (SPLIT), 0x05 (VFO), 0x0f (PTT), 0x0C (modo) y 0x0a (FREQ); también reacciona al 0x10 (Status) y 0xfa (Flags). El resto de los mensajes del protocolo son ignorados y no están implementados. Utilicé el mensaje 0xff para sincronismo de tiempo (no existe en los Yaesu), basicamente coloca al controlador en el minuto 00 lo que es importante mantener con precisión para el modo WSPR.
Quedan todavía muchas horas de laboratorio y pruebas, pero va por el buen camino.
No hay comentarios:
Publicar un comentario