Forum: Mikrocontroller und Digitale Elektronik ATTiny13: Lautsprecher PWM-Anbindung


von Hagemann (Gast)


Lesenswert?

Wie ist ein Lautsprecher, um max. Lautstärke zu erreichen, an einen 
ATTiny13 anzuschließen? Ist ein Verstärker notwendig?

1
ATTiny13:     5 V
2
Fast-PWM:     32 KHz, 8 Bit
3
Lautsprecher: 0,25 W, 0,08 mH, 8 Ohm

von Stefan F. (Gast)


Lesenswert?

Du hast nicht definiert was "maximal" Lautstärke ist.
Das könnte die maximal mögliche Lautstärke ohne Verstärker sein, oder 
mit.

Du musst das PWM Signal herausfiltern, damit am Lautsprecher ein 
analoges Signal ankommt. Wenn deine PWM Frequenz zum Beispiel 20kHz ist, 
brauchst du einen Filter, der von den 20kHz im Idealfall nichts durch 
lässt.

Ein einfacher L/C Filter zweiter Ordnung müsste dazu auf eine 
Grenzfrequenz von ca. 1kHz ausgelegt werden - da kommt dann nur noch 
dumpfes gemurmel heraus. Wenn du die Grenzfrequenz jedoch höher legst 
(z.B. auf 4kHz) wird man die PWM Frequenz als störenden Pfeifton hören - 
zumindest wenn man gute Ohren hat.

Als was macht man?: Die PWM Frequenz so hoch wie möglich einstellen - 
auf jeden Fall ausserhalb des hörbaren Bereiches (also über 20kHz).

Für die Lautstärke wirst du um einen Verstärker nicht herum kommen. Die 
Ausgangsleistung des Mikrocontrollers reicht nur für gerade hörbare 
Signaltöne, zum Beispiel ein Piepser der Tastendrücke bestätigt.

Dann spielt der Lautsprecher eine Rolle. Durch die Wahl eines guten 
Lautsprechers und eines dazu passende Gehäuses kannst du die gefühlte 
Lautstärke bei gleicher elektrischer Leistung um Faktor 10 erhöhen. 
Achte beim kauf auf den Wirkungsgrad des Lautsprechers.

Lautsprecher mit hohem Wirkungsgrad haben oft auch höhere 
Verzerrungswerte, das ist bei deiner Schaltung jedoch irrelevant. Hifi 
wird aus deinem ATtiny13 so oder so niemals heraus kommen.

Wenn du es geschickt anstellst, kombinierst du den Filter zweiter 
Ordnung mit dem Verstärker in einem IC.

von MaWin (Gast)


Lesenswert?

Hagemann schrieb:
> Ist ein Verstärker notwendig?

Ja, aus einem uC Pin kommen keine 0.25W (50mA bei 5V).

Deine 8Ohm sind schlecht gewählt, 0.25W sind bei denen 1.414V und 176mA 
rms, also 2V und 250mA peak.

Ein geeigneter Verstärker wäre:
1
     +5V
2
      |
3
  +--|< BC337
4
  |   |E +
5
--+   +--100uF--+
6
  |   |E        | /|
7
  +--|< BC327  [ ] |8Ohm
8
      |         | \|
9
     GND       GND
Bessere Qualität bekäme man in dem man das PWM Signal erst filtert, dann 
durch einen LM386 schickt.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Hab aus Langeweile letztens einen "Verstärker" mit einem Attiny13a 
gebaut. Über den ADC eingelesen und dann als 8-Bit PWM mit 37,5 kHz über 
OC0A und OC0B gegenläufig geschaltet ausgegeben. Aber wirklich Laut war 
das nicht...

von c-hater (Gast)


Lesenswert?

Tim T. schrieb:

> Hab aus Langeweile letztens einen "Verstärker" mit einem Attiny13a
> gebaut. Über den ADC eingelesen und dann als 8-Bit PWM mit 37,5 kHz über
> OC0A und OC0B gegenläufig geschaltet ausgegeben. Aber wirklich Laut war
> das nicht...

Der Lautsprecher hatte dann wahrscheinlich eine viel zu geringe 
Impedanz. Du musst sie so wählen, dass sich eine Leistungsanpassung 
ergibt (also Impedanz so ungefähr 100Ohm), dann erzielst du die maximal 
mögliche Lautstärke. Zum Filtern der PWM-Frequenz kann man dann übrigens 
noch einen Kondensator parallel schalten.

Aber Vorsicht: so eine Konstruktion ist definitiv geeignet, die Ausgänge 
eines AVR8 zu zerstören. Ich jedenfalls habe das damit schon 
geschafft...

Das liegt daran, dass (bereits ohne Filterkondensator) die Hälfte der 
Leistung in den beiden beteiligten Buffern des AVR umgesetzt wird. Mit 
Filterkondensator sind es u.U. (durch die Resonanz des aus der 
Induktivität des Lautsprechers und Kondensator gebildeten 
LC-Schwingkreiseses) sogar deutlich mehr, wenn der Wert des Kondensators 
ungünstig gewählt wird.

Wenn überhaupt, dann ist das Prinzip also nur für sehr kurze Warnsignale 
oder sowas zu empfehlen, keinesfalls für länger andauernde 
Soundausgaben.

Ich würd's garnicht machen. Nicht wieder... ;o)

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.