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
Si5351 | Arduino |
SCL | A5 |
SDA | A4 |
5V | 5V |
GND | GND |
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
Timestamp | Call | MHz | SNR | Drift | Grid | Pwr | Reporter | RGrid | km | az | Mode |
---|---|---|---|---|---|---|---|---|---|---|---|
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 |