Puis-je utiliser un transistor PNP avec un microphone à électret pour obtenir une sortie non inverseuse pour mon Arduino?


9

Je cherche simplement à lire le niveau sonore générique d'un microphone à électret. J'ai vu un certain nombre de schémas avec des transistors NPN, qui fourniront une sortie inversée (~ 5 V lorsqu'il est silencieux, ~ 0 V lorsqu'il est bruyant, un fonctionnement linéaire entre les deux).

Voici un exemple:

Préampli audio simple

Cependant, je voudrais une sortie non inversée (fonctionnement linéaire, une entrée super silencieuse donne ~ 0 V, une entrée super forte donne ~ 5 V). Je me rends compte que je pourrais facilement corriger cela dans le logiciel, mais cela me semble en arrière d'une certaine manière et je ne trouve aucun exemple de sortie non inverseuse avec un transistor PNP.

Y a-t-il une raison à cela au-delà d'être rare? Si c'est possible, quelqu'un pourrait-il fournir un schéma d'un microphone à électret et d'un transistor PNP qui donnerait ~ 0 V lorsqu'il est silencieux et ~ 5 V lorsqu'il est fort?

De plus, y a-t-il une raison pour laquelle cela est si rare ou indésirable? Les NPN semblent être utilisés beaucoup plus souvent que les PNP, pourquoi?

Éditer

Il semble que j'étais plutôt confus dans ce que j'obtiendrais en sortie du préampli NPN, qui serait 0V pour le silence, et +/- Vin / 2. Voici ce que je veux à la place:

0 V lorsqu'il est silencieux, ~ 2,5 V à des niveaux sonores moyens, ~ 5 V à des niveaux sonores maximaux. Cela pourrait être lu par l'ADC facilement en «niveau sonore» sans beaucoup de travail. Cependant, je ne peux pas fournir de tensions <0 V ou> 5 V au comparateur analogique. Il semble que je veuille ce qui précède avec un détecteur d'enveloppe, mais cela ne me ferait que passer de 0V à 2,5V. Comment puis-je faire varier le 0V à 5V, 0V étant «silencieux» et 5V «fort», avec tout ce qui est linéaire?


Malheureusement, ce circuit ne générera pas de tension continue, si la sortie est prise sur le côté droit de C2. Il générera une tension alternative. C'est à cause des condensateurs. Les condensateurs ne permettent pas aux tensions CC de les traverser.
abdullah kahraman

L'Arduino a 6 entrées analogiques, qui lisent 0-1023 pour 0V-5V. AC est ce que je chercherais là-bas, non? Peut-être aurais-je besoin d'une diode pour ne pas transmettre de tension négative au comparateur analogique?
Ehryk

Oui, mais une diode baissera de 0,6 V sur elle-même. Vous devriez peut-être essayer de faire la tension d'alimentation 5V. La tension d'alimentation est celle étiquetée "+3 à 9 Volts". Retirez ensuite C2. Ensuite, lisez la valeur analogique sur le collecteur de Q1. Expérimentez avec différents niveaux sonores, par exemple applaudissez, parlez, criez, taisez-vous, chuchotez et voyez la lecture analogique changer. Cependant, ce sera une onde sinusoïdale ajoutée avec une valeur DC.
abdullah kahraman

À la lecture de votre question et de vos commentaires, il semble que votre quête n'indique pas clairement ce que vous voulez. Il semble que vous souhaitiez un niveau CA qui diminue en amplitude à mesure que la tension d'entrée augmente. Si tel est le cas, vous devez l'indiquer clairement. Si ce n'est pas le cas, pouvez-vous expliquer "Je ne recherche pas une logique 0-1, les entrées analogiques de l'Arduino ont un ADC 10 bits qui donne respectivement 0-1023 pour 0V-5V" dans ce contexte. || ...
Russell McMahon

... SI vous parlez de niveaux DC, la question n'est toujours pas claire. Un signal AC sera centré sur le point de polarisation DC. Ceci est relativement fixe avec la force du signal. Pouvez-vous expliquer très clairement et en termes simples ce que vous voulez que la sortie fasse lorsque le signal d'entrée passe de 0VAC à Max Vin AC.
Russell McMahon

Réponses:


9

D'après ce que j'ai compris, vous essayez de créer une sorte de détecteur de niveau sonore, qui vous permettra de détecter s'il y a un son avec un certain volume ou non. Vous pouvez le faire avec des modifications mineures au schéma que vous avez. Mais avant cela, vous devez comprendre le circuit.

Brisons ce circuit. Tout d'abord la partie avec le microphone.

entrez la description de l'image ici

R1 sert à fournir la puissance nécessaire au microphone, ce qui est appelé polarisation du microphone. Un microphone génère une tension alternative, parfois négative et parfois positive, qui change la plupart du temps. Pensez à une onde sinusoïdale . Mais rappelez-vous, nous avons eu une certaine polarisation, qui est une tension continue. Nous devons retirer cela et ne donner que la tension alternative à l'amplificateur. Et cela est facile avec un simple condensateur unique. Un condensateur ne laisse pas passer le courant continu, mais laisse passer facilement le courant alternatif. Nous avons bloqué la partie CC de la tension sur le microphone à électret.

Maintenant, regardons l'amplificateur lui-même. Imaginez qu'il n'y a rien d'autre que le schéma ci-dessous:

entrez la description de l'image ici

Dans cette configuration, le transistor est polarisé pour être dans la région linéaire. Il est sur le point d'être allumé ou éteint, mais ce n'est ni l'un ni l'autre. S'il était complètement allumé, il serait saturé. S'il était complètement éteint, il ne conduirait pas du tout. Mais c'est au milieu, ce qu'on appelle la région linéaire.

Quand il est configuré comme ça, si vous touchez (pas littéralement) à la base de celui-ci, créant un petit changement, la sortie changera largement. C'est ce que l'on appelle l'amplification. Vous pouvez demander à Google des informations plus détaillées.

Et si nous combinions les deux circuits mentionnés ci-dessus. Un microphone à électret polarisé avec un condensateur produira de petits changements par rapport au son. Le transistor amplifiera ces petits changements afin qu'ils puissent être visualisés facilement:

entrez la description de l'image ici

Notez que j'ai changé C1 en 1uF. Vous pouvez utiliser des valeurs jusqu'à 100 uF. Vous aurez probablement besoin de condensateurs électrolytiques. Notez également qu'il n'y a plus de condensateur de sortie. Cela signifie que vous aurez une tension de sortie quelque part entre 0 et 5 V, selon le niveau sonore. Si vous avez un oscilloscope, affichez la forme d'onde sur la sortie. Si vous ne le faites pas, essayez d'allumer une LED si la lecture analogique est supérieure à, par exemple, 750. Expérimentez avec des valeurs différentes de 750, puis signalez-moi les résultats.


Je comprends la plupart de cela, merci. Maintenant, car il utilise un transistor NPN, la sortie sera d'environ ~ 5 V lorsque l'amplitude faible / entrée est faible, et ~ 0 V lorsque l'amplitude fort / entrée est élevée. Cela semble rétrograde. Existe-t-il un moyen de le modifier pour qu'il se comporte exactement comme ci-dessus, dans la région linéaire, avec ~ 0V signifiant 'calme' et ~ 5V signifiant 'fort'?
Ehryk

@Ehryk Nope, la sortie se situera entre 0 et 5V. Si vous prenez une sirène de voiture et la placez près du microphone à électret, ce sera une onde sinusoïdale d'une amplitude crête à crête de 5 Vpp avec une fréquence d'environ 300 Hz. 5Vpp signifie qu'il passera à 5V et reviendra à 0V avec une forme sinusoïdale. Jetez un oeil à cela . Lorsqu'il y a un murmure, l'amplitude crête à crête sera d'environ 1 Vpp avec une fréquence changeante à cause de la parole. Cela signifie qu'il passera à 1V et reviendra à 0V.
abdullah kahraman

Cependant, mon commentaire ci-dessus ignore le décalage DC.
abdullah kahraman

Existe-t-il un moyen de le faire ~ 0 V pour le calme, ~ 5 V pour le fort? Le condensateur ne ferait-il pas exactement cela, si j'inversais en quelque sorte la partie négative de l'onde et la lissais ensuite? Avec peut-être un pont redresseur / pont de diodes? ( en.wikipedia.org/wiki/Diode_bridge )
Ehryk

@Ehryk Oui, vous pouvez ajouter un condensateur de sortie et un détecteur d'enveloppe. Avec les bonnes valeurs de composants, vous pourrez avoir un niveau de tension analogique en fonction de l'amplitude sonore. Mais je n'en suis pas sûr. Vous devriez expérimenter. Après avoir obtenu les résultats, effectuez simplement une condition if-else dans le logiciel en fonction de la valeur ADC que vous lisez.
abdullah kahraman

3

L'amplificateur de classe A à émetteur commun est toujours inverseur même si vous utilisez un PNP, la seule différence est que vous inversez la polarité de l'alimentation. Si vous utilisez un transformateur audio au lieu d'un condensateur, vous pouvez modifier la phase du signal à votre guise. Mais cela coûtera probablement plus cher que d'utiliser deux BJT. Pour résoudre votre dernière question de toute façon, vous devez rectifier (même avec une seule diode) la sortie et appliquer le résultat à une charge (une résistance conviendrait) et l'injecter dans l'entrée analogique Arduino. Il n'y a aucune raison d'inverser le signal.


Quel est alors l'amplificateur non inverseur non IC le plus simple (quelle que soit la classe ou l'émetteur commun)?
Ehryk

Le collecteur commun, mais je pense qu'il n'est pas correct d'utiliser dans ce cas, car vous avez besoin d'un gain de tension
Felice Pollano

La base commune, si vous avez besoin d'un gain de tension (mais son gain de courant = 1). Notez que vous pouvez ajouter une seconde inversion dans ce cas en échangeant simplement R1 et le microphone. Aucun PNP nécessaire. Cependant, inverser ou non ne résoudra PAS le problème indiqué - générer un 1 ou 0 logique en fonction du volume.
Brian Drummond

Je ne cherche pas un 0-1 logique, les entrées analogiques de l'Arduino ont un ADC 10 bits qui donne 0-1023 pour 0V-5V, respectivement. Pouvez-vous donner un schéma de circuit pour cela?
Ehryk

1

Cet amplificateur inverse le signal, mais vous ne devez pas vous soucier d'un signal audio. Ce que vous aurez à la sortie est AC, un condensateur bloque DC. Donc, vous ne pouvez pas dire ~ 0 V pour un bruit silencieux et ~ 5 V pour un bruit fort. Si vous voulez un capteur de niveau sonore, une solution simple consiste à ajouter, après le cap de sortie, un circuit appelé "démodulateur" ou "détecteur de crête", facilement implémenté autour d'une diode et de quelques composants passifs.


Pouvez-vous en ajouter un diagramme? De plus, le détecteur de crête ne varierait-il pas entre -2,5 V et 2,5 V? Je voudrais que ~ 0V soit silencieux et ~ 5V soit le plus fort, comment cela se ferait-il?
Ehryk

0

Inversez simplement la sortie une deuxième fois, à l'aide d'un amplificateur à 2 étages. ( Voir cette page pour plus d'informations sur l'amplification à deux étages et à transistors non inverseurs. Très perspicace )

entrez la description de l'image ici

Les mêmes résistances et condensateurs de valeur, le même transistor 2n3094, ajouté à la sortie de votre schéma existant, fourniraient une seconde inversion.

Mais quelqu'un me corrige si je me trompe, mais votre schéma montre un simple amplificateur polarisé, donc vous auriez vraiment 2,5 V comme plage silencieuse, et la forme d'onde s'agrandit avec plus de son? Vous aurez une crête de ± 2,5 V à crête. Vous auriez 1v / 3v comme sonie moyenne.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.