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?
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?
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:
Antworten:
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:
Dies ist ein einfacher invertierender Verstärker mit einer Verstärkung von 100. Hier ist die Formel zur Berechnung der Verstärkung.
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.
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;
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:
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.
Ä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.
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;
Um dies zu erreichen, verwenden wir einen Differenzverstärker oder mit anderen Worten einen " Subtrahierer ".
Wenn die Widerstände R1 = R2 und R3 = R4 sind, kann die Übertragungsfunktion für den Differenzverstärker auf den folgenden Ausdruck vereinfacht werden:
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:
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:
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.
quelle
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.
quelle
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 ...
quelle