Tracker APRS Arduino : la v4.1

La version V4.1 n »apporte pas de changements majeurs par rapport à la V4. Les seuls changements concernent le PCB qui est désormais double face et designé avec KiCAD. Une modification mineure a également été apportée sur le filtrage de l »audio.

Le fonctionnement est le même que le tracker V4, je vous invite donc à consulter son article pour les différents fonctions.

Le document pour l »assemblage est disponible ici :

Le fichier html pour le placement des composants :

Comme pour tous mes montages, je peux fournir PCB et composants (sauf arduino, radio et GPS), pour cela, contactez-moi : enzo.becamel @ gmail.com

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

Tracker APRS Arduino : la V2

3 mois après la première version du tracker (voir cet article), sa version 2.0 est disponible !

Cette nouvelle version corrige un gros défaut de la V1 : le signal de sortie n »était pas propre. Pour cela, j »ai simplement ajouté 2 filtres RC de fréquence de coupure 5kHz en cascade et un condensateur en série pour supprimer la composante continue du signal.

La sortie micro du tracker à l »oscilloscope sans filtre
La sortie micro du tracker avec les filtres et le condensateur

La liste des composants, le schéma et les autres infos utiles sont disponibles dans ce document :

Pour tout ce qui concerne la programmation de l »Arduino, voir l »article dédié à la V1 du tracker disponible ici (le programme Arduino est le même, seuls les filtres ont été ajoutés).

Pour ceux qui sont intéressés je propose des kits « tracker » qui contiennent le PCB et les composants nécessaires à la fabrication du shield. Pour plus d »infos : enzo.becamel @ gmail.com

Tracker APRS Arduino

Dans cet article je vais vous présenter mon tracker APRS basé sur une Arduino UNO et un GPS de radiosonde.

Photo du shield monté sur son Arduino Uno

Présentation générale

Ce tracker est basé sur une Arduino UNO et sur un GPS de radiosonde. Il fonctionne avec un shield présenté plus bas. Pour fonctionner, il suffit de le brancher sur une alimentation 12V (ou sur une prise allume-cigare) et de le connecter à une radio. Le shield se charge de réduire la tension d »alimentation pour alimenter la carte Arduino, il se charge également de gérer le PTT et les différentes connexions.

Le matériel nécessaire :

  • Une carte Arduino UNO,
  • Un GPS de radiosonde ou tout autre GPS compatible avec la librairie TinyGPS++,
  • Un poste radio,
  • Le shield présenté plus bas.

Pour réaliser le circuit imprimé, voir la liste des composants dans la rubrique dédiée au shield.

Fonctionnement

Comme dit plus haut, ce tracker s »alimente directement en 12V, sur une prise allume cigare de voiture par exemple.

Schéma montrant le fonctionnement du tracker.

Le shield utilisé

Le shield utilisé est un shield que j »ai conçu avec des composants simples. Il a pour objectif de convertir le 12V en 5V afin d »alimenter la carte Arduino, et de gérer les connexions entre la carte Arduino, la radio et le GPS.

Afin de faciliter la conception du shield, j »ai découpé son schéma en plusieurs fonctions. Voilà le schéma global :

Schéma global du shield.
Liste des composants

Voilà la liste des composants nécessaires à la réalisation de ce shield :

NomTypeValeurAutre info
R1Résistance1k
R2Résistance2.2k
C2Condensateur polarisé1µFDiamètre : 5mm
Entre bornes : ~2,5mm
C1Condensateur polarisé10µFDiamètre : 6mm
Entre bornes : 5mm
D1Diode1N4007
D3Diode1N4148
D2, D4DELDiamètre 5mmCouleur au choix, D2 pour le PTT, D4 pour la mise sous tension
T1Transistor NPN2N2222Boitier TO-92
CI1Régulateur de tensionL7805
JP2Connecteur femelle1x3 pinsConnecteur de type pins Arduino
JP1Connecteur femelle1x4 pinsConnecteur de type pins Arduino
JP3Bornier à vis2 bornes

A cette liste il faut rajouter les différents pins males pour assurer l »assemblage avec la carte Arduino, soit des barrettes de:

  • 1 barrette de 1×6 pins,
  • 2 barrettes de 1×8 pins,
  • 1 barrette de 1×10 pins.
Le circuit imprimé

Il est possible de réaliser le montage sur une plaque à trous en faisant le montage avec des fils, mais le mieux est de le faire en circuit imprimé, chose que j »ai faite. Les composants sont des composants traversants, mais pour faciliter la mise en place des pins qui se connectent sur l »Arduino j »ai décidé de mettre les pistes côté composants.

Le PCB avec les emplacements des composants.

N »hésitez pas à me contacter par mail à l »adresse suivante pour avoir plus d »informations sur le PCB ou si vous voulez que je vous envoi le fichier EAGLE : meteobruno@gmail.com

La librairie Arduino utilisé

La librairie utilisée est celle de la V1 de la station météo APRS mobile et que j »avais présenté rapidement dans cet article.

Il s »agit donc de librairie aprslib, que vous pouvez télécharger ici.

La librairie contient 2 fichiers d »exemple : 1 premier fichier sans GPS, un second fichier, celui qui nous intéresse ici, nommé testaprslibgps. Ce fichier combine la librairie aprslib et la librairie Tinygps++ pour envoyer la position GPS par APRS. Pour utiliser le fichier, il faut donc installer la librairie Tinygps++, disponible ici.

Préparation de la librairie

Pour utiliser le fichier d »exemple utilisant le GPS, je vous conseille de copier le contenu de la librairie et le fichier d »exemple dans un même dossier comme ci-dessous :

Capture d »écran du projet Arduino

Une fois que vous avez copié les fichiers, il faut modifier l »appel de la librairie aprslib dans le fichier .ino. Pour cela, à la ligne 31, remplacez les chevrons par des guillemets comme sur la capture suivante :

Capture du fichier .ino pour la modfication de l »appel de la librairie

Vous n »avez ensuite plus de grosse modification à faire, il vous suffit d »adapter les champs à votre utilisation.

Personnaliser les informations de la librairie

Voyons maintenant comment adapter la librairie à notre utilisation et comme la personnaliser avec nos informations.

Pour commencer, il faut saisir notre indicatif. Cette étape se fait entre les guillemets de la ligne 65 du fichier .ino. Toujours dans le fichier .ino, vous pouvez modifier le commentaire APRS. Pour cela, modifier le contenu entre guillemets de la ligne 188 (attention, vous êtes limité à 30 caractères).

Nous allons maintenant modifier le contenu du fichier nommé config.h. A la ligne 43 vous pouvez modifier votre SSID. Voici une liste des SSID à utiliser en fonction des utilisations :

Liste des SSID, source : http://info.aprs.net/index.php?title=AprsStation

Toujours dans le fichier config.h, à la ligne 53 vous pouvez modifier le WIDE de votre trame.

Enfin, dans le fichier aprslib.cpp, vous modifier le symbole APRS sous lequel vous apparaitrez à la ligne 74 (par défaut c »est la table primaire qui est utilisée, mais en modifiant la ligne 71 vous pouvez chosir la table secondaire). Les tables de symboles sont disponibles ici. Personnellement, j »ai choisi de mettre le symbole de la voiture, donc le caractère « > » de la table primaire.


Capture d »une trame envoyée avec le tracker sur aprs.fi
Une nouvelle version du Tracker est disponible ici (le programme ne change pas)