Archives de catégorie : Matériel

Matériel radio, transceivers, amplificateurs et montages divers

Essai comparatif MS5351M et Si5351A

Même s’il a encore environ 1000 pièces disponibles de Si5351A pour inclure dans les divers kits qu’il produit. Hans Summers G0UPL (http://qrp-labs NULL.com) est bien conscient du risque que pose la pénurie de composants électronique sur la disponibilité du très populaire Si5351A.
Beaucoup d’OM cite le MS5351M comme une alternative, mais sans avoir de preuve concrète de ses aptitudes. Hans a voulu en avoir le coeur net et a conduit une série de test comparatifs en terme de fonctionalité et de performance.
Les résultats sont disponibles en ligne sur le site de QRP Labs (http://qrp-labs NULL.com/synth/ms5351m NULL.html), mais la conclusion est que oui, le MS5351M peut constitute une alternative très acceptable comme circuit générateur de signal à PLL dans vos kits et constructions personnelles HF.

(http://qrp-labs NULL.com/synth/ms5351m NULL.html)

Nouveau Kit QRP par G0UPL: Le QCX-mini

C’est un chouette cadeau de Noël que Hans G0UPL vient de faire à la communauté amateur avec l’annonce de la disponibilité de son nouveau kit QRP le QCX-mini. Il est basé sur le QCX avec des caractéristiques similaires mais sans le côté ouvert et expérimental : monobande (au choix entre 80m et 17m, possible jusque 6m), 5W en transmission CW environ, un filtre 200Hz et une construction autour du Si5351A. Des modes balise et WSPR sont disponibles, une interface GPS disponible, le contrôle par CAT est possible et un kit amplificateur de puissance 50W existe pour 29.5$US (+20$US pour le boîtier).

La construction se veut simple avec un câblage réduit: tous les contacts et connecteurs sont soudés directement sur le circuit imprimé. Idéal pour le portable QRP et la randonnée radio: le poids est extrêmement faible à 202 grammes, la consommation de 58mA en réception et l’étage émetteur final est en classe E. Le prix est très abordable à 55 $US. Ceci ne comprend pas le boîtier en aluminium anodisé noir du plus bel effet qui est en option à 20$US.

Les commandes peuvent se faire sur cette page (http://shop NULL.qrp-labs NULL.com/qcxmini).

The QCX: A QRP transceiver kit by Hans G0UPL

Hans G0UPL a récemment publié une vidéo du QCX. C’est un kit facile à monter qui vous permet d’avoir un transceiver 5W mono-bande pour 49USD.

Ce transceiver permet de communiquer en telegraphie (CW) sur une bande au choix entre les bandes 80, 60, 40, 30, 20 or 17 mètres. Il utilise un Si5351A pour générer la fréquence du VFO et dispose de filtre 7 pôles avec une bande passante de 200Hz. La réception se fait par détection par quadrature (QSD). Le manipulateur électronique, les mémoires et les fonctions habituelles de transceiver modernes sont disponibles grâce à un micro-contrôleur ATMega328.

Plus de détails sur le site de QRP Labs. (http://qrp-labs NULL.com/qcx NULL.html)

Vidéo du QCX par G0UPL

Merci à K4SWL pour l’information. (http://qrper NULL.com/2017/10/videos-featuring-the-qcx-transceiver-kit/)

Nouveau Bitx40 tout monté pour 45USD par VU2ESE

Bitx40 VU2ESE (http://blog NULL.qscope NULL.org/wp-content/uploads/2016/10/bitx40v3_main NULL.jpg)Farhan, l’inventeur original du transceiver Bits, vient de mettre à disposition un nouvelle version de son poulain (http://www NULL.hfsigs NULL.com/). Cette fois-ci, en plus de mettre à disposition de tous le design, il offre la possibilité d’acheter le produit tout monté pour seulement 45 USD, frais de port inclus. Il ne vous restera qu’à trouver un boîtier, un haut-parleur, une alimentation 12V et bien entendu une antenne pour être sur l’air sur la bande des 40 mètres.

Le transceiver fonctionne en BLU uniquement (ce qui autorise les modes numériques comme PSK, WSPR, WSJT et RTTY) et couvre 150 KHz. La puissance d’émission est de 7W sous 12V. La conception est très similaire au Bitx original avec l’utilisation d’amplificateur bidirectionnels, de modulateur et mélangeurs équilibrés à diode et d’un filtre à quartz sur une Fréquence Intermédiaire de 12MHz. L’oscillateur local est un VCO à diode varicap.

A noter qu’en plus de vous faire plaisir avec un nouveau poste HF, vous donnerez aussi du travail et un moyen de subsistance à un collectif de femmes indiennes qui réalisent le montage des circuits électroniques.

Bitx40 schéma VU2ESE (http://blog NULL.qscope NULL.org/wp-content/uploads/2016/10/bitx40v3_circuit NULL.png)

Nouveaux transceiver SDR QRP CommRadio CTX-10

Commradio CTX-10 (http://blog NULL.qscope NULL.org/wp-content/uploads/2016/10/CommRadioCTX-10 NULL.jpg)Le site QRPer.com a annoncé l’arrivée prochaine d’une nouvelle radio très prometteuse (http://qrper NULL.com/2016/10/the-new-commradio-ctx-10-qrp-general-coverage-transceiver/).

Offrant la couverture générale du 160 au 10 mètres (réception de 200 KHz à 30 MHz), tous les modes et une puissance en émission allant jusque 10W dans un format plutôt valorisant, la CommRadio CTX-10 a de beaux atouts. Elle semble aussi optimisée pour le QRP avec un affichage OLED économique en énergie ainsi que des batteries Li-ion de 2600mAh avec chargeur intelligent inclus. Encore mieux, une boîte d’accord d’antenne et un décodeur CW sont présents.

Pas de prix annoncé.

Nouveaux kits récepteurs SDR par Hans G0UPL

Récepteur SDR I/Q QRP Labs G0UPL (http://blog NULL.qscope NULL.org/wp-content/uploads/2016/08/rx NULL.jpg)Hans vient d’annoncer deux nouveaux kits originaux dans la lignée de ses célèbres balises QRSS ou WSPR Ultimate (http://blog NULL.qscope NULL.org/2014/09/18/nouveautes-chez-qrp-labs-g0upl/) qui ont fait retrouver à des milliers de radioamateurs le goût de la construction de kits.

Le premier est un kit récepteur SDR de type I/Q (détection QSD) qui peut servir à la réception des signaux faibles WSPR ou QRSS, mais pas seulement. Il est proposé à 25 USD avec un module filtre de bande aux choix entre 160m et 10m.

Module démodulateur polyphase QRP Labs G0UPL (http://blog NULL.qscope NULL.org/wp-content/uploads/2016/08/pic23 NULL.jpg)Le deuxième est un module optionnel de démodulateur polyphase pour le récepteur. Il permet de se passer d’une carte son stéréo pour la démodulation des signaux I/Q et produit un signal BLU en sortie.

Comme toujours les kits produits par Hans sont un excellent compromis prix / qualité et surtout proposent des solutions techniques originales. Ils sont ouverts à l’expérimentation et laissent la place pour la personnalisation.

LNR Precision LD-11 : Premier transceiver HF QRP à couverture générale et conversion directe

QRP HF SDR transceiver (http://blog NULL.qscope NULL.org/wp-content/uploads/2016/05/379503272 NULL.jpg)
QRP HF SDR transceiver

Ouf, le titre est long mais c’était dur de faire plus synthétique car la nouvelle est de taille. En tous cas suffisante pour que je me motive à écrire un nouvel article sur ce blog que je pensais laisser en sommeil.

Ce matin j’ai reçu un message de K4SWL qui a tout de suite attiré mon attention. Sur son blog il présente un petit bijou qui va intéresser pas mal de monde (http://qrper NULL.com/2016/05/the-new-lnr-precision-ld-11-transceiver-is-essentially-general-coverage/). Le LD-11 est en effet une première : QRP et SDR comme le KX3 d’Elecraft et à conversion directe comme l’Icom IC-7300. Il est proposé à 775 USD mais est actuellement en rupture de stock (les premiers sont partis comme des petits pains). Vous pouvez surveiller le réapprovisionnement sur la boutique de LNR Precision (http://www NULL.lnrprecision NULL.com/store/#!/LD-11/p/64137743/category=10468544).

Les caractéristiques sont les suivantes :

  • Réception et transmission tous modes (BLU, CW, AM, FM, Digi)
  • Couverture toutes bandes radioamateurs (et apparemment aussi 11m)
  • Processeur STM32 et ADC/DAC à échantillonage directe
  • Gamme dynamique de 100dB à 10 KHz, 130dB à 50 KHz
  • Puissance en émission entre 5 et 8W pour une tension d’alimentation entre 11,5V et 14,8V
  • Consommation de 350mA en réception et jusque 1,5A-2A en émission
  • Bandscope intégré et affichage du ROS, de la puissance et de la tension d’alimentation
  • Oscillateur local Si570, stabilité +/- 3 ppm

Autre point intéressant, en modifiant les paramètres du transceiver, il est possible d’élargir les limites des bandes amateurs et donc de le transformer en récepteur à couverture générale. Comme les fitlres sont entièrement paramètrables jusquà 9,6KHz de largeur, la réception AM est apparemment excellente.

Modification d’une radio DMR bon marché pour envisager les modes D-STAR, P25 et System Fusion

Tytera DM-380 VA3XPR (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/01/IMG_9729-1024x768 NULL.jpg)Le MD-380 de Tytera est un petit transceiver portable disponible en version VHF et UHF (couvrant les bandes radioamateur) et qui permet de transmettre en analogique FM et surtout en numérique DMR (http://www NULL.va3xpr NULL.net/tyt-md-380-dmr-portable-radio-review/). Son prix très abordable (autour de 110 $US) et sa qualité de fabrication correcte le rendent attractif. Toutefois, les OMs on noté que son logiciel interne (firmware) d’origine est très mal ficelé avec de nombreuses incohérences et bugs. Certains OMs comme DD4CR et W7CPH ont donc commencé à regarder ses entrailles pour s’apercevoir qu’il était construit autour du très connu STM32F405 et donc en principe potentiellement modifiable (http://hackaday NULL.com/2016/01/19/shmoocon-2016-reverse-engineering-cheap-chinese-radio-firmware/). Ils ont réussi à casser la protection RDP et faire le reverse-engineering du firmware d’origine écrit autour de MicroC/OS-II.

La prochaine étape c’est d’écrire un logiciel complet mais à partir de FreeRTOS cette fois. Le groupe d’OM cherche des compétences capables d’implémenter de nouveaux protocoles de transmissions numériques comme D-STAR, P25 ou System Fusion. N’hésitez pas à les contacter si vous pouvez les aider.

Tytera DM-380 ouvert (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/01/radioapart NULL.png)A noter que d‘autres OMs sur les forums de QRZ.com mettent en doute la faisabilité de la chose (http://forums NULL.qrz NULL.com/index NULL.php?threads/hams-hack-110-dmr-radio-to-allow-support-for-d-star-p25-and-system-fusion NULL.508733/). Pour eux le matériel utilisé par le DM-380 est trop bas de gamme (dérive de la synchro TDMA et premier étage RF trop large) et même le mode DMR est de piètre qualité.

L’article original de VA3XPR (http://www NULL.va3xpr NULL.net/hams-hack-110-dmr-radio-allow-support-d-star-p25-system-fusion/). A noter qu’il comporte certaines imprécisions.

Code source ultra-simpliste pour Arduino/MSP430 d’un VFO à AD9850/AD9851

Prototype kit Balise WSPR DDS XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/12/100_3339 NULL.jpg)Dans un commentaire Sylvain F6GGX m’a demandé après ce bout de code. Il était disponible gratuitement dans la boutique mais comme j’ai désactivé cette dernière il a disparu du site…
Voici donc le code source d’un VFO très simpliste à base de AD9850/AD9851 qui utilise les librairies que j’ai écrites ou adaptées (http://xv4y NULL.radioclub NULL.asia/docs/). Honnêtement je pense pas que ce code soit très utile, rien de particulièrement compliqué et l’ergonomie à 4 boutons n’est pas super. C’est utile en dépannage avec le kit balise WSPR que je produisais mais c’est tout. Le code est écrit pour Energia sur MSP430, le porter sur Arduino (ATMega328) ne devrait poser aucun problème.

/* Simple VFO with DDS for MSP430G2553
 * Code for Energia 009
 
 * By Yannick DEVOS - XV4Y - March 2013
    http://xv4y.radioclub.asia/

    Copyright 2012-2013 Yannick DEVOS under GPL 3.0 license
    Any commercial use or inclusion in a kit is subject to author approval

====
 * Agile Frequency generation using AD9850/9851 DDS
 * Output to Nokia 5110 compatible LCD
 * Check if P2_2 has changed state and switch VFO (like when PTT is pressed to operate split)

Usage for short press of buttons :
- Up / Down      increase or decrease the frequency following the choosen digit
- Left / Right   increase or decrease the digit
- OK             validate the frequency and send it to the DDS
Long press of buttons :
- Left           Set the current VFO to the next band bottom frequency
- Right          VFO A = VFO B
- OK             Switch between VFO A and VFO B

====
Revision history :
v1.00    2013-03-18
         First release

====
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You can download a copy of the GNU General Public License at <http://www.gnu.org/licenses/>
*/

// Here modify to your taste or needs

#define PTT_key          P2_2
#define ANALOG_BUTTONS   A5
#define AUTO_VALID       // Uncomment if you want the DDS frequency to be udapted automatically after each value change

#define DEFAULT_FREQ    8            // Value 8 in Frequencies array is 14000000
// Here under don't touch anything unless you know what you do

#include <legacymsp430.h>
#include <AD9850.h> // Library for AD9850 control by MSP430

#include <LCD_5110.h>

              // Frequencies (1 Hz precision) you can select
const unsigned long int frequencies[] = {
  137000, 471000, 501000, 1830000, 3500000, 5200000, 7000000, 10100000,
  14000000, 18068000, 21000000, 24890000, 28000000, 50000000, 70000000};
  
const byte Analog_Noise = 5;    // Margins for reading analog buttons

boolean   vfo=0, saved_PTT;  // VFO A or B and PTT input state
char      multiplier, aff_multiplier, freq_select=DEFAULT_FREQ;
unsigned  long int frequency_A=frequencies[DEFAULT_FREQ], frequency_B=frequencies[DEFAULT_FREQ], debounce;

char chaine_txt[6] = {' ', ' ', ' ', ' ', ' ', 0x00};


AD9850 myDDS (P1_0, P1_1, P1_2, P1_4);  // Call the AD9850 Library, AD9850 pins for CLOCK, LOAD, DATA and RESET
//AD9850 myDDS (P1_1, P1_2, P1_0, P1_4);  // Call the AD9850 Library, AD9851 pins for CLOCK, LOAD, DATA and RESET

LCD_5110 myScreen(P2_3,    // Chip Select *
         P1_6,    // Serial Clock *
         P2_5,    // Serial Data *
         P2_4,    // Data/Command *
         NULL,    // Reset *
         P1_7,    // Backlight
         NULL);  // Push Button 0

//******************************************************************
// Defining pins mode and initializing hardware

void setup() {
  pinMode(PTT_key, INPUT_PULLUP);

  myDDS.begin();
  
   
  pinMode(ANALOG_BUTTONS, INPUT);

  myScreen.begin();
  myScreen.setBacklight(1);
    
  myScreen.setFont(1);
  myScreen.text(0, 0, "sVFO");
  myScreen.text(0, 2, "AD9850");
  myScreen.setFont(0);
  myScreen.text(0, 4, "v1.00 - XV4Y");
  myScreen.text(0, 5, "Init...");
  
  delay(1000);
  
  myDDS.reset();
  
  myDDS.SetFrequency( frequency_A, 0, false );

  digitalWrite( PTT_key, LOW );

};

//******************************************************************
// Here starts the actual sequence sending

void loop() {
    myScreen.clear();
    myScreen.setBacklight(1);
    myScreen.setFont(1);
    if (vfo == 0) {
      myScreen.text(0, 0, "VFO A");
      myDDS.SetFrequency( frequency_A, 0, false );
    } else {
      myScreen.text(0, 0, "VFO B");
      myDDS.SetFrequency( frequency_B, 0, false );
    };

    myScreen.setFont(0);
    display_freq (frequency_A, 3);
    display_freq (frequency_B, 5);

    while (read_buttons()==5 || read_buttons()==4 || read_buttons()==2) delay(10); // Debounce except for UP/DWN

    while (1) {
      // Update the frequencies display
      if (multiplier > 5) {
        aff_multiplier = multiplier + 2;
      } else if (multiplier > 2) {
        aff_multiplier = multiplier + 1;
      } else {
        aff_multiplier = multiplier;
      };
      myScreen.text(0, 4, "          ");
      if (vfo == 0) {
        myScreen.text(9-aff_multiplier, 4, "^");
      } else {
        myScreen.text(9-aff_multiplier, 4, "v");
      }
      display_freq (frequency_A, 3);
      display_freq (frequency_B, 5);
  
      // Read the analog buttons input
      if(read_buttons()==1) {            // Up we increase frequency
        delay(200);  // Debounce
        if (vfo == 0) {
          frequency_A = frequency_A + powf(10,(float)multiplier);
        } else {
          frequency_B = frequency_B + powf(10,(float)multiplier);
        };
#if defined AUTO_VALID
        break;
#endif

      } else if (read_buttons()==3) {    // Down we decrease frequency
        delay(200);  // Debounce
        if (vfo == 0) {
          frequency_A = frequency_A - powf(10,(float)multiplier);
        } else {
          frequency_B = frequency_B - powf(10,(float)multiplier);
        };
#if defined AUTO_VALID
        break;
#endif

      } else if (read_buttons()==2) {    // Left we increase multiplier
        debounce = millis();
        while (read_buttons()==2) {  //Debounce
          if ((millis()-debounce)>1000) {  // Long press we do "Band UP"
            freq_select++;
            if (freq_select > 14) freq_select = 0;
            if (vfo == 1) frequency_B = frequencies[freq_select]; else frequency_A=frequencies[freq_select];
            multiplier--;
            break;
          };
        };
        multiplier++;
        if (multiplier > 7) multiplier = 7;

      } else if (read_buttons()==4) {    // Right we decrease multiplier
        debounce = millis();
        while (read_buttons()==4) {  //Debounce
          if ((millis()-debounce)>1000) {  // Long press we do VFO A=B
            if (vfo == 1) frequency_A = frequency_B; else frequency_B=frequency_A;
            multiplier++;
            break;
          };
        };
        multiplier--;
        if (multiplier < 0) multiplier = 0;

      } else if (read_buttons()==5) {    // OK we go out
        debounce = millis();
        while (read_buttons()==5) {  //Debounce
          if ((millis()-debounce)>1000) {  // Long press we switch VFO A/B
            if (vfo == 1) vfo=0; else vfo=1;
            break;
          };
        };
        break;   // Short press we just leave the loop so the frequency is transmitted to the AD9850
      }

      // Check if we are transmitting split (momentaneous VFO A->B switch)
      if (saved_PTT != digitalRead(PTT_key)) {
        saved_PTT = digitalRead(PTT_key);
        if (vfo == 1) vfo=0; else vfo=1;
        break;
      };
    }

};


//******************************************************************
// Display the frequency
void display_freq (unsigned long freq, char ligne) {
  myScreen.text(10, ligne, " Hz ");
  chaine_txt[5] = 0x00;
  chaine_txt[4] = 0x30 + (((freq)/1)%10);
  chaine_txt[3] = 0x30 + (((freq)/10)%10);
  chaine_txt[2] = 0x30 + (((freq)/100)%10);
  chaine_txt[1] = '.';
  chaine_txt[0] = 0x30 + (((freq)/1000)%10);
  myScreen.text(5, ligne, chaine_txt);
  chaine_txt[5] = 0x00;
  chaine_txt[4] = 0x30 + (((freq)/10000)%10);
  chaine_txt[3] = 0x30 + (((freq)/100000)%10);
  chaine_txt[2] = '.';
  chaine_txt[1] = 0x30 + (((freq)/1000000)%10);
  chaine_txt[0] = 0x30 + (((freq)/10000000)%10);
  myScreen.text(0, ligne, chaine_txt); 
}

//******************************************************************
// Display a 2 digits number
void display_number (byte number, char column, char ligne) {
  chaine_txt[2] = 0x00;
  chaine_txt[1] = 0x30 + (number%10);
  chaine_txt[0] = 0x30 + ((number/10)%10);
  myScreen.text(column, ligne, chaine_txt);
}

//******************************************************************
// Return a button value depending on the analog reading
byte read_buttons () {
  int value = analogRead(ANALOG_BUTTONS);
  if ( value<(1+Analog_Noise) ) {
    return 1;
  } else if ( value<(78+Analog_Noise) ) {
    return 2;
  } else if ( value<(146+Analog_Noise) ) {
    return 3;
  } else if ( value<(205+Analog_Noise) ) {
    return 4;
  } else if ( value<(255+Analog_Noise) ) {
    return 5;
  } else {
    return 0;
  }
}

Ampli 100W 630m par IK1HGI

Ampli 630m 472KHz 100W IK1HGI (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/01/schematic-u3-100w NULL.jpg)Antonio IK1HGI nous propose son amplificateur 100W Moyenne Fréquences, spécialement étudié pour suivre une balise Ultimate 3 de QRP Labs (http://funkperlen NULL.blogspot NULL.ch/2015/11/630m-band-ein-100-watt-verstarker-fur NULL.html). La bande de travail ciblée est entre 472 et 479 KHz avec une tension d’alimentation de 13,8V. Il utilise 3 transistors IRFP264 pour un gain de 35dB et un rendement de 65%. Aucun problème pour les modes “continus” comme WSPR même sous 100W.