Category Archive: WSPR

Apr 28 2015

Horloge radio synchronisée par DCF77 avec sortie NMEA

DCF_Clock_01Peut être est-ce une question de gêne helvétique, mais, dans mon shack, j’ai besoin d’avoir l’heure précise devant les yeux. Pour remplir le log, contrôler le départ de mes trames WSPR et JT65, etc.
Pour ce faire, j’ai acheté deux horloges LCD. Une pour l’heure locale et une pour l’heure UTC.
Elles sont autonomes et il est  nécessaire de les remettre à l’heure régulièrement, sans quoi elles prennent quelques dizaines de secondes par semaine.
J’avais pensé les connecter à mon oscillateur OCXO de référence 10MHz pour assurer une précision minimum.
En démontant les dites horloges, je me suis trouvé face à un simple rond noir sur le circuit imprimé,  ni plus, ni moins. Et je la plante où ma fréquence de référence ?
Il faut trouver autre chose…
Je sais qu’il existe des horloges radio synchronisées, mais malgré quelques recherches je n’ai pas trouvé mon bonheur, comme par exemple l’affichage de deux fuseaux horaires (CET et UTC) et un encombrement réduit.

“Si tu ne trouves pas ton bonheur, alors fais le toi même”

DCF77 est un émetteur ondes longues situé en Allemagne dont la fréquence porteuse est de 77.5kHz, Avec une puissance de 30kW, on peut le recevoir dans de très bonnes conditions sur une grande partie de l’Europe. Il transmet l’heure légale “atomique” sous la forme binaire à raison de 1 bit par seconde. Les impulsions émises à chaque début de seconde sont de longueurs différentes, 100ms pour un 0 et 200ms pour un 1. L’ensemble de ces bits fournissent l’heure et la date au format BCD. Des bits de parité permettent de contrôler la validité des informations reçues.
Toute la doc concernant DCF77 sur Wikipédia.
dcf77coding

Il y a quelques temps, j’ai repéré sur la baie un petit module récepteur DCF77 munis de son antenne en ferrite.
Pour quelques dollars, j’en ai acquis un exemplaire. Celui ci intègre toute la partie réception et délivre un signal démodulé sous forme d’impulsions pouvant êtres traitées par un micro contrôleur.
dcf77_recepteurAyant récupéré un affichage LCD 4*16 sur une “vieille” radio internet, il ne me manquait plus que le cerveau.
Il existe dans le monde Arduino une librairie qui permet facilement d’implémenter un décodage de l’heure à partir des impulsions fournies par le récepteur.
En une soirée on peut monter une horloge radio sans trop d’effort.

Une seconde solution consiste à utiliser un uC AVR ATMega48 munis de son oscillateur interne, largement suffisant  avec ses 4kbytes pour cette horloge.
Et puis l’idée de mettre les mains de le cambouis me plaisait beaucoup.

Première étape, un schéma pour s’y retrouver (ici le définitif):

dcf_clock_schemaLe schéma au format PDF :  DCF_Clock_NMEA

Trouver la seconde 0

On commence par chercher le début de la minute, pour être synchro avec les bits qui nous permettront de décoder l’heure.
On utilise un des trois timer du uC pour détecter l’absence d’impulsion de la seconde 59.
Chaque flanc montant va déclencher l’appel d’une interruption. Dans celle ci on compare le temps écoulé entre deux appels. Si ce temps est de deux secondes, nous avons alors trouvé la seconde zéro.
Pour éviter de se synchroniser sur une fausse absence d’impulsion, par exemple en cas de mauvaise réception, un deuxième tour est effectué pour confirmer la position du début de minute.

Le décodage de l’heure

Le décodage de la longueur des impulsions utilise également l’interruption déclenchée par le flanc montant du signal.
A son appel on active un deuxième timer qui appellera à son tour une autre interruption, 150ms plus tard.
A ce moment précis, l’état de l’entrée du uC sur laquelle est connecté la sortie du récepteur nous indique simplement la valeur du bit reçu.

La suite est assez simple. On récolte les bits, on les assemble, on les décode et on contrôle que le la parité soit correcte. Le cas échéant, on affiche l’heure, la date, etc.
On repart dans la vérification de la position de la seconde 59, on décode l’heure, on vérifie la seconde 59, on décode l’heure, et ainsi de suite.

Une vidéo du premier prototype :

Real Time Clock DS3231

Dans cet état là, l’horloge doit refaire sa synchro à chaque remise en marche ce qui peut être long si le signal est perturbé, par exemple lors d’un orage.
J’ai trouvé un module RTC à 1$ destiné à la platine Arduino et qui communique par I2C.
Le DS3231, qui est équipé d’un TCXO, d’un accu Li-On au format 2032 et d’un thermomètre.

sku_222910_1Une fois mis à l’heure, le module fonctionne même si l’horloge n’est plus alimentée. Après une semaine sans alimentation la dérive reste relativement faible, soit environ 400ms de décalage dans un pièce à 21°C.

Sortie NMEA pour WSPR et JT65

Pour mes activités en portable WSPR et JT65 j’utilise un GPS maison pour la synchro. Mais il m’est arrivé quelques fois que la réception soit insuffisante, notamment à l’intérieur de bâtiments.
Ces modes numériques n’utilisent que le code horaire et en WSPR j’introduis manuellement le locator. L’idée m’est alors venue de générer une trame NMEA pour simuler un GPS et ainsi synchroniser mon Ultimate2 ou mon PC au moyen de l’horloge DCF.
Le système ne génère que la trame minimale RMC qui est suffisante pour mes applications. La communication est assurée par l’UART du uC et un FTDI232 externe pour une sortie USB.
Une sortie supplémentaire du microcontrôleur est utilisée pour le PPS nécessaire à l’Ultimate2.

 

DCF_Clock_02

La platine avec le uC et la RTC

La plaque frontale a été fabriquée au moyen d’un morceau de verre acrylique que j’ai dépoli grossièrement autour du LCD.

Le bilan de l’opération est plutôt positif, pour environ 30CHF, j’ai une horloge qui fonctionne à merveille et qui permet d’avoir une source de synchro autre que le GPS ou l’Internet pour les modes numériques.

73’s !

Laurent

 

 

Permanent link to this article: http://www.hb9fgk.org/horloge-radio-synchronisee-par-dcf77/

Aug 21 2014

WSPR : 167’000 km par watt !

logoBelle surprise ce soir après avoir laissé tourner ma balise WSPR toute la journée.
Mon signal d’une puissance de 100mW (controlé à l’oscilloscope) a été reçu en Tasmanie par Dick, VK7DIK.

Ce n’est certes pas un énorme exploit, certains signaux en WSPR ont déjà “parcouru” plus de 16 millions de km par watt.
Mais cela m’épate quand même de voir qu’avec une si faible puissance il soit possible de transmettre un message de l’autre côté de la planète!
Du coup, je baisse la puissance dés maintenant de 3dB… soit 50mW… il n’y a plus qu’à attendre.

16741_VK7DIK_30mLes conditions de travail sont :

-Yaesu FT-817 (puissance à la sortie de 100mW, controlée par oscilloscope)
-Antenne L inversé de 40m à une hauteur de 8m, alimentée à son extrémité par un tuner automatique SG-239.

Permanent link to this article: http://www.hb9fgk.org/wspr-167000-km-par-watt/

Jun 24 2014

BITX et modulations numériques en portable (PSK31, wspr…)

bitx_pskAprès quelques mois d’absences sur ce blog, je n’en suis pas moins resté actif en radio pendant ce temps. Certes, c’était plus souvent un fer à souder à la main qu’onair.

Bref, pendant cette période, j’ai essayé d’utiliser le BITX20a pour faire du PSK31 au moyen d’un netbook. L’idée étant d’avoir un équipement léger et qui tienne dans un sac à dos, le tout alimenté par un accu Li-Po de 3 éléments 4500mAh.

 

 

 

1. Interface PC->BITX

Pour débuter, il me fallait une interface entre l’ordinateur et le transceiver. Techniquement, il n’y pas là de problème particulier. Un petit boîtier dans lequel prennent place deux potentiomètres et deux transfos de séparation. Le PTT est réalisé par le port série du PC (un adaptateur USB-RS232 pour être précis). Le tout monté avec les connecteurs qui vont biens.Interface01

Côté netbook (Aspire ONE, 255E), seule la sortie audio est reconnue par Ubuntu. Comme il me faut aussi une entrée, j’ai trouvé pour moins de 10$ une mini interface audio USB qui fonctionne très bien pour cette application, de plus l’OS linux (Ubuntu) l’a reconnue sans problème.

2. Premiers essais

Les premiers essais qui ont été effectués en PSK31 ne se sont pas révélés encourageants. Les signaux reçus, dû à la faible largeur de bande de ce mode, se doivent d’être relativement stable pour que le décodage de fasse sans problème.
Si lors de mes contacts en SSB le problème de stabilité ne s’est pas fait sentir, ce ne fût pas le cas en PSK.
L’oscillateur local à quartz du bitx ne pose pas de problème, par contre le VFO est très sensible et dévie de quelques Hertz  voir dizaine d’Hertz en peu de temps.
Les essais en émission sur une charge fictive ont posés le même problème. Le logiciel DM780 couplé à mon FT-950 avait, malgré l’AFC, de la peine à suivre le signal sans décrocher.

3. Echange du VFO par un DDS

Il a donc fallu partir à la recherche d’une solution et celle d’un DDS m’est apparue comme la plus simple pour remplacer le VFO du BITX.
Deux voies étaient possibles, la première étant de me fournir une platine à base AD9850 sur Ebay pour une dizaine de $. Cette solution implique d’avoir un microcontroleur, et donc le programmer, pour commander l’électronique.

N’ayant pour l’instant pas envie de prendre du temps pour développer cette solution, je me suis dirigé vers le DDS-2 de N3ZI. Il permet de synthétiser des fréquences jusqu’à 34MHz et toute l’électronique est fournie, y compris un encodeur et un LCD.dds-2011-slcd

La séléction de la fréquence se fait au moyen d’un encodeur rotatif. Ce dernier est équipé d’un switch permettant de choisir le pas d’incrémentation. A noter encore que la dernière fréquence est mémorisée lorsque l’alimentation est coupée, très pratique quand on veut se passer de l’afficheur LCD.

Le DDS-2 a un niveau de sortie de 250mV p/p sur 1Kohms, parfait pour driver un SA612 mais qui est insuffisant pour attaquer le mixer à diodes du BITX. Un ampli d’adaptation, donc vous trouverez le schéma ici, est nécessaire.
Avec ce montage, j’obtiens environ 3V p/p sur 50ohms.
Bien sûr, il est nécessaire de supprimer l’ancien VFO. Voici le schéma du bitx20a et le point de connexion du DDS.

dds2-bitx

L’oscillateur local du BITX est à 11MHz et il faut donc que le DDS soit calé à une fréquence de 3MHz et plus pour la version 20m.

4. Essais avec le DDS

Les premières mesures au fréquencemètre sont concluantes. La stabilité est au rendez vous alors que l’essai avec le DDS connecté au BITX se fait sur l’établi sans boîtier ni blindage aucun.
La pratique vient confirmer les mesures et les traces PSK sont maintenant stables autant en réception qu’en émission.

dds01

Le DDS et le buffer installés dans le boîtier

5. Un nouveau boîtier

Il faut maintenant rassembler tout ce petit monde dans un boîtier. Celui vendu avec le kit est malheureusement trop petit pour accueillir les deux platines et le petit fréquencemètre.
J’en ai trouvé un en alu et assez solide chez Conrad pour une trentaine de francs. J’ai pu même y ajouter une ventilation forcée qui n’est pas de trop en PSK. L’affichage de la fréquence est assuré par le petit compteur fourni avec le kit du BITX.
Une LED bicolore verte/rouge a été ajoutée pour visualiser l’état Réception/Transmission.bitx_front_onbitx_back bitx01

Comme cette version du BITX est plutôt destinée aux modes numériques, le haut parleur a été supprimé. Un connecteur jack 3.5mm en façade avant permet de brancher des écouteurs pour faire de la phonie.

ecran_fldigi01

La partie informatique est composée d’un NetBook Acer Aspire One 255E. L’OS est un Linux Ubuntu 14 LTS. Son autonomie avec fldigi utilisé en décodage est d’environ 4h.

73’s

Laurent

 

Permanent link to this article: http://www.hb9fgk.org/bitx-et-modulations-numeriques-en-portable-psk31-wspr/

Oct 25 2013

WSPR – 76’000 km par watt !

Cette nuit j’ai laissé tourner mon émetteur WSPR sur la bande des 30m.
Belle surprise ce matin en voyant que mon signal de 20dBm a été entendu de l’autre côté de l’Atlantique.
Le rapport S/N de -31dB est faible mais il est passé !

Rapporté à 30dBm, cela représente plus de 76’000 km par watt.

 

wspr02

 

Permanent link to this article: http://www.hb9fgk.org/wspr-76000-km-par-watt/

0 visitors online now
0 guests, 0 members
Max visitors today: 4 at 09:39 am UTC
This month: 8 at 12-01-2021 02:05 pm UTC
This year: 94 at 09-24-2021 05:16 am UTC
All time: 94 at 09-24-2021 05:16 am UTC