Class-B amp XO-Dist -- Die Sache mit den Crossover-Verzerrungen bei Klasse-B Verstärkern

RudiS

Absoluter Profi
Member
Top Poster des Monats
Landesflagge
Vorweg: Dies ist ein längeres Tutorial und wendet sich vor allem an diejenigen, die noch nicht so erfahren sind in der Simulation mit LTspice.
    「Und für diese noch einen Hinweis: zum Vergrössern der Bilder auf das Bild klicken!

Manchmal hört man davon, dass jemand einen Verstärker der Klasse B in LTspice simuliert und sich wundert,
dass er/sie eine schöne Sinuskurve präsentiert bekommt anstelle der erwarteten Übernahmeverzerrungen.

Dafür kann es zunächst mehrere Gründe geben:
1. Der Verstärker ist in Wirklichkeit nicht Klasse B, sondern AB.
2. Die Verstärkerschaltung ist so gut, dass keine oder nur sehr schwach ausgeprägte Übernahmeverzerrungen entstehen.
3. Die für die Simulation benutzten Werte gestatten es nicht, die Übernahmeverzerrung gut zu erkennen.

Wie erkennt man, ob eine Schaltung in die Klasse B gehört oder in Klasse AB?

01__Amp class B & AB.png


Bei Klasse B sind, wie allgemein bekannt sein sollte, die Basen der Endstufentransistoren miteinander verbunden.
Der BJT braucht jedoch eine gewisse Mindestspannung an der Basis, um einen (nennenswerten) Kollektorstrom fliessen zu lassen.

Der nachfolgende Plot zeigt die Beziehung zwischen Basis-Emitter-Spannung (Vbe) und Kollektorstrom (Ic) des BD139.
Unter 390mV bewegt sich der Kollektorstrom im Nanoampere-Bereich, für schlappe 1mA sind über 580mV notwendig,
bei solchen Strömen zuckt der Lautsprecher nur resignierend mit der Schulter.
Zu allem Unglück muss einzig das Eingangssignal diese Spannung aufbringen.

02__BD139__Vbe-Ic--Plot_.png
03__BD139__Vbe-Ic_schema.png

Die Schaltung nach Klasse AB löst dieses Problem, indem sie die Basen mit einer Vorspannung (Gleichspannung) versieht,
so dass auch ohne Eingangssignal bereits ein geringer Kollektorstrom von einigen Milliampere fliesst, der sogenannte Ruhestrom.
Diese Vorspannung kann man auf verschiedene Art und Weise erzeugen, in unserem Beispiel durch zwei Dioden.
Die Vorspannung nimmt dann die Eingangsspannung huckepack und los geht's!

Die zur weiteren Erläuterung benutzte Beispielschaltung zeigt einen Klasse-AB-Verstärker,
den wir durch Kurzschliessen der Dioden im Handumdrehen in einen Klasse-B-Verstärker umwandeln können.

04__Class AB amp schema.png

Wir geben den Schaltplan erst einmal in der Klasse-AB-Form in LTspice ein mit dem Ziel,
eine Transientenanalyse mittels einer Sinusspannung zu machen.

05__LTspice__Class AB amp schema.png

Beim sogenannten "consumer audio" beträgt der Line-level -10dbV entsprechend einer Spitzenspannung von 447mV.
Wir nehmen es nicht so genau und runden ein bisschen auf, wählen für einen ersten Test eine Frequenz von 1kHz
und eine Amplitude von 450mV. Damit wir die Werte für erweiterte Tests bequem ändern können, deklarieren wir sie als Parameter:

.param f.test=1kHz

.param ampl=450mV


Diese Werte geben wir bei unserer Spannungsquelle nach Rechtsklick nicht als konkrete Zahl,
sondern in geschweiften Klammern mit ihrem Variablennamen ein, bei Amplitude also {ampl} und bei Freq {f.test}.
Bei "Series Resistance" (Parasitic Properties) geben wir einen Wert vom 100R ein.

In der Ausführung ersetzt LTspice die namentlichen Variablen mit den ihnen zugeordneten konkreten Zahlenwerten.


Welche Überlegungen gibt es zu den Parametern der zeitbezogenen Transientenanalyse?

Die Analyse beginnt zum Zeitpunkt Null. Bei unserem Verstärker könnte es zu Beginn Vorgänge geben,
die das Klirrverhalten verfälschen, wir werden also etliche Millisekunden, sagen wir mal 10msec, vom Anfang wegwerfen.

Wir wollen andererseits unser Plotfenster nicht mit unzähligen Zyklen vollkleistern,
aber auch nicht nur einen oder gar einen halben Zyklus angezeigt bekommen.
Bei einer Frequenz von 1kHz wären 10 Perioden, in summa 10ms angebracht.
Somit tragen wir bei "Stop time" 20ms ein und bei "Time to start saving data" 10ms.

Nach vollendeter Simulation betrachten wir die Ausgangsspannung, die Kollektorströme der Ausgangstransistoren sowie ihre Differenz.

06__Class AB amp TRAN Plot.png

Die Sinuskurve scheint ganz passabel zu sein, auf den ersten Blick sind keine Crossover-Verzerrungen zu erkennen.

Die Differenz der Kollektorströme zeigt, dass die Balance nicht 100% ist, die "Berge" sind nicht gleich hoch,
der PNP-Tr. gibt ein paar mA mehr ab als der NPN-Tr.

Die Kollektorströme machen einen gleichförmigen, balancierten Eindruck, ihre Fusspunkte zeigen jedoch einen kleinen Unterschied.

Der Klirrfaktor beträgt 1.68%, das geht an, aber überragend ist das nicht.

Um zu sehen, ob wirklich keine Übernahmeverzerrungen vorhanden sind,
schauen wir uns zwei Perioden, z.B. von 2ms bis 4ms, einmal genauer an.
Dazu wählen wir einfach mit der Maus den gewünschten Bereich aus.

Auch hier nichts zu beanstanden.

07__Class AB amp TRAN 2ms Ausschnitt.png


Nun wird es spannend. Denn jetzt überbrücken wir die beiden Dioden und wollen mal sehen,
wie sich die Schaltung als reiner Klasse-B-Verstärker macht.

07__Class AB-to-B amp schema.png
08__Class AB-to-B amp TRAN.png

Nach erfolgter Simulation erkennt man sofort die Übernahmeverzerrungen in der Ausgangsspannung.
Der Klirrfaktor beträgt jetzt stolze 9.45%! Ausserdem sind sowohl Ausgangsspannung wie auch Kollektorstrom verringert.

Die nun zweifelsfrei erkennbaren Crossover-Verzerrungen kann man noch deutlicher sichtbar machen,
wenn man für die TRAN-Simulation keine Sinusspannung, sondern eine Dreieckspannung benutzt.

09__Class AB-to-B amp TRAN TRI-Plot.png


Wie schaffen wir uns eine Dreieckspannung mit der gleichen Frequenz wie die verwendete Sinusspannung?
(wer das kann, gibt ".param t=1/f.test" ein und überspringt bitte bis Ende Intermezzo)

--- Intermezzo
Eine Sinusspannung von 1kHz hat 1000 Schwingungen pro Sekunde,
eine Schwingung dauert also 1ms: 500us für die positive Halbwelle und 500us für die negative.

Die Dreieckschwingung kreieren (kre-ieren) wir mit der Anstiegs- und Abfallzeit der Puls-Funktion:
500us für den Anstieg zur gewünschten Spannung, Dauer ist Null, und wieder 500us für den Abfall.

Wir überlassen die Rechnerei LTspice und definieren die Parameter in einfachen Rechenschritten.
Die Periodendauer ist wie schon gesagt 1ms:

.param t=1/f.test

Die Hälfte, also t/2 ist die Anstiegs- bzw. Abfallzeit. Das deklarieren wir nicht extra als Parameter,
sondern setzen den Ausdruck direkt wieder in geschweiften Klammern bei der Spannungsquelle ein.
--- Ende Intermezzo

Wir holen uns eine Spannungsquelle auf den Schaltplan, Rechtsklick /Advanced, wählen die Puls-Funktion und ergänzen:

Von:   {ampl}
Trise:  {t/2}
Tfall:   {t/2}
Ton:   0
Tperiod: {t}

Nach erfolgter Eingabe diese Spannungsquelle mit dem Eingang der Schaltung verbinden
(Sinusquelle braucht nicht abgeklemmt werden) und die Simulation starten.

Nun sind die Crossover-Verzerrungen noch besser zu erkennen,
im Vergleich dazu anschliessend ein Plot mit Dreieckspannung beim Klasse-AB-Verstärker.

09__Class AB-to-B amp TRAN TRI-Plot.png

Mit Dreieckspannung, ursprünglicher class AB amp:
10__Class AB amp TRAN TRI-Plot.png


Nachfolgend ein Klasse-B-Verstärker aus WirelessWorld, Okt. 1990.

11__Class B amp WW_10-1990_schema.png

Die Endstufe ist nach dem gleichen Prinzip wie die vorige aufgebaut, mit nur einem Transistor mehr.
Die Leistung ist zwar gering, aber trotz Klasse-B-Einstellung ist der Klirrfaktor mit 0.38% erstaunlich gering!

12__Class B amp WW_10-1990_TRAN plot.png


Die Übernahmeverzerrungen sind in der Sinuskurve kaum auszumachen, aber sie sind da!

Man sucht mitunter an der falschen Stelle! Und unter falschen Voraussetzungen!

Wer nämlich nur die Ausgangsspannung plottet, weiss dann gar nicht genau,
WO im Kurvenverlauf er die Crossover-Verzerrungen suchen soll.

Wenn man sich aber die Kollektorströme ebenfalls anzeigen lässt, findet man sie eher,
denn sie treten ja nur in dem Umschaltmoment auf.
Und wer klug ist, setzt die Eingangsspannung auf 100mV herab, denn wir wissen ja,
dass die Crossover-Verzerrungen bei kleinerer Eingangsspannung zunehmen.

Doch selbst dann kann man sie nur erahnen, auch wenn wir nur 2 Perioden (2ms) selektieren!

13__Class B amp WW_10-1990_TRAN 2ms.png


Wir gehen noch einen Schritt weiter und wählen einen kleinen Bereich der Ausgangsspannung
in der zeitlichen Umgebung des Umschaltpunktes der Kollektorströme aus
.
Wenn wir das relevante Zeitintervall gut anvisiert haben, werden wir fündig!

14__Class B amp WW_10-1990_TRAN Vergrösserung.png

Zu guter Letzt noch der Dreieckspannungstest. Wir fügen eine Spannungsquelle ein,
programmieren sie wie schon bekannt für die Dreieckspannung und starten die Simulation.

Diesmal lachen uns die Umschaltpunkte in der Ausgangsspannung als helle Pünktchen in der Linie an.

15__Class B amp WW_10-1990_TRAN TRI.png

Wir nehmen einen der gut sichtbaren (es gibt auch schlecht oder gar nicht sichtbare)
und selektieren mit der Maus ein kleines Gebiet um ihn herum.

Voilà! Da ist er, der kleine Übeltäter!

16__Class B amp WW_10-1990_TRAN TRI Vergrösserung.png


Fassen wir kurz zusammen:

- In Klasse-B Verstärkern treten prinzipbedingt Übernahmeverzerrungen auf.
- Je nach Schaltungskonzept sind sie mehr oder weniger gut erkennbar.
- Die Übernahmeverzerrungen treten an den Umschalt-Zeitpunkten auf.
 Deswegen bei der TRAN-Simulation nicht nur die Ausgangsspannung, sondern auch die
 Kollektorströme plotten, weil wir mit ihrer Hilfe den Umschaltzeitpunkt abschätzen können.
- In schwierigen Fällen kann es vorteilhaft sein, eine Dreieckspannung für die Analyse zu benutzen.

Screenshots, Simulationsdateien und diese Erläuterung als PDF-Datei befinden sich im angefügten Archiv.
Ebenfalls enthalten sind Bibliotheken für die verwendeten Transistoren.
Die müssen bei Bedarf mit einer .include-Anweisung eingebunden werden.

RudiS
 

Anhänge

  • Class-B amp XO-dist.pdf
    433,9 KB · Aufrufe: 1
  • Class-B amp xodist.zip
    705,2 KB · Aufrufe: 1
Zuletzt bearbeitet:
Hallo RudiS,
nochmal "handschriftlich" vielen Dank. Genau danach hab ich schon seit einigen Tagen gesucht. Ich werde das (als Anfänger) jetzt einmal ordentlich durcharbeiten und freu mich schon...
frnit

Schönes Forum
 
Hallo Frnit,
danke Dir, dass Du Dir die Zeit für eine Antwort genommen hast. Es freut mich immer, wenn man als am Board Mitwirkender spürt, dass man seine Beiträge nicht in einen anonymen Leerraum einstellt.
Wenn Du noch Fragen hast, so scheue Dich nicht, sie zu stellen und, sofern es Deine Zeit erlaubt, über die Simulationsergebnisse zu berichten.

Einen schönen Tag wünscht

RudiS
 
Hallo RudiS,

ich habe mit experimentieren oder sagen wir lieber "herumspielen" der verschiedenen Werte und Bauteile viel gelernt.
In der Sim die AB Transistoren zu BC639 / BC640 getauscht. Alles super.
Ich habe die Schaltung am Brett nachgesteckt und festgestellt: Die Transistoren im Class AB Betrieb werden sehr schnell sehr heiß und beginnen nach ca 1-2 sec mit 12V zu rauchen. Sehr frustrierend...

Entweder Spice funktioniert nicht wie erwartet oder ich hab was schlecht eingegeben oder gesteckt... oder da wird am Ende etwas vorausgesetzt was ich nicht weiß?... hm.

Nach doch recht intensiver Recherche weiß ich nun was Power Dissipation bedeutet und nach meiner frisch erlernten Berechnung Pv = Uce x Ic mit den Daten der Simulation musste ich feststellen: Die erwählten BC639 u BC640 aus meiner Bastelkiste sind für diese Schaltung unterdimensioniert(?)
Soweit ich das beurteilen kann habe ich gerade an d Spitze des Eisberges herum zu kratzen begonnen...
Super wäre, vor allem für so blutige Laien wie mich, wenn Spice überforderte oder gefährdete Bauteile anzeigen könnte ;-)
Jedenfalls nochmal Danke für den Einstieg.

Schöne Grüße

FL
 
Hallo Frnit,

ja, die Berechnung der Verlustleistung (Average und Peak) ist definitiv notwendig. Leider ist im BJT-Modell kein Parameter für die maximale Verlustleistung sowie für den Kollektorstrom enthalten, sodass derzeit meines Wissens keine automatische Warnung möglich ist. Der BC639 erlaubt zwar einen Kollektorstrom von 1A, aber für Transistoren im TO-92 Gehäuse gehe ich für einen kontinuierlichen Strom eher konservativ von einem Drittel der maximalen Verlustleistung aus, bei 830mW für den BC639 sollte die folglich 280mW Dauerleistung möglichst nicht überschreiten. Bei einem Vce von 3V und einem Strom von 500mA bist du schon bei 1.5W, dem Doppelten der erlaubten Verlustleistung! Bei besagtem Vce von 3V erreichst du die schon mit 270mA Kollektorstrom. . .

Es gibt zwar auch in LTspice die Möglichkeit, sich die Verlustleistung eines Bauteils anzeigen zu lassen (Mousepointer auf Bauteil und ALT-Taste drücken, Mousepointer wird grafisch zum Thermometer), dies war aber bei mir nur selten hilfreich.

Ich weiss zwar nicht, was für einen Verstärker Du simuliert hast, es ist jedoch auch für die Leser Deines Beitrags immer schön (und oft auch hilfreich), wenn Du den LTspice-Schaltplan (.asc-Datei) beifügst (und bei Problemen auch den original Schaltplan (GIF, PNG, JPG), denn es kann ja sein, dass sich bei der Umsetzung in LTspice ein Fehler eingeschlichen hat [47k anstelle von 4.7k]).

Übrigens kann man TO-92 Transistoren genau so wie ihre grossen Brüder auch parallel schalten, als Beispiel füge ich mal den Schaltplan eines Klasse A Kopfhörerverstärkes bei.

RudiS
 

Anhänge

  • Class-A HP.png
    Class-A HP.png
    71,9 KB · Aufrufe: 4
Hallo RudiS,

vielen Dank für Deine Hinweise. Ich lerne... :)

Basis war Dein ClassB Schaltplan vom Tutorial:
1762502271582.png

Im Grunde sind nur die Transistoren getauscht:
Q1 zu BC549C
Q2 zu BC639
Q3 zu BC640

ClassB_MitBC640.png
Danke auch für die Kopfhörerverstärkerschaltung. Werde ich mir anschauen...

Schöne Grüße

FL
 

Anhänge

  • Class-B ampBC640.asc
    3,2 KB · Aufrufe: 0
Hallo Frnit,


Noch einmal kurz zu dem Malheur mit den BC639/640. Die Schaltung hat keinerlei Schutzmassnahmen gegen zu hohen Strom eingebaut, solche Schaltungen sind daher mit besonderer Vorsicht zu geniessen. Man muss sich dabei absichern! Mein Netzteil hat eine einstellbare Strombegrenzung, ohne solch eine Sicherung muss man kurzzeitig einschalten (Amperemeter in die Kollektorleitung schon vorab eingefügt), Strom ablesen, ausschalten. Auch eine Schmelzsicherung kann hilfreich sein.


Ausserdem ist es angebracht, den Verstärker erst einmal ohne angeschlossene Signalquelle zu überprüfen oder noch besser den Eingang über einen Widerstand von z.B. 1 kOhm nach Masse kurzzuschliessen, um den Verstärker im Ruhezustand auszumessen. Bei Verstärkern von Klasse AB muss auf jeden Fall der Ruhestrom gemessen werden.

Weiterhin: nicht gleich einen Lautsprecher anschliessen, sondern erst einen Zementwiderstand (Hochlastwiderstand 10 Ohm, 5W oder mehr, je nachdem) benutzen. Der ist billiger als ein Lautsprecher und auch widerstandsfähiger im Falle eines zu hohen Stromes. Ohne eine Last am Ausgang kann es zu wilden Schwingungen kommen, je nach Aufbau und Verdrahtung. Wenn kein Hochlastwiderstand zur Hand ist, tut es notfalls auch ein Widerstand von 1 kOhm nach Masse. Auf jeden Fall Ausgang belasten (aber nicht kurzschliessen ;-)

Die Finger sind auch ein gutes Messinstrument. Bei Klasse AB können hohe Ströme fliessen, die Bias-Einstellung der Endstufentransistoren durch Dioden ist nicht optimal, man muss dafür sorgen, dass es nicht zu einem thermal runaway kommt. Daher Finger auf einen Endstufentransistor, und wenn's nach dem Einschalten heiss wird, sofort wieder ausschalten!

Überhaupt: die Schaltung war in keinster Weise dafür gedacht, nachgebaut zu werden, sondern sollte nur zur Demonstration dienen. Für den Nachbau gibt es bessere Schaltungen, aber auf jeden Fall den Aufbau auf dem Breadboard zweimal, besser noch dreimal überprüfen, bevor man einschaltet. Bei Bauteilen wie Elkos, Dioden, Transistoren etc. auf richtige Polung achten.


Aber lass Dich nicht entmutigen: durch Fehler wird man klug, das Beste wäre, noch einmal den Aufbau auf dem Breadboard genauestens zu checken, ob Du nicht irgendwo eine falsche Verbindung hast oder ein Bauteil falsch angeschlossen. Also nicht nur dem Simulator treu folgen, sondern versuchen, elektronisch zu denken und den Fehler aufspüren. Das hilft Dir am Ende mehr als hundert Simulationen.


RudiS
 
Hallo RudiS,
mit dem "Fingertemperatursensor" habe ich schon einige Bauteile retten können. Auch diesmal dürften noch alle BC's ok sein.
Angebliche grobe Temperaturschätzungen eines mir bekannten alten Elektronikbastelhasen:
Finger gerade noch draufbleiben: ca 50°
Kurz drauf und schnell weg weil ZU heiß: ca 80°
Spuke zischt: über 100° (irgendwie eh klar ;-)

Nochmal vielen Dank für die vielen Tips und Denkanstösse. Und auch für den freundschaftlichen und garnicht arrogant-schulmeisterlichen von oben herab Ton! Eher selten in Foren.

Schöne Grüße

FL
 

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Zurück
Oben