Étiquette : télégraphie

Décodeur de télégraphie autonome avec Arduino

Nicola Cimmino - Décodeur CW Arduino (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2014/11/proto NULL.png)Merci à Raj VU2ZAP d’avoir partagé ce lien. Le projet de décodeur Morse de Nicola Cimmino est très intéressant à plusieurs titres.

Tout d’abord il utilise peu de composants et le principal est un micro-contrôleur Arduino. Ensuite le code est entièrement disponible en licence GNU. Et finalement sa documentation est très didactique et complète même s’il manque un schéma du circuit d’amplification audio qui aurait pu être utile.

Pour l’instant le code attend un signal 700 Hz et une vitesse autour de 13 wpm, mais chacun est libre d’améliorer le code source pour l’adapter à ses besoins.

La vidéo ci-dessous en montre le fonctionnement.

Vidéo décodeur CW Arduino Nicola Cimmino

Le Flying Pig Rig version 2, transceiver CW en kit chez Kits and Parts

Transceiver en kit Flying Pig Rig Kits and parts W8DIZ (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/06/pigrig_in_box_kitsandparts_w8diz NULL.jpg)W8DIZ a relancé une nouvelle série de son transceiver en kit Flying Pig Rig (http://kitsandparts NULL.com/fprb-7030 NULL.7 NULL.php). Volontairement simple à construire et d’un design épuré, ce poste permet de trafiquer en télégraphie avec 5W mais sur une fréquence unique (quartz) au choix sur la bande des 80 mètres ou des 40 mètres. L’idée de départ est de concevoir un poste facile à fabriquer pour les membres d’un radio-club comme celui de W8PIG (http://www NULL.fpqrp NULL.org/) et de pouvoir se retrouver sur la même fréquence. L’architecture est à simple conversion (avec un mélangeur NE602) et un manipulateur électronique est intégré (code source disponible). Les performances sont suffisantes pour les bandes basses mais le filtre à quartz n’utilisant que 3 pôles il ne sera pas taillé pour les contests bien que le profil montré sur les mesures ci-contre soit très flatteur.

Filtre 3 Quartz Flying Pig Rig W8DIZ (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/06/filter_470_pig_rig_w8diz NULL.jpg)Le prix de 42$ rend ce kit particulièrement attractif. Ca me paraît le kit idéal pour qui souhaite monter un premier kit transceiver. Le nombre de composants est limité, aucun CMS, peu d’inductances et transformateurs compliqués à bobiner (4 en fait)… Seul la documentation complète mais pas très pédagogique (http://kitsandparts NULL.com/pigrig_17Jan13 NULL.pdf) font baisser la note que je donnerai à ce kit. Personnellement à ce prix là j’hésite à en commander un. S’il est facile de modifier le circuit pour ajouter un VFO à DDS sur la réception, l’émission pourrait demander un peu plus de travail… Tout compte fait c’est plutôt un transceiver QRP pour les bandes des 15 ou 10 mètres (le MiniPi-10 ? (http://kitsandparts NULL.com/minipig/)) qui m’intéresse (pour opérer depuis la ferme en pleine journée) et il y a aussi d’autres circuits (un bon Wattmètre QRP par exemple) que j’aimerais réaliser avant…

La Radiotélégraphie au Patrimoine Immatériel de l’Humanité

Merci à Claudio IZ0KRC pour l’information.

Copie manipulateur Vibroplex Midget par G3YUH (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/06/Copie_Vibroplex_Midget_G3YUH NULL.jpg)L’ARI, l’association nationale radioamateur italienne, a demandé au siège de l’UNESCO à Paris de prendre en considération l’inscription de la Radiotélégraphie (Code Morse) au Patrimoine Immatériel de l’Humanité. La démarche provient d’une motion (SC11_C3_32) présentée par la DARC et votée par les différentes associations nationales lors de la Conférence de l’IARU Région 1 en 2011 en Afrique du Sud . Cette une excellente initiative et il me paraît important que nous l’appuyons tous. Je vais d’ailleurs contacter le président du VARC à ce sujet. Par contre, je laisse le soin aux juristes et aux spécialistes des langues de juger le contenu même de la lettre qui ne me paraît pas des plus structurés et clairs…

Pour illustrer cela, une très belle reproduction d’une clé “miniature” Vibroplex Midget par G3YUH (http://www NULL.ronayling NULL.dsl NULL.pipex NULL.com/keys9/key221/key221 NULL.html).

North American QRP CW Club

Depuis que je m’intéresse aux circuits de KD1JV et que je suis inscrits au groupe Yahoo qui traite des transceivers de la série ATS ou des MTR, je reçois régulièrement des messages parlant des différents concours QRP organisés par le NAQCC (North American QRP CW Club) (http://www NULL.naqcc NULL.info/).

Logo NAQCC (http://www NULL.naqcc NULL.info/)Bien que majoritairement composé d’OM du continent nord-américain, le NAQCC porte mal son nom puisqu’il regroupe des radioamateurs de 90 pays et que rien ne limite les inscriptions. En effet, l’inscription au club est gratuite et ouverte à tous. L’objectif étant de promouvoir les activités QRP et plus particulièrement la télégraphie QRP. Bien entendu, vu ma situation géographique j’ai peu de chance de remporter un concours, mais pour les OM européens il en va autrement et une manche de concours est particulièrement prévue pour eux chaque année (cette année c’était le 18 février). La section européene comporte 550 inscrits et dispose aussi de son propre site web (http://naqcc-eu NULL.org/).

En plus des concours, le NAQCC organise régulièrement des réseaux dont le but est d’aider les opérateurs débutants en télégraphie à se perfectionner. La vitesse est basse, et même l’utilisation de 100W est autorisée car il s’agit là d’attirer le plus grand nombre pour se préparer ensuite à devenir de bons opérateurs QRP.

Vous l’avez compris, depuis quelques semaines je suis devenu le membre numéro 6146 et je vous incite à vous inscrire de même et à promouvoir la télégraphie et le QRP. Et que cela ne vous empêche pas de participer à d’autres associations, puisque l’inscription est gratuite!

Le Manipulateur électronique Arduino K3NG, circuit par F6ITU

Implémentation du manip Arduino K3NG par F6ITU (http://wiki NULL.electrolab NULL.fr/Projets:Perso:2012:ArduiKeyer)Après avoir essuyé quelques fonctionnements erratiques du manipulateur sans en pouvoir déterminer la cause, j’avais un peu laissé tombé ce projet. De toutes façons je n’avais pas trop le temps pour les concours et ce qui me motivait à monter un manipulateur autour du code de K3NG (http://radioartisan NULL.wordpress NULL.com/arduino-cw-keyer/) c’était de pouvoir l’interfacer en mode WinKeyer avec le logiciel de N1MM (http://n1mm NULL.hamdocs NULL.com/tiki-index NULL.php).

Ces derniers jours j’ai téléchargé une nouvelle version du code sur le nouveau dépôt SourceForge du projet (http://sourceforge NULL.net/projects/k3ngarduinocwke/), pour me rendre compte qu’elle semblait fonctionner parfaitement en local avec Winwarbler de DXLabs. En jetant un oeil sur le blog de K3NG j’ai aussi lu dans les commentaires que F6ITU s’y intéressait et qu’il avait écrit une très belle page en français, bien documentée, autour de son implémentation du circuit (http://wiki NULL.electrolab NULL.fr/Projets:Perso:2012:ArduiKeyer). Je reprocherais toutefois à F6ITU de s’éloigner un peu trop des caractéristiques matérielles définie par K3NG, ce qui va rendre difficile le suivi par des tiers des mises à jour, par ailleurs très régulières. Mais tout est histoire de choix, et rien ne vous empêche de vous inspirer de ce qu’il a fait en restant plus proche de l’origine.

Mon propre objectif pour ce projet est beaucoup plus simpliste puisque je veux juste la fonctionnalité Winkeyer. Toutefois, cette page intéressera beaucoup les francophones qui peuvent être rebutés par le blog de K3NG dont la clarté n’est pas un exemple du genre.

Manipulateurs Iambic portables

Dernièrement j’ai lancé une petite discussions sur le groupe Yahoo AT-Sprint (celui au sujet des transceivers de KD1JV). Ma question était simple : “Qu’utilisez vous comme manip en portable ?”.

Les réponses ont été nombreuses et bien argumentées. Beaucoup d’OM utilisent des manipulateurs de fabrication maison, ce qui se comprend puisque la communauté d’utilisateurs des ATS et MTR est plutôt orientée vers la bricole. De plus, un manip fait maison est souvent simple à réparer et on a moins peur de l’abimer quand on est en rando sur un sommet.

Toutefois, plusieurs manipulateurs commerciaux ont été cités. Le prix étant un critère important pour moi je ne vous ferai part que de ceux qui me paraissent pertinents. Les raison qui poussent les OM à choisir un manipulateur “usiné” (ceux fait maison étant plus simplement construit) sont la solidité et la capacité à transmettre à des vitesses plus importantes sans fatigue. En SOTA/QRP, la plupart des OM transmettent à des vitesses raisonnables de l’ordre de 15 à 25 wpm, à ces vitesses, pas besoin de rappel magnétique ni de mécaniques complexes, juste une réalisation de bonne qualité.

PortaPaddle AME Manipulateur CW Iambic (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/05/PPII3 NULL.jpg)Celui qui pour l’instant remporte le plus de suffrage et me plaît le plus est le PortaPaddle d’AME (American Morse Equipment) (http://www NULL.americanmorse NULL.com/portapaddle NULL.htm). Bien réalisé, léger, petit mais solide et permettant d’atteindre des vitesses relativement élevées sans fatigue ni erreurs. Un peu cher à 79 US$ port compris vers l’Europe, il semble valoir son prix. Toutefois, pour cette dernière raison je pencherai plutôt vers le Dirty Cheap Paddle (DCP) (http://www NULL.americanmorse NULL.com/dcp NULL.htm) du même constructeur qui ne fait que 55 US$ port compris.

Te-Ne-Ke manip CW portable SOTA (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/05/teneke_parts_thumb NULL.jpg)Vient ensuite le Te-Ne-Ke (http://w8cso NULL.org/index NULL.php?page=teneke) dont le principe me paraît très intelligemment pensé. Même prix que le DCP d’AME mais peut-être un peu plus pratique à utiliser et fixer quelque part. Deux inconvénients toutefois pour moi : l’absence de réglages et le fait que les ressorts soient protubérants. Au moins un OM a relaté avoir cassé ses ressorts à force de rentrer et sortir le manip de son sac. Sur ces derniers points, tout dépend de votre usage…

Manipulateur portable SOTA QRP Palm Paddle (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/05/paddle_02 NULL.jpg)Le dernier est de loin le plus abouti mais aussi le plus cher. C’est le Mini-Paddle de Palm-Radio (http://www NULL.palm-radio NULL.de/english/english NULL.html). De construction allemande (les précédents sont américains), il ne présente aucun défaut apparent sauf son prix. On en a pour son argent et tant la solidité que la performance semblent-être au rendez-vous car il est léger, rétractable, utilise des contacts plaqués or, offre trois réglages, possède un capot solide… pour un prix d’un peu plus de 100 US$ chez Morsex (http://www NULL.morsex NULL.com/palm/). Un OM m’a aussi donné les indications détaillées permettant de réaliser un manipulateur similaire soit-même, cela fera l’objet d’un autre billet.

A noter que plusieurs OM m’ont dit préféré les manipulateurs à simple levier (non iambic) pour le SOTA : plus solides et moins sujets aux erreurs lors qu’on est pas bien installé. Pour mon usage un double contact iambic sera parfait et m’évitera d’apprendre un autre mode de manipulation.

Le vrai manipulateur double contact

Deux J-37 couplées (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/04/epsn5113 NULL.jpg)Je suis tombé dessus un peu par hasard. C’est le travail de Carlo IZ4KBS (http://www NULL.qrz NULL.com/db/iz4kbs). Je trouve cette réalisation ingénieuse et de toute beauté. Pas le même travail qu’une clef Begali par exemple mais coupler deux pioches J-37 possède aussi un certain symbolisme. Plus de photos ici (http://www NULL.strozzi NULL.it/users/carlo/hamradio/hb-paddles/index NULL.html).

Arduino : un manipulateur CW complet

J’ai fait un petite mise à jour du code de mon manipulateur électronique pour concours (http://xv4y NULL.radioclub NULL.asia/2011/12/09/arduino-manipulateur-cw-de-numero-de-serie-pour-concours/). L’envoi plus rapide du 599 était en fait trivial, mais j’étais passé à côté la fois dernière. Deux minutes ce matin et l’affaire était jouée.

Par contre je m’étais fixé comme prochaine étape de réaliser un manipulateur électronique émulant un Winkeyer de K1EL (http://k1el NULL.tripod NULL.com/WKUSB NULL.html). Non pas que je voulais l’améliorer ou même le copier car les produits de K1EL et en particulier le Winkeyer me paraissent extrêmement complets et d’un rapport qualité/prix imbattable. Seul le MasterKeyer de HamGadgets (http://www NULL.hamgadgets NULL.com/index NULL.php?main_page=product_info&cPath=21&products_id=106&zenid=gdc9eut0dq79n4uvr3nmlj7sk7) est peut-être mieux doté, mais il est aussi plus cher. En fait c’est le côté pédagogique de la chose qui m’intéressais. Je voulais juste émuler la transmission d’une chaîne simple pour pouvoir utiliser le logiciel de log de N1MM (http://n1mm NULL.hamdocs NULL.com/tiki-index NULL.php?page=HomePage) lors des concours.

Schéma manipulateur CW Arduino (http://radioartisan NULL.wordpress NULL.com/arduino-cw-keyer/)Je me suis donc mis à la recherche sur Google de mots clefs comme “K1EL winkeyer protocole” pour me rendre compte que d’autres avait eu la même idée et surtout trouver cette article (http://radioartisan NULL.wordpress NULL.com/arduino-cw-keyer/). Je n’ai pas encore lu le code et encore moins testé son fonctionnement, mais la liste des fonctionnalité et la description sont impressionnantes. Ca va beaucoup plus loin que ce que je n’avais jamais pensé faire et ça rivalise avec beaucoup de produits commerciaux.

Je ne pense pas utiliser le code tel quel. Si j’ai vraiment besoin d’un manipulateur électronique externe complet, le Winkeyer comprend tous les composants, le boîtier, les connecteurs… pour à peine plus que le prix d’un Arduino. Par contre je vais jeter un oeil au code et je ne dis pas que je l’essayerai quand même en particulier pour tâter un peu de la manipulation Ultimatic.

Arduino : Manipulateur CW de numéro de série pour concours

Avec l’ARRL 10M contest qui s’approche je me suis dit qu’il serait de bon ton de me remuer l’arrière-train pour enfin programmer ce manipulateur électronique spécial numéro de série pour les concours. Cet article fait suite à celui-ci sur une balise CW à partir du micro-contrôleur Arduino (http://xv4y NULL.radioclub NULL.asia/2011/07/01/balise-cw-a-base-de-micro-controleur-arduino/).

La majorité de nos transceivers actuels intègrent un manipulateur électronique à mémoire, mais peu embarquent la possibilité d’envoyer les “reports” ou plutôt les numéros de série durant les concours.

J’ai donc fait un petit programme sur Arduino qui vient combler ce manque. La plateforme matérielle et la base du code seront décrites dans le prochain numéro de Radioamateur Magazine (http://www NULL.malibrairienumerique NULL.fr/librairie/). Ce montage viendra sur la prise “straight key” de votre émetteur ou en parallèle de la sortie de votre manipulateur électronique externe si celui-ci ne fait pas les numéros de série.

Je vous mets le code brut de fonderie sur cette page, à vous de l’adapter. Il fonctionne mais il lui manque encore à mon goût la possibilité d’envoyer plus vite de 599 que le numéro de série en lui-même. J’ai finalement ajouté cette fonctionnalité en quatre lignes de codes, et c’est propre. Il manque encore la possibilité de dépasser le numéro de série de 999 et mettre ou non les zéros devant. Cela dit je ne pense pas m’éterniser plus sur ce code depuis que j’ai découvert ce dont je parle ici (http://xv4y NULL.radioclub NULL.asia/2011/12/14/arduino-un-manipulateur-cw-complet/). Les commentaires devraient vous aider à comprendre le code et l’adapter.

Apparemment le code source s’affiche mal, vous trouverez un fichier texte du code source sur ce lien (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2011/12/CW_Contest1 NULL.txt).

// Générateur de reports pour concours (contests) 599+numéro de série
// Vitesse variable par potentiomètre entrée A0, commande transistor pin D12 et LED pin D13
// Lecture des commandes par 3 broches 6, 7 et 8
// Codage de l'alphabet par Hans Summers G0UPL et Stephen Farthing G0XAR

// Version 0.9
// 09/12/2011 par Yannick DEVOS XV4Y

// Définition de l'alphabet sous forme binaire
// 0 = dot, 1 = dash
const int A	=	0b11111001;
const int B	=	0b11101000;
const int C	=	0b11101010;
const int D	=	0b11110100;
const int E	=	0b11111100;
const int F	=	0b11100010;
const int G	=	0b11110110;
const int H	=	0b11100000;
const int I	=	0b11111000;
const int J	=	0b11100111;
const int K	=	0b11110101;
const int L	=	0b11100100;
const int M	=	0b11111011;
const int N	=	0b11111010;
const int O	=	0b11110111;
const int P	=	0b11100110;
const int Q	=	0b11101101;
const int R	=	0b11110010;
const int S	=	0b11110000;
const int T	=	0b11111101;
const int U	=	0b11110001;
const int V	=	0b11100001;
const int W	=	0b11110011;
const int X	=	0b11101001;
const int Y	=	0b11101011;
const int Z	=	0b11101100;
const int _SPC	=       0b11101111;
const int _0	=	0b11011111;
const int _1	=	0b11001111;
const int _2	=	0b11000111;
const int _3	=	0b11000011;
const int _4	=	0b11000001;
const int _5	=	0b11000000;
const int _6	=	0b11010000;
const int _7	=	0b11011000;
const int _8	=	0b11011100;
const int _9	=	0b11011110;
const int _BRK	 =      0b11010010;
const int _WAIT  =	0b10000000;

// Format du message : 1er nombre = longueur, Caractères utilisent les constantes pour une équivalence binaire
const int msg[] = {10, T, _1, _2, _3, _4, _5, _6, _7, _8, N}; // Chiffres seulement avec abbréviations pour 0 et 9

// Attribution des broches
const byte inUP = 8;    // Broche 8 pour incrémenter les numéros de série
const byte inRPT = 7;   // Broche 7 pour répéter les numéros de série
const byte inDWN = 6;   // Broche 8 pour décrémenter les nuémros de série

// Réglages par défaut
const byte nbRepetition = 2;

// Déclaration et initilisation des variables
byte msgIndex = 1;
byte inc_bit = 8;
byte character = _SPC;
boolean start = false;
byte seqIndex = 8; // On démarre trop haut pour ne pas initialiser la lecture de suite
int sequence = 0;
byte repetition = 0;
int vitesse = 100;

byte key = 0;
byte etat = 0;

void setup()  {
  // on declare La patte 13 (LED intégrée) comme sortie
  pinMode(13, OUTPUT);
  // on declare les pattes inUP, inRPT et inDWN (Entrée numérique) comme entrées et on met en place la résistance de pull-up
  pinMode(inUP, INPUT);
  digitalWrite(inUP, HIGH);
  pinMode(inDWN, INPUT);
  digitalWrite(inDWN, HIGH);
  pinMode(inRPT, INPUT);
  digitalWrite(inRPT, HIGH);
  // Initilisation du générateur de nombres aléatoires avec la lecture d'une patte non connectée
  randomSeed(analogRead(A2));
} 

// Ici le micro-controleur bouclera indéfiniement
void loop()  { 

  if (repetition