lunes, 24 de septiembre de 2018

Arduino+SDR=SINPLEA

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.







sábado, 1 de septiembre de 2018

Viejos recursos, nueva casa

He migrado a éste blog el recurso de monitoreo de propagación (WebCluster) que provisto por Rick (LU9DA) en su página Web vengo usando desde hace más de una década y que me resulta sorprendentemente eficiente y efectivo.
El mismo se basa en una serie de imágenes que genera Rick cada pocos minutos mostrando los trazos en un mapa indicando estaciones reportadas en el cluster y sus reportantes. La suma de ambas muestra que caminos de propagación están abiertos y en cierta medida su intensidad. Es enormemente útil para identificar rápidamente cuando la propagación cambia, sea geográficamente o en cuanto a la banda en la que ocurren aperturas. Un simple script, disponible como gadget permanente en éste blog, lo único que hace es tomar esas imágenes y refrescarlas periódicamente. Muchas veces he intercambiado opiniones con otros colegas sobre si el uso de éste recurso implica operar "asistido" o no, y la cuestión no es facil de dilucidar puesto que si bien no aporta información de estación y frecuencia (un spot) también es claro que es mas facil que estar ruleteando las bandas para escuchar cual se abrió y para donde. En mi caso lo uso cuando opero asistido con lo que la situación pierde entidad. También aproveché para trasladar otros dos recursos muy útiles de mi anterior blog a éste. Espero que les sea útil, es un gran recurso.