PC Audio Verstärker

  • ...Eigentlich schon bald abgeschlossen, aber ich dachte, ich zeig es auch trozdem.


    Die Idee entstand, als ich auf der Suche nach guten PC-Lautsprechern war.
    Und mit Gut meine ich nicht wie Laut man aufdrehen kann, sondern die Qualität der Widergabe (natürlich bei entsprechend brauchbarem Ausgangsmaterial).
    Primär ging es mit also um Musik, daher ist ein 5.1 Surround-Set das falsche.
    Leider fand ich keine aktiven PC-Boxen, die meine Erwartungen erfüllten und die Idee einen normalen Audio-Verstärker an de PC anzuschliessen passte mir auch nicht, da hierbei oft Probleme mit brummschleifen entstehen, zudem ist es wider ein Gerät mehr, das herum steht.


    Schlussendlich kam die Idee, dass ich mir selber einen Verstärker bauen könnte, der gleich in den PC eingebaut wird. Natürlich wollte ich hierbei eine möglichst gute Widergabequalität erreichen.
    Nach etwas googeln fand ich eine brauchbare Grundlage:


    http://avondaleaudio.com/power-amplifier-module-ncc200/


    Dieses Modul schien mir interessant, da es
    - genügend Leistung bietet
    - vermutlich gut klingt (dies verspricht zumindest der Hersteller)
    - vom Aufbau her relativ einfach ist.
    Un das wichtigste: das Schema ist auf der Page veröffentlicht.


    Natürlich sind diese Module viel zu gross, um in den PC einbauen zu können, da zusätzlich noch eine Kühlung benötigt wird.
    Ich überlegte mir, dass es eigentlich möglich sein sollte, diese Schaltung etwas anzupassen, damit diese auf möglicht kleinem Raum aufgebaut werden konnte - natürlich mit möglicht wenigen kompromissen, was die Audio-Qualität anbelangt.


    Also begann ich, und baute der erste Prototyp - oder sagen wir besser, ein Versuchsaufbau.
    Dieser Aufbau bestand aus einer Endstuffe, 1:1 nach dem Schema von der o.g. Page. Ich optimierte hier auch noch nichts bezüglich der Grösse, es ging mir in erster Linie darum, zu sehen, ob diese Schaltung wirklich was taugt, und ob der Nachbau (ohne gleich das komplette Set in England zu bestellen) so einfach möglich ist, wie ich mir das vorstellte. Daher baute ich das Ganze auf einer Lochrasterplatte auf, und dies für nur einen Kanal (Mono).


    Vom Ergebnis war ich doch etwas erstaunt: Auf Anhieb funktionierte alles wie erhofft.
    Nach einigen Tests habe ich dann auch meine grossen Boxen angeschlossen. Das Ergebniss: Klanglich vergleichbar mit meinem 'grossen' ROTEL-Verstärker.
    Soweit waren also meine Erwartungen an einen Verstärker für den PC mehr als erfüllt.


    Da nun soweit alles im grünen Bereich lag, machte ich mich an die notwendigen Anpassungen, um die Schaltung auf PC-Grösse zu schrumpfen.
    1. Problem: die Kühlung
    Im Original wird eine Stromversorgung von +/- 40V verwendet. Dies wird benötigt um auf die ~90W Ausgangsleistung zu kommen.
    Das Problem ist, dass bei dieser Schaltung (klassiches Klass AB Design) immer ein Teil der Energie verheizt wird.
    Diese Wärme abzuführen ist innerhalb eines PC-Gehäuses, auf kleinem Raum (Ziel: PCI-Karten-Grösse), relativ schwirig, wenn man nicht einen lauten Lüfter verwenden möchte.
    Also versuchte ich die Wärmeentwicklung zu senken.
    Die produzierte Wärme ist (etwas vereinfacht ausgedrückt) abhängig von der eingestellten Lautstärke und von der Höhe der Versorgungsspannung.
    Da ich in meine Büro keine 90W pro Lautsprecher benötige, machte ich einen Versuch mit verringerter Versorgungsspannung.
    Unter ~ +/-30V war der Betrieb allerdings nicht mehr möglich, da sich der Arbeitspunkt der Eingangsstuffe verschob.
    Also habe ich diese Schaltung angepasst, so dass zum Schluss auch ein Betrieb mit einer Spannung von +/- 10V möglich war.
    Somit war das Ziel, die Wärmeentwicklung zu senken, erreicht. Die Tonqualität verschlechterte sich durch diese massnahem nicht - nur die Ausgangsleistung wurde vermindert.
    Um schlussendlich immernoch Spass an der Laustsärke zu haben, hab ich mich für eine Speisung von ~ +/-25V entschieden (was sich im Nachhinein für mehr als ausreichend erwies).


    Update 28.1.2012:


    2. Problem: die Grösse
    Im nächsten Schritt versuchte ich die Grösse zu minimieren.
    Die Grundidee war, soweit möglich nur SMD-bauteile zu verwenden. Aufgrund der reduzierten Leistung war dies bei nahezu allen Bauteilen möglich.
    Um das Ganze zu testen, habe ich dann beim Versuchsaufbau einige Elemente durch SMD-Bauteile ersetzt. Die Erkenntniss war, dass dies so funktioniert wie geplant.
    Die Ausgangstransistoren waren die einzigen Bauteile, dich ich nicht durch SMD ersetzen konnte, da dort die grösste Leistung umgesetzt wird. Ich habe jedoch einige tests mit den kleineren MJE15030 (TO-220) gemacht.
    Diese Verhielten sich bezüglich stabilität und Tonqualität auf dem gleichen Niveau wie die originalen MJE15003 (TO-3). Auch von der Leistung her war es kein Problem, die Wärme konnte ohne weitere Probleme abgeführt werden.
    Ich suchte dann für alle Bauteile einen passenden Ersatz in SMD-Bauform.
    Dabei legte ich grossen Wert darauf, dass ich troz der kleineren Grösse, keinen Nachteil in der Qualität habe.
    Einige Bauteile fand ich relativ schnell, da es vom Hersteller das gleiche Bauteil als SMD-Variente gibt (baugleich, bis auf das Gehäuse).
    Etwas schwieriger war der Transistor 2n5551, da es hiervon keine 1:1 SMD-Version gibt. Nach einer etwas aufwändigen Suchaktion habe ich dann den BSR19A gefunden, der von den elektrischen Eigenschaften her dem 2n5551 sehr ähnlich war. Ein Test bestätigte dann auch, dass dieser funktioniert.
    Für die Widerstände entschied ich mich für die MINIMELF-Bauform. Diese haben im Vergleich zu der CHIP-bauform die besseren thermischen Eigenschaften, und weniger Rauschen. Dafür sind sie etwas teurer (und sind mühsam zum Löten, da sie immer wegrollen :) )


    Hier ist ein Bild, wie der Versuchsaufbau schlussendlich ausgesehen hat. Leider habe ich kein Bild von dem Print im Ausgangszustand, da ich während dem Basteln keine Fotos gemacht habe.



    Auf dem Bild zu sehen:
    Blau: Transistoren, die ich zum testen durch die SMD-Version ausgetauscht habe.
    Rot: Widerstände, die ich zum testen durch die SMD-Version ausgetauscht habe.
    Grün: Sicherungen


    Die Ausgangstransistoren auf diesem Bild sind die grossen (TO-3), dies hat folgender Grund:
    Während meinen Tests hat plötzlich ein Kabel von der Speisung den Print auf der Unterseite berührt. Nach einiger Rauchentwicklung stellte ich fest, dass die Ausgangstransistoren nun vermutlich defekt sind. :rolleyes
    Da ich von den kleinen Transistoren keinen Ersatz hatte, habe ich wider die Grossen eingebaut.
    Dies ist auch der Grund, warum ich dann (im nachhinein) noch Sicherungen für die Speisung auf dem Print aufgelötet habe.


    Der Kühlkörper, der auf dem Bild zu sehen ist, habe ich während den ganzen Tests verwendet. Dieser ist jedoch nicht gross genug, um den Verstärker für längere Zeit mit voller Leistung zu betreiben.


    Hier noch ein Bild von den Lötarbeiten auf der Unterseite des Prints:


    Stromversorgung:
    Für meine Tests verwendete ich einen normalen Transformator mit ~2x24V AC, die ich über einen Brükengleichrichter und zwei Kondensatoren in +/- 34V verwandelte.
    Für die Tests mit kleinener Versorgungsspannung verwendete ich einen Transformator mit einer tieferen Ausgangsspannung.


    Soweit hatte ich eine funktionierenden Aufbau des Verstärkers, mit einer Lösung für die o.g. Probleme.
    Nun gibt es aber noch einiges was fehlt, um einen brauchbaren Verstärker für meine Anwendung zu erhalten:
    - Vorverstärker mit Lautstärkeregelung
    - Steuerung der Stromversorgung
    - Optimierung der Kühlung


    Als Vorverstärker habe ich nach einiger Suche eine einfache Lösung gefunden:
    Es gibt ein IC (PGA2311), das sich für meine Anwendung sehr gut eignet. Es ist ein Audio-Vorverstärker, dessen Verstärkung über eine digitale Schnittstelle eingestellt werden kann.


    Ich entscheid mich dann, einen Mikrocontroller zu verbauen, der den Vorverstärker ansteuert, sowie sie Steuerung der Stromversorgung übernimmt.


    Details dazu werde ich nächstens verfassen.. :)
    Bis auf weiteres...

    Ungenügender Speicher zur Anzeige der

    Einmal editiert, zuletzt von aschi ()

  • Ok, es geht weiter mit dem dritten Teil.
    Noch immer schreibe ich dass, wass ich vor einiger Zeit gemacht habe, da ich eigentlich schon viel weiter bin, ich möchte jedoch alles schän der Reihe nach beschreiben.


    Nach diesen Anpassungen/Tests war definiert, was ich brauche, um das ganze umzusetzen.
    Also machte ich mich daran, das ganze so aufzubauen, dass es irgendwie in den PC passt.
    Dazu zeichnete ich das komplette Schema, woraus ich dann ein Leiterplatten-Layout kreieren konnte:


    Schema der Speisung
    (Gleichrichtung/Glättung der Netzspannung, sowie Spannungsregler für +/- 5V für den Vorverstärker):


    Schema Analoge Endstuffe (ein Kanal):


    Schema digitaler Teil (Mikrocontroller) und Vorverstärker:


    --> Wer mehr Infos möchte, als auf diesen Screenshots, bitte PM.


    Daraus ist dan folgendes Layout entstanden:

    Dabei handelt es sich um Single-Layer in der Grösse 100x160mm.
    Das gelbe Quadrat symbolisiert der Kühlkörper (100x100mm), der auf der Rückseite befestigt wird. Darauf werden die vier Leistungstransistoren montiert, zudem auch noch ein Temperatursensor zur Überwachung der Temperatur und steuerung des Lüfters (dazu später mehr).


    Als ich nach vielen Optimierungsschritten endlich zufrieden war mit dem Layout, habe ich eine Platine angefertigt.
    Darauf habe ich dann alle Bauteile bestückt, und einen Teil um den andern gestestet.
    Dies verlief auch alles ohne Zwischenfälle.
    Die mechanische Befestigung des Kühlkörpers stellte sich als eine Herausforderung dar, da ich nicht über die geeigneten Werkzeuge verfügte.
    Aber irgendwie ging dann auch das.


    Nun musste ich mich noch hinter die Programmierung der Software für den Mikrocontroller machen.
    Nach implementierung der gewünschten Funktionen hatte der Code rund 700 Zeilen und ich hatte auch schon die ersten Probleme mit Ressourcen auf dem Controller (insbesondere Flash-Speicher), da ich die Steuerung über eine Serielle CLI ermöglichen wollte.
    Die dazu nötigen Text-Messages verbrauchten relativ viel Flash, wenn man bedenkt, dass der eingesetzte Controller nur 7KB Flash besitzt. Auch die 256Byte Ram wurden praktisch komplett ausgenuzt.
    Die CLI konnte ich schlussentlich nur in einer abgespekten Version verwirklichen, und die Texten sind teilweise extrem stark abgekürzt.
    Die wichtigen Funktionen (Steuerung von Lautstärke, Stromversorung und Lüfter, sowie die Überwachung der Temperatur) konnte ich wie geplant umsetzen.


    Schlussendlich habe ich den Verstärker dann in meinen PC eingebaut.
    Der zur Stromversorgung notwendige Transformator habe ich auch gleich im PC-Gehäuse untergebracht.


    Bilder dieses Aufbaus habe ich leider noch keine, da sich das Ganze nun in meinem PC befindet, und ich es zum Fotografieren ausbauen müsste.


    Ich werde bei gelegenheit noch Bilder von dem ganzen Aufbau machen, wenn ich alles wider ausbauen muss.
    Denn es ist zwar soweit fertig und funktioniert auch sehr gut, jedoch habe ich schon die nächsten Ideen in Angriff genommen.


    Dazu später mehr.

    Ungenügender Speicher zur Anzeige der

    Einmal editiert, zuletzt von aschi ()

  • Sooo, nun habe ich endlich wieder etwas Zeit gefunden, hier weiter zu Dokumentieren.
    Leider auch wieder mit einem riesen delay...


    Wie oben beschrieben habe ich dann irgendwann den Amp wider ausgebaut, und konnte nun auch Fotos machen.
    Warum ich den wider ausgebaut habe, folgt (hoffentlich) Bald :)


    Hier die Fotos:

    Ansicht von oben:
    Man sieht den grossen Kühlkörper, mit dem noch grösseren Lüfter (der jedoch nur bei sehr grosser Lautstärke benötigt wird).
    Zudem sind rechts die Kondensatoren und das Relais der Stromversorgung zu erkennen.



    Ansicht von unten:
    Nicht zu sehen: Links wäre noch eine PCI-Slot Blende, die die Anschlüsse herausführt (1x D-Sub 9Pol und die Lautsprecheranschlüsse (rote und schwarze Kabel). Die Slotblende wurde hier auf dem Bild schon demontiert.
    Die Anschlüsse am D-Sub Stecker haben folgende Funktion:
    Steuerung des Verstärkers (ON-OFF und Laustärke) sowie ein Serielles Interface zum debuggen der Software auf dem Controller.
    Man sieht auch, dass ich es mir mit dem Layout eher leicht gemacht habe, daher sind die nschlüsse für den D-Sub Stecker überall verteilt.
    Das dicke Schwarze Kabel, dass von unten auf die Platine gelötet ist, ist das Audio-eingangs-Signal, dass von der Soundkarte kommt.


    Von den SMD-Bauteilen sind die Rechts für die Stromversorgung zuständig.
    Vom mittleren Teil ist die obere Hälfte der Verstärker, die untere Hälfte ist der Controller und Lautstärke-Regler.
    Die grossen Leistungstransistoren sind auf der andern Seite der Platine angelötet, und so auf den Kühlkörper geschraubt.

    Ungenügender Speicher zur Anzeige der

    Einmal editiert, zuletzt von aschi ()

  • Kommen wir zum zweiten Teil des Projektes.


    Eigentlich könnte man sagen, dass das Projekt hiermit abgeschlossen ist.
    Doch leider gibt es mit dem Aufbau einige Probleme:


    1. Verstärker braucht aufgrund des eingesetzten Kühlkörper & Lüfters sehr viel Platz im PC (Höhe).
    2. Aufgrund eines Layout-Fehlers gibt es Störungen auf das Audio-Signal, wenn der Controller den Lüfter einschaltet. Um dies zu vermeiden, habe ich dann irgendwann den Lüter direkt am PC-Netzteil angeschlossen, so läuft er zwar immer, aber es gibt zumindest keine Störungen mehr.
    3. Der Controller wird direkt vom PC-Netzteil gespiesen, und ist widerum auf dem gleichen Potential wie der Analoge Teil. Dies führte zu einer GND-Schleiffe innerhalb des PCs. Dies widerum führte zu einem (zum Glück nur sehr schwachen) Brummen.
    4. Die Ressourcen auf dem Controller sind sehr knapp
    5. Mechanischer Aufbau zum teil sehr unschön.
    6. Layout konnte nicht wirklich gut umgesetzt werden, da der Plaz sehr kanpp war.
    7. Keine Schutzschaltung für die Lautsprechen im Fehlerfall.


    Deshalb habe ich mich irgendwann entschieden, eine zweite Version zu bauen.
    Um die oben genannten Probleme zu beseitigen, habe ich folgende Design-Änderungen gemacht:


    1. Neuer Kühlkörper:
    Ich wollte einen möglichst flachen Kühlkörper finden, der jedoch gut erhältlich ist, für den Fall, dass ich irgendwan noch weitere gleiche Verstärker bauen möchte.
    Zuerst dachte ich an einen Grafikkarten-Kühler, die gut erhältlichen waren aber alle zu gross und relativ schwierig zu montieren. Daher wählte ich einen 1U-CPU-Kühler:
    https://www.digitec.ch/Produkt…ter=Bilder&Artikel=151485
    Dieser ist viel kleiner als der bisher eingesetzte, hat aber auch viel mehr einzelne Kühllamellen. Zudem war der bisher eingesetzte Kühler eher überdimensioniert.


    2. und 3.: Galvanische Trennung zwischen Analog- und Digital Teil.
    Der digitale Teil (Controller zur Steuerung) wird nach wie vor vom PC-Netzteil mit Strom Versorgt, ist jedoch nicht mehr auf dem gleichen Potential wie der Analog-Teil. Somit ist die einzige Verbindung zwischen PC-GND und GND des Verstärkers über das Audio-Kabel.
    Dies löst auch das Problem mit den Störungen durch den Lüter, da nun das GND des Lüfters das GND des Audiosignals nicht mehr tangiert.


    4. Neuer Controller:
    PIC16F1939
    Ich wollte hier jetzt nicht irgend ein High-Eind Controller verbauen, da dies overkill wäre. Deshalb habe ich einfach einen etwas besseren Controller aus der gleichen Serie verbaut.
    Nun habe ich 28kB Flash und 1kB Ram zur Verfügung.


    5. Mechanischer Aufbau wurde anders gemacht (Fotos folgen).


    6. Um mehr Platz zu bekommen, und um die Trennung zwischen Digital- und Analog-Teil zu verbessern wurde das Ganze nun auf drei einzelne Platinen aufgeteilt:
    - Grundplatine mit dem Audio-Verstärker
    - Zusatzplatine für die Schutzschaltung
    - Zusatzplatine für den Controller.


    7. Schutzschaltung wurde hinzugefügt.



    Nun ging das Ganze von neuem Los:
    - Schaltungen Zeichnen
    - Layouts erstellen
    - Printe herstellen
    - Bestücken & Testen


    Hier mal einige Bilder des neuen Verstärkers:
    Ich verzichte auf das einfügen des Schemas, da es nun ca. 9 Seiten gross ist.
    Wenn jemand mehr infos möchte --> PN


    Hier einige Bilder des Layouts:

    Grundplatine:
    Rechts Stromversorgung (neu noch etwas grössere Dioden)
    Oben Rechts: Anschluss für Controller-Print
    Daneben: Optokoppler für die galvanische Trennung, sowie das IC für die Lautstärkerregelung.
    Links ist dan der eigentliche Verstärker. das Layout wurde für die beiden Kanäle möglichst Symetrisch designt.



    Controller-Platine:
    Unten: Anschluss für 9-Pol-D-Sub-Stekcker
    Mitte: Mikrocontroller Stromversorgung.
    Oben: Treiber für Optokoppler und Lüfter, Links der Anschluss für die Grundplatine.



    Schutzschaltung:
    Diverse Transistoren, die abnormale Spannungen und Ströme detektieren und am Controller melden.


    Nun einige Fotos vom Aufbau:

    Controller-Platine während dem Bestücken



    Grundplatine, vor dem Bestücken



    Test der Controller-Platine während dem Entwickeln der Software



    Grundplatine während dem Bestücken 1



    Grundplatine während dem Bestücken 2



    Test der fertig aufgebauten Schaltung 1



    Test der fertig aufgebauten Schaltung 2



    Test vor Einbau in den PC 1



    Test vor Einbau in den PC 2



    Gesamtansicht



    Detailansicht Controller-Print



    Detailansicht Schutzschaltung (--> Leider behindert dieser Print den Luftfluss ein Bischen)



    Ansicht auf Slotblende für den Einbau in den PC.



    Gesamtansicht SMD



    Detailansicht auf Verstärker-Teil



    Das Ganze war nun soweit erfolgreich.
    Alle oben genannten Proleme sind beseitigt.
    Und es sind auch keine neuen Probleme dazugekommen.


    Jedoch arbeite ich schon an der nächsten Erweiterung, aber dazu später mehr :)

    Ungenügender Speicher zur Anzeige der


  • ganz geniales projekt! aber wieso hast du den pic16 genommen und nicht gleich zb der 24er? kostet vielleicht 1.- mehr, aber dafür hast du mehr leistung, platz, ...

  • Zitat

    Original von GP

    ganz geniales projekt! aber wieso hast du den pic16 genommen und nicht gleich zb der 24er? kostet vielleicht 1.- mehr, aber dafür hast du mehr leistung, platz, ...


    Hmja, ich habe für andere Projekte auch schon mit dem 24er oder 33er dsPIC gearbeitet.
    Aber wie schon erwähnt wäre das totaler overkill, denn die Software macht eigentlich nicht viel:
    Einlesen des Analog-Wertes vom Lautstärkeregler.
    Dies etwas filtern, und dann ausgeben auf den PGA.
    Zudem gibt es noch 2 state-machines:
    Eine für die Stromversorgung (Einschalten der Speisung, überwachen der Schutzfunktion)
    Und eine für die Temperatursteuerung des Lüfters / Übertemperaturschutz.


    Ein weiterer Vorteil war auch, dass ich, wenn ich auf dem 16er Pic bleibe, die Softwar kaum anpassen mss *faulbinn* ;)

    Ungenügender Speicher zur Anzeige der