Wie erhalte ich + 5 V für lautes Rauschen oder 0 V für Stille vom Electret-Mikrofon (oder anderen Komponenten)?

12

Ich habe hier ein paar Fragen gestellt, um zu einer richtigen zu gelangen. Die ersten Fragen, die ich gestellt habe, sind am Ende verlinkt. Ich habe Fritzing benutzt, um einige Schemata meiner anfänglichen Gedanken zu erstellen, aber ich brauche zumindest Hilfe bei den Werten der Komponenten, die ich nur vage verstehe und auswähle, was vernünftige oder gemeinsame Werte zu sein scheinen.

Grundsätzlich habe ich ein Arduino, das 6 analoge Eingänge hat. Es verwendet einen 10-Bit-ADC, um die Spannung an einem der analogen Pins zu lesen, also 0 = 0 V, 511 = 2,5 V und 1023 = 5 V und alle dazwischen liegenden Werte. Es wird ein LINEAR DC-Messwert ausgegeben, daher suche ich hier nicht nach Logik 1-0.

Ich habe diese LED-Leuchten angeschlossen und möchte, dass sie auf Musik reagieren. Was ich will, ist maximale Auflösung mit minimalen Komponenten, und ich denke, ich verwende WEG zu viele Komponenten und mache diesen WEG zu komplex. Vielleicht sind Electret-Mikrofone nicht das, was ich hier will, ich bin offen für etwas anderes. Ich würde es vorziehen, keine Operationsverstärker zu verwenden, um Platz auf meiner Platine zu sparen.

Was ich will, ist ein einfacher Geräuschpegelsensor. Ich versuche nicht, das Audio wiederzugeben oder Klarheit oder etwas anderes zu haben, aber ich möchte, wie nahe ich kommen kann:

  • Perfekte Stille = so nahe wie möglich an 0 V Gleichstrom (stabil, nicht Wechselstrom)
  • Mittleres Rauschen = ca. 2,5 V Gleichstrom (stabil, nicht Wechselstrom)
  • Lautes Rauschen = so nahe wie möglich an 5 V Gleichstrom (stabil, nicht Wechselstrom)

Ich verstehe mit einem BJT, dass das Beste, was ich bekommen kann, 0,6 V bis 4,4 V sein wird, aber das ist akzeptabel genug. Was jedoch nicht ist, ist die Hälfte der Welle, 0,6 V bis 2,5 V. Dies scheint die Hälfte meiner verfügbaren Auflösung ohne Grund zu verschwenden. Wenn es jedoch andere Setups als ein BJT gibt, mit denen ich mich 0 bis 5 V annähern kann, wäre ich daran interessiert, ihnen eine Chance zu geben. solange sie einfach sind.

Hier ist eine einfachere, die ich hoffe, dass dies möglich ist, aber es erfordert, dass das Elektretsignal eine ausreichende Amplitude hat, um die Hüllkurvendetektorschaltung (Diode, Widerstand und Kondensator) anzusteuern und nur die positive Hälfte zu erhalten. Ich glaube nicht, dass dies aufgrund des Durchlassabfalls der Diode möglich ist, aber kann dies möglicherweise vor der Ausgangskappe neu angeordnet oder durchgeführt werden? Welche Werte sollten die Hüllkurvendetektor- und Verstärkerwiderstände haben? Sollte ein Empfindlichkeitspotentiometer auf dem Signal oder RE oder RL platziert werden und welchen Wert sollte es haben? Linear oder logarithmisch?

Einfach

Möglicherweise kann der Elektretausgang den Hüllkurvendetektor und den Empfindlichkeits-Shunt jedoch nicht überstehen und treibt immer noch einen NPN-Transistor an. Wenn nicht, ist hier eine komplexere Version. Muss ich diesen Weg gehen? Benötigt der Schaltkreis wirklich all diese Komponenten, um die gewünschte Leistung zu erzielen?

Komplex

Hier sind einige der Fragen aus der Vergangenheit, die ich gestellt habe, bevor ich besser verstanden habe, was ich zu artikulieren versuchte, um weitere Einzelheiten zu erfahren. Hier ist, was der Hüllkurvendetektor tun soll, und ich bin nicht sicher, wie ich ihn für die Elektretausgabe abstimmen soll:

Umschlagdetektor Schaltplan

Ehryk
quelle
Ich finde das noch ziemlich weit. Die Frage, die Sie sich stellen sollten, lautet: "Was bedeutet es, wenn ein Ton laut ist?" Die menschliche Wahrnehmung von Lautstärke ist komplex und kann von der Frequenz, der Dauer des Tons, der Stimmung, dem Kaffeekonsum usw. abhängen. Die menschliche Wahrnehmung von "Stille" ist auch stark von der Umgebung und Umgebungsgeräuschen abhängig. Sie müssen diese subjektiven Wahrnehmungen in objektivere Definitionen umsetzen, bevor Sie einen elektrischen Schaltkreis zu deren Messung realisieren können.
Phil Frost
Hier sind einige Suchbegriffe, die helfen: "Spitzendetektor" "RC-Schaltung" "Zeitkonstante" "Eckfrequenz" "Tiefpassfilter" "dB SPL"
Phil Frost
Ich habe dieses Empfindlichkeitspotentiometer im Design, um das zu berücksichtigen (es sollte breit genug sein, damit es "praktisch lautlos" oder "immer laut" ist und ich von dort aus abstimmen kann). Ich weiß nicht, ob es anstelle von RL, RE (Steuerung der Verstärkung oder so) oder Rangieren des Signals sein sollte. Ich weiß nicht, wie ich es sonst noch genauer sagen kann. Könnten Sie mir helfen, zu klären, was mehr benötigt wird?
Ehryk
1
Wenn Sie die ADC-Referenzspannung des Controllers auf die 2V56-Bandlücke ändern, benötigen Sie keine 0-5V-Ausgangsspannung. Sie erreichen die volle Auflösung von 0 - 2,56V. Abhängig von der genauen Steuerung stehen Ihnen verschiedene Bandlückenspannungen als Referenz zur Verfügung.
jippie
1
Suchen Sie nach "aktivem Kleinsignalgleichrichter" und finden Sie eine Schaltung wie techonlineindia.com/Libraries/tol/Signal3.sflb.ashx , die die Diodenschwellenspannung aus der Gleichung entnimmt.
jippie

Antworten:

27

Obwohl Sie diese ganze Sache mit nur einem Verstärker und einem Mikrocontroller (Arduino) tun könnten, möchten Sie, soweit ich sehen kann, die analoge Option. Ich habe versucht, eine Schaltung zu erstellen, die den Sprachpegel am Mikrofon ausgibt. Der Bereich reicht von 0V bis 4V. Sie können es jedoch problemlos auf 0 V bis 5 V aufrüsten, indem Sie einfach den OP-AMP ändern. Lassen Sie uns nun darauf eingehen.

Zunächst habe ich den Transistorverstärker durch den OP-AMP ersetzt. Folgendes habe ich mir ausgedacht:

Bildbeschreibung hier eingeben

Dies ist ein einfacher invertierender Verstärker mit einer Verstärkung von 100. Hier ist die Formel zur Berechnung der Verstärkung.

VÖut=-RfRichnVichn=-100kRichnVichn=-100Vichn

Wie Sie sehen, nimmt U1 das Eingangssignal, invertiert es und multipliziert es dann mit 100. Sie können R2 oder R3 ändern, und Sie werden sehen, dass sich die Verstärkung von U1 ändert. Die Inversion des Eingangssignals spielt hier keine Rolle, wie Sie später verstehen werden. Schauen wir uns den Ausgang dieses Verstärkers an und Sie werden sehen, dass das Eingangssignal stark ansteigt.

Bildbeschreibung hier eingeben

In der obigen Grafik sehen Sie, dass der Ausgang eine DC-Offset-Spannung von 2,5 Volt hat. Das liegt an dem virtuellen Boden, den wir genutzt haben. Wenn wir eine virtuelle Erdung schaffen, bedeutet dies, dass wir die Erdung auf einen anderen Spannungspegel bringen. In diesem Fall haben wir es auf 2,5 V verschoben. Mit der neuen Konfiguration haben wir etwas erstellt, das für die Schaltung wie -2,5 V, 0 V und 2,5 V aussieht . Um dies zu erreichen, musste ich eine neue Spannungsschiene von 2,5 Volt erstellen. Da diese Spannungsschiene nicht viel Strom liefert (weniger als 1 mA), ist es leicht zu erzeugen;

Bildbeschreibung hier eingeben

V+=V- . OP-AMP wird sein Bestes geben, um diese Gleichung zu erreichen. Somit beträgt der Ausgang 2,5 V oder mit anderen Worten die Hälfte der Versorgungsspannung. Und das ist unser neuer Ausgangspunkt.

Nach der Verstärkung sollten wir das Signal an einen "Hüllkurvendetektor" oder mit anderen Worten "Hüllkurvenfolger" weiterleiten. Dies wird den Pegel des Signals erhalten, wie Sie es wünschen und wie Sie auf dem Bild in Ihrer Frage gezeigt haben. So sieht ein einfacher Envelope Follower aus:

Bildbeschreibung hier eingeben

Es sieht alles super aus, beachte jedoch, dass hier D3 eine Diode ist und sie an sich ca. 0,6 V abfällt. Sie verlieren also die Spannung. Um dies zu überwinden, werden wir die sogenannte "Superdiode" verwenden. Es ist super, da der Spannungsabfall fast 0V beträgt! Um dies zu erreichen, wird ein OP-AMP mit Diode mitgeliefert, und das ist alles! Der OP-AMP gleicht den Spannungsabfall der Diode aus und Sie haben eine nahezu ideale Diode.

Bildbeschreibung hier eingeben

V+=V-V-V-V+

Ändern Sie jetzt D3 in der obigen Hüllkurvenfolgerschaltung durch eine Superdiode, und Sie haben eine bessere Hüllkurvenfolgerschaltung! Schauen wir uns unser Ergebnis an.

Bildbeschreibung hier eingeben

Wir kommen näher. Wie Sie sehen, kann der Ausgang des Hüllkurvenfolgers, der die rote Linie darstellt, von 2,5 V bis 4 V reichen. 2,5 V sind stummgeschaltet, 4 V sind laut und 3,25 V sind mittelschwer. Um das zu skalieren, was Sie wollten, können wir 2,5 V Offset-Spannung subtrahieren und skalieren. Also, wenn Sie 2,5 V subtrahieren, wird es; 0 V für keinen Ton, 1,5 V für lauten Ton und 0,75 V für mittleren Ton und so weiter. Wenn Sie dies mit ungefähr 3 multiplizieren, erhalten Sie genau das, was Sie wollen. 0 V für keinen Ton, 2,5 V für mittleren Ton und 5 V für lauten Ton. Um es zusammenzufassen, was wir wollen, ist dies;

VÖut=(Vichn-2.5V)3

Um dies zu erreichen, verwenden wir einen Differenzverstärker oder mit anderen Worten einen " Subtrahierer ".

Bildbeschreibung hier eingeben

Wenn die Widerstände R1 = R2 und R3 = R4 sind, kann die Übertragungsfunktion für den Differenzverstärker auf den folgenden Ausdruck vereinfacht werden:

VÖut=R3R1(V2-V1)

Wenn Sie V1 = 2,5 V und das Verhältnis R3 / R1 auf 3 einstellen, erhalten Sie den gewünschten Ausgang.

Hier ist der komplette Schaltplan, der das macht, was Sie wollen:

Bildbeschreibung hier eingeben

Ich habe LM324 OP-AMP hier zu Simulationszwecken verwendet. Dadurch wird die maximale Ausgangsspannung auf 4 V begrenzt. Um eine vollständige Ausgabe zu erzielen, sollten Sie einen Rail-to-Rail-Ausgang OP-AMP verwenden. Ich würde MCP6004 vorschlagen . Ändern Sie R1 und R2, bis Sie das gewünschte Ergebnis erhalten. Folgendes habe ich mit der Simulation erhalten:

Bildbeschreibung hier eingeben

Wenn Sie nun diese Werte in ADC messen, erhalten Sie keinen linearen Sinn , sondern der Klang wird logarithmisch besser verstanden, da unsere Ohren auf diese Weise hören. Verwenden Sie daher Dezibel . Wenn Sie nicht mit Dezibel vertraut sind, finden Sie hier ein großartiges Video-Tutorial dazu.

Ein ruhiger Raum wird beispielsweise mit etwa 40 dB gemessen. Eine Party in einem Raum erhöht den Pegel des Raums auf 100 dB oder vielleicht auf 110 dB. Auf dieser Webseite finden Sie viele Informationen dazu, von wo ich auch das folgende Bild eingebettet habe. Denken Sie über die Dezibelpegel nach und experimentieren Sie mit dem Spannungsausgang der Schaltung. Berechnen Sie dann die ADC-Auflösung, die Sie benötigen. Wahrscheinlich werden Sie mit einem 12-Bit-ADC gut zurechtkommen.

Bildbeschreibung hier eingeben

abdullah kahraman
quelle
5
Dies ist eine phänomenale Antwort. Wenn SE eine Hall of Fame hätte, würde ich dies nominieren. Danke, dass Sie sehr präzise und erklärend sind! Wie erzeugen Sie diese Bilder, eine Aufnahme mit einem Okosilloskop, einer PC-Scope-Software oder einem Lösungsalgorithmus?
Ehryk
1
@Ehryk Danke, aber du übertreibst :). Es ist LTSpice , das ich benutze.
Abdullah Kahraman
@Ehryk Ich habe meine Antwort aktualisiert und weitere Informationen zur Schallmessung hinzugefügt.
Abdullah Kahraman
Verwenden Sie circuitlab, um mit anderen zu teilen und die Simulationen sofort ausführen zu lassen! Ich gebe dir 50 Wiederholungen dafür.
Kortuk
1
@Kortuk Ich konnte es nicht richtig simulieren .. CircuitLab Link
abdullah kahraman
7

Sie scheinen auf dem richtigen Weg zu sein. Es braucht eine Menge diskreter Komponenten, um so etwas zu tun. Sie mögen mir nicht glauben, aber die Verwendung von Operationsverstärkern kann all dies einfacher und kleiner machen. Ich bin sicher, dass Sie noch spezifischere ICs finden können, die mehr von dem leisten, was Sie in einem kleineren Paket benötigen. Ich wette, es gibt einen IC, der genau das tut , was Sie brauchen. Sie werden jedoch mehr lernen, wenn Sie ohne sie fortfahren, auch wenn dies nur für akademischen Wert ist.

Sie können dies auch vereinfachen, indem Sie die Logik in den Mikroprozessor verschieben. Die Erkennung von Hüllkurven ist in der Software einfach. Abhängig davon, wie genau Sie sein müssen und wie empfindlich Ihr Mikrofon ist, können Sie sogar den Verstärker nach dem Mikrofon weglassen und dessen Ausgang direkt in den ADC einspeisen. Das bringt dir keine 0V-5V, aber ist das wichtig? Sie können es mit einer Konstante in der Software multiplizieren. Was Sie verlieren, ist die Genauigkeit, mit der die gesamte Bandbreite des ADC verfügbar ist, aber vielleicht ist das nicht so wichtig wie die Einfachheit. Du entscheidest.

Phil Frost
quelle
Ich glaube nicht, dass Operationsverstärker es einfacher machen können, ich habe versucht, PCB-Immobilien zu minimieren. Es wird jedoch schmerzhaft offensichtlich, dass ein 8-poliger LM358-Dip DRASTISCH einfacher sein wird. Ich frage mich auch, ob ein Elektretmikrofon auch eine schlechte Wahl ist. Es scheint lächerlich, dass solch ein einfaches Verlangen (Sinneslautstärke, 0V-5V) unsinnig komplex ist.
Ehryk
Ein Elektret allein ergibt ~ 20 mV Peak-Peak. Mit dem ADC des Arduino ist dies ein Unterschied von zwei, von absolut leise bis zu möglichst laut (4,9 mV Auflösung, wenn 511 leise, 513 bis 509 bei Volllast). Ich möchte gute Empfindlichkeitsbereiche, nicht "Lautlos / Mittel / Laut" als die einzigen Farbverläufe, und das setzt voraus, dass die Linie perfekt stabil war.
Ehryk
@Ehryk Wenn Sie nur die Dinge klein halten möchten, finden Sie den LM358 (oder einen anderen gängigen Operationsverstärker) sicher in einem großen oberflächenmontierbaren Paket wie SOIC . Mit guten Werkzeugen viel leicht von Hand zu löten, und Sie müssen keine Löcher bohren. Ich bezweifle, dass Sie einen Sensor kaufen müssen, der bereits genau das tut, was Sie brauchen, und Sie werden es nicht einfacher machen als ein Elektretmikrofon.
Phil Frost
4

Zunächst einmal brauchen Sie das Arduino nicht, es sei denn, Sie müssen mehr verarbeiten - alles, was Sie wirklich wollen, ist ein Verstärker (ein Operationsverstärker würde jede Menge grundlegender Schaltungen über die Brille verteilen), um den Mikrofonausgang im Bereich zu steigern 0-5v. Wenn Sie nicht zu sehr auf Genauigkeit bedacht sind (da dies eher zum Spaß als zum wissenschaftlichen Messen gedacht ist), können Sie eine relativ einfache Clipping-Schaltung verwenden, den Ausgang in einen Schmitt-Trigger leiten oder einen LM3914 verwenden, um eine Anzeige zu generieren.

Etwas mehr Finesse könnte durch eine AGC-Schaltung erzielt werden, die die Verstärkung automatisch mit dem Durchschnittspegel erhöht und verringert.

Was auch immer, du bekommst ein großes positives Karma, wenn du das Arduino ablegst und es analog wie von der Natur beabsichtigt tust;)

Edit: Wahrscheinlich gibt es auch im Web eine Menge "Mikrofon-Vorverstärker" -Schaltungen, wahrscheinlich einen SOT23-Chip im Wert von 0,10 US-Dollar, der das heutzutage für Sie erledigt ...

John U.
quelle
Das Arduino steuert ein LED-Array mit 5 PWM-Pins, und es blinkt mit verschiedenen Buchstaben / Mustern bei verschiedenen Helligkeitsanteilen des Rauscheingangs. Also - das Arduino ist erforderlich, und ich muss es irgendwie mit guter Auflösung sagen, wie laut es ist, damit es das Muster mit unterschiedlichen Helligkeitsgraden zur Musik PWM kann. Ich weiß nicht genau, was Sie ohne Schaltplan machen.
Ehryk
Sei nicht besessen von Schaltplänen, ich beschreibe Schaltkreise, die grundlegende Bausteine ​​sind, die in jedem Lehrbuch vorkommen. Eine schnelle Google-Suche sollte grundlegende Schaltkreise für verschiedene Funktionen (Vorverstärker, AGC, Clipper usw.) aufzeigen das mehr Disco-Zeug (Grafik-EQ-Schaltkreise, Bildschirmtreiber, Lichtorgane usw.), das seit der Erfindung von Disco Gegenstand der Hobby-Elektronik ist.
John U
Das Problem ist, dass es zu viele Beispiele mit unterschiedlichen Komponenten und Merkmalen gibt, die vage oder gar nicht beschrieben sind. Spezielle Diagramme mit Erläuterungen dazu, warum bestimmte Komponenten ausgewählt und die Werte erreicht wurden, sind für mich am hilfreichsten und werden normalerweise in meinen Fragen gefragt. Diese Antwort war zum Beispiel phänomenal und äußerst hilfreich.
Ehryk
Du fragst nach Lego, ich biete einen Klumpen Plastik und ein Skalpell an, es ist nur eine andere Herangehensweise.
John U
2
... und ich antworte mit der Tatsache, dass ich bereits 10 Plastikklumpen und mein eigenes Skalpell habe und durch Suchen Hunderte mehr bekommen kann. Außerdem habe ich in der Frage ausdrücklich nach einem Lego gefragt, und Sie sagen: "Erwarten Sie keine Legos."
Ehryk