So entfernen Sie leises Audiorauschen aus einer ATMEGA328p + LM386-Schaltung

Ich baue ein Audioprojekt mit einem ATMEGA328p mit einem LM386 als Verstärker und der Mozzi-Audiobibliothek.

  • Stromquelle sind 4 AA-Batterien.
  • Ich verwende einen MCP1700-Spannungsregler, um die Spannung für die gesamte Schaltung AUSSER dem LM386 auf 3,3 V zu senken.
  • Der LM386 wird direkt von den Batterien mit 6 V (mit einer 100-μF-Entkopplungskappe) gespeist, wobei der Regler umgangen wird, um eine bessere Ausgangslautstärke zu erzielen.
  • Das Audiosignal kommt direkt aus dem Atmega-Pin 15 / PB1 / Digital 9 über einen 2,2-kΩ-Widerstand in den LM386 (Widerstand ist im Schaltplan nicht abgebildet).

Die Ausgabe ist schön und laut und nicht verzerrt, aber es gibt ein leises, hohes Heulen und ein leises Summen/Klicken im Hintergrund, das irgendwie schwankt; es klingt wie eine tiefe Sägezahnwelle.

Was vermisse ich? Ich habe über eine Entkopplungskappe am Amp-Pin 7 gelesen, Widerstände an der Spannung an Amp-Pin 6. Ich habe versucht, diese auf meine Platine zu hacken, aber keinen Unterschied im Rauschen gehört.

Ein paar schematische Anmerkungen:

  • C3 ist 1000 μF
  • Die Phonesroute geht direkt zu einem umschaltbaren Kopfhörer-/Lautsprecherausgang
  • Der Audioausgang kommt direkt vom Atmega über einen 2,2-kΩ-Widerstand

Audio-Schema

Schema Spannungsregler

Wie sieht das Audio-Ausgangssignal des Atmega aus?
Was macht die Software auf dem Atmega? Weißt du, was die Bibliothek macht? Verschwindet der Ton, wenn Sie die Bibliothek nicht verwenden, nichts ausgeben oder den AVR zurückgesetzt lassen? Wo ist der Rest der Schaltpläne, es sollte vielleicht eine AC-Kopplungskappe zwischen LM386 und AVR geben, oder? Und wie würde ein 2k2 ausreichen, um die Amplitude des LM386-Eingangs innerhalb der Spezifikationen zu halten? Haben Sie mit einem Oszilloskop überprüft, ob das, was Sie tun, den LM386 innerhalb der Betriebsbedingungen hält?
Wofür ist C2 (100nF)? Versuchen Sie, C2 zu entfernen, und testen Sie erneut.
Ich möchte auch darauf hinweisen, dass die 100-nF-Obergrenze direkt am Ausgang möglicherweise eine schlechte Idee ist, da dies gegen die Vorschläge des Datenblatts verstößt, und dass die 1000 uF bei Telefonen außergewöhnlich groß sind, es sei denn, Ihr Hörbereich ist außergewöhnlich niedrig, was eine durchschnittliche Person anrufen würde Infraschall. Gibt es noch etwas in der Schaltung, das bei der Frequenz, die Sie hören, Strom ziehen würde?
Warum schaust du dir nicht das Datenblatt für den LM386 an? Alle gezeigten Schaltungen haben einen 10-Ohm-Widerstand in Reihe mit einem 50-nF-Kondensator als Zobel-Netzwerk, um Überschwingen zu vermeiden. Ich stimme zu, dass ein wichtiger Serieneingangskoppelkondensator benötigt wird, um Gleichstrom am Eingang zu blockieren.
Danke an alle. Es scheint eine Art Verzerrung zu sein, die durch zu starkes Fahren des lm386 verursacht wird. Ich höre diese Artefakte nur, während der Ton vom Atmega ausgegeben wird. Ich verwende einfache Rechteck- und Dreieckwellen und höre viele Verzerrungsartefakte im Zusammenhang mit den Tönen. Normalerweise nicht das, was Sie unter "Verzerrung" verstehen. Jeder hat mir geholfen zu erkennen, dass meine Eingangsspannung hier viel zu hoch ist. Werde mal testen und schauen was passiert.
@ocrdu Quadrat- und Dreieckswellen

Antworten (1)

Sie sagen, der Klang sei nicht verzerrt, aber Sie überladen ihn furchtbar und machen ihn geräuschempfindlicher, als er sein muss.

Der LM386 hat in der gezeigten Konfiguration eine Verstärkung von 20. Da es bei einer 6-V-Versorgung einen maximalen Ausgang von etwa 4 V pp hat, beträgt der maximale Eingang, den es akzeptieren kann, 200 mV pp.

Da Sie 3,3 V verwenden, um den ATmega328 mit Strom zu versorgen, ergibt sich ein Ausgang von 3,3 V pp. Sie müssen den Ausgang der MCU um einen Faktor von etwa 17 dämpfen, um das Signal auf <200 mV pp zu reduzieren.

Dadurch wird der Ausgang immer noch auf die volle Amplitude getrieben, aber die Verstärkung von Rauschen um den gleichen Faktor reduziert, wodurch es viel weniger laut wird.

Die Dämpfung könnte mit einem 18k-Widerstand von der MCU und einem 1k-Widerstand gegen Masse erreicht werden. (das ergibt eine 19:1 Dämpfung). Achten Sie darauf, dass sich die Masse des 1k-Widerstands in der Nähe des LM386 und nicht der MCU befindet, da sonst mehr Möglichkeiten bestehen, die Nase vom Boden aufzunehmen. Sie werden wahrscheinlich auch bessere Ergebnisse erzielen, wenn das Signal von der MCU gefiltert wird, indem beispielsweise ein Kondensator über den 1k-Widerstand (möglicherweise 0,1 uF) gelegt wird, um das Signal zu formen.

Ich denke, das ist wahrscheinlich richtig. Nach einigen Experimenten stellte ich fest, dass das unerwünschte Rauschen nur auftrat, während der Ton vom Atmega emittiert wurde. Und bei sehr niedriger Ausgangsleistung (digital gedämpft) klang es sehr verzerrt. Ich verwende einfache Rechteck- und Dreieckwellen, daher kann es schwierig sein zu sagen, wann sie verzerrt sind. Ich habe die Spannung gemessen, die aus dem Atmega kommt, und sie betrug ungefähr 1,6 V, was ungefähr der Hälfte von 3,3 V (Spitze-zu-Spitze) entspräche. Nach dem 2,2k-Widerstand maß es etwas mehr als 1V. Anscheinend muss ich diese Spannung reduzieren, wie Sie es empfohlen haben. Ich werde es versuchen und mich wieder melden