Electronique > Réalisations > Générateurs > Générateur audio 008

Dernière mise à jour : 26/07/2026

Présentation

Ce générateur est capable de délivrer un signal carré (rapport cyclique de 50%) dans la plage de fréquence des signaux audio, à savoir entre 20 Hz et 20 kHz, avec une fréquence ajustable au hertz près (résolution de 1 Hz).

gene_audio_008_disp_001a gene_audio_008b_disp_001a

Voir aussi le générateur audio 008b qui s'appuie sur la même base et offre en complément une résolution de 0,01 Hz et une sortie sinus.

   

Avertissements

   

Schéma

Le montage est construit autour d'un PIC dont le nombre élevé de broches peut questionner (mais tout s'explique).

gene_audio_008

Il est vrai que j'aurais pu utiliser un PIC moins encombrant (avec moins de broches) pour ce générateur. La réalité est que j'ai débuté l'étude du générateur audio 008b et que cette version simplifiée 008 est venue après. Pour faciliter mes tests, j'ai tenu à garder le même brochage pour les deux versions.
   
Principe de fonctionnement
Quand on veut faire délivrer par un microcontrôleur un signal de fréquence donnée, il existe différentes façons de procéder :
- avec un module PWM (Pulse Width Modulation)
- avec un module NCO (Numerically Controlled Oscillator) basé sur le principe du DDS (Direct Digital Synthesis)
- avec un Timer simple (sans rien d'autre)
- avec un Timer associé à un accumulateur

Un module NCO est assez pratique et peut-être plus facile à utiliser, mais malheureusement une grande précision de la fréquence de sortie n'est pas aussi facile à obtenir (elle est souvent un peu moindre ou un peu plus élevée que la valeur attendue). C'est pourquoi la dernière solution a été adoptée ici, avec le Timer2 du PIC. Si elle peut sembler un peu plus compliquée à mettre en oeuvre, elle permet en revanche d'obtenir une fréquence plus proche de celle désirée. 


Réglage de la fréquence
Il s'effectue de façon très simple, avec plusieurs boutons-poussoirs :
La fréquence min est de 20 Hz et la fréquence max est de 20000 Hz. Si l'incrément ou le décrément demandé fait sortir la fréquence actuelle de cette plage, la demande n'est pas prise en compte. Par exemple, si la fréquence en cours est 19200 Hz et que vous pressez le bouton-poussoir SW7 (incrément milliers) alors il ne se passe rien. Autre exemple : si la fréquence en cours est 27 Hz et que vous pressez le bouton-poussoir SW12 (décrément dizaines) là encore il ne se passe rien.
   
Commandes "grisée" ?
Actuellement, les boutons SW1 à SW4 n'ont aucune action. Il s'agit de lignes d'entrées de commandes prévues pour un usage futur, par exemple pour des presets.
   
Sortie rectangulaire
La sortie LFout (LF = Low Frequency) délivre un signal périodique carré de rapport cyclique 50%. Aucun étage de sortie n'est proposé ici, mais je vous suggère fortement d'ajouter au moins un buffer logique (par exemple SN7404) ne serait-ce que pour protéger la sortie du PIC contre toute fausse manoeuvre qui pourrait lui être fatale (remplacer un 7404 grillé engendre moins de risques de dépression que remplacer un PIC programmé avec efforts). Et tant qu'à ajouter un étage de sortie, pourquoi ne pas prévoir en même temps un réglage de niveau par commutateur multi-positions ou par un simple potentiomètre ? Je dis cela comme ça, mais injecter un signal carré d'amplitude 5 V dans l'entrée ligne d'un préamplificateur ou d'un amplificateur risque de faire mal (aussi bien aux oreilles qu'à certains matériels)...

   

Logiciel du PIC

Le logiciel est disponible en libre service
Generateur audio 008 18F46K22 - Version V1.0 du 25/07/2026

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

   

Historique

26/07/2026
- Première mise à disposition.