lunes, 30 de abril de 2012

Mi nuevo keyer arduino

Se puede decir que hago radio casi exclusivamente en telegrafía. Muy pocas veces trabajo en fonía, salvo salidas al campo con el talky de FM, o en contadas ocasiones en SSB. Para trabajar en CW siempre he usado un manipulador yámbico. Se trata de un manipulador de dos palas verticales que, junto con un circuito electrónico, genera automáticamente los puntos y las rayas o, mejor expresado, los dit y dah. No hay nada como verlo en este vídeo: http://www.youtube.com/watch?v=Y9X4wvEACuk

Cuando empecé con la telegrafía, en mi anterior etapa de radioaficionado, sobre el año 1980 monté el circuito Accu-keyer con integrados TTL. Con este circuito aprendí a manejar un paddle yámbico y disfruté durante unos años de la telegrafía. Actualmente todo mi antiguo equipo de radio, incluidos manipulador y keyer están en el museo de la radio de Agustín EA1AV.
La caja gris con el botón es el keyer K8

El keyer de OK1CDJ
Al volver de nuevo a la radio hace dos años, busqué circuitos para hacer un keyer yámbico. Supuse, con razón, que habría muchos circuitos construidos sobre microprocesadores PIC y otros semejantes. Después de indagar mucho me decidí a construir un keyer K8 de K1EL, pero con un circuito 16F628, más moderno y barato. Usé el circuito y el código de VA3EP adaptando el código fuente para mi indicativo y para mi velocidad habitual.

Llevo usando este keyer desde que recibí mi indicativo, en agosto de 2010. Funciona muy bien, tiene memoria de llamada y otras memorias más. La gran pega que le veo es que es un poco engorroso de manejar, al cambiar la velocidad o usar las memorias. Hay que dar comandos usando un botón y "manipulando" el comando. No se puede hacer un cambio rápido de velocidad.

También he probado otros circuitos. He intentado hacer un K9 con un PIC 12F509, pero no he conseguido que funcione. También conseguí un chip de OK1CDJ en eBay (por cierto, ahora no está a la venta). El circuito es muy simple y funciona muy bien. Además se puede alimentar con una simple pila de botón. Este circuito permite cambiar de velocidad de forma rápida y sencilla. Hasta que se estropeó. El circuito falló por alguna causa y ahora he usado los cableados para mi nuevo proyecto.

El keyer Arduino

Arduino es un sistema basado en un microcontrolador para fabricar prototipos de circuitos programables. Está teniendo un éxito imparable en los últimos años entre los aficionados a la electrónica. Tanto el hardware como el software son abiertos. Se programa con un IDE muy sencillo de usar y en un lenguaje muy fácil de aprender, parecido al C++. Hay muchos ejemplos de programas para probar rápidamente prototipos.

El clon de Arduino antes del montaje.
En internet encontré el keyer Arduino de K3NG con un montón de posibilidades y en pleno desarrollo. Además están saliendo otras derivaciones como el nanoKeyer. En vista de que el proyecto está bastante maduro, de que cumple mis necesidades y es barato; me decidí a construirlo. Conseguir un clon chino del Arduino muy barato, unos 14 euros portes incluidos. Es igual que el Arduino Nano, pero con el patillaje cambiado.

Lo he montado sobre una placa de prototipos siguiendo el esquema original de K3NG. Le he puesto potenciómetro para poder cambiar la velocidad rápidamente. Y lo mejor es que ¡ha funcionado a la primera! Una vez montado el circuito, comprobado y recomprobado que no hay errores de conexión y todo está en su sitio; se conecta el circuito al ordenador a través del cable USB que viene con el Arduino. Por este cable se alimenta también el circuito. Se compila el programa y se vuelca sobre el circuito. Se conecta el keyer y se prueba el funcionamiento.

Para que el potenciómetro esté operativo hay que "descomentar" esta línea del código fuente borrando las dos líneas "//" del principio del texto:
//#define FEATURE_POTENTIOMETER      // do not enable unless...

También es conveniente poner la velocidad a la que queremos que funcione al arrancar, editando esta línea:
#define initial_speed_wpm 20     // "factory default" keyer speed

Hay un montón de opciones más que se pueden programar. No he tenido tiempo de probarlas. A medida que vaya cogiendo experiencia iré probando y comentándolo en el blog.

Pero Murphy nunca duerme... Cuando empiezo a usar el keyer en transmisión, en operación real; en algunas bandas el circuito se bloquea y queda en transmisión. Solo ocurre en algunas bandas, en otras funciona sin problemas. La intuición me dice que hay algún problema con la radiofrecuencia. Lo dejé reposar unos días y ya estaba pensando en usar un optoacoplador para aislar el circuito, cuando me da por mirar a ver si he puesto el condensador que va en paralelo con el transistor que pilota la transmisión... Me había olvidado de poner el condensador C3 que se encarga de "cortocircuitar" la radiofrecuencia que le pueda llegar desde el transmisor.
El condensador olvidado.

El condensador más parecido que encontré en casa era de 22nF. Lo puse y ¡a funcionar! Todo el fin de semana he trabajado con el nuevo keyer sin ninguna dificultad. He conseguido una veintena de QSO con este circuito y estoy muy contento con él.

Bueno, todavía hay un pequeño fallo que hay que localizar. Para ajustar el acoplador al cambiar de banda, busco una frecuencia libre y pulso el keyer, transmitiendo puntos hasta que consigo el ajuste correcto para no tener estacionarias. En ocasiones, después de esta operación, el keyer deja de transmitir. Pulsando una vez el botón de comando, vuelve a funcionar.
El circuito ya montado

Queda mucho por explorar de este keyer que permite guardar varios mensajes, acoplar un teclado, conectarlo a un ordenador para usarlo como Winkeyer y un montón más de posibilidades. Además el proyecto sigue evolucionando y el código fuente está disponible para adaptarlo a las necesidades de cada usuario. Continuará....
En su caja listo para usar.
AÑADIDO: Después de escribir esta entrada he visto que el bloqueo del keyer después de transmitir muchos puntos es una prestación del sistema. Es una precaución de seguridad que se puede deshabilitar en el código fuente:

Dead Operator Watchdog
This feature turns off the transmit line after 100 consecutive dits or dahs.  It can be enabled by uncommenting this line:
#define FEATURE_DEAD_OP_WATCHDOG

Después de transmitir 100 puntos o 100 rayas seguidas se bloquea la transmisión. ¡Hay que leerse el manual!