Fabrication de circuits imprimés

Pour réaliser un montage électronique, une fois l »étape de la plaque à trous passée, il est possible de réaliser un PCB. Pour cela, 2 options : le faire réaliser par un professionnel ou le faire sois-même. Bien que faire fabriquer un circuit imprimé en Asie ne coûte presque rien, il est pratique de pouvoir fabriquer des PCB chez soi (ça permet notamment d »éviter 3 semaines de délai…) et ce n »est pas très compliqué.

Des photos seront ajoutées à l"article prochainement.

Le principe

Il y a plusieurs méthodes pour fabriquer un PCB, mais celle que je vais expliquer dans cet article est la méthode utilisant une insoleuse et quelques produits chimiques. Voilà comment cela fonctionne :

Le PCB est réalisé sur un logiciel dédié (KiCAD, EAGLE, Proteus…) et son millar (autrement dis « l »ombre » de son cuivre, donc les pistes, les pads et les plans de masses) est imprimé sur une feuille (avec un effet miroir, nous y reviendrons plus tard). Ce millar va servir pour faire de l »ombre aux UV émis par l »insoleuse afin que sous l »encre du papier le cuivre présensibilisé aux UV ne perde pas sas protection. A l »inverse, les zones sans encre, et donc sans cuivre sur le PCB terminé, seront attaquées par les UV. Une fois les UV appliqués, il ne reste plus qu »à faire tremper le cuivre dans 2 solutions différentes pour réaliser la gravure. En 1h le PCB est réalisé !

Les produits utilisés sont toxiques, faites donc vos réalisations dans des zones bien ventilées et portant les équipements de protection nécessaires (gants…)

Le matériel nécessaire

Sont nécessaires pour la fabrication de PCB :

  • Une insoleuse (achetée dans le commerce ou faite maison),
  • Une plaque de cuivre présensibilisée (qualité FR4, épaisseur 1.6mm, simple face et 35 µm de cuivre. Pour le double face la manipulation est semblable, il faut juste insoler les 2 faces avant de graver) IMPORTANT : ne pas l »exposer à la lumière avant utilisation,
  • De la lessive de soude 30% (se trouve en grande surface dans les produits ménagers),
  • De l »acide chlorhydrique (se trouve également en grande surface ou dans les magasins de bricolage),
  • De l »eau oxygénée 20 ou 30 volumes (se trouve en magasin de bricolage),
  • De l »eau déminéralisée (se trouve en grande surface),
  • Une imprimante et une feuille de papier (j »utilise du papier de bureau ordinaire, le temps d »insolation est plus long mais cela revient moins cher que du transparent).

ETAPE 1 : Impression du millar

La 1ere étape consiste à imprimer le PCB sur une feuille. Il faut imprimer ce qui devra être en cuivre sur le PCB fini, à savoir les pistes, les pads des composants, les plans de masse…). Je vous conseille également d »ajouter un peu de texte dans un coin pour vérifier le sens d »impression.

Le millar sera posé sur la plaque de cuivre, le cuivre de la plaque sur le côté encre de la feuille. Le résultat de la gravure sur le cuivre sera donc un effet miroir de ce que vous voyez d »imprimé sur le papier : si sur le papier le texte est dans le bon sens alors il sera retourné sur le cuivre, si vous devez regarder par transparence pour le lire alors il sera dans le bon sens sur le cuivre.

ETAPE 2 : Insolation

Il faut maintenant « dessiner » le PCB sur le cuivre. Les UV et le papier permettent de réaliser cette étape. Les UV vont venir bruler une couche de vernis du cuivre là où le papier est blanc, et laisseront intact se même vernis qui empêchera le cuivre de disparaître là où le papier est noir.

Pour cela, placer le millar sur la plaque (côté encre du papier sur le cuivre), placer le tout dans l »insoleuse et allumez !

En fonction du papier et du cuivre utilisé le temps d »insolation varie mais généralement il est de 2-3min si vous utilisez du papier transparent et 25-30min si vous utilisez du papier blanc de bureau classique.

Une fois l »étape de l »insoleuse terminée, retirez le papier et faites attention à ne pas trop exposer le cuivre à la lumière forte (et au soleil) et à ne pas mettre vos doigts dessus.

ETAPE 3 : Réactions chimiques

Il est temps de passer aux réactions chimiques !

La première consiste à retirer le vernis de protection sur les zones où l »on veut faire partir le cuivre : la révélation. Pour cela, plongez le PCB dans une solution composée d »1 dose de lessive de soude pour 30 doses d »eau du robinet. Vous pouvez fabriquer 1 litre de solution et le conserver, vous pouvez également réutiliser cette solution jusqu »à ce qu »elle sature.

Laissez trempez le circuit quelques secondes à quelques minutes le temps que la révélation se fasse. Elle est terminée lorsque votre PCB apparait plus foncé que le cuivre devant être éliminé.

ETAPE 4 : La gravure

Une fois le circuit révélé, il ne reste plus qu »à le graver. La solution de gravure est composée de 2 doses d »eau déminéralisée, 1 dose d »eau oxygénée et 1 dose d »acide chlorhydrique. Utilisez un récipient en verre. ATTENTION : ne conservez pas cette solution ; elle dégage des vapeurs !

Plongez le circuit dans le bain et remuez le bac régulièrement. Vous devriez voir la solution attaquer le cuivre et graver votre PCB. Une fois la gravure terminée, sortez le PCB (avec une pince) et rincez l »eau à l »eau du robinet.

Maintenant il ne vous reste plus qu »à passer un coup d »acétone sur le circuit pour finir d »enlever les vernis et à percer pour vos composants !

Recevoir des images satellites météo : décoder les NOAA avec WXtoImg

Sur le 137Mhz il y a 2 familles de satellites : les NOAA et les METEOR. Dans cet article, nous allons voir comment décoder les NOAA, ce sont les plus simples à recevoir.

Aujourd »hui, il y a 3 satellites NOAA encore actifs. Ils envoient sur le 137Mhz leurs images ainsi que des données en APT. Voici un tableau récapitulatif de leurs fréquences :

SatelliteFréquence APTAnnée de lancement
NOAA-15137.620 Mhz1998
NOAA-18137.9125 Mhz2005
NOAA-19137.100 Mhz2009

Avant de pouvoir commencer à décoder, il faut pouvoir faire communiquer le logiciel de réception SDR avec le logiciel de décodage. Pour cela, installez VB-Cable (voir article sur le décodage DMR) ou Virtual Audio Cable. Une fois cette étape passée, il est temps d »installer de quoi décoder le signal reçu.

Il existe plusieurs logiciels pour décoder ces 3 satellites, mais dans cet article nous allons traiter uniquement du logiciel WXtoImg. Ce logiciel est gratuit et est disponible pour Windows, Linux et Mac OS depuis ce site.

Si vous êtes sous Windows, il suffit d’exécuter le fichier .exe pour installer le logiciel.

Une fois installé, au 1er lancement, WXtoImg demande de saisir l »emplacement de la station. Il suffit de remplir les champs (coordonnées GPS en degrés décimaux, avec Nord et Est positifs) puis de valider.

La version installée est une freeware. Pour retirer ses limitations gratuitement, il faut saisir les codes fournis sur le site de WXtoImg dans le menu Help -> Enter Upgrade Key

Une fois la saisie validée, le logiciel passe en Registered. Pour décoder les satellites, il faut déjà savoir quand ils passeront. Pour cela, rendez-vous dans File -> Update Keplers pour actualiser les données qui détermineront les heures de passage. Cette actualisation est à faire régulièrement.

Une fois l »actualisation effectuée, la liste des passages est disponible dans File -> Staellite Pass List :

Dans le menu Options, vous pouvez cocher Show All pour afficher les images reçues sans que le logiciel ne rogne les zones bruitées. Dans la fenêtre Recording Options, vérifiez que la carte son sélectionnée correspond bien à la sortie de votre câble virtuel.

C »est également sur cette fenêtre que vous pouvez choisir l »élévation à laquelle WXtoImg commencera et arrêtera d »enregistrer). Par exemple, dans mon cas, le logiciel enregistrera les passages dont l »élévation maximale sera supérieure à 20° (à l »Ouest comme l »Est) et il n »enregistrera que lorsque le satellite est à une élévation supérieure à 4° (au Nord comme au Sud).

Dans Options -> Auto Processing Options activez la création d »images. Cela va rendre automatique le décodage lorsque WXtoImg sera lancé est qu »un satellite est « à portée » (et si le logiciel SDR est lancé bien entendu).

Une fois que tout est configuré, il ne reste plus qu »à attendre un satellite. Une fois qu »un passage est en cours, lancez le suivi avec Gpredict avec comme expliqué dans cet article. Il faut également choisir le câble audio virtuel comme sortie dans le menu Audio de SDRSHarp.

Une fois le satellite passé, WXtoImg va traiter les images pour en faire plusieurs « versions ». Il est possible de les visualiser manuellement dans le menu Enhancements.

Les images décodées grâce au processus automatique sont sauvegardées dans le Dossier Images\WXtoImg\images.

Vous pouvez rajouter des informations sur les images comme les cours d »eau, les villes, ou du texte personnalisé en naviguant dans les différentes Options.

Image MSA d »un passage de NOAA 19 sur 137.100 MHz

Antenne Dipole en V 137 MHz

Après avoir fabriqué une Turnstyle et une QFH, je me suis attelé à la Dipole en V. Cette antenne est très simple à fabriquer et offre une bonne réception (voir très bonne, chez moi elle a une réception identique à celle de la QFH).

Pour fabriquer l »antenne, vous avez besoin de :

  • 2 tiges en aluminium ou 2 morceaux de conducteur d »une longueur de 55cm chacun (la longueur théoriqué est de (147 / 137,5 MHz) / 2 = 53,4 cm, mais il vaut mieux avoir des brins un peu plus long quitte à les retailler plus tard),
  • 2 dominos (ou sucres) électriques encore collés entre eux (côte à côte),
  • du coaxial pour relier l »antenne au récepteur.

La fabrication de l »antenne est très simple : il suffit de mettre un brin dans chaque domino, et de tordre les 2 brins pour qu »ils forment un angle de 120°. Pour faciliter l’installation, j »ai également tordu les brins pour qu »ils soient perpendiculaires aux dominos et non dans leur axe (voir photo ce-dessus et plus bas).

Une fois les brins en place, il faut ouvrir le coaxial sur quelques cm pour séparer l »âme et la tresse. Il faut ensuite connecter l »âme dans un des 2 dominos et l »âme dans l »autre, comme dans le schéma ci-dessous.

Schéma du Dipôle en V pour 137 MHz.

La réalisation de cette antenne est aussi simple que ça, pourtant c »est très efficace. La mienne mériterait d »être taillée encore un peu, mais sur les fréquences APT des satellites NOAA elle a un ROS compris entre 1,15 et 1,24 ainsi qu »une impédance comprise entre 44 et 57 ohms.

Passage au NanoVNA de l »antenne, avant qu »elle soit équipée d »un boitier.
Prochaine étape : lui trouver un boitier !

Antenne QFH

L »antenne QFH est une antenna pour la réception des satellites. Il est possible d »en fabriquer une pour quasiment toutes les fréquences, il suffit d »adapter ses dimensions. Dans mon cas je l »ai fabriquée pour 137MHz (satellites météo NOAA et METEOR).

La fabrication de l »antenne n »est pas compliquée, et il ne faut que peu de matériel : du fil électrique 2.5mm² (ou mieux du tube de plomberie en cuivre ou du coaxial), un tube de diamètre 32mm et de longueur ~1m, 2m de tube IRO diamètre 20mm, et quelques pièces imprimées en 3D (fichiers stl disponibles ici).

La 1ere étape de la fabrication est la mise en place de la structure. Les dimensions à suivre sont calculable sur ce site : http://jcoppens.com/ant/qfh/calc.en.php

Dans le cas d »une antenne pour la réception sur 137MHz (donc fréquence centrale de 137.5MHz) et avec du fil électrique 2.5mm², les dimensions à suivre sont de :

  • Distance entre le haut de l »antenne et le bas de la boucle courte (H1) : 68,3 cm
  • Distance entre le haut de l »antenne et le bas de la boucle longue (H2) : 71,9 cm
  • Distance entre le haut de l »antenne et la croix centrale de maintient (H3, en blanc sur la photo) : ~72/2 = 36 cm
  • Largeur des « brins » pour la boucle courte (H4) : 30cm (si on retire le diamètre du tube IRO cela fait donc des morceaux de (30 – 3,2)/2 = 13,4 cm à couper)
  • Largeur des « brins » pour la boucle longue (H5) : 31,6cm (soit des morceaux de tube IRO de (31,6 – 3,2)/2 = 14,2 cm)
Les différentes dimensions de l »antenne

Il faut également percer là où les conducteurs vont traverser le tube, c »est à dire dans la croix du haut et dans les 2 pièces en bas de l »antenne.

Une fois la structure construite, il ne reste plus qu »à mettre en place les conducteurs. Les longueurs de boucle sont les suivantes :

  • 225,5 cm pour la boucle courte,
  • 237,3 cm pour la boucle longue.

Je vous conseille de couper plus long pour faciliter la mise en place des conducteurs et de retailler après.

Sur le haut de l »antenne, la connexion des conducteurs au coaxial qui va vers le récepteur se fait comme suit :

Connexion des conducteur au coaxial du récepteur
Et voilà, maintenant il ne reste plus qu"à utiliser l"antenne. Sur mon installation la QFH donne de meilleurs résultats que la Turnstyle pour la réception des NOAA et METEOR.

Réception APRS avec GNURadio et le PlutoSDR

Avec GNURadio Companion il est possible de tout faire, à commencer par recevoir et décoder l »APRS. C »est assez simple à mettre en place vu qu »une librairie existe, il suffit juste de l »adapter au PlutoSDR.

Ces explications concernent Linux.

Installer gr-aprs

Pour installer la librairie gr-aprs, il suffit de suivre la procédure expliquée ici : https://github.com/handiko/gr-APRS. Il faut donc taper les commandes suivantes :

git clone https://github.com/handiko/gr-APRS.git

cd gr-APRS/HierBlock/

Une fois dans le dossier du clone GitHub, il faut lancer un 1er programme GNURadio :

gnuradio-companion AFSK_Demod.grc

Exécutez le programme ouvert, puis une fois l »exécution terminée fermez GNURadio.

Faites la même opération avec le 2nd programme :

gnuradio-companion APRS_Rx.grc

Après avoir relancé GNURadio une fois l »opération réalisée avec le 2nd programme, vous devriez trouver des blocks APRS dans la liste des modules disponibles :

Enfin, il faut copier les fichiers installés vers le répertoire python :

cd

sudo cp gr-APRS/Module/packet.py /usr/lib/python2.7/

Le module APRS est désormais installé.

Modifier le programme d »exemple de réception

Si vous regardez le contenu du dossiercloné depuis Git, vus trouverez un dossier Example. Ce dossier contient plusieurs exemples :

Nous allons nous intéresser à l »exemple de réception via une clé SDR. Ouvrez donc le fichier APRS_RX_RTL.grc dans GNURadio.

Le programme une fois ouvert

Nous avons 2 choses à modifier dans cet exemple pour que nous puissions recevoir l »aprs avec le PlutoSDR : la fréquence (en France elle est de 144.8MHz) et la source.

Pour la fréquence, il suffit de la remplacer dans la définition de la variable freq :

Définition de la variable freq

Pour remplacer la source par le PlutoSDR, il faut supprimer le bloc osmocom Source et mettre à sa place le bloc PlutoSDR Source.

Configuration du bloc PlutoSDR Source

Le programme ressemble désormais à ça :

Décodage

Maintenant il est temps de recevoir quelques trames. Pour cela, lancer le programme. La fenêtre suivante devrait s »ouvrir avec les différents spectres radio et audio :

Pour voir les trames décodées, il faut écouter le port 52001 depuis un terminal :

telnet localhost 52001

Les différentes trames reçues
Et voilà, vous pouvez maintenant décoder l"APRS avec GNURadio et le PlutoSDR.

Lier Gpredict et SDRSharp

Quand on cherche à recevoir les satellites défilants, il y a un facteur important à prendre compte : l »effet Doppler. Il s »agit d »un décalage en fréquence en fonction de la vitesse du satellite et de son approche ou éloignement.

Il y a plusieurs solutions pour compenser l »effet Doppler quand vous faites de la réception avec une clé SDR : vous pouvez décaler manuellement la fréquence de réception pour suivre le spectre du satellite, ou alors relier Gpredict et SDRSharp pour que Gpredict pilote lui même la fréquence de réception. C »est ce que nous allons faire dans cet article.

Le plugin pour SDRSharp

La première étape est d »installer sur SDRSharp un plugin qui lui permettra de communiquer avec Gpredict. Ce plugin s »appelle GpredictConnector et est disponible ici : https://github.com/alexwahl/SDRSharp.GpredictConnector

Pour l »installer, il suffit de télécharger le .zip disponible ici : https://github.com/alexwahl/SDRSharp.GpredictConnector/releases/tag/v0.3 et d »extraire le .dll dans le répertoire de SDRSharp.

Une fois cette manip effectuée, il faut ajouter la ligne suivante dans le fichier plugins.xml qui est contenu dans le répertoire SDRSharp :

<add key="GpredictConnector" value="SDRSharp.GpredictConnector.GpredictConnectorPlugin,SDRSharp.GpredictConnector" />

Maintenant si vous relancez SDRSharp, Gpredict devrait apparaitre.

La fenêtre de GpredictConnector une fois SDRSharp relancé.

Ce plugin va « écouter » un port pour recevoir des instructions de Gpredict. Pour activer cette écoute, il faut cocher la case « enable ». Le plugin affiche alors le port sur lequel il est à l »écoute. Notez le car il va nous permettre de configurer Gpredict.

Le plugin lancé. On voit qu »il est à l »écoute sur le port 4532

Ajouter la liaison dans Gpredict

Maintenant que SDRSharp est configuré, il faut ajouter la liaison dans Gpredict. Pour cela, rendez-vous dans Edit -> Preferences puis Interfaces. Vous devriez avoir la fenêtre suivante :

La fenêtre des interfaces radio de Gpredict

Pour ajouter une intreface, cliquez sur Add new. La fenêtre suivante s »ouvre :

La fenêtre d »ajout d »interface radio

Les champs se remplissent comme suit :

  • Name : nom de l »interface
  • Host : hôte qui héberge le logiciel de réception. Dans notre cas il est hébergé sur le même ordinateur que Gpredict, donc son adresse sera localhost
  • Port : port auxquel Gpredict doit se connecter sur l »hôte pour le pilotage. Le plugin sur SDRSharp indiquait 4532
  • Radio type : Permet d »activer ou non l »émission. Dans notre cas ce sera RX only
  • PTT status : pas besoin vu que nous n »utiliserons pas l »émission
  • VFO up/down : laisser en Not applicable

Une fois les champs remplis, il suffit de valider. L »interface apparait désormais dans la liste :

Validez pour quitter les préférences.

Utiliser la liaison

Maintenant que les 2 logiciels sont configurés, il ne reste plus qu »à vérifier le bon fonctionnement de liaison. Commencez par lancer SDRSharp, activer le plugin de communication et la réception radio.

Une fois SDRSharp fonctionnel, retournez sur Gpredict. Cliquez sur la flèche des options (flèche vers le bas) et rendez vous dans Radio control.

Accès à Radio control

La fenêtre suivante s »ouvre :

Dans cette fenêtre, dans l »encadré Target, sélectionnez le satellite voulu et la fréquence (par exemple ici c »est la fréquence APT de NOAA15 qui est selectionnée).

Dans l »onglet Settings, sélectionnez en 1er device l »interface radio créée.

Il ne vous reste plus qu »à cliquer sur Engage pour que SDRSharp soit piloté par Gpredict, et sur Track pour que Gpredict calcule le décalage lié à l »effet Doppler.

Le radio control en train de traquer la fréquence APT de NOAA15

Si vous allez sur SDRSharp, vous devriez voir la fréquence de réception se décaler comme la fréquence Radio de Gpredict.

Un récepteur de bande FM avec GNURadio

Cet article est réalisé en utilisant le PlutoSDR, mais en remplaçant le bloc source par le bloc adapté aux clés SDR « classiques » le programme fonctionnera avec les clés SDR comme les R820T.

Avant de suivre cet article, il est nécessaire d »avoir GNU radio installé sur son ordinateur (voir article dédié à l »installation sous Linux ici). Si vous souhaitez utiliser le PlutoSDR il faut également l »avoir configuré (voir ici).

Configurations générales

Lorsqu »un nouveau programme est créé sous GNU Radio, 2 blocs sont déjà présents : un bloc options et un bloc Variable.

GNU Radio lors de la création d »un nouveau programme.

Commençons par le bloc Options. C »est le bloc qui va définir plusieurs paramètres comme le nom de la fenêtre qui va s »ouvrir au lancement de l »application, son titre, son auteur, sa description, le type d »interface…

Vous pouvez la laisse telle quelle, de mon côté j »ai choisi de la personnaliser un peu :

Mon paramétrage du bloc Options

Le bloc variable est un bloc qui permet tout simplement de déclarer une variable. Dans le bloc présent à la création du programme il s »agit de la variable sample_rate. Elles est initialisée à 32k mais nous nous allons la passer à 2M (2 000 000 ou 2e6).

Fenêtre de configuration de la variable sample_rate

Le bloc Source

Maintenant que les 2 blocs présents par défaut sont configurés, on peut commencer à ajouter des blocs pour construire le récepteur. Le premier de ces blocs est le bloc de « source », en l »occurence ici le bloc PlutoSDR Source dans lequel nous allons paramétrer le PlutoSDR. Ce bloc se trouve en tapant « PlutoSDR Source » dans la zone de recherche de bloc.

Le bloc PlutoSDR Source ajouté au programme mais pas encore configuré.

Il n »y a pas grand chose à modifier dans le bloc : il faut juste lui indiquer l »emplacement du Pluto et utiliser une variable frequence comme fréquence d »écoute.

La configuration du bloc PlutoSDR Source

Après avoir saisi la variable frequence dans le champ LO Frequency, ce dernier devient rouge. C »est tout à fait normal que nous n »avons pas définit cette variable. Pour la définir, vous avez 2 options : soit vous utilisez un bloc Variable, soit vous utiliser le bloc QT GUI Range.

Dans le cas du bloc Variable, vous définirez la fréquence à la création du programme et vous ne pourrez pas la changer pendant son exécution, alors qu »avec le QT GUI Range la fenêtre d »exécution du programme affichera un curseur qui permettra de changer la valeur de la fréquence. C »est ce bloc que nous allons utiliser dans cet article.

Le bloc QT GUI Range inséré mais non configuré

Une fois le bloc inséré, nous pouvons l »utiliser pour définir la variable frequence. Cette variable sera comprise entre 88MHz et 108MHz (la bande FM), on se déplacera sur cette bande avec un pas de 100KHz et on utilisera 90.2MHz (France Bleu de mon département) comme fréquence écoutée au lancement, comme fréquence « par défaut ». Le champ Label permet également de donner un nom « d »affichage » à la variable, comme le contenu de ce champ ne sert uniquement qu »à l »affichage il est donc possible d »utiliser des accents et autres caractères spéciaux.

Le bloc QT GUI Range configuré pour la fréquence

IMPORTANT : il faut penser à changer le Type en int, car les fréquences doivent être des entiers et non des flottants.

Le filtre passe-bas

Maintenant que la source est correctement configurée, il faut définir la large de bande écoutée. Pour cela, nous utiliserons un filtre passe-bas ayant une fréquence de coupure de 100kHZ. Ce bloc se trouve en tapant « Low Pass Filter » dans la liste des blocs.

Le filtre passe bas configuré

Le champ Decimation vaut 4 pour passer d »un taux d »échantillonnage en entrée de 2e6 à un taux d »échantillonnage en sortie à 500k.

Un affichage du spectre de fréquences

Afin de voir la force du signal de la fréquence écoutée, nous allons mettre sur la fenêtre du programme un affichage du spectre de fréquences. Pour cela, ajoutez le bloc QT GUI Frequency Sink. Pour le configurer c »est très simple : il suffit de lui donner comme fréquence centrale (Center Frequency) la variable frequence. Le spectre se centrera alors automatiquement sur la fréquence écoutée.

Le bloc QT GUI Frequency Sink configuré

On peut commencer à relier le bloc de source avec le filtre passe-bas et le bloc d »affichage de la fréquence.

Le bloc source, le filtre passe-bas et l »affichage de la fréquence reliés entre eux

Le bloc démodulateur

L »étape suivante consiste à démoduler le signal, pour passer d »un signal complexe fournit par le PlutoSDR à un signal de type float qui sera notre signal audio. Pour cela, il existe un bloc tout fait sur GNU Radio : WBFM Receive (il faut bien prendre le WBFM qui correspond à une large bande et le non le NBFM qui lui correspond à une bande étroite).

Là encore la configuration est assez simple : il suffit de lui indiquer qu »en entrée on lui injecte un signal échantillonné à 500k et que l »on ne veut pas modifier le signal.

Le bloc WBFM Receive configuré

Ce bloc vient se connecter à la suite du filtre passe-bas.

Adaptation du taux d’échantillonnage

En sortie du démodulateur le signal a un taux d’échantillonnage à 500k, ce qui est élevé pour de l »audio. Nous allons le ramener à 48k avec le bloc Rational Resampler qui va diviser le taux par 500 et le multiplier par 48.

Le bloc Rational Resampler configuré

Il faut bien penser à changer le Type en float car en sortie du démodulateur nous travaillons avec des nombres flottants. Ce bloc vient donc se connecter à la suite du bloc WBFM Receive.

Le volume

Pour gérer le volume, il suffit de multiplier le signal par une constante entre 0 et 1, 0 correspondant à pas de volume et 1 correspondant à la totalité de l »amplitude du signal. La multiplication se fait avec le bloc Multiply Const. Ce bloc vient multiplier le signal par la variable volume que nous pourrons faire varier avec un curseur sur le même principe que la fréquence.

Le bloc Multiply Const configuré
Le bloc de définition du volume configuré

Ecouter le signal audio

Maintenant il ne reste plus qu »un bloc à ajouter : le bloc Audio Sink qui va nous permettre d »écouter le signal audio. Pour le configurer il suffit de choisir un taux d »échantillonnage de 48k.

Le bloc Audio Sink configuré

Place à l »écoute…

Une fois le programme terminé, il ne reste plus qu »à cliquer sur la flèche d »exécution du programme. La fenêtre de réception doit alors s »ouvrir et vous devriez entendre la fréquence choisie.

Le programme terminé
Le fenêtre de réception

Utiliser le PlutoSDR avec GNU Radio sous linux

Le PlutoSDR est un émetteur / récepteur SDR couvrant de 325 Mhz à 3.8Ghz (de 60Mhz à 6Ghz en mettant à jour le firmware). Il est possible d »utiliser le pluto comme un simple récepteur SDR, mais il est plus intéressant de pouvoir développer des applications autour de lui, avec GNU Radio Companion par exemple. Nous allons donc voir dans cet article comment faire communiquer le PlutoSDR et GNU Radio.

Pour plus d »infos sur le PlutoSDR : www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html#eb-overview

Installation de GNU Radio

La première chose à faire est d »installer GNU Radio. Sous linux, il suffit de taper une ligne de commande (voir également mon article dédié) :

sudo apt-get install gnuradio

Installer les dépendances nécesssaires

Une fois GNU Radio installé, il faut encore installer quelques dépendances, pour cela tapez les lignes de commandes suivantes :

sudo apt-get install gr-iio

sudo apt-get install libiio-utils

sudo apt-get install gqrx-sdr

Si les commandes ci-dessus ne fonctionnent pas, vous pouvez installer les dépendances manuellement :

apt-get -y install gnuradio-dev libxml2 libxml2-dev bison flex cmake git libaio-dev libboost-all-dev swig

git clone https://github.com/analogdevicesinc/libiio.git

cd libiio

cmake .

make

sudo make install

cd ..

git clone https://github.com/analogdevicesinc/libad9361-iio.git

cd libad9361-iio

cmake .

make

sudo make install

cd ..

git clone https://github.com/analogdevicesinc/gr-iio.git

cd gr-iio

git checkout upgrade-3.8

cmake -DCMAKE_INSTALL_PREFIX=/usr .

make

sudo make install

cd ..

sudo ldconfig

sudo cp -r /usr/local/lib/python2.7/dist-packages/gnuradio/iio /usr/lib/python2.7/dist-packages/gnuradio/

Un premier programme avec le Pluto

Après avoir installé le nécessaire, il ne reste plus qu »à faire un programme de test pour vérifier que tout s »est bien déroulé. Pour cela, ouvrez GNU Radio Companion en super utilisateur :

sudo gnuradio-companion

Je ne reviendrai pas sur les bases de GNU Radio comme l »insertion d »un bloc dans cet article, je vous invite donc à aller voir si besoin mon article permettant de réaliser un montage sur GNU Radio.

Ce montage ne contient pas beaucoup de blocs, il ne permettra de tester la bonne installation du pluto en affichant la chute d »eau des fréquences comprises en 88.5MHz et 91.5MHz (autrement dis une chute d »eau centrée sur 90MHz avec 3MHz de bande passante). Le montage à réaliser est le suivant :

Une fois le programme éxécuté, la chute d »eau de la fréquence s »affiche (on voit bien la station radio FM sur 90.2MHz) :

Et voilà, si la chute d"eau s"affiche c"est que votre PlutoSDR est bien installé sur votre ordinateur, il vous est maintenant possible de créer des applications autour de cet émetteur / récepteur SDR.

Tracker APRS Arduino : la v4

La 4e version du tracker est disponible ! Je n »ai rien mis en ligne concernant la 3e version par manque de temps et parce que j »ai très vite développé cette dernière version.

Pour parler de la v4, les changements par rapport aux versions précédentes sont :

  • l »ajout d »un bouton poussoir permettant d »envoyer une trame manuellement sans déranger l »envoi automatique,
  • l »ajout d »un bouton à glissière qui permet de choisir entre 2 modes de fonctionnement (je reviendrai plus tard sur ces 2 modes de fonctionnement),
  • le remplacement du transistor de PTT par un optocoupleur, ce qui permet de s »adapter à tous les postes,
  • et quelques autres changements mineurs…

Fabriquer le PCB

La fiche de fabrication du PCB est disponible ici :

Quelques explications sur le shield

Les 2 boutons et le principe de mode de fonctionnement

Comme indiqué précédemment, 2 boutons ont été ajoutés dans cette nouvelle version. Le premier est un bouton poussoir : il permet d »envoyer manuellement une trame sans retarder l »envoi automatique. Par exemple, si vous avez choisi d »envoyer une trame toutes les minutes, et que vous appuyez sur le bouton 50 secondes après qu »une soit partie, vous enverrez la trame, et 10 secondes plus tard la trame automatique partira quand même.

Pour que l »envoi manuel fonctionne il faut cependant que le GPS soit connecté, reconnu par l »Arduino et il faut également qu »il fournisse une localisation.

Schéma du bouton d »envoi de trame

Le 2nd bouton est un bouton à glissière. Il permet de choisir quel mode de fonctionnement doit utiliser le tracker. Dans cette version, j »ai en effet ajouté la possibilité de créer 2 modes. Un mode est une combinaison commentaire + pictogramme.

Vous pouvez donc par exemple prévoir un mode voiture et un mode piéton. Le mode voiture utiliserait le pictogramme de la voiture et enverrait comme commentaire « en mobile ». Le mode piéton utiliserait lui le pictogramme du bonhomme qui marche et enverrai comme commentaire « en pédestre ». Pour passer d »un mode à l »autre, il suffit de commuter le bouton à glissière.

Schéma du bouton de changement de mode

Les différents indicateurs à LED

Cette version contient également des témoins LED supplémentaire. En plus de la LED 5mm verte pour la mise sous tension et de la LED 5mm rouge pour le passage en émission, le tracker comporte désormais 2 LEDs 3mm : une rouge et une verte.

Commençons par la LED 3mm rouge. Elle indique si le GPS n »est pas connecté et/ou reconnu mais aussi si les coordonnées qu »il renvoi ne sont pas au bon format. Dans le cas où le GPS n »est reconnu au bout de 5 secondes (donc s »il n »est pas ou mal connecté), la LED s »allumera et restera allumée. Pour refaire un test du GPS, il sera nécessaire d »appuyer sur le RESET de l »Arduino ou de couper puis remettre l »alimentation de l »Arduino.

Si le défaut est un format de coordonnées incorrect, la LED clignotera 3 fois lorsque le shield essaiera d »envoyer une trame. Dans ce cas, il ne sera pas nécessaire de redémarrer l »Arduino, car à la prochaine tentative d »envoi d »une trame le test sera de nouveau effectué.

Schéma de la LED de défaut GPS

La LED 3mm verte indique si le mode secondaire est activé. Si vous utilisez le bouton à glissière pour utiliser le 2nd mode de fonctionnement, cette LED s »allumera alors. Si par la suite vous commuter de nouveau le bouton pour retourner sur le mode principal, elle s »éteindra. C »est aussi simple que ça

Pour résumer, si cette LED est allumée, le tracker mettra dans la trame le pictogramme secondaire et le commentaire secondaire que vous avez configurés dans le programme (voir plus bas la partie programmation).

Schéma de LED d »activation du mode secondaire

Le connecteur de la radio

Sur cette version j »ai rajouté au connecteur radio un pin dédié à la masse de la radio. Cela permet de s »adapter aux radios qui utilise une connexion entre 2 fils pour passer en émission et non un sytème de PTT par mise à la masse. Si votre radio fonctionne dans le 1er cas, utiliser les pins MASSE_PTT et PTT_RADIO pour le PTT et connectez la masse de la radio au pin GND pour que la trame audio puisse être générée. Dans le cas où votre radio fonctionne par mise à la masse, il suffit alors de connecter ensemble les pins GND et MASSE_PTT, connectez les autres pins en suivant les noms.

Noms des pins du connecteur radio

L »alimentation électrique du shield

Le bornier d »alimentation n »a pas changé, il suffit de connecter le – et le + de la batterie en respectant le câblage suivant :

Câblage de l »alimentation sur le bornier

Le connecteur du GPS

Le connecteur du GPS n »a pas changé lui non plus, il récupère les infos du GPS et l »alimente en 3,3V. Son schéma de câblage est le suivant :

Schéma de câblage du GPS

Programmer le tracker

Les programme arduino du tracker est disponible ici.

Une fois téléchargé, ouvrez le avec l »IDE Arduino. Voici comment le personnaliser :

Changer l »indicatif

Allez le remplacer dans la ligne 79 du fichier .ino :

aprs.begin(« F4IAI »);

Modifier l »intervalle de temps entre 2 envois

Modifiez la valeur de la ligne 56 du fichier ino :

unsigned long interval1 = 30000; //intervalle de temps entre 2 trames exprimé en ms

Modifier les commentaires des modes

Toujours dans le fichier .ino, modifiez les textes à la ligne 241 pour le mode principal et à la 244 pour le secondaire (attention : pour les commentaires vous êtes limité à 30 caractères).

Changer votre SSID

Allez le modifier à la ligne 43 du fichier config.h :

define S_CALLSIGN_ID 9

Modifier les pictogrammes des 2 modes

Dans le fichier aprslib.cpp modifiez le caractère de la ligne 93 pour le mode principal et de la ligne 96 pour le mode secondaire.


Mon article sur la V4 du tracker est terminé. Comme d"habitude, je peux fournir les composants et le PCB nécessaires au tracker. Pour cela, contactez moi : enzo.becamel @ gmail.com

Suivre les satellites avec Gpredict

Pour recevoir des satellites par radio comme les satellites météo NOAA par exemple, il est indispensable de savoir quand ils seront audibles. Pour cela, il existe des solutions en ligne et des logiciels. J »utilise le logiciel Gpredict de OZ9AEC. Il est disponible gratuitement ici : http://gpredict.oz9aec.net/ et ici : https://sourceforge.net/projects/gpredict/

Une fois téléchargé, si vous êtes sous windows il suffit de décompresser l »archive et de lancer le fichier gpredict.exe. Au 1er lancement, le logiciel ressemble à ça :

Saisir son emplacement

Il est temps de le configurer. Pour commencer : l »emplacement de la station. Définir l »emplacement correct est important car c »est avec ça que seront calculés les heures de passages ainsi que les azimut et les élévations des satellites lors des passages. La fenêtre de configuration de la station se trouve dans le menu Edit puis Preferences -> General -> Ground Stations. Il y a par défaut un emplacement de saisi, cliquez sur Add new pour en ajouter un nouveau. La fenêtre suivante s »ouvre :

Dans cette fenêtre, choisissez un nom pour l »emplacement et localisez le soit en choisissant l »aéroport le plus proche dans la ligne Location soit en saisissant une latitude et une longitude.

Nouvel emplacement saisi avec les coordonnées GPS

Une fois l »emplacement validé, sélectionner le en tant qu »emplacement par défaut (la petite case à cocher), supprimez l »autre emplacement (vous pouvez le conserver si vous le sauhaitez) puis relancez Gpredict. Normalement une fois le logiciel relancé le nouvel emplacement a dû être prit en compte.

Gpredict avec le nouvel emplacement par défaut

Modifier l »interface

Une fois l »emplacement réglé, il est possible de modifier l »apparence de Gpredict. Pour cela, rendez vous dans le menu Edit -> Preferences -> Modules. Une fois sur ce menu, plusieurs choix s »offrent à vous :

Je vous laisse essayer les différentes combinaisons possible, personnellement j »utilise le choix surligné en bleu sur la capture ci-dessus, je le trouve complet. Une fois que vous avez fait votre choix, validez et relancez de nouveau Gpredict. Une fois relancé, vous devriez voir la nouvelle apparence sur le logiciel :

Mettre à jour la base de données

Pour afficher les différents satellites, il est nécessaire de mettre à jour régulièrement la base de données de Gpredict sur votre ordinateur. Pour cela, cliquez sur update TLE data from network dans le menu Edit.

Choisir les satellites à l »écran

Par défaut, Gpredict affiche quelques satellites, mais ce ne sont pas forcément ceux que vous voulez suivre. Pour choisir de nouveaux satellites, cliquez sur la flèche qui va vers le bas en haut à droite puis cliquez sur configure. Dans la fenêtre sui s »ouvre, mettez dans la colonne de droite les satellites que vous voulez voir. La colonne de gauche contient la liste de tous les satellites disponibles sur Gpredict (et que vous n »avez pas mis dans votre affichage).

Quand vous avez fini de choisir vos satellites, cliquez sur OK. Sur la carte et dans les autres modules à l »écran le changement de satellites est effectué.

Voilà vous avez maintenant les bases pour utiliser Gpredict. D"autres articles un peu plus poussés comme par exemple sur la partie liaison avec un logiciel SDR seront prochainement mis en ligne.