AmpliAudio

De troyesGEII
Révision datée du 18 juin 2018 à 23:16 par Ampliaudio (discussion | contributions) ({{Rouge|Programme en Langage C: }})
Aller à : navigation, rechercher

Nom du projet  :Amplificateur Audio

Introduction

Un amplificateur audio est un amplificateur électronique conçu pour augmenter les signaux audio de faible puissance provenant d'un système de capture (microphone, instrument de musique) ou de stockage (magnétophone, lecteur CD, etc. ) pour pouvoir alimenter une enceinte.

Fonctionnement

La plupart des amplificateurs fonctionnent «à gain fixe», c'est-à-dire que le rapport d'augmentation entre le signal d'entrée et le signal de sortie est constant. Le niveau du signal d'entrée doit alors être ajusté par un ou plusieurs étages pré-amplificateurs, afin d'éviter la saturation de l'ampli. Ces étages ont un gain réglable, ils permettent d'ajuster le niveau du signal avant son augmentation, par conséquent le volume final. On peut trouver un réglage de gain scindé pour chaque canal d'augmentation. Fréquemment, on verra une échelle abstraite de 0 à 10 (ou de -∞ à 0 qui indique l'atténuation en décibels du signal avant son augmentation).

Un amplificateur audio fonctionne toujours sur le même principe :

Une alimentation est chargée d'apporter des tensions symétriques en courant continu, Ces courants sont modulés à l'image de l'entrée audio, par les pré amplificateurs éventuels et les étages de sorties, Le signal augmenté est envoyé.

Quelques Exemples d'utilisation d'un amplificateur Audio

Enceinte acoustique
Régulateur de fréquence et Volume de sons


Transmission de sons



Schéma fonctionnel

Enceinte acoustique


Utilisation d'un filtre passif passe bas

Dans un Premier temps on envoie une commande à l'aide d'une Carte arduino leonardo qui comporte le Microcontrôleur : ATMEGA 32u4 représenté dans la photo ci dessus.

Carte Arduino leonardo

la commande envoyé représente un signal carré que l'ont doit modifier de manière à avoir un signal sinusoidal en sortie,c'est pour cela on a pensé à utiliser un filtre passe bas du premier ordre qui permet de couper le signal sur des fréquence bien défini pour qu'on puisse finalement avoir un signal triangulaire au lieu du carré en se basant sur la fréquence de mli qui doit être 10 fois plus grande que Fc : fréquence de coupure du filtre passe bas . En utilisant l’oscilloscope on mesure une fréquence de mli de : 31,25khz

adroite




On sait que :

𝑓𝑐 = 1/𝑓𝑚𝑙𝑖 = 1/2𝜋𝑅𝐶.

et d'après cette formule on résout l'équation pour définir les bonnes valeur des deux composants principale du filtre : résistance et condensateur.

Valeur trouvé :

R= 10KΩ , C=10,18nf ≈ 10nF .

Après le choix des bonnes valeurs de composant on les places dans une platine d'essaie en ajoutant une commande d'entrée PWM rapide de la carte Arduino leonardo , ensuite on visualise le signal de sortie pour obtenir une représentation d'un signal triangulaire coupé selon l'état du signal. Explication : Quand le signal carré est à l'état 1 le signal de sortie se remets à l’état 0 de même inversement pour construire finalement un signal triangulaire coupé à chaque passe de l'état 0 à 1.

Génération d'un signal de sortie sinusoidal

Tableau Excel

Tout d’abord j'ai commencé par construire un tableau Excel en définissant la fonction suivante : F(x)=100 + 100*sin(x). Pour que je puisse avoir finalement une courbe de sinus avec un offset de 100 et d'amplitude 100. J'ai pris des valeurs de x (abscisses) qui appartient à l'intervalle suivant : [0,2π] afin de dessiner la courbe sur une période complète en utilisant 20 points différents qui appartient à [0,2π] comme il est représenté dans le tableau excel suivant :

Tableau des valeurs
Une période de Courbe Sinus

- Ci dessus on trouve la représentation de la courbe rechercher selon les valeurs déterminé sur le tableau d'agauche.







Explication du Programme

Dans cette partie je vais essayer d'expliquer un peu plus l’utilité du dernier tableau excel et sa relation avec le programme C. Tout d'abord je tiens à préciser que ce tableau nous permettra de varier le rapport cyclique qui nous permettra de réussir à obtenir un signal sinusoïdal en sortie comme il était demandé dans les Objectifs du Projet. On sait très que le rapport cyclique par définition générale est le temps de l'état haut du signal sur la période du signal, ce qui veut dire que si on arrive a le varier on arrivera à définir la forme que l'on souhaite en sortie. Dans notre cas on a besoin de de générer un signal sinusoïdal en sortie c pour cela on a besoin de varier le rapport cyclique de tel sorte qu'il prend les valeurs de F(x) (la fonction Sinus définit sur le dernier Tableau Excel ). Dans un premier temps dans le Code on défini un tableau de 20 valeurs, on choisit la commande d'entrée ( dans notre cas c'est PC7 qui est le port 13 de l'arduino Leonardo) puis on définit un Prescaler de 8 accompagné par une PWM , une commande pour gérer la fréquence du signal et finalement on ajoute une boucle while qui comporte une autre boucle for qui permet l'incrémentation des valeurs de OCR4A de manière à prendre tous les 20 valeurs du dernier tableau de 20.

Programme en Langage C:

Une période de Courbe Sinus