Recibí la placa "Arduino Shield" ofrecida por la Elektor Labs, complemento a los artículos publicados en la revista Elektor, con una serie de artículos titulados "SDR Reloaded". La placa la que rápidamente pude integrar con un marco de trabajo (en progreso) pensado para integrar diferentes proyectos usando una placa Arduino como controlador. Originalmente el desarrollo lo hice con la idea para un proyecto de integrar con un transceiver QRPp "Pixie" para, en conjunto con un DDS, tener un transceiver monobanda capaz de operar en uno o mas modos digitales (CW, RTTY, PSK, WSPR, JT65, etc), y por sobre todas las cosas una plataforma sencilla de experimentación. En la medida que el proyecto empezó a tomar forma se ramificó, inevitablemente diría, a muchas otras ideas tales como servir de controlador de un transceiver de banda lateral comercial convertido (Cahuane), una baliza de WSPR, un transceiver de PSK, un handy de VHF-FM de baja potencia y varios otros mas. Claramente las ideas rápidamente desbordaron cualquier marco de tiempo real disponible para implementarlas y los materiales lentamente se fueron apilando en cajas respectivas esperando su turno.
La idea general es, en general, construir una plataforma (se puede ver como una librería) que maneje "objetos" mas o menos comunes en una implementación de equipos de radio tales como un panel de sintonía, uno o mas VFO asumiendo la disponibilidad de un DDS., un sistema de navegación en menu para configuración, una plataforma de comandos y un sistema CAT. Luego, para cada proyecto desarrollar los pedazos de código que correspondan con la plataforma específica e integrarlos con la librería base para crear el microcódigo específico de forma que el objeto del proyecto que funcione en forma autónoma. En tal sentido, no intento generar un solo bloque de microcódigo que contenga todos los proyectos, sino que mediante opciones de configuración durante la compilación (comandos condicionales) active o separe los bloques de código que intervienen en un proyecto en particular, algunos proyectos podrán implementarse en una plataforma realmente pequeña (un Arduino mini o incluso un chip Tiny-85, por ejemplo) mientras que otras requerirán otras mas grandes.
En general la arquitectura consiste en (ver foto) una placa Arduino (One, Nano o Mega según el caso), con un shield específico del proyecto que sirva como interfaz con el hardware y otro shield que provea botonera, visor LCD y palanca de mando. El primero y el último son ofertas comerciales fácilmente disponibles mientras que el shield especializado depende mucho del proyecto. En el caso de la placa SDR de Elektor la misma fue descripta un artículo de la revista e implementa un demodulador Tayloe con el cual se obtienen las señales I/Q con las que procesar el resultado. Ese tipo de moduladores fueron descripto muchas veces en entradas anteriores de éste blog, y en particular de mi anterior blog lu7hz.blogspot.com. La implementación siempre empieza por un oscilador a 4x la frecuencia de trabajo, circuitería para obtener dos señales en cuadratura, un detector de producto digital y amplificadores de RF y audio. El circuito de ésta placa en particular puede verse en la figura adjunta. La implementación de éste proyecto, al que denominé SINPLEA, es un receptor multimodo de banda corrida para la gama de HF (200KHz a 30 MHz). La plataforma aún incompleta se denomina DDSPLUS y está disponible en GitHub como una versión que evoluciona según agrego funciones o soluciono problemas. Aunque en su estado actual todavía tiene "bugs" significativos es suficientemente estable como para ser utilizado casualmente. El software tiene una interfaz simple para seleccionar uno de dos VFO disponibles, la banda (bandas de aficionado o "Off" para banda corrida) y el paso de sintonía (100Hz, 1KHz, 10 KHz, 100 KHz,1 MHz). Como en cualquier proyecto las opciones y "defaults" pueden fácilmente ser cambiados e implementados en una versión diferente de firmware si así se desea.
La operación de la interfaz de usuario es relativamente simple. En condiciones normales el encoder se utiliza para cambiar la frecuencia (como si fuera un dial). Apretándolo se habilita el modo menu donde el encoder mismo sirve para navegar las opciones (en éste caso Banda, VFO y paso), para cambiar una opción se mantiene nuevamente presionado el botón de enconder hasta que se activa el modo edición, se selecciona la opción y para salir se dá un toque corto al encoder (salida sin grabar) o uno mas largo (salida grabando resultados). Para operar el circuito utilizo una placa de sonido USB, lo que me permite sintonizar segmentos de 48 KHz en cada banda (24 KHz a cada lado de las sintonía del DDS). La sintonía no se hace directamente en el receptor, alli solo se coloca la frecuencia base, la sintonía de las señales propiamente dichas y el modo a decodificar se realizar mediante la interfaz gráfica del programa SDR. El software que utilizo es SDRSharp, potente y confiable. Las pruebas preliminares en el aire son muy satisfactorias. No he desarrollado aún el sistema CAT, el cual lo haré emulando el conjunto de comandos de un Yaesu FT817, el cual además de ser muy completo y relativamente simple de implementar permitirá integrar los distintos dispositivos a la estación utilizando OmniRig como plataforma.
No hay comentarios:
Publicar un comentario