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).
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.
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.
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).
(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.
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é :
Typon aux format PDF et Bitmap 600 dpi
Historique
10/08/2014
- Première mise à disposition.