Forum: Analoge Elektronik und Schaltungstechnik PWM-Audiosignal verstärken


von Fusel F. (fufa)


Lesenswert?

Hallo Forum,

dies ist mein erster Beitrag in diesem Forum, da ich mich erst seit 
kurzem mit Microcontrollern beschäftige. Bisher konnte ich mir alle 
Fragen über das Internet - zu großen Teilen mit Informationen von dieser 
Homepage - beantworten. Jetzt stoße ich allerdings auf einen Effekt den 
ich mir nicht erklären kann.

Da es um die Verstärkung eines quasianalogen PWM-Signals geht weiß ich 
leider nicht ob man den Beitrag lieber im Analog- oder im Digitalbereich 
sieht. Ich bitte um Entschuldigung, falls meine Münze gelogen hat.

Ich erzeuge mittels des PWM-Ausgangs eines Atmega88PA (@16MHz) eine 
Folge von Tönen in Form von Sinuswellen. Wenn ich einen kleinen 
Lautsprecher sofort zwischen den PWM Pin OC0A(PD6) und GND anschließe, 
dann höre ich bereits die Töne - jedoch noch recht leise und etwas 
verrauscht. Das Rauschen bekomme ich über einen Lowpass-Filter aus einem 
Widerstand (ca. 75 Ohm) und einem Kondensator (0,1 uF) auch ganz gut 
gefiltert.

Nun wollte ich das Signal etwas verstärken. Hierzu habe ich einen 
Miniverstärker mit der Bezeichnung PAM8403 aus China geordert. Der 
Verstärker hat eine Stromversorgung (+/GND), zwei Ausgangskanäle (L +/-) 
(R +/-) und einen dreipoligen Eingang L/GND/R. Verkabelt habe ich wie 
folgt:

GND und +5V zur Stroversorgung des Verstärkers (dieselbe Quelle wie der 
Atmega)
Lautsprecher an +/- des rechten Kanals des Verstärkers
geglättetes PWM-Signal an den Eingangs-Anschluss des rechten Kanals
GND des Eingangs L/GND/R an GND der Stromversorgung

Der Ton der dabei aus dem Lautsprecher kommt ist ein wenig leiser als 
unverstärkt direkt vom Atmega.

Wenn ich jedoch den Verstärker an eine andere Stromquelle anschließe, 
dann wird das Signal wie gewünscht verstärkt. Probiert habe ich zwei 
Stromquellen: 5V von usb und etwa 4,2V aus 3xAA-Zellen. Wenn ich Atmega 
und Vertsärker mit derselben Quelle betreibe, dann wird das Signal 
leiser als unverstärkt, wenn ich beide Geräte mit unterschiedlicher 
Stromquelle betreibe, dann wird der Ton verstärkt wie gewünscht.

Was mache ich falsch? Müsste ich das Tonsignal, das bei mir aus GND und 
schwankendem PWM-Pegel zwischen 0V und 5V besteht irgendwie auf einen 
Pegel bringen der zwischen -5V und 5V schwingt? Falls ja, wie mache ich 
das?

Falls mehr Informationen benötigt werden, dann bitte Bescheid geben. 
Vielen Dank bereits im Voraus für jegliche Hilfe!

von MaWin (Gast)


Lesenswert?

Mir schein, du unterliegst dem Irrtum, zu glauben, aus einem PWM Ausgang 
käme ein Analogsignale, ein Sinus.

das ist mitnichten so, der schaltet nur schnell zwischen 0V und 5V hin 
und her. Wenn man da Analogsignale will, muss mal filtern, im 
einfachsten Fall per RC-Glied
1
PWM --R--+-- analog
2
         |
3
         C
4
         |
5
       Masse
aber wenn der Frequenzbereich gross ist (und die PWM Basisfrequenz 
dagegen klein, wie bei dir), dann eher mit eniem aufwändigeren Filter

http://www.simonbramble.co.uk/techarticles/active_filters/active_filter_design.htm

Danach erst kommt der PAM8403.

> Müsste ich das Tonsignal, das bei mir aus GND und
> schwankendem PWM-Pegel zwischen 0V und 5V besteht irgendwie auf einen
> Pegel bringen der zwischen -5V und 5V schwingt

Nein, Audiosignale interessieren sich nicht für den 
Gleichspannunganteil, in Ruhe muss dein PWM Signal 450% der Zeit 5V und 
50% der Zeit 0V bringen so dass sich nach dem Filter 2.5V einstellen und 
das entspricht Ruhe.

Der PAM8403 hat dazu Eingangskoppelkondenstaoren die 
Gleichspannungsanteile abtrennen.

von Michael U. (amiga)


Lesenswert?

Hallo,

unabhängig von Deinem anderen Problem: der PAM zieht Ströme bis in den 
Amperebereich wenn ein 4 Ohm Lautsprecher dran ist, am USB ist er nur 
sehr leise gestellt überhaupt zu betreiben.
Wenn Deine 3x AA noch 4,2V hatten, sind die auch schon leer...

Falls Du ein Modul ohne Lautstärkepoti hast: ein 10...50 kOhm 
Potentiometer als Lautstärkeregler an den NF-Eingang. Ende an GND, 
Schleifer an Eingang und Deine NF über einen Kondensator/Elko 1...10µ an 
den Potianfang.

Und dann erstmal schön leise stellen...

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Fusel F. (fufa)


Angehängte Dateien:

Lesenswert?

@MaWin: Vielen Dank für die schnelle Antwort. Vielleicht habe ich mich 
missverständlich ausgedrückt oder das Setup zu knapp beschrieben. Ich 
bitte dafür um Entschuldigung.

Den Lowpass-Filter habe ich bereits zwischen dem PWM-Pin und dem 
Verstärker eingebaut. Die Werte habe ich bereit im ersten Post stehen 
und hoffe, dass diese passen. Bei 16 MHz und einem 8 bit Counter habe 
ich eine PWM-Frequenz von 62500 Hz und die Werte für den Lowpass habe 
ich für eine Trennfrequenz von etwa 10 KHz irgendwo online berechnet. 
Ich hoffe meine Werte passen.

Ich erzeuge auch bereits per Software die Sinuswelle und habe nicht 
einfach den PWM-Ausgang auf die Frequenz eingestellt. Mein C-Code ist 
angehängt.

Ich hoffe somit, dass am Signaleingang am Verstärker eine Sinuswelle 
zwischen 0V und 5V ankommt. Am Signal-Ground liegen derzeit 0V. Sollten 
dort dann vielleicht eher 2,5V anliegen, damit alles stimmt? Falls ja, 
wie macht man das venünftig?

von Fusel F. (fufa)


Lesenswert?

@Michael: Vielen Dank für den Hinweis mit dem Strom! Mit frischen 
Batterien klappt es. Hoffentlich habe ich mir am usb-Port oder sonst wo 
nix zerschossen.

Aller Anfang ist schwer, und jede Antwort wirft zwei neue Fragen auf...

Mein mittelfristiges Ziel ist es ein DMX-Steuergerät, mit fest 
einprogrammierter Lichtsequenz und einem Mikrofon zur Beat-Erkennung und 
Schrittsteuerung zu basteln - und das ohne zu viel von bestehenden 
Projekten abzuschreiben. Da ist es aber noch ein bisschen hin...

Vielen Dank nochmals für die Tipps an dieser Stelle!

von Audiomann (Gast)


Lesenswert?

Das Signal sollte in jedem Fall auf Kleinsignalebene gefiltert werden 
und dann analog verstärkt werden. Die Filterung muss sehr gut sein, 
wegen der Rechtecke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.