GPSDO 10MHz avec GNSS NEO-7M

 

En 2010, j'avais décrit ma réalisation d'un GPSDO 10MHz. A l'époque il était courant d'utiliser le module GPS Jupiter qui fournissait un signal très précis à 10kHz . Malheureusement le module Jupiter ne fonctionne plus, il a donc fallu trouver un remplaçant. La solution est venue de F1CJN qui a décrit l'utilisation d'un module (on dit maintenant GNSS) NEO-7M que l'on peut se procurer facilement sur ebay (voir l'article sur le site de F6KBF).

Le module NEO-7M n'ayant pas de mémoire pour enregistrer les paramètres, il faut donc  recharger ceux-ci à chaque démarrage.
Pour pallier cet inconvénient, on utilise un microcontrôleur qui se charge de cette tâche et permet en outre d'afficher les informations fournies par le GPS : Latitude, Longitude (on en déduit le QRA locator), Heure, Nombre de satellites visibles et bien sûr une sortie 10kHz pour asservir l'oscillateur 10MHz.

Ma première réalisation utilisait un Arduino nano et un afficheur LCD 2 lignes de 16 caractères à liaison I2C.

L'interface entre le NEO-7M, qui est alimenté en 3,3V, s'effectue par un buffer 74HC14. Le module Jupiter délivrait aussi un signal 1PPS (signal carré à 1Hz). Pour conserver cette fonctionnalité, j'ai implanté un diviseur par 10 000 réalisé à l'aide d'un PIC 12F683 (pour plus d'infos voir le site http://www.leapsecond.com/pic/picdiv.htm).
 

Le circuit est réalisé sur morceau de plaquette à trous remplaçant le GPS Jupiter.

J'ai ensuite réalisé un second circuit, toujours équipé d'un NEO-7M, mais j'ai remplacé l'Arduino nano par un ATMega328P et j'ai utilisé un DTCXO 10MHz de précision récupéré dans une Base Radiocom 2000.

Attention les ATMega328p-PU récents sont vendus avec un bootloader qui active l'oscillateur interne à 1MHz au lieu de l'oscillateur à quartz de 16MHz. Il faut donc graver la séquence d'initialisation avant de téléverser le croquis.


73 de Joël F6CSX

Dernière mise à jour le 7 décembre 2021