class d audio amplifier IC

  • Hallo,


    ich schreibe es nun extra in dieses Topic weil ich keine TTT-Gespräche oder Qualitativ minderwertige Antworten haben möchte, falls es hier dennoch fehl am Platz ist da es kein LED Thema ist bitte eben verschieben.


    Wir sind gerade in der Uni mit einem Projekt beschäftigt, hier sind wir auf der Suche nach einer Verstärkerschaltung für ein Lautsprecher (aktuell <1W aber das wird wohl noch steigen. Frequenzen die wir benötigen werden zwischen 1kHz und 8kHz liegen, welche genau wir nehmen muss noch ermittelt werden). Dieser sollt mittels PWM angesteuert werden, da er an einen µC angeschlossen wird. Nach etwas Sucharbeit sind wir dahinter gekommen dass diese Verstärker Claas D verstärker für Audioapplicationen sind.


    Der "Si824x" tut glaube ich genau das was wir benötigen, aber er ist ziemlich überdimensioniert.
    ( http://www.silabs.com/Support%…/TechnicalDocs/Si824x.pdf )


    Wir sind neu auf diesem Gebiet und ich würde mich freuen wenn wir ein paar Tipps bekommen könnten. Datasheets lesen etc bekommen wir hin, aber wäre cool wenn wir ein paar Ideen bekommen welches IC wir nehmen könnten oder worauf wir achten müssen bei der Auswahl.



    Gruß Björn

  • weil ich keine TTT-Gespräche oder Qualitativ minderwertige Antworten haben möchte, falls es hier dennoch fehl am Platz ist da es kein LED Thema ist bitte eben verschieben.

    Verschoben, mit "LED Expertenforum" hat das nun ja gar nix zu tun - übrigens bekommt man gerade im TTT weniger unqualifizierte Antworten, weil da posten nur Leute, denen's um die Sache geht, nicht auch welche, die nur mal irgendnen Schmarrn loslassen, um wieder 1/10 Slotcode mehr zu haben... ;) - ich selbst (und manch anderer) frage deswegen z.B. auch immer im TTT, wenn ich mal ne Frage habe, auch wenn's um LEDs geht...


    und TTT heisst nicht "off Topic", auch hier soll beim eigentlichen Thema geblieben werden und nicht über sonstwas gelabert - *sollte* (glaub ich aber nicht) der Thread hier also mit o.t. zugespammt werden, dann einfach Bescheid sagen.


    wenn ich das richtig sehe, erzeugst Du das PWM-Signal ja schon mit dem µC, also brauchst Du gar keinen kompletten Class-D-Verstärker (wie den PAM8403) mehr hinterher - da reicht eigentlich ein FET zum schalten, dahinter Tiefpass und Lautsprecher dran... je nach Klangqualität halt, aber wenn das Teil eh' nur 1 kHz bis 8 kHz übertragen muss, sind da die Anforderungen wohl insgesamt nicht so hoch...?


    wenn die mit der PWM-Frequenz mitkommt (wie hoch ist da geplant?) geht da im Prinzip auch so ne H-Brücke, die man normal zum ansteuern von Motoren nimmt...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Jau danke, das mit dem Topic merke ich mir. Hatte nur angst das hier jeder plötzlich alles postet was er mal irgendwo aufgeschnappt hat ;) Das es nun in TTT ist , ist voll in Ordnung.



    Also es geht darum dass wir signalgeber brauchen die Geräusche erzeugen, damit der NAO-Roboter diese orten kann. Der NAO hat mikrofone die bis 8kHz detektieren. Aktuell haben wir nur den Eindruck dass eine konstante Frequenz von der API nicht gut erkannt wird, da ein "Knall" oder eine Frequenz-Lautstärkeveränderung erwartet wird.


    Bei der Frage nach dem audio-verstärker ging es darum das wir vom Arduino möglichst einfach einen Lautsprecher ansteuern können. Aktuell haben wir herausgefunden, das ein Rechtecksignal auch einen "schönen" Ton erzeugen kann. Das muss aber noch weiter getestet und gemessen werden.



    (PS: sorry wegen der Zerhackstücklung der Deutschen Sprache, ich studiere auf Niederländisch und da bleibt gerade viel Rechtschreibung auf der Strecke)

  • Bei der Frage nach dem audio-verstärker ging es darum das wir vom Arduino möglichst einfach einen Lautsprecher ansteuern können. Aktuell haben wir herausgefunden, das ein Rechtecksignal auch einen "schönen" Ton erzeugen kann. Das muss aber noch weiter getestet und gemessen werden.

    Ja, Rechteck kann auch gut klingen, hat auch jeder analoge Synthie mit drin, evtl. noch etwas tiefpass-filtern, gibt nen netten Sound...


    insb., wenn der eher ein "Geräusch" erwartet, muss es ja gar nicht so schön 100% sinus-förmig sein...


    wie steuert Ihr den Lautsprecher (was für einer? - so ein kleiner dynamischer, oder Piezo, oder was?) denn aktuell an...? - wenn die Schaltung "schnell" genug ist, kann man die ggfs. ja auch gleich so lassen...


    i.M. erzeugt Ihr ja Rechteckpulse im hörbaren Frequenzbereich, die der Lautsprecher (mehr oder weniger) direkt so wiedergibt - legst Du nun PWM mit hoher Frequenz an, dann kann der Lautsprecher dem Signal einfach nicht mehr folgen, er gibt also das Signal wieder, das durch das Tastverhältnis gebildet wird...


    ganz einfach findet dieses Prinzip z.B. hier Verwendung, der µC arbeitet dabei direkt als "Gegentakt-Endstufe", eine Seite des Lautsprechers an nen PWM-Ausgang, die andere an den invertierten PWM-Ausgang (siehe Schaltplan) - damit ist das Ding schon ganz schön laut.


    also wegen der Leistung, es kommt ja eher auf den erzielbaren Schalldruck an..? - da spielt der Wirkungsgrad des Lautsprechers eine große Rolle, hast Du z.B. einen mit 100 db/W, dann bringt der den selben Schalldruckpegel wie einer mit 97 db/W an der doppelten Verstärkerleistung - da es hier nur um 1kHz bis 8 kHz geht, könnte man also statt ner simplen "Pappe" auch ein Hochtonhorn mit gutem Wirkungsgrad nehmen...


    evtl. reicht das dann auch schon - programmiert Ihr den Arduino in "Ardunio" oder anders...? - ich weiß halt nicht, ob man den mit der Arduino-IDE auch so einstellen kann, dass er PWM an beiden Pins rausgibt (normal und invertiert), das heisst da ja immer alles ganz anders... :D

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Der "Si824x" tut glaube ich genau das was wir benötigen, aber er ist ziemlich überdimensioniert.

    Hmm, also wenn ein schlichter 16-Pin SOIC schon überdimensioniert ist ...
    Willst Du es kleiner? Oder mit weniger Anschlüssen?
    In beiden Fällen:
    http://de.farnell.com/texas-in…-d-audio-power/dp/1686302
    http://de.farnell.com/national…ss-d-1-1w-4664/dp/8238863


    Sonst mal bei http://www.Farnell.de nach "ClassD" suchen, sowie nach "Class-D".


    Zu achten wäre eventuell noch auf den Klirrfaktor. Die filterlosen Typen haben oft 10% Klirr, was recht übel ist.
    Mit etwas Suchen findet man auch 1%, dann aber mit nachgeschaltetem Filter.


    Muttu mal schauen, was für Leistungen Du brauchst, also wieviel Watt an wieviel Ohm.



    Das Abspielen mit 'nem AVR ist recht simpel, wenn Du 8-Bit Wave-Dateien nimmst und den Header ignorierst bzw. wegschneidest.
    Einfach Byte für Byte den Wert im PWM-Zähler verändern.
    Auf diese Weise bekommt man auch viel höhere Frequenzen hin, als 8kHz, weil die Hardware-PWM die Hauptarbeit automatisch tut und das selbsterstellte Programm nur den Wert vom Zähler aktualisieren muss.


    Zwei Probleme fallen mir auf die Schnelle ein, mit denen Du eventuell konfrontiert werden könntest, kann das jetzt nicht vertiefen, will Dich nur schon mal impfen, zum selbst Weiterforschen:


    1) Den Wert im PWM-Zähler immer nur synchronisiert aktualisieren, also z.B. am Anfang der Zählschleife, nicht einfach irgendwo mitten drin.
    2) Es kann sein, dass Du am Ende des Sounds einen "unerklärlichen" Ton erhältst. Ein Knacken im Lautsprecher oder so, obwohl die Wavedatei dezent ausklingt.
    Letzteres KANN passieren, muss aber nicht. Gerade wenn Du einen fertigen IC nimmst, kann es sein, dass das gar nicht in Erscheinung tritt.
    Sei nur schon mal sensibilisiert und mache vorher ein paar Tests, bevor Du eine theoretisch vollendete Platine layoutest, die dann modifiziert werden müsste.
    Ich hatte damit mal zu kämpfen, aber ohne Spezial-IC, einfach PWM-Ausgang auf Filter und dann auf 'ne Aktivbox. Komme aber gerade auf die Schnelle nicht mehr darauf, was dafür die Ursache war.
    Jedenfalls muss die PWM immer laufen, man darf die nicht einfach abschalten, am Ende des Soundfiles, sonst "knackt" es fast garantiert im Lautsprecher.

  • ja, das ist klar - man lässt halt die HW-PWM einfach durchlaufen, gibt ja keinen Grund, die auszuschalten...


    ob er überhaupt Soundfiles abspielen will k.A., für mich hat sich das so angehört, dass er die Töne selbst erzeugen will... und das auch nicht gerade in Hifi-Qualität... :D


    wenn Files abspielen wollte, dann folgendes: bei "Ausgang macht nix"/"kein Ton" sollte der PWM-Wert dann "in der Mitte" stehen (bei 8 Bit also 128 ), damit man keinen Gleichspannungsanteil hat - also ist es wichtig, dass die Wave-Datei auch mit (nahe) 128 aufhört, ist der letzte Wert in der Datei z.B. "0" und dann springt's plötzlich auf 128, dann knackst's natürlich...


    ob BGA für nen Bastler so toll ist...? - abgesehen davon, wie bereits schon gesagt, er braucht ja gar keinen kompletten Class-D-Verstärker, weil er die PWM ja selbst erzeugt - er braucht ja nur den Leistungsteil, eben die H-Brücke, oder Halbbrücke, oder - wenn's damit laut genug wird - ggfs. auch gar nix weiter an HW... (siehe Plan von Elm Chan)


    EDIT: Was ist damit eigentlich gemeint:

    1) Den Wert im PWM-Zähler immer nur synchronisiert aktualisieren,

    ? - den Wert für die HW-PWM aktualisiert man ja reglemäßig in nem Timer, der mit der Sampling-Frequenz läuft, also man schreibt halt den neuen Wert in's OCR - da musst Du aber nicht drauf achten, wie der Zählerstand des Timers gerade ist (TCNT-Register), das wird automatisch synchronisiert:

    Zitat

    The OCR0 Register is double buffered when using any of the Pulse Width Modulation (PWM)
    modes. For the normal and Clear Timer on Compare (CTC) modes of operation, the double buffering
    is disabled. The double buffering synchronizes the update of the OCR0 Compare Register
    to either top or bottom of the counting sequence. The synchronization prevents the occurrence
    of odd-length, non-symmetrical PWM pulses, thereby making the output glitch-free.

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    Einmal editiert, zuletzt von Pesi ()

  • Danke für's Nachschauen im Datenblatt, Pesi.
    Darauf wollte ich jedenfalls hinaus, dass er darauf achtet. Man kann ja auch unsynchronisiert den Wert augenblicklich ändern.


    BGA mag ich zwar auch nicht gern, aber 9 Pin ist noch halbwegs im grünen Bereich. Heißluft und fettich. Ich meine, wenn ihm ein SOIP16 zu "überdimensioniert" ist!?! Was will er sonst machen?
    Kleiner kriegt man solche Leistung jedenfalls nicht hin. Er will ja 'nen kleinen Lautsprecher ansteuern, braucht also irgendeinen Verstärker. Weniger als 1W zwar, aber doch etwas viel, um das direkt mit 'nem AVR-Pin zu treiben. Klar kann man den Verstärker auch zu Fuß aufbauen, aber das wäre erst recht aufwändiger/größer, als mit 'nem SOIC16.


    Zur WAVE-Datei: Ja, das ist klar, hast Du auch bestens erklärt.
    Audacity (z.B.) erzeugt Dateien, die um den Nullpunkt herum, beide Polaritäten annehmen.
    Die 8-Bit PWM-Geschichte hingegen, spielt sich nur mit positiven Zahlen ab, ist also um 8-Bit/2 verschoben.
    Da liegt der Nullpunkt also bei 128.
    Muss ich mir bei Gelegenheit nochmal mit dem Hexiditor ansehen, was Audacity letztendlich erzeugt.
    Ich erinnere mich noch vage, dass ich dennoch das "Knack-Problem" hatte und ziemlich tüfteln musste, weil die Datei im Hexeditor plausibel aussah (Mittelstellung bei 128 ), es aber dennoch knackte.
    Weiß einfach nicht mehr, ob es letztendlich am Filter lag. War damals so ein schnell provisorisch zusammengeschustertes Ding für 'ne Vorführung, das dann für Überraschungen sorgte.
    Ich will Bloody nur impfen, damit er nicht froh drauflos layoutet, ohne das explizit getestet zu haben.


    Woran ich mich auch noch gut erinnere, ist dass das menschliche Ohr empfindlicher auf Übernahmeverzerrungen (bei Analogverstärkern) reagiert, als das Auge bei 'nem Oszibild.
    Man dreht am Regler, um die Übernahmeverzerrung wegzuregeln. Auf dem Oszi sieht der Sinus schon perfekt aus, aber man hört, dass es noch nicht ganz ideal ist, muss also etwas weiter drehen. Und am Oszi sieht man rein gar nichts von der Veränderung, weil viel zu minimal.
    Naja, solche Ansprüche hat er in seinem Fall wohl nicht. Aber das mit dem Knacken ist schon echt deutlich, wenn es auftritt.

  • Ich vermute mal, dass mit "überdimensioniert" hier eher Preis und Komplexität des ICs gemeint waren. Ich würde eine MOSFET-Halbbrücke benutzen mit entsprechendem Treiber-IC (Half-bridge- bzw. synchronous driver). Gegen die Übernahmeverzerrungen könnte da ein Typ mit adaptiver Totzeit helfen (Spekulation), also sowas wie die TPS28225/6. An den Ausgang der Brücke den Lautsprecher über einen Koppel-C (und evtl. eine zus. kleine Induktivität) nach Masse. Versorgungsspannung der Halbbrücke und MOSFET-Typ nach gewünschtem Schalldruck aussuchen, das sollte es tun, wenn auch kein High-End...

  • Ich hätte auf der Arbeit 4-Kanälige Class-D Endstufen-ICs mit ~40 Watt rumliegen.... Interesse?


    Gruss
    Thomas

    Wir brauchen kein Dschungelcamp - wir brauchen kein Überlebenstraining.
    Wenn wir uns was beweisen wollen arbeiten wir mit Software ohne das Handbuch zu lesen.

  • Wenn PWM nicht zwingend ist - wie wär mit ner kleinen Sirenenschaltung - entweder als Bausatz oder diskret aufgebaut.
    Für den Frequenzbereich würd ich auch nen Piezo empfehlen, dem macht auch ein Rechteck-Signal garantiert nichts aus. Ich weiß nicht wies da bei normalen Lautsprechern aussieht, da Rechteck im Prinzip ja ne zerhackte Gleichspannung ist und man eigendlich einem Lautsprecher keine Gleichspannung antuen sollte.

  • Darauf wollte ich jedenfalls hinaus, dass er darauf achtet. Man kann ja auch unsynchronisiert den Wert augenblicklich ändern.

    Aber nicht in den PWM-Betriebsarten, da wird das wie gesagt "automatisch" gepuffert und synchronisiert - also der neue Compare-Wert erst beim Zählerüberlauf übernommen...


    Er will ja 'nen kleinen Lautsprecher ansteuern, braucht also irgendeinen Verstärker.

    Ja, aber eben nicht so ein komplettes Modul - den Teil mit der PWM-Erzeugung in dem IC braucht er ja nicht, das macht er ja selbst. Diese ICs erwarten ja ein analoges Signal am Eingang, d.h. er müsste erst mit nem Tiefpass aus seinem PWM-Signal ein analoges Signal machen, und das IC macht dann intern wieder PWM draus, das ist ja "doppelt gemoppelt".


    Daher, wie schon gesagt, und von Mosfet auch, einfach ne H-Brücke oder Halbbrücke... und wenn ihm der kleine SO16 schon zu überdimensioniert ist, dann wird er bestimmt auch keine 4-kanaligen Module mit 40 W brauchen können... :wacko:


    Oh, Post dazwischen... was soll er denn mit ner Sirenenschaltung...?!? ?( - und der Lautsprecher soll ja über ne Halbbrücke angesteuert werden, damit eben kein Gleichspannungsanteil dabei ist...


    nur der Vollständigkeit halber: das Teil von Elm Chan ist schon gut laut, mit nem popeligen kleinen 8-Ohm-Lautsprecher - damit 1-8 kHz über ein Hochtonhorn sollte schon ordentlich plärren... :D


    Interessant wäre ja auch, welcher Lautsprecher da i.M. wie angeschlossen ist, Du (Bloody) hast doch schon Töne erzeugt, wie kommen die denn raus, werden verstärkt, etc.?

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Wo kam eigentlich die Vorgabe "Class D" her?? Wenn das Teil nur 1W erzeugen und nicht gerade aus AAA-Zellen versorgt werden soll, wäre ein Class-(A)B-Verstärker hierfür nämlich deutlich billiger und einfacher aufzubauen. PWM-Signal tiefpassfiltern, OPV mit Gegentakt-Emitterfolger dahinter und dann hat man es auch.

  • Ja, hm, k.A. - wahrscheinlich war da wohl der Gedanke, wenn das Signal eh' schon als PWM vorliegt, dass man dann halt gleich auf der "digitalen Schiene" weiter macht....?


    aber stimmt schon, man kann das ja auch einfach mit nem R-C-Tiefpass filtern, und dann ganz normal analog weiter verstärken - da gibt's ja ICs und Schaltungen wie Sand am Meer für diesen Leistungsbereich...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Danke für die vielen kompetenten Antworten, werde sie in der Uni durcharbeiten und nicht privat, daher bitte ich um geduld.


    "überdimensioniert" meinte ich weil das ding glaube ich angegeben war 50 - 170 W oder irgendwo etwas in der Größenordnung.



    ich melde mich die Tage hier noch einmal zu Wort

  • Ich hätte auf der Arbeit 4-Kanälige Class-D Endstufen-ICs mit ~40 Watt rumliegen.... Interesse?


    Gruss
    Thomas

    Korrektur: 70(2*35) Watt
    Es handelt sich um folgende Komponenten': DDX-2000 und DDX-2060


    von der Endstufe habe ich knapp 80 Stück, vom Controller finde ich gerade nur 20 Stück

    Wir brauchen kein Dschungelcamp - wir brauchen kein Überlebenstraining.
    Wenn wir uns was beweisen wollen arbeiten wir mit Software ohne das Handbuch zu lesen.