VFO DDS 0 à 40 MHZ

Les exigences de stabilité d'un émetteur ou d'un récepteur ayant considérablement évolué dans le temps, la technologie a sans cesse évolué pour augmenter la précision des oscillateurs.
Aujourd'hui, la technique DDS (Direct Digital Synthesis, ou synthèse digitale directe), est à portée raisonnable de nombreux bricoleurs.
Des circuits comme l'AD9850, ou l'AD9851, d'Analog Devices sont disponibles couramment, pour quelques euros par pièce.
La tentation était bien grande d'essayer, et le plus dur était de se lancer.
C'est maintenant chose faite, et le résultat valait bien un petit effort...

AD9850 & PIC16F877A

DDS synthesizer, AD9850, 16F877A, DDS VFO

La gestion de ces petits synthétiseurs DDS est assez simple, mais nécessite toutefois l'utilisation d'un micro-contrôleur pour envoyer les 40 bits et les 2 signaux de contrôle associés à l'AD9850.

Une petite carte prototype a été construite, sur laquelle ont été câblés respectivement:
1 afficheur 2 lignes de 16 caractères.
1 petit module supportant un AD9850.
1 PIC 16F877A.
1 encodeur optique (quadrature) à 32 impulsions par tour.
2 boutons poussoirs simples. (step + et step -)

Quelques lignes de soft ont été écrites dans le PIC, et le DDS est  actuellement fonctionnel, bien que le programme ne soit pas encore complet.
Bien des options restent à écrire, et les pages de soft manquantes seront ajoutées au fil des jours.

La précision de ces petits synthétiseurs et leur absence de dérive sont étonnantes.
L'encodeur rotatif associé au programme de décodage rend assez bien la sensation que l'on ressent en tournant le vernier d'un condensateur variable.

L'affichage de la fréquence réelle fonctionne parfaitement, et la résolution minimale est de 1 HZ.
L'encodeur optique, qui sert à augmenter ou diminuer la fréquence permet un usage très souple du vernier, car le micro-contrôleur utilise une entrée d'interruption extérieure, et une routine de calcul très rapide permet de ne manquer aucun pas de comptage.
AD 9850 setup

Dernières évolutions

DDS synthesizer, AD9850, 18F4620, DDS VFO 
Un petit clavier 16 touches a été rajouté, et le soft permettant sa gestion est maintenant fonctionnel.
Il est désormais possible d'entrer directement n'importe quelle fréquence de 1 HZ à 40 MHZ via les touches du clavier.

L'afficheur précédent a été remplacé par un modèle de 4 lignes par 20 caractères, afin de permettre l'ajout facile de futures options. 

Plusieurs pas de résolution en fréquence sont pré-définis par soft, et peuvent être sélectionnés à l'aide de 2 touches du clavier. ( * et #)

Les résolutions ont été arbitrairement fixées à 1HZ, 10HZ, 50HZ, 200HZ, 1KHZ, 5 KHZ, 20KHZ et 50 KHZ.

La dernière fréquence utilisée est mémorisée (EEPROM) lors de la coupure de l'alimentation 5V, et restituée à la mise en route.

En mode VFO, la touche B permet de basculer instantanément entre le VFO A et le VFO B.
Ces deux Oscillateurs sont  totalement indépendants l'un de l'autre.

Le micro-contrôleur 16F877A a été remplacé par un 18F4620, qui admet une fréquence d'horloge de 40 MHZ, et comporte un jeu d'instructions plus puissant que celui du 16F877A.
La RAM et l'EEPROM ont également des capacités bien supérieures, ce qui contribue nettement à accélérer les traitements numériques
Ces changements ont été rendu nécessaires pour augmenter tout à la fois la puissance et la vitesse de calcul. 
En effet, les différentes options prévues ultérieurement nécessitent une rapidité maximale dans le traitement des nombreux calculs arithmétiques binaires.

Prochaines évolutions:

  • Ajout d'une fonction Wobbulation à excursion variable et fréquence centrale ajustable, ainsi que d'une sortie synchro permettant un repérage extrêmement précis sur un oscilloscope double trace. 

L'apport de cette option peut s'avérer très utile pour l'ajustement de filtres HF, et permettre la réalisation d'un petit banc de  réglage très précis, pour un coût très faible.
C'est principalement le développement de cette fonction qui a motivé le remplacement du micro-contrôleur d'origine, qui s'avérait un peu trop lent pour l'usage envisagé.

  • A ce jour, la fonction wobbulation est fonctionnelle, et son extraordinaire linéarité permet d'utiliser le graticule d'un oscilloscope pour un repérage parfait de l'excursion en fréquence, de 5 HZ à 200KHZ par carreau, soit +/- 25HZ à +/- 1MHZ de part et d'autre de la fréquence centrale, en fonction de l'excursion sélectionnée.
Il est ainsi possible de construire à très bon compte un appareil d'une remarquable précision. 
Les essais effectués sur la mesure de résonance parallèle d'un quartz confirment de façon pratique les  résultats escomptés.
L'addition d'un atténuateur variable en sortie HF ajouterait au côté versatile de ce petit appareil.
L'ajout sera fait prochainement... 

 
DDS synthesizer, AD9850, 18F4620, DDS VFO
La période de balayage en mode wobbulateur a été fixée à 20 millisecondes, ce qui correspond à une fréquence de 50 HZ.
A raison de 50 incréments de fréquence par balayage, et de 50 balayages par seconde, le micro-contrôleur doit envoyer 2500 fois par seconde un nouveau paramètre de fréquence (40 bits) au synthétiseur DDS.
Il importait donc d'avoir des routines de calcul "énergiques" pour respecter les contraintes de vitesse initiales.
Le PIC 18F4620 avec son horloge à 10 MHZ, multipliée en interne pour atteindre 40 MHZ, remplit parfaitement le cahier des charges.


  
DDS SWEEPER
L'illustration ci-dessus montre la wobbulation d'un quartz 9 MHZ.
Le balayage en fréquence est de 1 KHZ par carreau.
On voit nettement les escaliers générés par le pas d'incrémentation qui est de 200 HZ dans ce cas.
La résolution minimale de ce petit wobbu est de 1 HZ, soit 5HZ par carreau.
Pour les transfos FI traditionnels, 455KHZ, 472 KHZ, 10,7 MHZ,..., jusqu'à 25 MHZ, des largeurs d'excursions atteignant jusqu'à 2 MHZ peuvent être sélectionnées, ce qui est parfaitement suffisant pour l'emploi envisagé. 

La trace supérieure montre les impulsions très précises générées par le micro-contrôleur et destinées à synchroniser parfaitement l'oscilloscope sur le début du balayage en fréquence.

Le balayage de l'oscilloscope est de 2 mS par carreau, ce qui nous donne un cycle complet égal à 20 millisecondes, soit 50 HZ.
Ce balayage est extrêmement stable, en raison de l'utilisation d'un timer très précis dans le micro-contrôleur, pour la gestion du cadencement des sauts de fréquence pendant la wobbulation.
L'impulsion de synchronisation de l'oscilloscope est également générée par ce même timer.
L' excursion en fréquence est en conséquence parfaitement linéaire, permettant ainsi d'utiliser le graticule de n'importe quel oscilloscope pour mesurer précisément la bande passante d'un filtre, (par exemple) car la fréquence indiquée sur l'afficheur du DDS représente toujours le centre de l'écran, comme sur un wobbulateur traditionnel.
Cette méthode de repérage fréquentiel rend totalement inutile le système de marqueurs couramment utilisé sur les équipements anciens.


 

Le schéma

AD950 DDS SCHEMATICS SCHEMA

Le schéma tel qu'il à été relevé sur le prototype.

Les pins inutilisées (7, 8, 9, 10, 34, 35, 38, 39, 40) sur le 18F4620 seront affectées au fur et à mesure des besoins.
Il est rassurant de savoir que toutes les connexions matérielles du processeur n'ont pas été consommées...




Derniére mise à jour le samedi 10 juin 2017