Forum: Analoge Elektronik und Schaltungstechnik Lautstärke an 3,3V AVR erhöhen


von Daniel B. (anyn99)


Angehängte Dateien:

Lesenswert?

Hallo,

da ich nun schon eine Weile an diesem Problem rumknabbere, wollte ich 
euch mal um Hilfe bitten.

Ich benutze diesen PWM-Sound-Generator von Elm-chan, um .wav Dateien 
abzuspielen:
http://elm-chan.org/works/sd20p/report.html
Sein Schaltplan ist auf der Seite ganz unten oder direkt hier:
http://elm-chan.org/works/sd20p/sdsg.png
(hier genauer die Mono(OCL)-Variante)

Zunächst habe ich die Schaltung nachgebaut, hat auch gut funktioniert, 
hatte auf Lochraster allerdings zu große Dimensionen für mein Projekt.
Deshalb habe ich dann genialerweise den Bausatz "MWP1" von ELV entdeckt, 
der genau diese Schaltung benutzt.
Der Schaltplan hierzu ist angehängt.


Mein Problem:

Sowohl bei meinem Nachbau, als auch beim ELV-Bausatz, ist die Lautstärke 
-viel- zu gering für meine Anwendung. Ich habe schon vom einfachen 
Transistor, über eine Gegentakt-Verstärkerstufe bis hin zu einem 
class-D-Verstärker vieles probiert. Bei meinen Versuchen wird der 
Lautsprecher entweder nicht wirklich lauter, oder aber er übersteuert 
sofort. Irgendwo habe ich einen Denkfehler, etwas falsch dimensioniert, 
oder einfach Wissenslücken zu Audio-Anwendungen...

Hier ein paar Lautsprecher, die ich versucht habe:
Die Lautsprecher müssen sehr klein sein für meine Anwendung.

50 Ohm: 
http://www.elv.de/visaton-miniaturlautsprecher-mit-sehr-geringen-abmassen-und-klebeflaeche-1-6-cm-k-16-50-ohm.html

8 Ohm: 
https://www.reichelt.de/Miniaturlautsprecher/LSF-20SMD/3/index.html?ACTION=3&GROUPID=6559&ARTICLE=145882&OFFSET=16&;

8 Ohm: 
https://www.reichelt.de/Miniaturlautsprecher/LSF-15M-S/3/index.html?ACTION=3&GROUPID=6559&ARTICLE=145875&OFFSET=16&;

Auch einen etwas größeren 8 Ohm ähnlich wie der hier:
http://www.lantronic-et.de/Akustik-Audio-SAT/Lautsprecher/Lautsprecher-8-Ohm-ca-0-5-W-Ekulit-LSM-66A-KM-2-Stueck::1354.html

Sogar einen Rück-Lautsprecher aus einem Handy mit ca 12 Ohm habe ich 
versucht - zu leise.


Kann mir jemand sagen, was ich falsch mache? Sind vielleicht einfach die 
Lautsprecher zu gering dimensioniert?
Welche Möglichkeiten kennt ihr generell, um ein differentielles 
Audiosignal lauter zu machen?

Die Stromversorgung des ATtiny861V erfolgt über einen 3.6V Lipo-Akku 
(400mA,10c). Sollte also 4-6 Ampere und damit genug Leistung liefern 
können.

Was ich nicht verstehe ist, dass anderen bei dieser Schaltung die 
Lautstärke mehr als genug zu sein scheint:
http://www.elv.de/Arduino-Saunatimer-mit-Temperatur-Luftfeuchteanzeige-und-Audioausgabe/x.aspx/cid_726/detail_47496/print_1
(Unter dem Punkt "Audioausgabe")

Auch Elm-chan selbst schreibt auf seiner Seite:
"Therefore it cannot sound loud but it will create sufficient sound that 
listen on the desk with high efficiency speakers."

Ich muss mit dem Ohr sehr nahe rangehen, um überhaupt etwas zu hören...

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Daniel Blank schrieb:
> oder einfach Wissenslücken zu Audio-Anwendungen

Das ohmsche Gesetz hat jetzt nichts speziell mit Audio zu tun.

50 Ohm an 3,6V sind 0,26Watt

Bei 'Audio' kann es nur weniger sein.

von Daniel B. (anyn99)


Lesenswert?

Danke für deine Antwort.

Meinst du damit, dass 0,26 Watt so wenig sind, dass man auf jeden Fall 
nicht viel hören kann? Was ist mit den 8 Ohm Lautsprechern?
Müssten die dann nicht bis zu (P=U^2/R) 1,6 Watt liefern können?
Das sollte doch mehr als deutlich hörbar sein, selbst bei einem kleinen 
Lautsprecher?

von holger (Gast)


Lesenswert?

>Ich muss mit dem Ohr sehr nahe rangehen, um überhaupt etwas zu hören...

Dann bist du entweder unglaublich schwerhörig oder du hast
den Lautsprecher falsch angeschlossen oder kaputt gemacht.

von Max H. (hartl192)


Lesenswert?

Daniel Blank schrieb:
> Bei meinen Versuchen wird der
> Lautsprecher entweder nicht wirklich lauter, oder aber er übersteuert
> sofort.
Wie sahen die aus?
muss mit dem Ohr sehr nahe rangehen, um überhaupt etwas zu hören...

> Kann mir jemand sagen, was ich falsch mache?
Zu wenig Strom und Spannung, mit 3.6V spitze hast du max. 129mW RMS an 
50Ohm, mit 40mA (Absolute Maximum Ratings) max. 6.4mW RMS an 8 Ohm.

Torsten C. schrieb:
> 50 Ohm an 3,6V sind 0,26Watt
Spitze, RMS ist es nur noch die Hälfte.

Daniel Blank schrieb:
> Was ist mit den 8 Ohm Lautsprechern?
> Müssten die dann nicht bis zu (P=U^2/R) 1,6 Watt liefern können?
Rechnerisch ja, du hast aber vergessen, dass Absolute Maximum Ratings 
40mA an den IOs ist.

: Bearbeitet durch User
von Daniel B. (anyn99)


Lesenswert?

Naja, ob sie tatsächlich 1.6 Watt umsetzen, weiß ich leider nicht.

Wenn ich sie direkt an das ELV-Board anschließe, ist es sehr leise.
Hier wird es wohl daran liegen, dass der AVR nur ca (3.3Vx30mA) 100mW 
liefern kann, oder?

Aber hinter der Verstärkerschaltung übersteuert es sofort...

von Max H. (hartl192)


Lesenswert?

Daniel Blank schrieb:
> Aber hinter der Verstärkerschaltung übersteuert es sofort...
Wenn man es richtig macht sollte das eigentlich nicht passieren. Wie sah 
deine Verstärkerschaltung aus?

: Bearbeitet durch User
von Daniel B. (anyn99)


Lesenswert?

Hallo Max,

habe zu schnell ne neue Antwort gepostet, mein Beitrag über diesem 
bezieht sich auf Holger.

Vielen Dank für deine Antwort, das heißt also, direkt am AVR wird die 
Leistung nicht ausreichen.
Ich habe Versuche mit diesem Verstärker gemacht (TPA2005D1):
https://www.tinkersoup.de/en/sound-audio/mono-audio-amp-breakout-tpa2005d1/a-751/

Mit den mitgelieferten gain-Widerständen (150K, Verstärkung 2),
übersteuert der Lautsprecher sofort...
sollte ich einfach die Widerstände kleiner wählen??

Kennst du oder jemand anders eine einfachere Schaltung, um das Signal zu 
verstärken?

von Falk B. (falk)


Lesenswert?

@ Daniel Blank (anyn99)

>Zunächst habe ich die Schaltung nachgebaut, hat auch gut funktioniert,
>hatte auf Lochraster allerdings zu große Dimensionen für mein Projekt.
>Deshalb habe ich dann genialerweise den Bausatz "MWP1" von ELV entdeckt,

>Sowohl bei meinem Nachbau, als auch beim ELV-Bausatz, ist die Lautstärke
>-viel- zu gering für meine Anwendung.

Falscher Lautsprecher. Zu niederohmig. Du braucht was hochohmiges, so im 
Bereich 30-100 Ohm.

>50 Ohm:
>http://www.elv.de/visaton-miniaturlautsprecher-mit...

Sollte passen. Die anderen sind zu niederohmig.

>Kann mir jemand sagen, was ich falsch mache? Sind vielleicht einfach die
>Lautsprecher zu gering dimensioniert?

>Welche Möglichkeiten kennt ihr generell, um ein differentielles
>Audiosignal lauter zu machen?

Mehr Spannung, funktioniert fast immer ;-)

>Die Stromversorgung des ATtiny861V erfolgt über einen 3.6V Lipo-Akku
>(400mA,10c). Sollte also 4-6 Ampere und damit genug Leistung liefern
>können.

Ja.

>Ich muss mit dem Ohr sehr nahe rangehen, um überhaupt etwas zu hören...

Wahrscheinlich hast du einen Fehler im Aufbau. Mit dem kleinen 
Lautsprecher erreicht man auf jeden Fall genügend Lautstärke, um normal 
was zu hören, wenn das Gerät auf dem Tisch liegt.

von Falk B. (falk)


Lesenswert?

@ Daniel Blank (anyn99)

>Ich habe Versuche mit diesem Verstärker gemacht (TPA2005D1):
>https://www.tinkersoup.de/en/sound-audio/mono-audi...

Das Ding hat einen normalen Analogeingang.
Dein AVR gibt aber ein 3,3V Digitalsignal aus, dazu noch differentiell.

>Mit den mitgelieferten gain-Widerständen (150K, Verstärkung 2),
>übersteuert der Lautsprecher sofort...

Logisch.

>sollte ich einfach die Widerstände kleiner wählen??

Nein, lass den Verstärker weg. Dein AVR muss das auch so schaffen, wenn 
nicht grundlegend was schief läuft.

>Kennst du oder jemand anders eine einfachere Schaltung, um das Signal zu
>verstärken?

Man kann einen 74HC04 nehmen und je 3 Gatter parallel schalten, das ist 
ein einfacher Digitalverstärker. Darauf baut man 2 Kanäle und klemmt sie 
zwischen AVR und Lautsprecher.

von Horst S. (Gast)


Lesenswert?

Hast Du einen Klangkörper um Deinen Lautsprecher gebaut?
Ohne "Box" klingen diese Fiddeldinger nie nach was.
Im Zweifelsfall nimmst Du was aus dem gelben Sack (leere Shampooflasche, 
Milchtüte, o.ä.), schneidest ein Loch rein und klebst den Lautsprecher 
mit Heißkleber rein.

von Daniel B. (anyn99)


Lesenswert?

@ Falk:

Vielen Dank für die vielen Ideen!
Ich habe es mit einem 74HC04 versucht. Das bringt immerhin ca. 10 mA 
mehr Strom und damit nur etwas mehr Lautstärke. Leider nicht genug für 
meine Anwendung. Bei 3.3V reicht wohl einfach die Leistung nicht...

Also sollte ich es mit mehr Spannung versuchen?
Also StepUp-Wandler und doch den TPA2005D1?

@ Horst:
Ja das würde ich wirklich gerne machen!
Leider soll das Ganze in eine Holzpuppe eingebaut werden und dort von 
innen her genug Lärm machen. Immerhin ist das Holz am Korpus 
einigermaßen dünn und kann etwas mitschwingen, aber leider ist kein 
besserer Klangkörper möglich.
Ich versuche es jetzt mal mit diesem Lautsprecher:
http://www.conrad.de/ce/de/product/541341/Kunststofflautsprecher-LSF-Serie-Geraeusch-Entwicklung-86-dB-32-Nennbelastbarkeit-025-W-100-Hz-Inhalt-1-St/SHOP_AREA_17390
Der ist größer und laut Datenblatt des MWP1 von ELV sind 32 Ohm ein 
guter Wert für den Lautsprecher.

Jetzt muss ich nurnoch mehr Power da reinkriegen...

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Interessante Schaltung ... Kann mir mal jemand bitte die Funktion von T2 
(ich vermute in Kombination mit J1 und J2) erklären? :)

von Daniel B. (anyn99)


Lesenswert?

Der MOSFET T2 dient nur als Verpolungsschutz, falls jemand die Batterie 
falsch rum anschließen sollte.

Die Jumper J1 und J2 haben damit erstmal nichts zu tun. Mit ihnen wählt 
man die Spannungsversorgung. Bei einer Eingangsspannung im Bereich von 
2.7-3.3V wird der Spannungsregler IC2 nicht benötigt. Indem man J1 
öffnet und J2 schließt, umgeht man IC2 dann.
Ist die Eigangsspannung größer (3.5-12V), macht man es anders rum: J2 
offen, J1 geschlossen. Dann regelt der Spannungsregler auf 3.3V runter, 
damit nichts kaputt geht. :-)

von Falk B. (falk)


Lesenswert?

@ Mampf F. (mampf)

>Interessante Schaltung ...

Welche? Die hier?

https://www.mikrocontroller.net/attachment/258932/ELV-MWP1.png

> Kann mir mal jemand bitte die Funktion von T2
>(ich vermute in Kombination mit J1 und J2) erklären? :)

T2 ist ein P-Kanal MOSFET; welcher als Verpolungsschutz mit minimalem 
Spannungsabfall wirkt. Be richtiger Polung ist der MOSFET geöffnet und 
damit leitfähig, er überbrückt seine eigene Bodydiode. Bei Falschpolung 
ist der MOSFET geschlossen, die Bodydiode sperrt auch.

J1 und J2 sind für optionale Speisung.

Bei 5-12V muss der Spannungsregler bestückt und J1 geschlossen sein.
Bei 2,7-3,3V muss J2 geschlossen sein.

von Daniel B. (anyn99)


Lesenswert?

Ich will hier nochmal meine Problemstellung präzisieren, vielleicht kann 
mir doch noch jemand mit meinem Lautstärke-Problem helfen.

So wie ich es bisher verstehe, suche ich nach einem Weg ein durch PWM 
erzeugtes Audiosignal zu verstärken.

Versorgungsspannung: 3.3V
gewünschte Leistung am Lautsprecher: ca. 250mW-500mW maximal.
PWM-Frequenz: vermutlich 250kHz

Gibt es einen (einfachen) Weg, das zu schaffen, ohne die Spannung durch 
einen StepUp-Wandler zu erhöhen? Vielleicht mit einer H-Brücke aus 
MOSFETS?
Wie würde so eine Schaltung konkret aussehen? Oder kennt jemand einen 
passenden IC dafür?

Einen class-D Verstärker zu benutzen erscheint mir keine gute Lösung, da 
ich dann erstmal das PWM-Signal durch einen Tiefpass filtern muss, nur 
um es dann im Verstärker wieder in ein PWM-Signal zu verwandeln...


Ich freue mich über jeden, der hier mit mir sein Wissen und seine 
Erfahrung teilt.

von Falk B. (falk)


Lesenswert?

@ Daniel Blank (anyn99)

>einen StepUp-Wandler zu erhöhen? Vielleicht mit einer H-Brücke aus
>MOSFETS?

Die hast du schon, die Gatter arbeiten als solche. Man könnte lediglich 
deren Widerstand weiter verringern, indem man mehr gatter parallel 
schaltet, z.B. 1 IC/6 Gatter pro Kanal.

Und da man die Spannung nicht weiter erhöhen kann/will, muss bei 
steigender Leistung eben der Widerstand runter. Denn es gilt

P = U^2 / R

Also ein 8 Ohm Lautsrecher.

>Einen class-D Verstärker zu benutzen erscheint mir keine gute Lösung, da
>ich dann erstmal das PWM-Signal durch einen Tiefpass filtern muss, nur
>um es dann im Verstärker wieder in ein PWM-Signal zu verwandeln...

Eben, das wäre Unsinn.

Ich glaube aber immer noch, dass du irgend einen grundlegenden Fehler 
machst.

von spontan (Gast)


Lesenswert?

Jeder simple Audio-Verstärker löst dein Problem. Problemlos.

Übersteuern kommt durch zu hohe Ausgangsspannung deiner Schaltung und zu 
hohe Eingangsempfindlichkeit des Verstärkers.

Ein simples Potentiometer zur Lautstärkeeinstellung ist die Lösung.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Hast du schonmal versucht, dein WAV-File auf 0dB zu normalisieren?

Audacity kann das problemlos ... Mit dem siehst du dann auch, wie es 
überhaupt ausgesteuert ist.

von Daniel B. (anyn99)


Lesenswert?

Liebe alle,

aber ganz besonder Falk und Mampf:

Vielen vielen Dank! Es läuft jetzt so wie es soll!
Ich hatte mich einfach verfahren und nicht mehr an die einfachsten 
Sachen gedacht, bzw. diese mal in Frage gestellt.

Vor allem deine Anmerkungen Falk, dass das Problem viel grundlegender 
sein muss, hat mich letztlich auf den richtigen Weg gebracht.

Aus für mich nicht zu verstehenden Gründen waren die von mir benutzen 
.wav-Dateien einfach zu leise!!

Ich habe andere samples mit sauberen (lauten) Tönen benutzt - und es 
geht!
Auch das normalisieren hat noch zusätzlich Lautstärke gebracht - auch 
danke dafür an Mampf!

Natürlich hatte ich schon an einem früheren Punkt andere .wav-Dateien 
versucht - zu dem Zeitpunkt waren meine getesteten Lautsprecher aber 
noch zu klein und es hatte keinen Unterschied gemacht!

Die Kombination aus einem 250mW Lautsprecher mit 32 Ohm und einer 
normalisierten .wav Datei (z.B. hier: 
https://github.com/pffy/wav-piano-sound) ist gut hörbar!

Falls ich mehr brauchen sollte kann ich immer noch einen Verstärker und 
nen stärkeren Lautsprecher benutzen. :-)

Liebste Grüße und bis dann mal wieder!

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Daniel Blank schrieb:
> Aus für mich nicht zu verstehenden Gründen waren die von mir benutzen
> .wav-Dateien einfach zu leise!!
>
> Ich habe andere samples mit sauberen (lauten) Tönen benutzt - und es
> geht!
> Auch das normalisieren hat noch zusätzlich Lautstärke gebracht - auch
> danke dafür an Mampf!

Freut mich, dass wir dir helfen konnten!

Oft übersieht man ganz gerne sowas ... Ich kann mich noch erinnern, dass 
ich mal einen halben Tag herausfinden versucht habe, wieso mein 
33MHz-Oszillator meines ARM7 nicht schwingt, bis ich gemerkt hab, dass 
mein Oszilloskop nur 1MHz Bandbreite hat ... Das war ein uralt 
Hameg-Röhrenoszi, auf dem es ganz fett vorne drauf stand xD

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ Daniel Blank (anyn99)

>Aus für mich nicht zu verstehenden Gründen waren die von mir benutzen
>.wav-Dateien einfach zu leise!!

Das spart Speicherplatz! ;-)

>Die Kombination aus einem 250mW Lautsprecher mit 32 Ohm und einer
>normalisierten .wav Datei (z.B. hier:
>https://github.com/pffy/wav-piano-sound) ist gut hörbar!

Direkt am AVR oder mit 74HC04 hinten dran?

von Paul B. (paul_baumann)


Lesenswert?

Falk Brunner schrieb:
> Direkt am AVR oder mit 74HC04 hinten dran?

Mit einem Inverter dazwischen spielt er die Tonleiter dann doch verkehrt 
rum -oder nicht?
;-)

MfG Paul

von Daniel B. (anyn99)


Lesenswert?

>>Die Kombination aus einem 250mW Lautsprecher mit 32 Ohm und einer
>>normalisierten .wav Datei (z.B. hier:
>>https://github.com/pffy/wav-piano-sound) ist gut hörbar!
>
> Direkt am AVR oder mit 74HC04 hinten dran?

Tatsächlich direkt am AVR. Habs auch mit dem 74HC04 dazwischen versucht, 
aber die Leistungssteigerung war minimal.
Aber eigentlich kein Wunder, im Datenblatt von ELV wird ein Lautsprecher 
mit 32 Ohm und 250mW empfohlen - das entspricht wohl genau dem was der 
AVR hier leistet denke ich.
Aber falls ich nen größeren Lautsprecher anschließen will nehm ich auf 
jeden Fall so einen 74**04, hab ja jetzt ne Handvoll davon hier 
rumliegen und weiß dank dir was man damit macht!


> Mit einem Inverter dazwischen spielt er die Tonleiter dann doch verkehrt
> rum -oder nicht?
> ;-)

Hab natürlich die Platine beim Abspielen umgedreht um das auszugleichen 
;-)

von Paul B. (paul_baumann)


Lesenswert?

Daniel Blank schrieb:
> Hab natürlich die Platine beim Abspielen umgedreht um das auszugleichen
> ;-)

Ich sehe: Du weißt Dir auch in widrigen Situationen zu helfen.
;-)
MfG Paul

von Falk B. (falk)


Lesenswert?

@ Daniel Blank (anyn99)

>Hab natürlich die Platine beim Abspielen umgedreht um das auszugleichen
>;-)

AhA! DESWEGEN gab es in den 80ern immer soviele Unfälle mit Autoradios, 
wenn die eine "Auto Reverse" Funktions hatten . . . ;-)

von Falk B. (falk)


Lesenswert?

@A2000LM2005etc (Gast)

>Schalte doch einfach einen (falls DU nur Mono hast / brauchst  reicht
>der TDA 7052 - der braucht keine zusätzlichen Bauelemente drumherum -

Lesen und nachdenken! Der OP hat nur 3,3V. Da macht auch kein TDA 
sonstwas mehr Leistung. Er hat schon den nahezu idealen Class-D 
Verstärker.

>Und wem das zu umständlich ist - nun dem sei gesagt, dass der
>Microcontroller ja nur MINI-Pegel ausgibt,

Kaum. 3,3V sind schon ganz ordenlich. Für Kopfhörer und kleine 
Lautsprecher allemal ausreichend.

von Info (Gast)


Lesenswert?

Könnte bitte jemand den Ausgangsfilter des angehängten Schaltplans 
erklären und geeignete Bauteile für L2 vorschlagen?
Ist das ein TP 2. Ordnung 
(https://de.wikipedia.org/wiki/Tiefpass#Tiefpass_2._Ordnung)?
Sind die Cs nicht etwas klein?
Wieso sind die Induktivitäten magnetisch gekoppelt?

Und ich nehme an, dass die PWM-Ausgänge PB1 und PB3 am ATtiny861 im 
Gegentakt genutzt werden? Mit welcher Frequenz (250 kHz)?

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.