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

Dernière mise à jour : 10/08/2014

Présentation

Ce minuscule générateur BF délivre un signal audio sinusoïdal de fréquence fixe 1 kHz (ou presque).

gene_audio_014_pcb_3d_a 

Le circuit est basé sur un PIC 16F1705 et s'alimente sous une tension de +3,3 V à +5 V. La pureté spectrale du signal sinus délivré par ce montage est moyenne, l'idée première était de réaliser un générateur BF sommaire avec un PIC très bon marché (celui utilisé ici coûte environ 1 euro).

Schéma

Le coeur du montage s'articule donc autour d'un PIC 16F1705, qui pour le prix (environ 1 euro) présente de très bons atouts.

gene_audio_014b

Quoi, un PIC et rien d'autre ? Eh oui, ce petit PIC bon marché possède en interne un oscillateur qui peut grimper à 32 MHz et un DAC (convertisseur numérique/analogique). C'est tout ce qu'il faut pour réaliser un oscillateur sommaire, même sinus ! Mais comme le monde n'est pas parfait, on va tout de même ajouter deux ou trois composants - voire quatre - pour améliorer le tout. Le schéma final retenu est le suivant.

gene_audio_014

L'amplificateur opérationnel U2 (MCP6001 ou équivalent) est de type basse consommation et "rail-to-rail", il peut être alimenté sous une tension faible. Sa présence est justifiée ici par le fait que la sortie du DAC du PIC (qui délivre le signal sinus) ne peut pas être chargé par une impédance de faible valeur sans déterioration notable du signal de sortie. L'AOP est donc simplement monté en suiveur de tension, il possède une impédance d'entrée élevée et une impédance de sortie faible. Avec ces deux composants (U1 et U2), on dispose déjà d'un générateur de signal sinusoïdal correct, mais on peut encore améliorer les choses. Le signal sinus synthétisé possède une résolution de 8 bits et le nombre de pas requis pour constituer une alternance complète est de 180 (une valeur différente pour deux degrés d'écart, sur la totalité de la période qui "tourne" sur 360 degrés). Si on regarde le signal de sortie à l'oscilloscope, on constate qu'il est composé de petites marches d'escalier, la sinus n'est pas "lisse". Pour parfaire la forme du signal de sortie et diminuer l'amplitude des harmoniques dues aux transistions "brutales", on ajoute un filtre passe-bas. On pourrait (devrait) utiliser un filtre actif sérieux, mais on se contente ici d'un filtre sommaire passif du premier ordre, composé d'une résistance et d'un condensateur (R1 et C1). Les deux courbes visibles sur la copie d'écran qui suit montrent la forme du signal avant filtrage (courbe verte) et après filtrage (courbe rouge).

gene_audio_014_graphe_001a
(clic pour agrandir)

L'amplitude du signal sinus de sortie après filtrage est légèrement réduite, ceci est normal et dû d'une part au filtre lui-même et au fait que l'impédance d'entrée de l'appareil qui fait suite (10 kO) n'est pas négligeable. Le décalage temporel est lui aussi normal, le filtre introduit un déphasage notable dû à la valeur "élevée" du condensateur C1 (par rapport à la fréquence considérée).

Signal de sortie différent de 1000 Hz ?
Bon, je l'avoue, le signal de sortie n'est pas de 1000 Hz exactement, mais de 1,010 kHz (à la précision près de l'oscilateur interne du PIC qu'on utilise ici, bien sûr). Pourquoi ? Parce que la façon de procéder pour construire le signal sinus fait appel aux interruptions du timer 0 et que le nombre de pas pour une période complète (180 pour rappel) ne permet pas de "tomber juste" avec une fréquence d'horloge initiale de 32 MHz (Fosc/4 = 8 MHz). En modifiant d'un point la valeur de préchargement du timer 0, on obtient une fréquence légèrement inférieure à 1000 Hz. Pour l'exercice qui nous concerne, cela ne pose aucun problème et on pourrait s'approcher encore plus du 1000 Hz en modifiant le nombre de pas qui constitue chaque période de la sinus, ou en adoptant un quartz externe de valeur adéquate (c'est ce que j'ai fait pour mes alimentations simples 013a et 013b). Pour le présent oscillateur, je n'ai pas cherché à m'amuser plus que ça, le résultat obtenu me convient parfaitement.

Quand et où utiliser ce type de générateur ?
Ma foi... on peut s'en servir comme générateur de test, mais je ne suis pas sûr qu'il soit "meilleur" qu'un générateur de signal à deux transistors (cas du générateur audio 001). En plus il faut le programmer, pour certains c'est la cata. L'idée était vraiment de faire un générateur de petite taille et sans trop de composants, c'était aussi et surtout l'occasion de me familiariser avec le PIC 16F1705 que je n'avais pas encore utilisé auparavant.

Logiciel du PIC

Fichier binaire compilé *.hex à flasher dans le PIC disponible dans l'archive zip suivante. Développé et compilé avec MikroPascal V6.4.x.
Générateur audio 014 - 16F1705 - (10/08/2014)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Réalisé en simple face. 

gene_audio_014_pcb_composants

Pour changer un peu, toutes les pistes sont du côté composants. J'ai choisi cette méthode après avoir décidé d'utiliser un AOP en version CMS. Si le PIC peut être programmé sur un support de type DIL14, vous n'avez pas besoin du connecteur ICSP (J3) qui pourra alors être omis. Bien sûr on peut aussi envisager un petit bout de CI en double face avec tous les composants (hormis connectique) en CMS et là pour le coup le connecteur J3/ICSP est plus que conseillé :

gene_audio_014_pcb_3d_c

Typon aux format PDF et Bitmap 600 dpi

Historique

10/08/2014
- Première mise à disposition.