Catégorie : Matériel

Matériel radio, transceivers, amplificateurs et montages divers

Nouveau Bitx40 tout monté pour 45USD par VU2ESE

Bitx40 VU2ESEFarhan, 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

Nouveaux transceiver SDR QRP CommRadio CTX-10

Commradio CTX-10Le 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 G0UPLHans vient d’annoncer deux nouveaux kits originaux dans la lignée de ses célèbres balises QRSS ou WSPR Ultimate 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 G0UPLLe 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

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.

Mon Grabber QRSS est actif sur 40m

Capture ZL2IK grabber 2014-06-04 80m XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2014/06/Argo1140 NULL.jpg)Depuis peu, Pete de ZL2IK est actif en transmission QRSS. Il a très souvent décodé et retransmis des capture de mon signal reçu sur 80m, 40m et 30msur son grabber qui est une référence et un des rares à être actif presque 100% du temps depuis ces 5 dernières années (http://zl2ik NULL.com/Grabber NULL.html). Je souhaitais lui rendre la pareil. J’ai donc mis en place un grabber sur 40m. Malheureusement j’ai du faire face à une panne du récepteur SDR SoftRock puis du PC lui-même. Finalement depuis quelques jours cela fonctionne et Pete m’aide à affiner les paramètres.

En attendant, si vous souhaitez essayer d’être reçu au Viêt-Nam, vous pouvez vous connecter sur mon grabber et voir si votre signal QRSS arrive jusque le delta du Mékong (http://qsl NULL.net/x/xv4tuj//grabber/).

Mise à jour firmware 2.02 pour les Kenwood TS-590 et TS-590G [MAJ]

Facade TS-590s (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/09/1873_800_350 NULL.jpg)Il y a quelques jours Kenwood a diffusé une mise à jour du logiciel interne de son transceiver TS-590 (l’ancien modèle) (http://www NULL.kenwood NULL.com/i/products/info/amateur/ts_590/ts590_update_e NULL.html). Cette version 2.02 ne semble corriger qu’un seul bogue mineur liant changement de Mode et fonction Split que je ne pense pas avoir rencontré. Encore une fois j’apprécie beaucoup que Kenwood prenne le temps de corriger des bogues mêmes mineurs sur un modèle qui n’est plus en production depuis bientôt 2 ans.

Attention, cette mise à jour ne concerne pas le TS-590G qui ne semble pas souffrir du problème.

MAJ : Une nouvelle version du firmware est aussi disponible pour le TS-590G et elle porte le numéro 1.03 (http://www NULL.kenwood NULL.com/i/products/info/amateur/ts_590g/ts590g_update_e NULL.html). Le bogue corrigé est le même.

Des nouvelles positives pour Ten-Tec

Logo Ten-Tec (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2015/12/TenTecLogo NULL.png)Comme vous le savez certainement, les derniers mois ont été très difficiles pour Ten-Tec qui est passé au bord d’une disparition pure et simple. RKR n’avait pas fait de secrets en interne sur le fait que leur reprise était temporaire et qu’ils souhaitaient revendre Ten-Tec (http://xv4y NULL.radioclub NULL.asia/2014/05/13/alpha-amplifiers-et-ten-tec-fusionnent/). Tout le stock de Ten-Tec avait été soldé dans une démarche de liquidation du stock et de nombreux équipements vendus à pertes alors que les marges étaient déjà mauvaise (on parle de 200$ perdu par transceiver).

Aujourd’hui un nouveau repreneur privé a fait son apparition et K4SWL nous relate une très longue discussion que John Henry KI4JPL a eu sur un forum à propos de l’avenir de l’entreprise et son implication dans le renouveau technique de la gamme (http://qrper NULL.com/2015/12/ten-tec-has-a-new-owner-with-a-long-term-vision/). Les projets semblent sur le long terme et si les finances le permettent de nouveaux produits verront le jour. L’article en question est plutôt long et je ne peux pas vous en faire une traduction. Reportez-vous au site de QRPer.com et utilisez les traducteurs de Google ou Bing pour en comprendre les grands traits.