domingo, 28 de marzo de 2021

La reforma del QCX en QCX-SSB (!)

 En una entrada anterior compartí la modificación propuesta por Guido (PE1NNZ) al kit QCX creado por Hans Summers (G0UPL) y distribuido por Qrp-Labs para hacerlo funcionar como transceiver multimodo-multibanda, en esa entrada se repasa el enfoque general técnico y la documentación de referencia para comprender lo que hizo. El kit de por si es una maravilla técnica pues proporciona un transceiver de CW, monobanda, con un número de innovaciones técnicas que lo hacen funcionar muy bien. El kit es de complejidad media-alta, pero gracias a la excelente documentación disponible para su construcción es posible construirlo, siendo metódico y cuidadoso, sin mayores tropiezos. La belleza que tiene, además, es que el kit incorpora en la placa todos los instrumentos necesarios para su calibración y puesta a punto.  
Hay dos formas de abordar la construcción del kit para que opere como transceiver de SSB, uno es construir el kit tal como es indicado en la excelente documentación original del mismo, una vez finalizada la construcción (incluido el calibrado) se tienen que hacer una serie de modificaciones para implementar los cambios que propone Guido, usando éste enfoque es posible preservar el transceptor para que opere en su modo "nativo" (como QCX) o en su modo "modificado" (como QCX-SSB) cambiando el firmware y conmutando un par de cosas. La segunda forma es construir desde cero el kit como QCX-SSB, de esa manera se evita tener que insertar casi 80 componentes y realizar todos los pasos de calibración del modo "nativo" que no sirve para el QCX-SSB. 
En mi proyecto, y dado que estaba construyendo el kit desde cero, preferí el segundo método. Al hacerlo me salí, metafóricamente hablando, de la autopista y comencé a transitar por un camino vecinal. El primer intento fue tomar el manual constructivo del QCX original y marcar que pasos debía hacer y que pasos no, descubrí que esa forma iba a ser confusa y posiblemente condujese a errores pues muchos pasos donde se insertaban múltiples componentes no todos son necesarios para el QCX-SSB y había que tener cuidado que se ponía y que no. Cuestión de tiempo de insertar componentes de menos o de mas. Adicionalmente las modificaciones implican insertar en ocasiones algunos componentes diferentes a los etiquetados en la placa (por ejemplo una resistencia en lugar de un capacitor o viceversa).
Preferí utilizar el manual escrito por Manuel Klarig (DL2MAN) (link) que sin ser tan detallado como el original es específico para el QCX-SSB. Básicamente se instalan los componentes en 4 "pases", IC/Zócalos, resistencias, capacitores y resto (inductores, transistores y miscelaneos). Algunas referencias son un tanto crípticas, por ejemplo varios componentes dice "no colocar para la función mágica de Guido" y no queda para nada claro si se debería colocar o no, el spoiler para que no haya suspenso es que no deben colocarse. Algunos componentes no están en el kit y hay que agregarlos (dos resistencias de 82K y un capacitor de 220 nF). 

Al finalizar los primeros pases ocurren varios pases de modificaciones donde se trabaja con "jumpers" y componentes soldados entre distintos puntos de la placa. Durante la construcción encontré que había soldado dos capacitores fuera de lugar, y tuve que extraerlos y volverlos a insertar (uno sobrevivió y el otro no). Al finalizar la construcción comprobé que había soldado dos transistores de mas, también tuve que sacarlos.
Las instrucciones de armado dan tres alternativas para el filtro pasabajos de salida, una es construir el filtro que viene con el kit, con lo que mayormente el transceiver queda monobanda (en mi caso 20 metros). Otra es hacer "by-pass" del filtro en la plaqueta y poner el filtro pasabajos a continuación del conector de antena, de esa forma se puede enchufar y des-enchufar distintos filtros. 
La tercera es hacer lo mismo pero en la placa, los filtros que comercializa Qrp-Labs son adecuados para éste enfoque. En mi caso fui por la primera y puse fijo el filtro pasabajos de 20 metros. Cabe destacar que en la lógica de funcionamiento que tiene el transceiver y como no tiene cirtuitos sintonizados, otro que el filtro pasabajos, en teoría el transceptor puede utilizarse en las bandas por debajo de la que tiene el filtro (30,40,60,80 y 160 metros en éste caso), pero es probable que la capacidad de sintonía y la supresión de espureas sea mala (no lo he probado). 
Finalmente viene la modificación que refiere Manuel para la función mágica de Guido, que consiste básicamente en poder controlar los niveles de inyección de la etapa final mediante software, para lo cual hay que hacer una serie de modificaciones adicionales, una de ella en particular implica cortar una delga de la placa y eso significa que se pierde la posibilidad de utilizar en el futuro la placa como un QCX original, cosa que Manuel advierte muy claramente. En realidad no veo porque no pudiera hacer un "jumper" mas para re-instalar la delga cortada, pero no tengo intenciones en lo inmediato de transformar el kit en QCX original, asi que corté la delga.
El climax de la construcción viene sin dudas al grabar el firmware, el cual es completamente diferente al que viene con el QCX. 
Es binario, uno u otro. El QCX original no funciona con el firmware de QCX-SSB y el kit construido para QCX-SSB no funciona con el firmware original del QCX. Una primera decisión a realizar es donde grabar el firmware, el kit QCX viene con un procesador ATMega328P con el firmware grabado para el QCX original, y siempre se puede pisar sobre el el correspondiente al QCX-SSB. Sin embargo, tomé un camino mucho mas conservador, partí de un procesador vacío, le quemé un bootloader y grabé sobre el el microcódigo; las instrucciones de Manuel son suficientemente buenas para hacer ésto.
Se instruye con bastante detalle como utilizar una placa Arduino Uno (supongo que nada impide utilizar una Arduino Nano) para utilizarla como programador ISP, se baja el source  (OCX-SSB.ino) y con una serie de pasos se graba en la placa (por intermedio de la Arduino Uno).  
Manuel recomienda hacer un cable de programación casero (ver foto) para no tener que estar cableando entre la placa QCX y la Arduino Uno, cada vez que se necesite modificar el firmware. Y es esperable que haya que modificarlo, ante parches y versiones nuevas que pudiera producir Guido por un lado. Pero en mi caso porque tengo toda la intención de modificar en forma local el firmware para hacer pruebas, experimentos y, si se dá, alguna que otra optimización. No es demasiado el espacio que queda disponible, el firmware ocupa el 85% de la memoria disponible en la placa QCX y en general no se puede usar mucho mas que el 90% antes de empezar a tener comportamientos erráticos. En realidad el proceso lo tuve que hacer dos veces, en la primera no quedó generado bien el firmware en la placa QCX y no hacía correctamente el boot. En la segunda repetí con especial cuidado todos los pasos y salió andando. Un último detalle al ponerlo a funcionar fue que parecía andar, transmitía en CW al menos, y cuando transmitía con mi estación el medidor de unidades S marcaba a full en el QCX pero no salía audio. Terminó siendo una conexión equivocada en la construcción (una de las mods), al solucionarla empezó a emitir audio.
Aqui es donde, creo, se nota mas la diferencia entre el kit original y ésta modificación. Es claro que el receptor es un poco "sordo" y que la potencia de salida es muy baja, hay que ajustarlos. Si bien hay parámetros configurables para realizar el ajuste no se dispone de todo el instrumental incorporado del kit QCX "original",  por lo que por ahora quedará como trabajo subsiguiente estudiar como hacer esos ajustes y experimentar como mejorar el rendimiento. Aún así en recepción tuvo una mas que aceptable performance tomando estaciones en FT8 en 20 metros y 40 metros. No pude, no obstante, lograr escuchar en CW en el WebSDR de Nestor (LU5DNP) en Saladillo (Bs As) (link), los otros equipos de mi estación, aún en potencias QRP los podía monitorear alli sin problemas. Para poder usarlo en la práctica construí el cable de alimentación, un keyer para conectarlo a la computadora y un cable de audio acorde a las conexiones especiales que usa.
Queda aún bastante para terminar de completar el proyecto en materia de ajustes y pruebas; pero es claro que el potencial para experimentar es enorme. Agregar AM y FM, optimizar la transmisión para FT8 y WSPR y algunos factores de usabilidad me vienen rápidamente a la cabeza. Queda además hacer una carcaza con la impresora 3D para no dejar expuesto al circuito. A mas largo plazo las ideas de Guido creo que pueden ser aplicadas para lograr que el mismo "core" DSP pueda utilizarse con otro transceiver mas sencillo (¿Pixie?) haciendo el proyecto mas a tiro de experimentadores con menos experiencia y a un costo mucho mas acomodado. En tal sentido creo que se puede usar módulos completos para la placa Arduino Uno que se consiguen bastante facilmente en el mercado local, el LCD/rotary switch y adaptar un DDS Si5351 usando una placa "shield" vacía,  para finalmente mover un kit Pixie u otro similar. Si bien de esa forma se puede obtener un receptor de conversión directa (en lugar de I/Q balanceado como en el caso del QCX) el transmisor en clase C podría perfectamente ser utilizado en FT8 además de CW. En un proyecto anterior (PixiePi/Pi4D) utilicé unas librerías DSP propias muy optimizadas que me permitían hacer el procesamiento en una placa Raspberry Pi Zero en forma mas eficiente, pero claramente las rutinas de Guido son mucho mas eficientes pues pueden trabajar incluso en un microcontrolador con un clock de solo 20 MHz (contra el 1 GHz de una placa Raspberry). Otra variante es mover los diseños QRPp de una buena vez por todas a que sus amplificadores de salida utilicen Clase E, es mucha la diferencia de eficiencia y la posibilidad de usar transistores baratos y sin disipador para operar en potencias QRP. Es decir, una enorme gama de proyectos por venir.









No hay comentarios:

Publicar un comentario