Balise WSPR avec Arduino Uno et Si5351

charset=Ascii

Voilà mon tout premier projet arduino: une balise WSPR de 10mW, on ne peut plus simple: une carte arduino Uno et un module Si5351a. Pas de GPS, pas d’horloge en temps réel. La synchronisation de temps se fait grâce à une connection USB avec le PC. L’heure du PC doit être synchronisé par serveur NTP.

Le si5351 est un générateur d’horloge allant de 8Khz à 160Mhz à un prix défiant toute concurrence. Il sort un signal carré, il faura donc impérativement utiliser un filtre passe-bas.

La page du projet d’origine se trouve ici et vous pouvez trouver le croquis et le programme de synchronisation sur Github.

Vous aurez également besoin des librairies suivantes:

// Etherkit Si5351 (Library Manager)
// Etherkit JTEncode (Library Manager)
// Time (Library Manager)
// Wire (Arduino Standard Library)

Branchements

Si5351Arduino
SCLA5
SDAA4
5V5V
GNDGND
LED TX +12
LED TX –GND

Utilisation

Tout d’abord, modifier le croquis pour mettre votre indicatif, votre locator et choisir la fréquence d’émission.

// Global variables
Si5351 si5351;
JTEncode jtencode;
unsigned long freq = 10140200UL;                // Change this
char call[7] = "N0CALL";                        // Change this
char loc[5] = "AB12";                           // Change this
uint8_t dbm = 10;
uint8_t tx_buffer[SYMBOL_COUNT];

Si vous utilisez le module si5351 de QRP-LABS avec un quartz de 27Mhz au lieu de 25Mhz, vous devrez modifier cette ligne du croquis:

Ensuite, il va falloir vérifier et ajuster la fréquence. La bande WSPR, ne faisant que 200Hz, un léger décalage et vous vous retrouverez facilement et rapidement hors bande. Ce qui fera bien évidement que personne ne vous recevra…

Pour se faire, rien de bien compliqué. J’ai branché la balise sur le filtre-bas puis sur un atténuateur de 30db et enfin au rtl-sdr. J’ai lancé GQRX, paramètrez le RTL-SDR sur la bonne fréquence et lancer à la balise.

Pour lancer la balise, il suffit de brancher la balise à un port usb et lancer la synchronisation de temps.

Ouvrez un terminal dans le dossier où se trouve ntpserial.py et taper:

python2 ntpserial.py

Notez qu’il est important d’utiliser python2, le programme ne fonctionne pas avec python3.

Une fois la synchronisation reçu, une led va s’allumer. L’émission ne devrait plus trop tarder. Si vous avez brancher la led témoin d’émission, elle s’alumera lors du passage en émission. Il ne vous reste plus qu’à vérifier avec le SDR et WSJTX que vous êtes bien dans la bande WSPR et si non ajuster la fréquence dans le croquis jusqu’à être dans la bonne portion de fréquences.

Vous pouvez enfin utiliser la balise en condition réel! Avec un filtre passe-bas, bien entendu étant donné le signal carré qui sort du si5351.

J’ai constaté un décalage de temps lors des 2-3 premiers cycles après chaque lancement de la balise rendant tout décodage impossible.. Sûrement une des limites d’un dispositif aussi simple. Néanmoins il s’agit tout de même d’un projet assez fun.

Prochaine étape: le projet multifonction balise WSPR et VFO de W3PM!

Résultats

TimestampCallMHzSNRDriftGridPwrReporterRGridkmazMode
 2021-03-23 05:50  ON6KB  7.040037  -13  -1  JO10vq  0.01  OE3XOE  JN87aq  949  106  2 
 2021-03-23 05:50  ON6KB  7.040044  -14  -2  JO10vq  0.01  OE6CUD  JN77qa  939  111  2 
 2021-03-23 05:50  ON6KB  7.040044  -13  -2  JO10vq  0.01  SM4GOJ  JO79nv  1247  30  2 
 2021-03-23 05:50  ON6KB  7.040058  -21  -2  JO10vq  0.01  OE3XFH  JN87cu  953  104  2 
 2021-03-23 05:50  ON6KB  7.040057  -18  -3  JO10vq  0.01  OE6ADD  JN77pa  934  111  2 
 2021-03-23 05:50  ON6KB  7.040043  -21  -2  JO10vq  0.01  IW2NKE  JN63np  1052  134  2 
 2021-03-23 05:40  ON6KB  7.040054  -26  -3  JO10vq  0.01  IZ6QQT  JN63hr  1020  136  2 
 2021-03-23 05:40  ON6KB  7.040056  -17  -3  JO10vq  0.01  OE6ADD  JN77pa  934  111  2 
 2021-03-23 05:40  ON6KB  7.040043  -21  -2  JO10vq  0.01  IW2NKE  JN63np  1052  134  2 
 2021-03-23 05:40  ON6KB  7.040044  -15  -2  JO10vq  0.01  OE6CUD  JN77qa  939  111  2 
 2021-03-23 05:30  ON6KB  7.040043  -20  -2  JO10vq  0.01  IW2NKE  JN63np  1052  134  2 
 2021-03-23 03:10  ON6KB  7.040019  -24  -3  JO10vq  0.01  SV4FFK  KM19oe  1982  123  2 
 2021-03-23 03:00  ON6KB  7.040019  -25  -3  JO10vq  0.01  SV4FFK  KM19oe  1982  123  2 
 2021-03-23 02:40  ON6KB  7.040021  -27  -4  JO10vq  0.01  SV4FFK  KM19oe  1982  123  2 
 2021-03-23 02:20  ON6KB  7.040021  -22  -4  JO10vq  0.01  SV4FFK  KM19oe  1982  123  2 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *