Forum: Mikrocontroller und Digitale Elektronik DAC + Speaker


von Felix F. (wiesel8)


Lesenswert?

Hallo,

ich will an den DAC eines STM32s einen Lautsprecher(evtl. 
Piezo?)/Kopfhörer anschließen. Da ich mich mit Audioschaltungen nicht 
wirklich auskenne, habe ich Google bemüht und diverse Schaltungen für 
Arduino gefunden.
Die (für mich) am sinnvollsten waren unter anderem diese hier:
https://arduino.stackexchange.com/questions/38592/8%CE%A9-speaker-what-resistor-values-to-use
https://arduino.stackexchange.com/questions/37543/transistor-amplifier-to-drive-speaker-using-arduino-pwm

Da sie aber für PWM ausgelegt sind, weiß ich nicht ob sie sich auch für 
den DAC eignen bzw. ob diese Schaltungen überhaupt was taugen. (Das so 
eine Beschaltung keine perfekte Qualität bietet ist mir klar, aber es 
soll zumindest brauchbar funktionieren).

Jetzt bräuchte ich Rat, was für eine Schaltung sich am besten eignet. 
Ich brauche keine perfekte Qualität, die Schaltung sollte eher einfach 
und billig sein.

Und was sollte ich am besten für die Ausgabe verwenden?
Einen richtigen Lautsprecher z.B.: 
http://www.mouser.de/ProductDetail/CUI/CVS-1508/?qs=sGAEpiMZZMuTkJYgZlQcSf3VdWZLnS925Z0SecpEcUB4HA4apS1HOA%3d%3d

Oder würde hierfür auch ein Piezo gehen: 
http://www.mouser.de/ProductDetail/CUI/CPT-9019S-SMT-TR/?qs=sGAEpiMZZMuTkJYgZlQcSQNTJJ1mKiGM7mBtnzHkbvF8mTCl9Q%252bSvA%3d%3d

mfg

von Karl M. (Gast)


Lesenswert?

Ich frage mich gerade:

Warum,
Wofür,
für welchen Frequenzbereich und
mit welcher Sinusauflösung?

von Felix F. (wiesel8)


Lesenswert?

Karl M. schrieb:
> Ich frage mich gerade:
>
> Warum,
> Wofür,
> für welchen Frequenzbereich und
> mit welcher Sinusauflösung?

Es sollen Audiofiles (.wav) wiedergegeben werden. Also max. 44,1 KHz.

mfg

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Guck dir mal den LM386 an. Die von dir verlinken Beispiele sind 
weitestgehend Kacke.

Gruss
WK

von Felix F. (wiesel8)


Lesenswert?

Dergute W. schrieb:
> Moin,
>
> Guck dir mal den LM386 an. Die von dir verlinken Beispiele sind
> weitestgehend Kacke.
>
> Gruss
> WK

Der geht erst bei >4V. Ich habe aber 3,3V.
Und da ich wie gesagt keine Ahnung von Audio habe, brauche ich bitte 
eine Schaltungsempfehlung und nicht einzelne Bauteile.

mfg

von Harald (Gast)


Lesenswert?

PAM8301, der ist günstig (<0.5€) und klingt recht gut!

von Harald (Gast)


Lesenswert?

Felix F. schrieb:
> Schaltungsempfehlung und nicht einzelne Bauteile.

Beim PAM8301 besteht die Schaltung aus einem Bauteil! Mal abgesehen vom 
Abblockkondensator. Da kommt übrigens ein klassischer Lautsprecher dran 
(8..32 Ohm ist OK)

von Hurra (Gast)


Lesenswert?

Den kann ich empfehlen:
http://www.ti.com/product/TPA6111A2

Erhältlich hier:
https://www.conrad.de/de/linear-ic-verstaerker-audio-texas-instruments-tpa6111a2dr-kopfhoerer-2-kanal-stereo-klasse-ab-soic-8-1071042.html?sc.ref=Search%20Results

Den hab ich für meinen MP3-Player genommen.

Der hat ein paar nette Eignschafgen, Insbesondere, dass man mit 3V3 
sinnvoll mit guter Qualität Kopfhörer betreiben kann. Für 1x LiPo 
Versorgung recht praktisch.

An 8 Ohm wirst du aber nicht mehr auf teils >1% Klirrfaktor kommen, aber 
für Audiowidergabe klingt immer noch besser als ein normales Smartphone 
zum Bleistift.
150mW sind überraschend laut, das ist für vieles ausreichend. Kann man 
etwa mit passiven Speakern am PC vergleichen. Wo der auch tatsächlich 
drin sein könnte ;-)

von Felix F. (wiesel8)


Lesenswert?

Ich habe den PAM8302 bereits probiert, hatte damit aber diverse 
Probleme. Eine Antwort bekam ich darauf auch nicht: 
Beitrag "Probleme mit PAM8302"

mfg

von Felix F. (wiesel8)


Lesenswert?

Hurra schrieb:
> Den kann ich empfehlen:
> http://www.ti.com/product/TPA6111A2
>
> Erhältlich hier:
> https://www.conrad.de/de/linear-ic-verstaerker-aud...
>
> Den hab ich für meinen MP3-Player genommen.
>
> Der hat ein paar nette Eignschafgen, Insbesondere, dass man mit 3V3
> sinnvoll mit guter Qualität Kopfhörer betreiben kann. Für 1x LiPo
> Versorgung recht praktisch.
>
> An 8 Ohm wirst du aber nicht mehr auf teils >1% Klirrfaktor kommen, aber
> für Audiowidergabe klingt immer noch besser als ein normales Smartphone
> zum Bleistift.
> 150mW sind überraschend laut, das ist für vieles ausreichend. Kann man
> etwa mit passiven Speakern am PC vergleichen. Wo der auch tatsächlich
> drin sein könnte ;-)

Der sieht ganz gut aus, werde ich mir mal näher ansehen.

mfg

von 2⁵ (Gast)


Lesenswert?

Felix F. schrieb:
> Ich habe den PAM8302 bereits probiert

Zeig mal dein Layout! Ein Class-D benötigt eine gute Entkopplung, im 
Datenblatt (hast du's gelesen? 
http://www.mouser.com/ds/2/115/PAM8302A-247351.pdf) werden zwei 
Kondensatoren (1uF und 10uF, hast du) möglichst nahe am Chip 
vorgeschlagen. Der 1uF soll auch ein niedriges ESR haben. Des weitern 
ist jetzt ein Signal zu Rauschabstand von 75 dB nicht die Welt, da kann 
man schon mal rauschen hören!

Wegen dem Knacksen: IMHO ist das ein Problem von deiner Software auf dem 
STM32. Irgend etwas übersteuert (digital!)

von Felix F. (wiesel8)


Angehängte Dateien:

Lesenswert?

2⁵ schrieb:
> Felix F. schrieb:
>> Ich habe den PAM8302 bereits probiert
>
> Zeig mal dein Layout! Ein Class-D benötigt eine gute Entkopplung, im
> Datenblatt (hast du's gelesen?
> http://www.mouser.com/ds/2/115/PAM8302A-247351.pdf) werden zwei
> Kondensatoren (1uF und 10uF, hast du) möglichst nahe am Chip
> vorgeschlagen. Der 1uF soll auch ein niedriges ESR haben. Des weitern
> ist jetzt ein Signal zu Rauschabstand von 75 dB nicht die Welt, da kann
> man schon mal rauschen hören!
>
> Wegen dem Knacksen: IMHO ist das ein Problem von deiner Software auf dem
> STM32. Irgend etwas übersteuert (digital!)

Die Cs hätte ich eigentlich relativ nahe platziert. ESR weiß ich jetzt 
nicht (ist ein Standard C).

Da der TI aber bereits Stereo kann, wage ich mich diesmal an den. Hierzu 
irgendwelche Empfehlungen?

mfg

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Felix F. schrieb:
> Hierzu
> irgendwelche Empfehlungen?

Leider nicht. Aber der TDA2822 ist eine kleine Stereoendstufe und läuft 
mit 3,3V prima und kostet so gut wie nix:
https://www.reichelt.de/ICs-TDA-440-TDA-2840/TDA-2822M/3/index.html?ACTION=3&LA=517&ARTICLE=20766&GROUPID=5475&artnr=TDA+2822M&SEARCH=%252A

Da er auch kein Class-D ist, ist der Aufbau problemlos und strahlt 
nichts ab.

von Felix F. (wiesel8)


Lesenswert?

Matthias S. schrieb:
> Felix F. schrieb:
>> Hierzu
>> irgendwelche Empfehlungen?
>
> Leider nicht. Aber der TDA2822 ist eine kleine Stereoendstufe und läuft
> mit 3,3V prima und kostet so gut wie nix:
> https://www.reichelt.de/ICs-TDA-440-TDA-2840/TDA-2...
>
> Da er auch kein Class-D ist, ist der Aufbau problemlos und strahlt
> nichts ab.

Der sieht auch ganz gut aus. Leider ist er bei Mouser nicht mehr 
verfügbar und überall als veraltet gekennzeichnet. Gibt es einen 
Nachfolger möglichst in SMD?

mfg

von guest (Gast)


Lesenswert?

Felix F. schrieb:
> Der sieht auch ganz gut aus. Leider ist er bei Mouser nicht mehr
> verfügbar und überall als veraltet gekennzeichnet. Gibt es einen
> Nachfolger möglichst in SMD?

Eventuell findest Du ja hier was passendes:
http://www.st.com/en/audio-ics/headphone-and-low-power-amplifiers.html
http://www.st.com/en/audio-ics/class-ab-audio-power-amplifiers.html

von Felix F. (wiesel8)


Lesenswert?

Der TDA2822D scheint wohl der Nachfolger zu sein und ist auch noch 
erhätlich. Preislich und schaltungstechnisch ziemlich identisch zum 
TI6111A2.

Jetzt frag ich mich, welchen ich nehmen sollte?

mfg

von Hurra (Gast)


Lesenswert?

Felix F. schrieb:
> Der TDA2822D scheint wohl der Nachfolger zu sein und ist auch noch
> erhätlich. Preislich und schaltungstechnisch ziemlich identisch zum
> TI6111A2.
>
> Jetzt frag ich mich, welchen ich nehmen sollte?
>
> mfg

Hängt von deinem konkreten  Aufbau ab:

Der TDA2822D ist für richtige Lautsprecher gedacht (4Ohm/8Ohm):
- Mehr Leistung als der TI6111A2
- bridged-Betrieb möglich
- Nicht kurzschlussfest
- Mehr Bauteile nötig (Bias)
Datenblatt ist etwas dünn.

Der TPA6111A2 ist ein Kopfhörerverstärker. Aber moderner:
- kurzschlussfest
- weniger Bauteile nötig
- besseres Datenblatt
- THD besser, und besser spezifizert
Ist aber für >8 Ohm gedacht und hat weniger Leistung.

Wenn du einen Lautsprecher mit 8Ohm betreiben willst: Klar der TDA2822.

Für die Wiedergabe von Musik mit guter Qualität auf einen Kopfhörer oder 
kleinem Speaker mit mehr Impedanz den TPA6111A2.

Naja, ein µC-DAC liefert kein HIFI, zuviele Gedanken würde ich mir da 
nicht machen.

von Felix F. (wiesel8)


Angehängte Dateien:

Lesenswert?

Da ich Kopfhörer/kleine Speaker ansteuern möchte, nehme ich den TPA. 
Anbei mal der aktuelle Entwurf.

Jetzt bräuchte ich noch einen kleinen Speaker...
Der hier sieht ganz gut ist, ist mir aber viel zu teuer: 
http://www.mouser.de/ProductDetail/PUI-Audio/AST-01532MR-R/?qs=sGAEpiMZZMuTkJYgZlQcSQjjFmMST0FVI2VB0E4gLYE%3d

Der hier wäre preislich besser, aber suche ich sowas? 
http://www.mouser.de/ProductDetail/CUI/CST-951AP/?qs=sGAEpiMZZMuTkJYgZlQcSf3VdWZLnS92FMq9s4Kt9k9FHOzj2Xir8w%3d%3d

mfg

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Felix F. schrieb:
> Der hier wäre preislich besser, aber suche ich sowas?
> 
http://www.mouser.de/ProductDetail/CUI/CST-951AP/?qs=sGAEpiMZZMuTkJYgZlQcSf3VdWZLnS92FMq9s4Kt9k9FHOzj2Xir8w%3d%3d

Nö. Der ist für 2,73kHz gedacht, wenn ich die techn. Daten richtig 
verstehe. Ist also ein auf eine einzige Frequenz optimierter Piepser.
Hättest du gleich gesagt, das du nur so einen miesen Quäker auf dem 
Board haben willst - da lohnt sich vermutlich kein integrierter 
Audioverstärker.

: Bearbeitet durch User
von Hurra (Gast)


Lesenswert?

Ich würde mal bei Reichelt kucken. Der hat eine gute Auswahl an 
Minilautsprechern:
https://www.reichelt.de/Miniaturlautsprecher/2/index.html?ACTION=2&LA=2&GROUPID=6559;SID=95WbIuRawQATMAADVke7Q039a4a067faf987279175ec6e3b592ea

Matthias S. schrieb:
> Felix F. schrieb:
>> Der hier wäre preislich besser, aber suche ich sowas?
>>
> 
http://www.mouser.de/ProductDetail/CUI/CST-951AP/?qs=sGAEpiMZZMuTkJYgZlQcSf3VdWZLnS92FMq9s4Kt9k9FHOzj2Xir8w%3d%3d
>
> Nö. Der ist für 2,73kHz gedacht, wenn ich die techn. Daten richtig
> verstehe. Ist also ein auf eine einzige Frequenz optimierter Piepser.
> Hättest du gleich gesagt, das du nur so einen miesen Quäker auf dem
> Board haben willst - da lohnt sich vermutlich kein integrierter
> Audioverstärker.

Naja, was heißt lohnt sich?
Mit einem Standard-OPV klappt es nicht gescheit an niederohmigen Lasten. 
Audio-OPV werden auch nicht billiger. Nur diskret ist günstiger.

Der fertige IC ist dagegen eine saubere und einfache Lösung. Beim 
Basteln sind die 1,3€ für 2 Kanäle nicht so teuer. Außerdem ist es 
kleiner (keine Ahnung, ob das wichtig ist).

von Markus M. (adrock)


Lesenswert?

Wenn es nur Mono ist könntest Du auch sowas wie den LM4991 nehmen:

http://www.ti.com/product/LM4991

An 4 Ohm bei 3,3V bringt er immerhin noch fast 1W.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hurra schrieb:
> Naja, was heißt lohnt sich?

Er könnte eine der Schmutzschaltungen aus dem Ausgangposting nehmen, 
Vorwiderstand, Transistor und zack! auf den Quäker. Reicht für solche 
Schallwandler dicke. Zum Stromsparen am Schluss Null in den DAC 
schreiben.

Beitrag #5136383 wurde von einem Moderator gelöscht.
von Felix F. (wiesel8)


Lesenswert?

Ich bleibe jetzt mal bei dem TI Chip. Kann nicht schaden hier ein paar 
Erfahrungen zu sammeln.
Jetzt würde mich bloß noch interessieren, wie ich am besten eine 
Lautstärkeregelung (mit einem Poti) umsetze? Ist das in Hardware 
möglich? Oder kann ich das in Software realisieren? (z.B. halbieren des 
DAC Values?)

mfg

von Hurra (Gast)


Lesenswert?

Felix F. schrieb:
> Ich bleibe jetzt mal bei dem TI Chip. Kann nicht schaden hier ein paar
> Erfahrungen zu sammeln.
> Jetzt würde mich bloß noch interessieren, wie ich am besten eine
> Lautstärkeregelung (mit einem Poti) umsetze? Ist das in Hardware
> möglich? Oder kann ich das in Software realisieren? (z.B. halbieren des
> DAC Values?)
>
> mfg

Ich persönlich habe das damals kompelett in Software gelöst. So 
ungefähr:

sample_out = (sample_in * GAIN) >>16;
0<GAIN<0xFFFF

Nachteil: Das reduziert die Auflösung. Bei mir ist das nicht so wild, 
Bei 16Bit-Samples stören 2 Bit Verlust nicht so. Naja, Pfusch ist es 
trotzdem irgenwie ;-)

Bei 10Bit könnte das stören. Probiers aus, möglicherweise reicht es ja 
trotzdem.

Du kannst aber den TPA6111 aber einstellen. Siehe S15 im Datenblatt. Man 
kann die Gegenkoppelwiderstände als Poti ausführen.

Wenn du das analog stellen willst per Software wäre ein digitales Poti 
oder ein PGA denkbar.

Beitrag #5136731 wurde von einem Moderator gelöscht.
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Felix F. schrieb:
> Jetzt bräuchte ich Rat, was für eine Schaltung sich am besten eignet.
> Ich brauche keine perfekte Qualität, die Schaltung sollte eher einfach
> und billig sein.

Ich hab in meinem aktuellen Projekt einen LM4906 als 
Lautsprecher-Verstärker eingesetzt.

Man braucht für den kaum externe Beschaltung und er arbeitet im 
Brückenbetrieb.

Echt nett, zusammen mit dem internen DAC funktioniert das wunderbar.

Im Anhang ein Teil meines Schaltplanes.

Anstatt der "0"-Widerstände kann man Ferrite einbauen.

Viele Grüße,
Mampf

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.