www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Verstärkerfrage für Sound aus uC


Autor: J. Perthold (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hier wurde öfters schon mal die Frage diskutiert wie man mit dem uC
digitalen Sound ausgeben kann. Die einfachste Möglichkeit scheint das
Integrieren über einen RC Tiefpassfilter zu sein. Die eleganteste
Methode ist das Verändern eines PWM Counter-Registers mit den
WAV-Samplewerten. Hierdurch wird die Spannung über dem Kondensator
geändert. Egal wie es gemacht wird, das Ergebnis ist ein entsprechend
geladener Kondensator am Ausgangspin.

 uC Pin-> o-----RRRR----+----o Analoges Audiosignal->
                        |
                       CCC
                        |
                       ===

Mein Problem ist nun wie ich den ausgegebenen WAV-Wert nun auf einen
Lautsprecher gebe. Brauche ich einen Koppel-Kondensator um den
Gleichstromanteil zu eliminieren ? Reicht bei einem 5V uC ein
Transimpedanzverstärker, um das Signal dann auf einen Lautsprecher oder
Piezo zu geben ? Ich will keine High-End Lösung sondern etwas was
einigermaßen funktioniert.

Danke für jeden Hinweis,

 Jürgen

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Prinzip könntest du auch einfach einen NPN-Transistor direkt mit dem
Portpin ansteuern, der wiederum einen Lautsprecher ansteuert. Der
Lautsprecher ist dann der Tiefpass.

Autor: ecslowhand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ein kleiner NF-Verstärker IC dahinter. Kommt halt immer drauf an,
was für Leistung, Stromverbrauch, Qualtität und Aufwand du willst.

Autor: J. Perthold (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Problem ist, dass der Spannungsbereich durch die 5V uC Versorgung
schon ziemlich groß ist, was jeden normalen NF Verstärker wohl
überfährt.

Ich werde mal die Billig-Transistor Methode direkt an Lautsprecher
probieren. Vermutlich kommen da aber die Oberwellen der PWM Frequenz
mit durch (=Pfeifen).

Danke auch für den Atmel-Link, das ist natürlich schon eine umfassende
Lösung :-)

Gruß,

 Jürgen

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest auch ein Poti hinter den Kondensator hängen (womit sich zwar
der Ausgangswiderstand deiner Schaltung ändert) und damit dann die
abgegebene Spannung reduzieren.
Ein nachgeschalteter Verstärker sollten dann noch ein gewisses
Tiefpass-Verhalten besitzen (Grenzfrequenz bei 16kHz...).

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
operationsverstärker.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hänge meist einen HC245 an der PWM Port, und schalte alle Gatter
parallel.
Das reicht um einen Lautsprecher mit >16Ohm anzusteuern.

Der Sound ist zwar nicht HiFi, aber besser als man erwarten würde. Und
der Wirkungsgrad und somit die erzielbare Lautstärke ist größer als bei
einem Linearverstärker.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jürgen

um das pfeifen zu vermeiden kann man auch die  pwm-frequenz um ein
vielfaches (nach möglichkeit durch 2 teilbar) erhöhen. du gibst dann
nur jedes x.te mal ein neues sample aus (sprich : beschreibst dein
pwm-register). dadurch verringerst du den ripple auf dem
tiefpassgefilterten signal, und die qualität wird besser (vor allem bei
leisen audio-signalen)

gruß
rene

Autor: Christian Rötzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@TheMason

Das mit dem PWM vervielfachen glaube ich nicht. Dass man mit der
höchstmöglichen PWM-Frequenz des uC arbeitet ist eh klar, aber darüber
hinaus :-/

Ich habe auch einen Vorschlag:

Um den Ripple zu reduzieren, kann man synchron zur PWM den
nachgeschalteten Tiefpass 1. Ordnung samplen und bis zum nächsten
Samplen "holden", also synchron abtasten. In erster Näherung ist
damit der Ripple komplett elime..., elimi..., entfernt.

Ich bin nur unsicher, ob das Verfahren Verzerrungen hervorruft.

Autor: J. Perthold (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der angegebene ATMEl Link
(http://www.atmel.com/dyn/resources/prod_documents/...)
Enthält zwar eine wunderbare Schaltung, die jedoch nicht in der Lage
ist einen Kopfhörer geschweige denn einen Lautsprecher zu treiben.
Offenbar hat das noch nie jemand probiert... Eine Info an Atmel wird
dazu noch raus gehen.
Ich werde nun eine Lösung mit einem TDA7052 anstreben, das ist ein 1
Watt NF Verstärker der als externe Beschaltung nur noch 2 Kondensatoren
benötigt, keine negative Versorgung und einen ziemlich freundlichen
Spannungsbereich besitzt.

Gruß,

 Jürgen

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@christian

habe deinen beitrag gerade erst gelesen.
ich bin mir aber ziemlich sicher das es funktioniert.
wenn du mit einem vielfachen der PWM-Frequenz arbeitest eleminierst
(das wars :-))) die du störgeräusche (vor allem die grundfrequenz der
PWM, bei einem tiefpass 1. ordnung immer noch zum teil durchkommt)
dadurch das du diese in ein frequenz-spektrum verschiebst das deutlich
über der frequenz des tiefpasses liegt.
den ripple verminderst du dadurch das der tiefpass mit seiner r-c
zeitkonstante ja quasi nicht "mitkommt" mit der pwm (will heißen die
zeit zwischen laden/entladen ist um ein vielfaches kürzer, dadurch wird
der ripple nicht so groß weil der kondensator eben seine zeit braucht).
ich habs selbst schon getestet. ich hab das auf einem fpga
implementiert. dort hatte ich einen systemtakt von 50MHz für eine 8Bit
PWM. Bei 4fachem Wiederholen hatte ich eine effektive Samplerate von
48kHz. und der ripple war deutlich geringer als wenn ich nur mit
einfacher samplerate gearbeitet habe (und dann nicht 8 bit sondern
10bit).

gruß
rene

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.