Electronique > Réalisations > Générateurs > Générateur audio 016 - Pro

Dernière mise à jour : 11/09/2022

Présentation

Ce générateur BF dispose de deux sorties indépendantes qui permettent de délivrer un signal sinus, triangle ou carré de fréquence comprise entre 1 Hz et 999.999 kHz. Il a été conçu à l'origine pour des expériences pédagogiques en audio.


gene_audio_016_proto_002_graphe_001b 

Basé sur deux générateurs numériques AD9833 ou AD9834 (DDS, Direct Digital Synthesis) il peut être utilisé de deux façons :

- en autonomie totale, avec des boutons-poussoirs et un afficheur LCD
- avec pilotage par logiciel Windows et liaison USB pour travail avec des séquences prédéfinies


Avertissements

Ce générateur est loin d'être parfait (aucun ne peut l'être), mais du point de vue de la qualité des ondes délivrées dans les fréquences les plus élevées, je le situe tout de même un cran au-dessus de ceux que j'ai construit avec des ICL8038 ou XR2206 ;)


Schéma

Pro - Le schéma n'est pas complet, il ne montre pas l'étage des deux sorties analogiques (filtres, amplis, réglage niveau et drivers ligne).


gene_audio_016

L'alimentation secteur non plus n'est pas montrée sur le schéma, c'est une classique 2 x 15 V (analogique) et +5 V (logique).


Principe de fonctionnement

Le générateur audio 016 s'appuie sur des générateurs de fonction numérique DDS (Direct Digital Synthesis) de type AD9833. A la mise sous tension, les modules AD9833 sont initialisés puis configurés pour délivrer un signal sinus de 1000 Hz. La fréquence, la phase et l'amplitude de chacune des deux voies peuvent être ajustées de façon indépendante avec des boutons-poussoirs. Le réglage du niveau de sortie est obtenu via des potentiomètres numériques additionnels, car l'amplitude du signal en sortie du AD9833 ne peut être ajustée. Le générateur dispose en outre d'un port USB pour modifier les divers paramètres en temps réel (et avec séquences automatiques). Cette liaison USB est facultative.


Modules DDS AD9833

Le circuit intégré AD9833 est un mignon petit circuit, dont la structure interne est rappelée ci-après à gauche (datasheet).


dds_ad9833_syno_001a dds_ad9833_module_001a

Ce circuit intégré n'existe qu'en version CMS MSOP 10 broches, trop petit pour moi. Aussi ai-je utilisé des modules précâblés achetés à bas prix sur la toile (photo de droite ci-avant), dont l'avantage principal est qu'ils comportent déjà l'oscillateur requis pour cadencer le DDS (ici oscillateur 25 MHz). C'est une source d'horloge de moins à prévoir, mais c'est aussi un inconvénient qui les empêche d'être synchronisés quand on veut en faire travailer plusieurs en même temps. 

Le AD9833 regroupe tout le nécessaire pour délivrer un signal selon le principe de la synthèse directe, il suffit de lui indiquer ce qu'il doit sortir, via des commandes logicielles transmises par un bus SPI. Il est ainsi possible de spécifier la fréquence, la phase et la forme du signal (sinus, triangle ou carré). A la mise sous tension, un reset est nécessaire. Après ce reset, la sortie délivre une tension continue égale à Vdd/2. Le circuit intégré AD9833 travaillant en monotension positive, il faut décaler le signal de sortie vers le haut pour conserver les "alternances négatives" du signal périodique.


Etage de sortie analogique

Schéma non publié

L'amplitude du signal en sortie du AD9833 est de 0,6 V environ pour les modes sinus et triangle, elle dépasse les 3 V pour le mode rectangulaire. Un signal d'amplitude 0,6 V mérite une légère amplification pour un usage un peu plus pro. Un filtrage assez sommaire est réalisé ici, car la fréquence maximale du signal de sortie a été fixée à 1 MHz. 

Le signal issu du AD9833 passe par un potentiomètre numérique avant d'aboutir à un étage de sortie qui apporte une amplification en tension et en courant. Comme je voulais disposer d'une amplitude de sortie d'au moins +12 dBu (8,7 Vpp), l'amplification apportée par l'étage de sortie a été fixée à +26 dB (rapport de 20x, soit 12 Vpp en sortie pour 0,6 Vpp en entrée). Le potentiomètre numérique choisi est un DS1802 qui offre une courbe d'atténuation selon une variation log par pas de 1 dB. Bien sûr, d'autres potentiomètres numériques peuvent convenir, il suffit d'adapter les commandes logicielles envoyées par le PIC. Le potentiomètre numérique peut aussi être remplacé par un potentiomètre traditionnel, mais dans ce cas bien sûr le niveau indiqué sur l'afficheur LCD ne sera plus pertinente et il faudra toujours s'assurer du niveau réel avec un mesureur audio ou un oscilloscope.

La sortie finale, composée d'un double AOP AD826AP et d'une paire de transistors de puissance complémentaires (BD131/BD132) se fait sous faible impédance (50 ohms). Le gain tient bon jusqu'à 1 MHz (-0,5 dB par rapport au reste de la bande) et le taux de distorsion qui est très faible dans la bande audio (inférieur à 0,001% de 20 Hz à 20 kHz) remonte assez vite après 100 kHz : environ 0,01% à 100 kHz et environ 1% à 1 MHz. Il s'agit là de valeurs honnêtes pour un montage semi-pro.


Pilotage par USB

Un logiciel spécifique a été développé pour piloter ce générateur 016 via son port USB (liaison HID, aucun pilote à installer).


audiogen016_main_001

Les fonctions principales du logiciel sont implémentées et fonctionnelles, reste à le compléter avec les séquences automatiques. Au stade actuel, les paramètres sont transmis dans les deux sens : un changement de valeur effectué en local (via les boutons-poussoirs) est systématiquement transmis au logiciel via la liaison USB, et les changement opérés depuis le logiciel sont affichés sur l'écran LCD du générateur.


Prototypes

Pour mes premiers essais avec le AD9833, j'ai utilisé un PIC 18F25K22, le tout alimenté en 3V3.


gene_audio_016_proto_001a gene_audio_016_proto_001b gene_audio_016_graphe_001a

Ensuite, quand le AD9833 a fait ce que j'attendais de lui (sortir les signaux à la bonne fréquence, entre autre), je suis passé au 18F4550 pour la version finale.


gene_audio_016_proto_002a gene_audio_016_proto_002b gene_audio_016_proto_002_graphe_001a

La copie d'écran d'oscilloscope ci-devant montre que le bus SPI véhicule un signal d'horloge "état haut au repos" (trace violette) et un une ligne de données "état bas au repos" (trace bleue). J'ai un peu joué sur les durées d'attente entre reset et initialisation des paramètres des AD9833, afin de voir si on pouvait obtenir un semblant de synchro entre les deux générateurs. 


 gene_audio_016_proto_002_graphe_001c gene_audio_016_proto_002_graphe_001d gene_audio_016_proto_002_graphe_001e

Oui, le synchronisme entre les deux générateurs peut être obtenu à la mise sous tension. Cela reste toutefois du bricolage car les deux ondes se décalent rapidement dans le temps (cycle de 20 secondes sur mon proto pour retomber à nouveau en phase). Ce à quoi on pouvait s'attendre, puisque les sources d'horloge sont indépendantes. Une seule source d'horloge limiterait fortement (voire éliminerait) ce décalage progressif. L'amplitude mesurée des signaux sinus et triangle est voisine de 600 mV (584 mV précisément) alors que l'amplitude du signal carré est de 3,2 V (avec alim 3,3 V). Les trois copies d'écran ci-après montrent les signaux délivrés à des fréquences de 20 kHz, 100 kHz et 1 MHz (sortie directe AD9833, sans filtre).


gene_audio_016_proto_002_graphe_001f gene_audio_016_proto_002_graphe_001g gene_audio_016_proto_002_graphe_001h

Ma procédure de tests n'est pas professionnelle : plaque d'expérimentation sans soudure, fils volants et "queue de cochon" pour la masse de la sonde d'oscilloscope, rien de tel pour abimer la forme des signaux de fréquence élevée visualisés. Mais cela donne toutefois une bonne idée, notamment celle que ce générateur est adapté à des expériences amusantes dans la bande audio... et au-delà ;)


Logiciel du PIC (version allégée LE)

LE - Le logiciel mis à disposition gratuite est une version limitée (LE, voir avertissements en début d'article);

AudioGen016 - 18F4550 - LE (16/06/2018)

Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.


Circuit imprimé

Non réalisé. 


Historique

11/09/2022
- Tests réalisés avec le AD9834 en remplacement du AD9833 (simulation uniquement pour le AD9834).

17/06/2018
- Première mise à disposition.