Keyer para CW

Keyer para CW

23 de julio de 2019

Dos modelos de keyer para practicar CW

Voy a mostrarte dos formas de hacer tu propio keyer para telegrafía.

  • keyer mecánico
  • keyer electrónico

Keyer mecánico

Este manipulador es extremadamente fácil de montar, super barato y para mi gusto tiene un tacto y funcionamiento muy buenos.

Keyer mecánico

Como ves, básicamente está formado por una hoja de sierra de hierro, dos tuercar ciegas redondas, los soportes metálicos y la base de rigor.

Como puedes ver en la imagen es muy “cutre” pero te sorprenderá el ajuste fino que se puede llegar a tener y lo bien que funciona. La verdad es que me encanta. Entonces ¿por qué fabricar otro? Bueno, me divierto construyendo cosas y además este manipulador no me permite per se practicar puesto que tendría que tener la radio encendida.

Keyer electrónico

IMAGEN

Este manipulador es más caro que el anterior y te costará más tiempo montarlo… pero diseñarlo y construirlo, al ser más laborioso, es más divertido.

Ya tenía la idea en la cabeza y entonces fué cuando encontré el libro Arduino Projects for Amateur Radio en el que contruyen un manipulador. Todos los libros sobre arduino que caen en mis manos los devoro porque me divierto mucho. Así que leí el capítulo y básicamente las ideas que tenía eran las ideas que venían en el libro… no es difícil que sea así puesto que los fundamentos de funcionamiento son muy básicos y hay poco que pensar XDDD

No he construido el keyer del libro y de hecho, el código diría que está mal. La razón básicamente es cómo está implementada la funcionalidad para cambiar con las palas las wpm. Básicamente, lo que he visto viendo el código es que si quieres enviar un 55 o cualquier sucesión de caracteres formados por ‘.’ que superen el límite del trigger lo que harán será cambiar las wpm.

El plan es contruir un prototipo con Arduino y después crear el manipulador con un Attiny85 puesto que solo vamos a utilizar 6 pines y la funcionalidad es MUY básica.

¿Qué funcionalidad queremos conseguir con el manipulador?

  • Tocando las diferentes palas enviaremos un dit o un dah
  • Queremos poder cambiar las wpm
  • El sitema tiene que estar totalmente aislado de la radio
  • Queremos poder prácticar sin la radio

Palas == sensor capacitivo

Del primer punto sacamos que queríamos un sistema sin partes móviles. Ya sabes, si algo se mueve se romperá1 Los sensores capacitivos vienen al rescate.

La idea básica es muy sencilla: nuestro cuerpo tiene una carga y una capacidad. Aprovecharemos esto para saber si una placa metálica cambia significativamente su tiempo de carga al tocarlo nosotros (añadimos un condensador en paralelo). Que traducido significar que tendremos que cargar / descargar nuestra placa e ir midiendo el tiempo. Si éste supera un umbral, entonces inferimos que se ha tocado.

Nosotros en este caso, vamos a usar la librería LIBRERÍA pero básicamente puedes experimentar de forma muy fácil con Arduino.

wpm

No se me ocurre un protocolo que funcione para usar las palas y que sea sencillo… pero lo primero que me vino a la cabeza era usar un potenciómetro para controlar las wpm (de forma similar a un dimmer).

Aislamiento

Este es un punto que no tiene discusión. No queremos de ningún modo dañar la radio.

Prácticas

Las prácticas han de ser con el dispositivo real que vamos a utilizar para tener el ‘feeling’ del dispositivo pero es que además necesitamos poder practicar sin la radio. Simplemente usando un buzzer tendremos realimentación auditiva (usaremos el LED de la placa para realimentación visual… pero lo que aporta es el oído). Recordemos que el código morse no son puntos y rayas, son dit-dah. Tenemos que oir las letras, no contar puntos y rayas.

El circuito

El circuito de nuestro prototipo usando Arduino es el siguiente

IMAGEN

Y el programa es el siguiente:

PROGRAMA

Como es un prototipo y al usarlo, se te ocurrirán mejoras. En mi caso, lo tenía claro: poder cambiar el tono del buzzer… pero solo para el prototipo. En el montaje final solo tendrían cabida las opciones más simples. Es decir, usaremos pwm de analogWrite que nos da casi un B4/Si4. En mi caso usé en Arduino la librería tone para emitir un A4/La4 simplemente porque me parece agradable.

Por supuesto usar el puerto serie para mostrar toda la información que he considerado necesario para depurar la aplicación2. Una vez tenemos el prototipo funcionando, ya solo queda pasar el programa para que lo ejecute un Attiny85, que básicamente se trata de cambiar los pines y sustituir el uso de tone por analogWrite.

Quiero usar un Attiny porque solo vamos a usar 5 pines y porque es mucho más pequeño que un Arduino (o que el chip de Arduino con su cristal y 2 condensadores).

Aquí se me abrió la posibilidad de trabajar con una nueva placa de desarrollo Digispark. Esto es debido a que el precio de solo el Attiny85 en DIP es mayor (o similar) al de la propia placa ¡¡arggg!!

Antes de ponerte a intentar compilar el programa entero para Digispark, como siempre, asegúrate de que eres capaz de ejecutar el típico blink. Después, si quieres probar un dimmer pues mejor. En la wiki tienes toda la información necesaria para empezar.

Y el programa para el Digispark es el siguiente:

PROGRAMA

como ves, es idéntico al programa del prototipo y simplemente cambian (necesariamente) los pines.

Impresiones

La verdad que estoy contento con el funcionamiento del manipulador y ya llevo unos días practicando sin la radio (básicamente es el motivo de haber construido el manipulador: usarlo sin la radio).

He aprendido a usar Digispark y me ha parecido una plataforma válida pero creo que prefiero el Attiny85 en DIP… cuestión de gustos… pero que cueste más o solo unos pocos céntimos más teniendo la placa de desarrollo su regulardor de tensión, conexión usb, leds, resistencias, etc… me hace decantarme por esta placa de desarrollo.

Bueno, nos oimos en las ondas: DAH DIT DAH DIT / DAH DAH DIT DAH / DAH DIT DAH DIT / DAH DAH DIT DAH


  1. dudo mucho que el primer manipulador se fuera a romper nunca pero bueno ↩︎

  2. en el programa que aquí ves he eliminado la parte de debug ↩︎