Transistoren, der Transistortester und die daraus erzeugten Modelle

Fassung 2.2 · 30.09.2026 · Prof. Dr.-Ing. Ralph Wystup M.Sc. — erstellt mit KI und Agent (Claude Code, Anthropic)

Von der Messung zum eigenen Berechnungsverfahren

Aus selbst gemessenen Kennlinien werden selbst ermittelte Parameter, und mit diesen Parametern rechnet ein selbst geschriebener Löser eine ganze Schaltung durch — Arbeitspunkt, Kleinsignalverhalten, Verstärkung, Zeitverlauf. Das ist dasselbe, was ein SPICE-Programm tut, nur ist hier jeder Schritt sichtbar und von Hand nachrechenbar.

Der Transistortester: Platine mit ESP32-Modul,
        Klemmenleiste, steckbaren Messwiderständen und angeklemmtem Prüfling
Der Messplatz, mit dem alles anfängt. Links auf der Platine das ESP32-Modul mit seiner USB-Buchse, rechts daneben die grünen Schraubklemmen: erst die Versorgung (GND, +24 V), dann die Messklemmen, deren Belegung im Siebdruck darunter für beide Bauteilarten steht — NPN: Rc C E Rb GND und PNP: E C Rc B Rb GND. In den Klemmen stecken die beiden Messwiderstände, die den Strom in eine messbare Spannung umsetzen: ein kleiner Schichtwiderstand im Basiszweig und der große blaue Drahtwiderstand im Kollektorzweig. Rechts, an drei Prüfklemmen (blau an der Basis, violett am Kollektor, rot am Emitter), hängt der Prüfling in einem Leistungsgehäuse mit Metallfahne. Unten rechts auf der Leiterplatte steht die Fertigungsnummer des Platinenherstellers. Mehr ist es nicht — und alle Zahlen dieser Arbeit kommen von diesem Aufbau.

Der Weg, Station für Station

1 · Gerät und Prüfling Zwei Digital-Analog-Umsetzer stellen Basis- und Kollektorzweig, vier Analog-Digital-Umsetzer messen zurück. → Der Transistortester
→
2 · Gemessene Kennlinienfelder Ausgangskennlinienfeld, Eingangskennlinie, Stromsteuerkennlinie, hFE-Verläufe — die fünf Messreihen des Kurvenschreibers. → Parameterextraktion
→
3 · Parameter bestimmen Einmal von Hand aus zwei abgelesenen Punkten, einmal als Ausgleich über alle Kurven zugleich — mit der Frage, welcher Parameter aus diesen Daten überhaupt bestimmbar ist. → Extraktion BC547
→
4 · Der eigene Parametersatz Als SPICE-artige .MODEL-Karte geschrieben, mit der Herkunft jeder einzelnen Zahl. → Minimaler Datensatz
→
5 · Der eigene Löser Knotenpotentialverfahren, Newton-Raphson, Euler — die Schaltung als Netzliste, jedes Bauteil nur ein Stempel. → Netzliste und Löser
→
6 · Arbeitspunkt und Verstärkung Newton-Raphson auf die ganze Schaltung, daraus das Kleinsignalverhalten und der Vierpol. → Arbeitspunkt Newton
→
7 · Gegenprobe Dieselbe Schaltung mit LTspice und mit der SPICE-Konvention gerechnet — zwei Wege, die nichts voneinander wissen. → Simulation und SPICE

Der Zielpunkt dieses Bogens

Am Ende steht der Reiter Netzliste und Löser. Dort wird die Schaltung nicht mehr als von Hand aufgestelltes Gleichungssystem gelöst, sondern als Netzliste durch das eigene Verfahren — mit den selbst ermittelten Parametern, einmal nur der Arbeitspunkt und einmal die komplette Verstärkerstufe mit Kollektor-, Last- und Basiswiderstand, Koppelkondensatoren und Signalquelle. Die Signalverstärkung wird dort auf zwei Wegen gerechnet, und der Unterschied zwischen beiden ist die Aussage.

Die Manuskripte sind der Hintergrund und der Lernapparat

Unter jedem Reiter steht das zugehörige Teilmanuskript des Verfassers, vollständig und unverändert. Dort stehen die Herleitungen, die Zahlen und die Begründungen; sie sind nicht Anhang und nicht Beiwerk, sondern der Lehrtext, zu dem alles Übrige die Probe ist. Der rechnende Teil darüber ist Zeile für Zeile aus einem seiner Python-Programme übertragen — dieselben Formeln, dieselben Konstanten, dieselbe Reihenfolge der Schritte, dieselben Startwerte, dieselben Abbruchbedingungen. Über jeder Rechnung steht, aus welchem Programm und aus welchen Zeilen sie stammt, und daneben die Zahl, die dieses Programm ausgibt. Wer lernen will, liest den Text; wer prüfen will, dreht an den Schiebern.

Eine Ausnahme gibt es: der Reiter „Netzliste und Löser“ trägt kein Teilmanuskript. Er ist unser Teil und steht neben dem Kapitel 9, nicht darin — das ist dort ausdrücklich gesagt.

Drei verschiedene Transistoren. In diesen Manuskripten kommen drei Prüflinge vor: der BC547 (Extraktion und Arbeitspunkt, βF = 290), der BC337-25 (Kurventracer, Kleinsignal und Verstärker, βF ≈ 250…275) und der nicht benannte Prüfling der neun CSV-Reihen des Testers (βF ≈ 53). Dass ihre Parameter auseinanderliegen, ist deshalb kein Widerspruch — es sind verschiedene Bauteile. Wer Zahlen aus einem Reiter in die Rechnung eines anderen einsetzt, muss zuerst den Prüfling vergleichen.

Worauf das aufbaut

Das Verfahren, mit dem eine Schaltung aus nichtlinearen Bauteilen überhaupt gerechnet wird — Knotenpotentialverfahren, Newton-Raphson und Euler —, ist in einer eigenen Arbeit hergeleitet: Schaltungssimulation von nichtlinearen Differentialgleichungssystemen. Dort steht, warum aus den Bauteilgleichungen ein Gleichungssystem Y·u = i wird, wie die Ableitung eines nichtlinearen Bauteils als Leitwert in diese Matrix gestempelt wird und wie der Zeitschritt dazukommt. Diese Arbeit hier setzt dort an, wo das Verfahren steht, und füllt es mit einem gemessenen Transistor. Der Transistor ist dort seit Teil XII auch als Bauteil eingebaut — „Der Transistor als Stempel: Gummel-Poon im Knotenpotentialverfahren“, Abschnitte 47 bis 52: die vier Tangenten von Hand, der Stempel, die Abnahmen, und ein eigener Abschnitt darüber, was das Bauteil von SPICE nachbildet und was nicht. Der Arbeitspunkt, den es rechnet, stimmt mit dem Programm aus dem Reiter „Arbeitspunkt Newton“ auf mindestens sechs gültige Stellen überein — zwei Wege, die nichts voneinander wissen.

Der Weg in einem Satz

Messgerät → Kennlinienfeld → Parametersatz → eigener Löser → Arbeitspunkt → Kleinsignal → Vierpol → Verstärker, und an jeder Stelle die Frage, wie genau die Zahl eigentlich ist.

Die Reiter der Reihe nach

Diodenkennlinie · Teilmanuskript 10_diodenkennlinie.md · Quelle: Manuskript_Diodenkennlinie_1.docx
↓ zum rechnenden Teil

Manuskript zur Auswertung und Modellierung

der Diodenkennlinie mittels Shockley-Gleichung,

Newton-Raphson- und Bisektionsverfahren

Begleitendes Manuskript zum Python-Programm „Optimierung_AP_1.py“

1. Einleitung und Zielsetzung

Das vorliegende Manuskript beschreibt ausführlich die physikalischen Grundlagen, mathematischen Herleitungen und numerischen Verfahren, die dem Python-Programm „Optimierung_AP_1.py“ zugrunde liegen. Ziel des Programms ist es, gemessene Strom-Spannungs-Kennlinien einer Diode mit dem Shockley-Modell zu approximieren und anschließend für eine gegebene Schaltung (Diode in Reihe mit einem Vorwiderstand an einer Versorgungsspannung) den Arbeitspunkt zu bestimmen. Zusätzlich kann das Programm denjenigen Vorwiderstand R bestimmen, der zu einem gewünschten Diodenstrom führt.

Dazu werden drei numerische bzw. statistische Verfahren eingesetzt, die im Folgenden vollständig hergeleitet werden:

  • Nichtlineare Ausgleichsrechnung (curve_fit, Methode der kleinsten Quadrate) zur Bestimmung der Modellparameter Is und n,
  • das Newton-Raphson-Verfahren zur Lösung der transzendenten Maschengleichung (Bestimmung des Arbeitspunktes Vd),
  • das Bisektionsverfahren zur Bestimmung des Widerstands R für einen vorgegebenen Diodenstrom.

2. Physikalisches Modell der Diode

2.1 Die Shockley-Gleichung

Das elektrische Verhalten einer idealen pn-Diode wird durch die nach William Shockley benannte Diodengleichung beschrieben. Sie verknüpft den durch die Diode fließenden Strom Id mit der an ihr anliegenden Spannung Vd:

I~d~ = I~S~ · [ exp( V~d~ / (n · V~T~) ) − 1 ] (2.1)

Hierbei bedeuten:

  • Id : Diodenstrom durch das Bauteil [A]
  • Vd : Spannung über der Diode [V]
  • IS : Sättigungssperrstrom (Reverse Saturation Current), ein für jede Diode charakteristischer, sehr kleiner Parameter (typ. 10⁻¹⁰-- 10⁻¹² A)
  • n : Emissionskoeffizient (Idealitätsfaktor), dimensionslos, üblicherweise zwischen 1 (ideale Diode) und 2 (reale Diode mit Rekombinationseffekten)
  • VT : Temperaturspannung [V]

2.2 Herleitung der Diodengleichung aus der pn-Übergangstheorie

Die Shockley-Gleichung folgt aus der Lösung der stationären Minoritätsträger-Diffusionsgleichung in einem pn-Übergang. An den Rändern der Raumladungszone gilt im thermodynamischen Gleichgewicht ohne äußere Spannung das Massenwirkungsgesetz für die Ladungsträgerkonzentrationen:

n~0~ · p~0~ = n~i~^2^ (2.2)

Wird eine äußere Spannung Vd angelegt, so verschiebt sich das Ferminiveau der Minoritätsträger am Rand der Raumladungszone gemäß der Boltzmann-Statistik. Für die Minoritätsträgerkonzentration der Löcher auf der n-Seite (pn) am Rand der Raumladungszone gilt dann:

p~n~(0) = p~n0~ · exp( V~d~ / V~T~ ) (2.3)

Setzt man dies in die stationäre Diffusionsgleichung für Minoritätsträger ein und löst die resultierende lineare Differentialgleichung zweiter Ordnung unter den Randbedingungen eines langen bzw. kurzen Diodengebiets, so erhält man für die Diffusionsstromdichte exponentiell abklingende Trägerprofile. Die Integration der Diffusionsströme über die Querschnittsfläche A der Diode liefert den Gesamtstrom:

I~d~ = q·A· ( D~p~·p~n0~/L~p~ + D~n~·n~p0~/L~n~ ) · [ exp(V~d~/V~T~) − 1 ] (2.4)

Der gesamte, von Material- und Geometriegrößen (Diffusionskonstanten Dp, Dn, Diffusionslängen Lp, Ln, Gleichgewichts-Minoritätsträgerdichten pn0, np0, Elementarladung q und Querschnittsfläche A) abhängige Vorfaktor wird als Sättigungssperrstrom IS zusammengefasst:

I~S~ = q·A· ( D~p~·p~n0~/L~p~ + D~n~·n~p0~/L~n~ ) (2.5)

Damit ergibt sich unmittelbar die ideale Diodengleichung Id = IS·[exp(Vd/VT) − 1]. Da reale Dioden zusätzliche Effekte wie Rekombination in der Raumladungszone, Hochstrominjektion und Serienwiderstände im Halbleitermaterial aufweisen, wird empirisch der Idealitätsfaktor n eingeführt, der die effektive Steigung der Kennlinie im halblogarithmischen Diagramm korrigiert. Dies führt auf die in (2.1) verwendete, in der Praxis übliche Form der Shockley-Gleichung.

2.3 Die Temperaturspannung VT

Die Temperaturspannung ergibt sich aus der Boltzmann-Statistik der Ladungsträger zu:

V~T~ = (k·T) / q (2.6)

  • k : Boltzmann-Konstante (1,380649 × 10⁻²³ J/K)
  • T : absolute Temperatur [K]
  • q : Elementarladung (1,602176634 × 10⁻¹⁹ C)

Bei Raumtemperatur (T ≈ 300 K) ergibt sich VT ≈ 25,85 mV, was exakt dem im Programm fest hinterlegten Wert Vt = 0,02585 V entspricht.

3. Einlesen der Messdaten und nichtlineare Kurvenanpassung

3.1 Datenimport

Das Programm liest die Messdatei „Diode.txt“ zeilenweise ein. Ab der Kopfzeile, die mit „Point“ beginnt, werden je Zeile die Diodenspannung (zweite Spalte) und der Diodenstrom in mA (dritte Spalte) extrahiert. Dezimalkommata werden in Dezimalpunkte umgewandelt, um eine korrekte Konvertierung in Gleitkommazahlen (float) zu gewährleisten. Alle gültigen Messpunkte werden in den Feldern spannung_alle und strom_alle gespeichert; für den eigentlichen Fit werden nur Punkte mit positivem Strom (i_ma \> 0) verwendet, da der Logarithmus bzw. die Exponentialfunktion im Sperrbereich (negative oder verschwindende Ströme) numerisch instabile bzw. physikalisch wenig aussagekräftige Fitresultate liefern würde.

3.2 Methode der kleinsten Quadrate (Least-Squares-Fit)

Die Funktion curve_fit aus scipy.optimize bestimmt die Parameter IS und n so, dass die Summe der quadratischen Abweichungen zwischen den gemessenen Stromwerten Id,i (Messpunkt i) und dem Modellwert nach Shockley-Gleichung minimal wird:

S(I~S~, n) = Σ~i=1~^N^ [ I~d,i~ − f(V~d,i~, I~S~, n) ]^2^ (3.1)

mit der Modellfunktion f(Vd, IS, n) = IS·[exp(Vd/(n·VT)) − 1]. Gesucht ist also:

(I~S~, n) = argmin~(IS,n)~ S(I~S~, n) (3.2)

Da das Modell nichtlinear in den Parametern ist (IS und n erscheinen multiplikativ bzw. im Exponenten), kann das Minimum nicht analytisch in geschlossener Form bestimmt werden. curve_fit verwendet daher iterativ den Levenberg-Marquardt-Algorithmus, eine Kombination aus Gauß-Newton-Verfahren und Gradientenabstieg. Ausgehend von einem Startwert p0 = [IS = 10⁻¹² A, n = 2] wird in jedem Iterationsschritt k das lineare Gleichungssystem

(J^T^J + λ·diag(J^T^J)) · Δp~k~ = J^T^·r~k~ (3.3)

gelöst, wobei J die Jacobi-Matrix der partiellen Ableitungen des Residuenvektors r nach den Parametern (IS, n) ist und λ ein Dämpfungsparameter, der zwischen Gauß-Newton-Schritt (λ klein) und Gradientenabstieg (λ groß) interpoliert. Der Parametervektor wird gemäß

p~k+1~ = p~k~ + Δp~k~ (3.4)

aktualisiert, bis die Änderung der Residuensumme einen vorgegebenen Toleranzwert unterschreitet (Konvergenz) oder die maximale Anzahl von Funktionsauswertungen (maxfev = 10000) erreicht ist. Das Ergebnis sind die im Programm ausgegebenen Parameter IS und n, die anschließend für alle weiteren Berechnungen (Arbeitspunktbestimmung, Bisektion) als feste Diodenparameter verwendet werden.

4. Schaltungsmodell und Maschengleichung

Im Hauptmenü betrachtet das Programm eine einfache Reihenschaltung aus einer Versorgungsspannungsquelle Uges, einem ohmschen Vorwiderstand R und der Diode. Nach der Kirchhoffschen Maschenregel gilt für diesen Stromkreis, dass die Summe aller Teilspannungen der Quellenspannung entspricht:

U~ges~ = I·R + V~d~ (4.1)

Da im stationären Fall (Gleichstrom) derselbe Strom I durch Widerstand und Diode fließt (Reihenschaltung), gilt I = Id, sodass mit der Shockley-Gleichung (2.1) eine implizite, transzendente Gleichung für die unbekannte Diodenspannung Vd entsteht:

f(Vd) = R ISlbrack exp ⁣( (Vd)/(nVT) ) - 1 rbrack + Vd - Uges = 0 (4.2)

Diese Gleichung lässt sich nicht nach Vd auflösen, da Vd sowohl linear als auch im Exponenten auftritt. Sie muss daher numerisch gelöst werden -- im Programm geschieht dies mit dem Newton-Raphson-Verfahren (Funktion solve_for_Vd).

Geometrisch entspricht die Lösung von (4.2) dem Schnittpunkt der Diodenkennlinie Id(Vd) mit der sogenannten Lastgeraden (auch Widerstandsgerade genannt), die durch Umstellen von (4.1) nach dem Strom entsteht:

I~R~(V~d~) = (U~ges~ − V~d~) / R (4.3)

Dieser Schnittpunkt wird als Arbeitspunkt der Schaltung bezeichnet und im Diagramm des Programms als blauer Punkt markiert.

5. Das Newton-Raphson-Verfahren

5.1 Allgemeine Herleitung

Das Newton-Raphson-Verfahren dient der iterativen Bestimmung einer Nullstelle x einer differenzierbaren Funktion f(x), also einer Lösung von f(x) = 0. Die Herleitung erfolgt über die Taylorreihenentwicklung von f um einen Näherungswert xk:

f(x) ≈ f(x~k~) + f′(x~k~)·(x − x~k~) + O((x−x~k~)^2^) (5.1)

Bricht man die Reihe nach dem linearen Glied ab (lineare Approximation der Funktion durch ihre Tangente im Punkt xk) und fordert, dass diese lineare Näherung an der Stelle x = xk+1 verschwindet, also f(xk) + f′(xk)·(xk+1 − xk) = 0, so folgt nach Umstellen die Newton-Iterationsvorschrift:

x~k+1~ = x~k~ − f(x~k~) / f′(x~k~) (5.2)

Geometrisch bedeutet dies: Man legt im aktuellen Näherungspunkt die Tangente an die Funktion und verwendet deren Nullstelle als neue, verbesserte Näherung. Bei hinreichend glatten Funktionen und einem Startwert nahe der gesuchten Nullstelle konvergiert das Verfahren quadratisch, d.h. die Anzahl der korrekten Nachkommastellen verdoppelt sich (näherungsweise) mit jedem Iterationsschritt.

5.2 Anwendung auf die Diodengleichung

Im Programm wird das Newton-Raphson-Verfahren auf die Maschengleichung (4.2) angewendet, wobei die gesuchte Variable die Diodenspannung Vd ist:

f(V~d~) = R·I~S~·[exp(V~d~/(n·V~T~)) − 1] + V~d~ − U~ges~ (5.3)

Die für das Verfahren benötigte Ableitung f′(Vd) nach Vd ergibt sich durch Anwendung der Kettenregel auf den Exponentialterm:

f′(V~d~) = d/dV~d~ { R·I~S~·exp(V~d~/(n·V~T~)) } + 1 (5.4)

f′(V~d~) = (R·I~S~)/(n·V~T~)·exp(V~d~/(n·V~T~)) + 1 (5.5)

Eingesetzt in (5.2) ergibt sich die im Quellcode implementierte Iterationsvorschrift:

V~d,k+1~ = V~d,k~ − [ R·I~S~·(exp(V~d,k~/(n·V~T~)) − 1) + V~d,k~ − U~ges~ ] / [ (R·I~S~)/(n·V~T~)·exp(V~d,k~/(n·V~T~)) + 1 ] (5.6)

Diese Vorschrift entspricht exakt den Zeilen f = R·(Is·(exp(Vd/(n·Vt))−1)) + Vd − Uges, df = R·Is·exp(Vd/(n·Vt))/(n·Vt) + 1 und Vd_new = Vd − f/df im Quellcode der Funktion solve_for_Vd.

Als Startwert wird Vd = 0 V verwendet. Das Verfahren bricht ab, sobald die Änderung zwischen zwei aufeinanderfolgenden Iterationen kleiner als die Toleranz (1×10⁻⁶ V) ist, spätestens jedoch nach 1000 Iterationen (max_iterations). Da f′(Vd) wegen des stets positiven Exponentialterms und des additiven Terms +1 für alle reellen Vd strikt positiv und die Funktion f monoton steigend und konvex ist, konvergiert das Verfahren für diesen Anwendungsfall robust gegen die eindeutige Lösung.

6. Das Bisektionsverfahren

6.1 Allgemeine Herleitung

Das Bisektionsverfahren (Intervallhalbierungsverfahren) basiert auf dem Zwischenwertsatz für stetige Funktionen: Ist g(x) auf einem Intervall [a, b] stetig und besitzen g(a) und g(b) unterschiedliche Vorzeichen,

g(a)·g(b) \< 0 (6.1)

so existiert nach dem Zwischenwertsatz mindestens eine Nullstelle x ∈ [a, b] mit g(x) = 0. Das Verfahren halbiert das Intervall iterativ: Man berechnet den Mittelpunkt

x~m~ = (a + b) / 2 (6.2)

und prüft das Vorzeichen von g(xm). Hat g(xm) dasselbe Vorzeichen wie g(a), liegt die Nullstelle im rechten Teilintervall, und man setzt a ∶= xm; andernfalls liegt sie im linken Teilintervall, und man setzt b ∶= xm. Dieses Vorgehen wird wiederholt, bis die Intervallbreite (b − a) eine vorgegebene Toleranz unterschreitet. Da sich die Intervallbreite in jedem Schritt halbiert,

(b~k~ − a~k~) = (b~0~ − a~0~) / 2^k^ (6.3)

ist die Konvergenz linear, aber unbedingt garantiert, solange die Vorzeichenbedingung (6.1) zu Beginn erfüllt ist -- im Gegensatz zum Newton-Verfahren, das bei ungünstigen Startwerten divergieren kann.

6.2 Anwendung zur Bestimmung des Widerstands R

Im Programm wird das Bisektionsverfahren in der Funktion finde_R_bisektion verwendet, um zu einem gewünschten Diodenstrom Id,soll denjenigen Widerstand R zu finden, der diesen Strom im Arbeitspunkt erzeugt. Hierzu wird die Hilfsfunktion

g(R) = I~d~(V~d~(R)) − I~d,soll~ (6.4)

betrachtet, wobei Vd(R) für jeden Widerstandswert R durch Lösen der Maschengleichung (4.2) mittels Newton-Raphson-Verfahren (Abschnitt 5) bestimmt wird und Id(Vd(R)) anschließend mit der Shockley-Gleichung (2.1) berechnet wird. Da bei festem Uges der Diodenstrom mit wachsendem Vorwiderstand R streng monoton fällt (ein größerer Widerstand reduziert den Spannungsabfall an der Diode und damit exponentiell den Diodenstrom), ist g(R) eine streng monoton fallende Funktion von R, und es existiert genau ein Widerstand R, für den g(R) = 0 gilt.

Das Suchintervall wird im Programm mit Rmin = 1 Ω und Rmax = 1 000 000 Ω initialisiert. In jedem Iterationsschritt wird

R~mid~ = (R~min~ + R~max~) / 2 (6.5)

berechnet und der zugehörige Diodenstrom Id,mid bestimmt. Es gilt dann die Fallunterscheidung:

  • Ist Id,mid \> Id,soll (Widerstand zu klein, Strom zu hoch), so wird Rmin := Rmid gesetzt (rechte Hälfte des Intervalls wird beibehalten),
  • andernfalls (Id,mid ≤ Id,soll) wird Rmax := Rmid gesetzt (linke Hälfte wird beibehalten).

Diese Schleife wird fortgesetzt, bis (Rmax − Rmin) kleiner als die Toleranz von 1×10⁻⁶ Ω ist; als Ergebnis wird der Mittelwert (Rmin + Rmax)/2 zurückgegeben. Anschließend wird im Hauptprogramm mit diesem R erneut der Arbeitspunkt (Vd, Id) über das Newton-Raphson-Verfahren bestimmt und zusammen mit der Last- und Diodenkennlinie sowie den Messpunkten grafisch dargestellt.

7. Gesamter Programmablauf

Zusammenfassend lässt sich der Ablauf des Programms in folgende Schritte gliedern:

  1. Einlesen der Messdaten aus Diode.txt und Trennung in Rohdaten (alle Punkte) und Fitdaten (nur positive Ströme).
  1. Nichtlineare Ausgleichsrechnung (Levenberg-Marquardt, Abschnitt 3.2) zur Bestimmung der Diodenparameter IS und n aus den Messdaten gemäß Shockley-Gleichung.
  1. Grafische Darstellung der Approximation (Messpunkte als Kreuze, Fitkurve als rote Linie).
  1. Interaktives Hauptmenü mit zwei Modi:
  • Modus 1 -- Arbeitspunktbestimmung: Eingabe von R und Uges; Lösung der Maschengleichung (4.2) mittels Newton-Raphson-Verfahren (Abschnitt 5) liefert den Arbeitspunkt (Vd, Id).
  • Modus 2 -- Widerstandssuche: Eingabe von Uges und gewünschtem Diodenstrom Id,soll; Bisektionsverfahren (Abschnitt 6) liefert den passenden Widerstand R, anschließend erneute Arbeitspunktbestimmung über Newton-Raphson.
  1. Grafische Ausgabe: Diodenkennlinie Id(Vd) nach Shockley-Gleichung, Lastgerade IR(Vd) nach Gleichung (4.3), eingezeichneter Arbeitspunkt sowie die ursprünglichen Messpunkte zum visuellen Abgleich von Modell und Messung.

8. Zusammenfassung

Das Programm verbindet drei klassische numerische Verfahren der angewandten Mathematik mit einem physikalischen Halbleitermodell: Die nichtlineare Ausgleichsrechnung (Levenberg-Marquardt) extrahiert aus Messdaten die Diodenparameter IS und n. Das Newton-Raphson-Verfahren löst die durch die Kirchhoffsche Maschenregel entstehende transzendente Gleichung für die Diodenspannung im Arbeitspunkt und nutzt dabei die quadratische Konvergenz in der Nähe der Lösung aus. Das Bisektionsverfahren schließlich invertiert die (im relevanten Bereich) monotone Beziehung zwischen Vorwiderstand und Diodenstrom, um gezielt einen gewünschten Arbeitspunkt einzustellen, und garantiert dabei -- anders als das Newton-Verfahren -- globale Konvergenz innerhalb des gewählten Suchintervalls. Durch das Zusammenspiel dieser Verfahren lässt sich die Diodenschaltung sowohl analytisch verstehen als auch numerisch vollständig und robust auswerten.


Arbeitspunkt der Diode: Newton-Raphson, und die Bisektion auf R

Übertragen aus BUCH/kap08_led_quellen.py, Zeilen 30–49 — das ist die quellentreue Wiedergabe von Optimierung_AP_1.py, dem Programm, das dieses Manuskript beschreibt. Newton-Raphson im Strom (Abschnitt 5.2), Startwert Uges/(R+RS+1), Abbruch bei |ΔI| < 10−7, höchstens 1000 Schritte. Die Bisektion auf R (Abschnitt 6.2) läuft im Intervall 1 Ω … 1 000 000 Ω. Den Ausgleich selbst rechnet die Seite nicht — dafür benutzt sein Programm scipy.optimize.curve_fit (Levenberg-Marquardt); die Seite arbeitet mit dem Ergebnis dieses Ausgleichs weiter.

Die Newton-Schritte im Strom

Kennlinie und Lastgerade

Ergebnis, und was sein Programm ausgibt

Bisektion auf R

Leuchtdiode · Teilmanuskript 11_led.md · Quelle: LED_Manuskript_v2.docx
↓ zum rechnenden Teil

VORLESUNGSMANUSKRIPT

LED-Kennlinien---Erweiterte Shockley-Gleichung

Arbeitspunktberechnung mit dem Newton-Raphson-Verfahren

-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Lernziele: Die Shockley-Gleichung herleiten und ihre Grenzen kennen --- die Erweiterung für reale LEDs (insbes. blaue GaN-LEDs) physikalisch begründen --- verstehen, warum V(I) statt I(V) gewählt wird und was das für den Newton-Raphson-Ansatz bedeutet.

-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1 Die ideale Shockley-Gleichung

1.1 Herleitung und Formel

William Shockley leitete 1949 aus dem Drift-Diffusions-Modell des p-n-Übergangs die Strom-Spannungs-Kennlinie ab. Der Strom folgt dem Überschuss an Minoritätsträgern, die durch Diffusion den Übergang passieren:

------------- -------------------------------------------------- ----------------------------- (GL. 1) I_D = I_S · [ exp( V_D / (n·V_T) ) − 1 ] Ideale Shockley-Gleichung

V_T = k·T / q ≈ 25,85 mV bei 300 K Temperaturspannung ------------- -------------------------------------------------- -----------------------------

-------------------- -------------------------------------------------------------------------------------------------------------- Symbol Bedeutung und typischer Wert (blaue GaN-LED)

I_S Sättigungssperrstrom. Thermisch generiert. Für GaN: 10⁻²⁰ ... 10⁻¹⁶ A (wegen großer Bandlücke extrem klein).

n Idealitätsfaktor. n=1: reine Diffusion (ideal). n=2: RLZ-Rekombination dominiert. Bei GaN: 1,8 ... 3,5.

V_T Temperaturspannung k·T/q. Bei 300 K = 25,85 mV. Steigt linear mit der absoluten Temperatur. -------------------- --------------------------------------------------------------------------------------------------------------

Für V_D ≫ V_T vereinfacht sich die Gleichung zur reinen Exponentialfunktion. Im halblogarithmischen I-V-Diagramm ergibt das eine Gerade mit der Steigung 1/(n·V_T·ln 10) ≈ 1 Dekade / (n · 59,5 mV). Diese „60-mV-Regel“ ist eine wichtige Faustregel.

1.2 Wo das Modell versagt --- und warum

Die ideale Gleichung setzt voraus: keine Rekombination in der Raumladungszone, keine ohmschen Bahnwiderstände, reine Minoritätssträgerinjektion. Bei realen LEDs sind alle drei Annahmen verletzt:

--------------------- -------------------------------------------------------------------------------- ------------------------------- Effekt Physikalische Ursache Konsequenz im Modell

n \> 1 Strahlende Rekombination + SRH-Rekombination in der RLZ (bei GaN: Auger-Terme) n als freier Parameter (1--5)

Kennlinie knickt ab Ohmscher Spannungsabfall an Bahnwiderständen, ITO-Elektrode, Bonddrähten Serienwiderstand R_S addieren

I_S extrem klein Große Bandlücke von GaN (3,4 eV) → I_S ∼ exp(−E_g/kT) log₁₀(I_S) als Fitparameter --------------------- -------------------------------------------------------------------------------- -------------------------------

2 Die erweiterte Shockley-Gleichung

2.1 Ersatzschaltbild und Gleichung

Das erweiterte Modell ergänzt die ideale Diode durch einen Serienwiderstand R_S, der alle ohmschen Verluste zwischen Klemme und p-n-Übergang zusammenfasst. Die Klemmenspannung setzt sich additiv zusammen:

------------- -------------------------------------------------- --------------------------- (GL. 2) V_D = n·V_T·ln( I_D/I_S + 1 ) + I_D·R_S Erweiterte Shockley-Gl.

└──────────────────────┴──────────────────

ideale Diode (Shockley) Serienanteil ------------- -------------------------------------------------- ---------------------------

Der Serienterm I_D·R_S ist bei kleinen Strömen vernachlässigbar, wächst aber linear und dominiert bei hohen Strömen. Das erklärt das charakteristische „Abknicken“ der LED-Kennlinie im linearen I-V-Diagramm.

3 Warum V(I) statt I(V)? --- Eine entscheidende Modellwahl

3.1 Die zwei Formulierungen im Vergleich

GL. 2 ist explizit in V --- gegeben I berechnen wir V direkt. Die inverse Formulierung I(V) ist dagegen implizit: I taucht sowohl linear als auch im Argument des Logarithmus auf und lässt sich nicht analytisch auflösen.

------------ ------------------------------------------------------ ---------------------------------------- V(I) ✔ V_D = n·V_T·ln(I_D/I_S + 1) + I_D·R_S explizit, direkt berechenbar

I(V) ✘ I_D = I_S·[ exp((V_D − I_D·R_S)/(n·V_T)) − 1 ] implizit, I steht auf beiden Seiten! ------------ ------------------------------------------------------ ----------------------------------------

Die implizite Form I(V) existiert zwar (mit der Lambert-W-Funktion lösbar), ist aber für einen Kurvenfit ungeeignet. Warum?

3.2 Numerische Begründung für die V(I)-Wahl

scipy.curve_fit minimiert die Summe der quadrierten Abweichungen in der abhängigen Variable:

--------------- ---------------------------------------------------------- ---------------------- V(I)-Fit: min Σ [ V_gemessen(i) − V_modell(I_gemessen(i)) ]² Residuen in Volt

I(V)-Fit: min Σ [ I_gemessen(i) − I_modell(V_gemessen(i)) ]² Residuen in Ampere --------------- ---------------------------------------------------------- ----------------------

Problem beim I(V)-Fit: Der Strom I_D variiert über 5--6 Größenordnungen (0,001 mA bis 100 mA). Ein Messpunkt bei 100 mA trägt mit (100 mA)² = 10⁴ zum Fehler bei, ein Punkt bei 0,01 mA nur mit (0,01 mA)² = 10⁻⁸. Der Fit wäre praktisch blind für kleine Ströme. Vorteil beim V(I)-Fit: Die Spannung V_D ändert sich bei der blauen LED nur von ca. 2,5 V bis 3,5 V. Alle Messpunkte tragen in ähnlicher Größenordnung bei. Der Fit ist gleichmäßig gewichtet und numerisch gut konditioniert.

Zusätzlich bedeutet eine kleine Spannungänderung ΔV bei einer Exponentialfunktion eine sehr große Stromänderung. Der Fehler propagiert asymmetrisch --- beim V(I)-Fit ist diese Asymmetrie unkritisch, beim I(V)-Fit verursacht sie numerische Instabilität.

3.3 Konsequenz: Zwei verschiedene Newton-Raphson-Probleme

Die Wahl der Formulierung bestimmt direkt, wie wir später die Schaltungsgleichung lösen --- und damit den Ansatz für das Newton-Raphson-Verfahren.

------------------- -------------------------------------- ------------------------------------------ Ansatz V(I) ✔ (gewählt) Ansatz I(V) ✘ (Alternative)

Gesucht bei Fit Parameter aus V=f(I) Parameter aus I=f(V, I) --- implizit!

Fit-Residuen Fehler in Volt → gut konditioniert Fehler in Ampere → schlecht gewichtet

Newton f-Funktion f(I_D) = V_D(I_D) + I_D·R − U_ges f(V_D) = I_D(V_D)·R − (U_ges − V_D)

Ableitung f\' analytisch einfach (s. Abschn. 4) zusätzl. implizite Differentiation nötig

Startwert I_D aus Kurzschlussnäherung → robust V_D-Schätzung unsicherer ------------------- -------------------------------------- ------------------------------------------

Im Python-Programm wird konsequent der V(I)-Ansatz gewählt: Das Modell liefert V aus I, der Fit minimiert Spannungsresiduen, und auch das Newton-Raphson-Verfahren formuliert die Fehlerfunktion in I als Unbekannte.

4 Newton-Raphson-Verfahren zur Arbeitspunktberechnung

4.1 Schaltungsgleichung (Maschenregel)

Im Reihenstromkreis (Spannungsquelle U_ges, Vorwiderstand R, LED) liefert die Maschenregel:

------------- -------------------------------------------------- ---------------- (GL. 3) U_ges = V_R + V_D = I_D·R + V_D(I_D) Maschenregel

------------- -------------------------------------------------- ----------------

Einsetzen des V(I)-Modells (GL. 2) ergibt die zu lösende Gleichung. Da V_D(I_D) nichtlinear ist, kann I_D nicht direkt isoliert werden --- wir suchen die Nullstelle der Fehlerfunktion:

------------- ---------------------------------------------------------------- ------------------ (GL. 4) f(I_D) = n·V_T·ln(I_D/I_S + 1) + I_D·(R + R_S) − U_ges = 0 Fehlerfunktion

------------- ---------------------------------------------------------------- ------------------

4.2 Newton-Raphson-Iteration

Das Newton-Raphson-Verfahren approximiert f(I_D) lokal durch die Tangente und bestimmt deren Nullstelle als nächsten Iterationspunkt:

------------- ------------------------------------------------------------- -------------------- (GL. 5) I_D^(k+1) = I_D^(k) − f( I_D^(k) ) / f\'( I_D^(k) ) Newton-Iteration

------------- ------------------------------------------------------------- --------------------

Die Ableitung f\'(I_D) wird analytisch berechnet --- das ist ein wesentlicher Vorteil der V(I)-Formulierung. Beim I(V)-Ansatz wäre eine implizite Differentiation nötig (I taucht auf beiden Seiten auf):

------------- -------------------------------------------------- ------------------------- (GL. 6) f\'(I_D) = n·V_T / (I_D + I_S) + R + R_S Analytische Ableitung

└────────────────┴─────────────────

Dioden-Differenzwiderstand ohmscher Anteil ------------- -------------------------------------------------- -------------------------

Die Ableitung ist immer positiv (alle Terme \> 0), was gewährleistet, dass das Verfahren in die richtige Richtung schreitet --- es gibt keine Nullstelle der Ableitung und damit keine Divergenz für I_D \> 0.

4.3 Startwert und Konvergenz

Als Startwert wird der genäherte Kurzschlussstrom verwendet:

------------- -------------------------------------------------- ---------------------------------------- (GL. 7) I_D^(0) = U_ges / ( R + R_S + 1 ) Startwert (1Ω ≈ Diode bei kleinem I)

------------- -------------------------------------------------- ----------------------------------------

Newton-Raphson konvergiert quadratisch: Die Anzahl korrekter Dezimalstellen verdoppelt sich pro Iteration. Typisch werden 5--10 Iterationen für eine Genauigkeit von 10⁻⁷ A benötigt.

Numerische Absicherungen im Code: - I_D ≤ 0: Zurücksetzen auf 10⁻¹² A (Logarithmus undefiniert) - |f\'(I_D)| \< 10⁻³⁰: Abbruch (Division durch nahezu Null) - Kein Ergebnis nach 1000 Iterationen: Rückgabe None mit Warnung - Ergebnis I_D ≤ 0: Verworfen (physikalisch unmöglich)

4.4 Grafische Interpretation: Lastgerade

Die Arbeitsgleichung (GL. 3) lässt sich umschreiben zu V_D = U_ges − I_D·R. Das ist die Gleichung einer Geraden im I-V-Diagramm --- der Lastgeraden:

------------- -------------------------------------------------- -------------- (GL. 8) V_D = U_ges − I_D · R Lastgerade

I_D = 0 ➤ V_D = U_ges (Leerlauf-Punkt)

V_D = 0 ➤ I_D = U_ges/R (Kurzschluss-Punkt) ------------- -------------------------------------------------- --------------

Der Arbeitspunkt ist der Schnittpunkt von LED-Kennlinie V_D(I_D) und Lastgeraden. Das Newton-Raphson-Verfahren findet diesen Schnittpunkt numerisch, indem es iterativ die Differenz beider Kurven --- also f(I_D) --- zu null treibt.

5 Umsetzung im Python-Programm

5.1 Kernfunktionen und ihre Aufgaben

----------------------------------- ---------------------------------------------------------------------------- Funktion / Abschnitt Aufgabe und Bezug zur Theorie

extended_shockley_voltage(I, ...) Berechnet V_D aus I_D nach GL. 2 --- die V(I)-Formulierung

curve_fit(...) Fittet log₁₀(I_S), n, R_S an Messdaten. Minimiert Fehler in V (nicht in I)

solve_for_Id(...) Newton-Raphson: Löst GL. 4 iterativ. Nutzt GL. 5 und GL. 6

Diagramm 1 Gesamtkennlinie: alle Messpunkte + Fit-Kurve aus GL. 2

Diagramm 2 Arbeitspunkt: Kennlinie + Lastgerade (GL. 8) + AP-Markierung ----------------------------------- ----------------------------------------------------------------------------

5.2 Warum log₁₀(I_S) statt I_S direkt fitten?

I_S liegt für blaue GaN-LEDs im Bereich 10⁻²⁰ A. curve_fit würde versuchen, diesen Wert direkt zu optimieren --- bei Parameterschritten im Bereich des Absolutwerts extrem schlechte Konditionierung. log₁₀(I_S) liegt dagegen im handhabbaren Bereich −20 bis −10, und ein Schritt von 0,1 entspricht einer Multiplikation von I_S mit 10⁰ʸ¹ ≈ 1,26 --- physikalisch sinnvoll.

5.3 Korrekturen der verbesserten Version

------------------------------------ -------------------------------------------------- Problem (Original) Korrektur

except: pass --- alle Fehler stumm except ValueError mit Zeilennummer-Ausgabe

Keine Dateiexistenzprüfung os.path.isfile() + sys.exit(1) mit Meldung

I_D = 0 als gültig akzeptiert Prüfung I_D ≤ 0 mit Warnung und continue

Kein sauberer Exit \'q\' beendet Schleife, plt.close() nach Plot

Division durch df ≈ 0 möglich Guard: if abs(df) \< 1e-30 → return None ------------------------------------ --------------------------------------------------

6 Übungsaufgaben

Aufgabe 1 --- Idealitätsfaktor aus Kennlinie

Gegeben: Eine blaue LED zeigt im halblogarithmischen I-V-Diagramm eine Steigung von 1 Dekade / 120 mV. Berechnen Sie n bei T = 25 °C.

-- --------------------------------------------------------------------------------- Hinweis: 1 Dekade / 120 mV ➤ n = 120 mV / (V_T · ln 10) = 120 mV / 59,5 mV = ??

-- ---------------------------------------------------------------------------------

Aufgabe 2 --- Vorwiderstand dimensionieren

Gegeben: U_ges = 5 V, blaue LED mit V_F = 3,1 V bei I_F = 20 mA, R_S = 20 Ω.

Aufgabe: (a) Berechnen Sie R aus der Lastgeraden-Gleichung. (b) Welche Verlustleistung entsteht an R? (c) Welcher Normwert (E12-Reihe) wäre zu wählen?

Aufgabe 3 --- Newton-Raphson per Hand

Gegeben: n = 2,0, I_S = 10⁻²⁰ A, R_S = 20 Ω, R = 100 Ω, U_ges = 5 V, V_T = 25,85 mV.

Aufgabe: Führen Sie 3 Iterationen des Newton-Raphson-Verfahrens durch. Startwert: I_D⁻⁰ = U_ges / (R + R_S + 1) ≈ 41,0 mA. Tragen Sie f(I_D), f\'(I_D) und I_D⁻ⁿ⁺¹ tabellarisch ein.

Aufgabe 4 --- Vergleich V(I) vs. I(V) beim Fit

Aufgabe: Erklären Sie in eigenen Worten, warum ein Fit mit I(V) als abhängiger Variable bei LED-Messdaten zu schlechten Ergebnissen führt. Welche Messpunkte würden übergewichtet, welche vernachlässigt?

7 Zusammenfassung der Kernaussagen

1. Die ideale Shockley-Gleichung I_D = I_S·[exp(V_D/n·V_T)−1] gilt für ideale p-n-Übergänge. Bei LEDs versagt sie wegen RLZ-Rekombination (n\>1) und Serienwiderstands-Effekten. 2. Die Erweiterung V_D = n·V_T·ln(I_D/I_S+1) + I_D·R_S beschreibt reale LEDs durch drei Parameter: I_S (Materialabhängig), n (Rekombinationsmechanismus), R_S (parasitäre Widerstände). 3. Die Formulierung V(I) statt I(V) ist eine bewusste numerische Entscheidung: Spannungsresiduen sind gleichmäßig verteilt, der Fit ist gut konditioniert. Beim I(V)-Ansatz dominieren große Ströme den Fehler. 4. Beim Newton-Raphson-Verfahren wirkt sich die V(I)-Wahl direkt aus: Die Fehlerfunktion f(I_D) und ihre analytische Ableitung f\'(I_D) sind beide einfach und numerisch stabil. Beim I(V)-Ansatz wäre implizite Differentiation nötig. 5. Das Verfahren konvergiert quadratisch und findet den Arbeitspunkt (Schnittpunkt von Kennlinie und Lastgerade) typisch in 5--10 Iterationen mit einer Genauigkeit von \< 10⁻⁷ A.

Literatur

  1. Shockley, W. (1949): The Theory of p-n Junctions. Bell System Technical Journal 28(3), 435--489.
  1. Sze, S.M., Ng, K.K. (2007): Physics of Semiconductor Devices. 3rd ed., Wiley.
  1. Schubert, E.F. (2018): Light-Emitting Diodes. 3rd ed., Cambridge University Press.
  1. Press, W.H. et al. (2007): Numerical Recipes. 3rd ed., Cambridge. [Kap. 9: Root Finding, Kap. 15: Curve Fitting]

Die blaue Leuchtdiode: reines Shockley-Modell gegen das erweiterte

Übertragen aus BUCH/kap08_led_quellen.py: die Modellfunktionen (Zeilen 25–33), der Newton-Löser im Strom (Zeilen 35–49) und die Fitwerte, die sein Programm an 46 Messpunkten einer blauen LED bestimmt. Die Seite fittet nicht selbst — sie rechnet mit genau den Werten weiter, die sein Lauf ausgibt, und stellt beide Modelle nebeneinander.

Die beiden Anpassungen aus seinem Lauf

46 Messpunkte, davon 35 im erweiterten Fitfenster (I > 0,05 mA) — so meldet es kap08_led_quellen.py.

Die Newton-Schritte

Arbeitspunkt, und was sein Programm ausgibt

Beide Kennlinien und die Lastgerade

BJT und SPICE · Teilmanuskript 20_bjt_spice.md · Quelle: Vorlesungsmanuskript_BJT_SPICE_RW.docx
↓ zum rechnenden Teil

Vorlesungsmanuskript

Halbleiter-Elektronik

Bipolare Transistoren: Erweitertes SPICE-Modell

Themen: ▸ Gummel-Poon-Modell ▸ Early-Effekt (Kollektor & Basis) ▸ Hochstrom-Effekt (Webster) ▸ Interner Basiswiderstand ▸ Newton-Raphson-Verfahren ▸ Bisektionsverfahren ▸ Arbeitspunkt-BerechnungBegleitprogramm: Erweitere_Spice_Parameter_1.py Umgebung: Python 3.x, NumPy, Matplotlib Voraussetzungen: Grundkenntnisse Halbleiterphysik, Schaltungstechnik, Differentialrechnung
Abbildung

Prof. Dr.-Ing. Ralph Wystup M.Sc.

1 Motivation und Lernziele

Das ideale Shockley-Modell des bipolaren Transistors (BJT) beschreibt das Bauelement mit nur wenigen Parametern und ist hervorragend geeignet, um das grundlegende Verhalten zu verstehen. Für die Simulation realer Schaltungen -- insbesondere mit SPICE-Simulatoren wie LTspice oder ngspice -- werden jedoch deutlich differenziertere Modelle benötigt. Das bekannteste davon ist das Gummel-Poon-Modell, das dem Standard-SPICE-Transistormodell zugrunde liegt.

In dieser Vorlesung analysieren wir Schritt für Schritt ein Python-Programm, das die wichtigsten Erweiterungen des Standardmodells implementiert und den Transistor-Arbeitspunkt numerisch berechnet.

ZieleNach dieser Einheit können Sie: - den Einfluss der Early-Spannung auf Kollektor- und Basisstrom quantitativ beschreiben, - den Webster-Effekt (beta-Abfall bei Hochstrom) modellieren und berechnen, - den internen Basiswiderstand als Korrektur der effektiven Basis-Emitter-Spannung einbeziehen, - ein nichtlineares Gleichungssystem mit dem Newton-Raphson-Verfahren lösen, - einen Arbeitspunkt via Bisektionsverfahren automatisch einstellen, - alle genannten Effekte im Python-Code identifizieren und nachvollziehen.

2 Physikalische Grundlagen des bipolaren Transistors

2.1 Das ideale Dioden-Exponentialgesetz

Der Kollektorstrom eines npn-Transistors im Normalbetrieb (Vorwärtsbetrieb, aktiver Bereich) folgt aus der Shockley-Gleichung. Der Sättigungsstrom *I*ₛ (SPICE: IS) beschreibt den Diffusionsstrom bei vollständiger Verarmung der Basis:

IC = IS · exp( (VBE)/(n VT) )

mit

VT = (kB T)/(q) ≈ 25.86 mV bei~T = 300 K

und

n = Idealfaktor~(SPICE:~NF),n ≈ 1.0

Die Temperaturspannung Vᴛ ist gegeben durch:

VT = (kB T)/(q)
= (1.381 × 10- 23 J/K · 300 K)/(1.602 × 10- 19 C)
= 25.86 mV

2.2 Stromverstärkung und Basisstrom

Im idealen Modell ist die DC-Stromverstärkung *β*ₛ (SPICE: BF) konstant. Der Basisstrom ergibt sich damit zu:

IB = (IC)/(βF) = (IS)/(βF) · exp( (VBE)/(n VT) )

In der Praxis ist β jedoch strom-, temperatur- und spannungsabhängig. Das Gummel-Poon-Modell und die im Programm implementierten Erweiterungen bilden diese Abhängigkeiten quantitativ ab.

3 Erweiterte SPICE-Parameter -- Herleitung und Bedeutung

3.1 Early-Effekt am Kollektor (VAF)

3.1.1 Physikalische Ursache

Bei zunehmendem *V*ᴄᴇ weitet sich die Raumladungszone an der Kollektor-Basis-Sperrschicht aus. Dadurch wird die effektive Basisbreite *W*ᴃ schmaler (Basisbreitenmodulation). Da die Steigung des Trägerprofils in der Basis zunimmt, steigt der Kollektorstrom an. Dieser Effekt heißt Early-Effekt (nach James Early, 1952).

ModellDie modifizierte Kollektor-Kennlinie lautet: $IC = IS · exp( (VBE)/(n VT) ) · ( 1+(VCE)/(VA) )$ SPICE-Parameter: VAF (Forward Early Voltage, Kollektor-Early-Spannung, typisch 50--200 V)

3.1.2 Geometrische Interpretation

Extrapoliert man die Ausgangskennlinien Iᴄ(Vᴄᴇ) im aktiven Bereich nach links bis zur Vᴄᴇ-Achse, schneiden sie sich (näherungsweise) alle im Punkt *V*ᴄᴇ = −Vₐ. Dieser Schnittpunkt definiert die Early-Spannung Vₐ (SPICE: VAF). Je größer Vₐ, desto flacher die Kennlinien und desto geringer der Early-Effekt.

3.1.3 Ausgangsleitwert

Der differentielle Ausgangsleitwert (Kleinsignal) ergibt sich durch Ableiten:

Ausgehend von der Early‑Gleichung:

IC = IS · exp( (VBE)/(n VT) ) · ( 1+(VCE)/(VA) )

leitet sich der Ausgangsleitwert ab:

gCE = (∂ IC)/(∂ VCE) = IS · exp( (VBE)/(n VT) ) · (1)/(VA)

Da der Ausdruck vor 1/VA genau der Arbeitspunkt‑Kollektorstrom ist, gilt:

gCE ≈ (IC)/(VA)

Exakt ist dabei

gCE = (IC)/(VA + VCE),

denn IC enthält bereits den Faktor (1+VCE/VA). Der relative Abstand zwischen Näherung und exaktem Ausdruck ist genau VCE/VA: bei VA=146 V und VCE=5 V sind das 3,4 %, bei VA=95 V und VCE=12,5 V schon 13,2 %.

3.2 Basis-Early-Effekt (VAR / VAB)

Analog zum Kollektor-Early-Effekt existiert ein Early-Effekt auf den Basisstrom. Durch die Basisbreitenmodulation verändert sich nicht nur Iᴄ, sondern auch Iᴃ. SPICE modelliert dies mit der Basis-Early-Spannung (SPICE: VAR, auch Vₐᴃ oder Vₐᴃ genannt):

IB = ( (IS)/(βeff) ) · exp( (VBE,eff)/(n VT) ) · ( 1+(VCE)/(VAB) )

SPICE: VAR (Reverse Early Voltage, Einfluss auf den Basisstrom) Typischer Wert: VAB = 100… 500 V

Für Vₐᴃ → ∞ verschwindet dieser Effekt (idealer Basisstrom). In der Praxis ist Vₐᴃ meist größer als Vₐ, d. h. der Basis-Early-Effekt ist schwächer als der Kollektor-Early-Effekt.

3.3 Hochstrom-Effekt: Beta-Abfall (IKF)

![](../Bilder/20_bjt_spice_bild02.png){width=95%}

3.3.1 Ursache

Bei sehr hohen Kollektorströmen (Iᴄ \> IᴊF, dem \"Knickstrom\") beginnt die injizierte Trägerkonzentration in der Basis mit der Dotierungskonzentration vergleichbar zu werden. Es tritt Hochinjektion auf. Zwei Effekte reduzieren β:

  • Webster-Effekt: Bei Hochinjektion sinkt das Verhältnis Iᴄ/Iᴃ, da der Rekombinationsstrom in der Basis überproportional zunimmt.
  • Kirk-Effekt: Bei sehr hohen Stromdichten verlagert sich die Kollektorraumladungszone in die epitaxiale Schicht (Basisausweitung).

3.3.2 Modell nach Webster / Gummel-Poon

Das Gummel-Poon-Modell beschreibt den Hochstrom-Abfall von β durch:

βeff(IC) = (βF)/(√( 1 + (IC)/(IKF) ))
IKF:Knickstrom~(SPICE:~IKF,~typisch~10 mA… 1 A)
IC ≪ IKF:βeff ≈ βF(kein~Abfall)
IC ≫ IKF:βeff arrow 0(vollstddotandiger~Abfall)

3.3.3 Herleitung der Formel

Ausgangspunkt ist die allgemeine Ladungssteuerungsgleichung des Gummel-Poon-Modells. Die normierte Basisladung Qᴃ/Qᴃ₀ lautet näherungsweise:

qB = (QB)/(QB0) ≈ (1)/(2) + √(( (1)/(2) )2 + (IC)/(IKF))
Fddotur~IC ≪ IKF:qB ≈ 1(normale~Basisladung)
Fddotur~IC ≫ IKF:qB ≈ √((IC)/(IKF))(erhddotohte~Ladung)
Da~IC propto (1)/(qB),~gilt:
IC,eff = (IC,ideal)/(qB)
⟹ βeff = (βF)/(qB) ≈ (βF)/(√( 1 + (IC)/(IKF) ))

3.4 Interner Basiswiderstand (RBM)

3.4.1 Physikalische Ursache

Die Basiszone hat eine endliche laterale Ausdehnung. Der Basisstrom muss durch den Bahnwiderstand des Basisgebietes fließen. Dieser interne Basiswiderstand Rᴃ,int (SPICE: RBM) bewirkt einen ohmschen Spannungsabfall, der die effektiv wirkende Basis-Emitter-Spannung reduziert:

VBE,eff = VBE - IB · RB,int
RB,int: Interner~Basiswiderstand~(SPICE:~RBM,~typisch~1… 50 Ω )
IB: Basisstrom~am~Arbeitspunkt
VBE:ddot Außere~Basis-Emitter-Spannung~(Klemmenspannung)

Da Iᴃ von Vᴃᴇ,eff und Vᴃᴇ,eff von Iᴃ abhängt, entsteht eine implizite Rückkopplung. Im Programm wird diese Kopplung bei jeder Auswertung von F(Vᴃᴇ, Vᴄᴇ) konsistent berücksichtigt.

3.4.2 Ableitung der effektiven Spannung nach V_BE

Für die Jacobi-Matrix wird die Ableitung (dVBE,eff)/(dVBE) benötigt. Mit Iᴃ = (Vᴃᴃ − Vᴃᴇ)/Rᴃ:

VBE,eff = VBE - IB · RB,int
= VBE - ( (VBB - VBE)/(RB) ) · RB,int
(dVBE,eff)/(dVBE) = 1 - ( 0-(1)/(RB) ) · RB,int
= 1 + (RB,int)/(RB)
RB:Externer~Basisvorwiderstand~(Schaltung)
RB,int:Interner~Basisbahnwiderstand~(Bauelement-Parameter)

4 SPICE-Parameterübersicht

Die folgende Tabelle fasst alle im Programm verwendeten Parameter zusammen:


SPICE-Parameter Symbol Wert Bedeutung --------------------- ------------ ----------- ---------------------------------------------------- IS Iₛ 1×10⁻¹³ A Sättigungsstrom (Diffusionsstrom bei Verarmung)

BF βₛ 200 Kleinsignal-Stromverstärkung (Forward Beta)

NF n 1.0 Idealfaktor des Emitterübergangs

VAF Vₐ 100 V Kollektor-Early-Spannung (Ausgangskennl. Steigung)

VAR Vₐᴃ 200 V Basis-Early-Spannung (Einfluss auf Iᴃ)

IKF IᴊF 0.5 A Knickstrom: Beginn des β-Abfalls bei Hochstrom

RBM Rᴃ,int 10 Ω Interner (minimaler) Basisbahnwiderstand ---------------------------------------------------------------------------------------------------

5 Die untersuchte Schaltung

5.1 Fixed-Bias-Schaltung

Das Programm analysiert eine Fixed-Bias-Schaltung (einfache Basisvorspannung) mit npn-Transistor:


V_CC = 25 V (Versorgungsspannung) ----------------------------------------------------------------------- V_BB = V_CC (Basisspannung = V_CC, fixed bias)

R_C = 100 Ohm (Kollektorwiderstand)

R_B = variabel (wird durch Bisektionsverfahren optimiert) -----------------------------------------------------------------------

5.2 Maschengleichungen

Aus den zwei unabhängigen Maschen ergeben sich die Gleichungen:

Basiskreis

VBB = IB · RB + VBE
⟹ IB = (VBB - VBE)/(RB)

Kollektorkreis

VCC = IC · RC + VCE
⟹ IC = (VCC - VCE)/(RC)(Lastgerade)

6 Das nichtlineare Gleichungssystem F(V_BE, V_CE) = 0

6.1 Aufstellung

Gesucht sind die zwei Unbekannten Vᴃᴇ und Vᴄᴇ, die gleichzeitig die Transistorkennlinie und die Lastgeraden-Gleichungen erfüllen. Man stellt zwei Residuen Gleichungen auf:

Gleichung 1 -- Basiskreis (mit Basis-Early-Effekt)

f1(VBE,VCE) = IB - ( (IS)/(βeff) ) · exp( (VBE,eff)/(n VT) ) · ( 1+(VCE)/(VAB) ) = 0
IB = (VBB - VBE)/(RB) [aus~Basiskreismasche]
VBE,eff = VBE - IB · RB,int [Spannungsabfall~int.~Basiswiderstand]
βeff = (βF)/(√( 1 + (IC)/(IKF) )) [Webster-Formel]

Gleichung 2 -- Kollektorkreis (mit Kollektor-Early-Effekt)

f2(VBE,VCE) = IC - IS · exp( (VBE,eff)/(n VT) ) · ( 1+(VCE)/(VA) ) = 0
IC = (VCC - VCE)/(RC) [Lastgeradengleichung]

6.2 Kopplung der Gleichungen

Die beiden Gleichungen sind über Vᴃᴇ,eff (enthält Iᴃ, der von Vᴃᴇ abhängt) und über βᴇḟḟ (enthält Iᴄ, der von Vᴄᴇ abhängt) miteinander verkoppelt. Ein geschlossener analytischer Ausdruck existiert nicht -- numerische Lösung ist notwendig.

7 Newton-Raphson-Verfahren

7.1 Grundprinzip

Das Newton-Raphson-Verfahren ist das Standard-Verfahren für nichtlineare Gleichungssysteme in SPICE-Simulatoren. Für ein System F(x) = 0 mit x ∈ ℝⁿ lautet die Iterationsvorschrift:

xk + 1 = xk - J(xk)- 1 F(xk)
xk:aktueller~Iterationsvektor~lbrack VBE, VCE rbrackT
F( xk ): Residuenvektor~lbrack f1(xk), f2(xk) rbrackT
J( xk ): Jacobi-Matrix~(2×2),~(dF)/(dx)~ausgewertet~an~xk

Praktisch wird nicht die inverse Jacobi-Matrix berechnet, sondern das lineare Gleichungssystem:

J(xₖ) · Δx = −F(xₖ) gelöst (im Programm: numpy.linalg.solve):

Δ x = solve( J(xk),  - F(xk) )
xk + 1 = xk + Δ x
Abbruchkriterium: mid F(xk) mid < tol (hier:~tol = 10- 10)

7.2 Jacobi-Matrix

Die Jacobi-Matrix J enthält alle partiellen Ableitungen von F = [f₁, f₂]ᵀ nach den Unbekannten [Vᴃᴇ, Vᴄᴇ]ᵀ:

J = ⎡ (∂ f1)/(∂ VBE) (∂ f1)/(∂ VCE) ; (∂ f2)/(∂ VBE) (∂ f2)/(∂ VCE) ⎤

Herleitung der Jacobi-Elemente

Element J₁₁ = ∂f₁/∂Vᴃᴇ:

Vollständig ausgeschriebene Form von f1und ∂ f1/∂ VBE

Funktion f1

f1 = IB - ( (IS)/(b) ) · exp( (VBE,eff)/(n VT) ) · ( 1+(VCE)/(VAB) )

Ableitung ∂ f1/∂ VBE

(∂ f1)/(∂ VBE) = - (1)/(RB) - ( (IS)/(b) ) · exp( (VBE,eff)/(n VT) ) · (dVBE,eff)/(dVBE) · (1)/(n VT) · ( 1+(VCE)/(VAB) )

Element J₁₂ = ∂f₁/∂Vᴄᴇ:

Ausgehend von:

f1 = IB - ( (IS)/(b) ) · exp( (VBE,eff)/(n VT) ) · ( 1+(VCE)/(VAB) )

Die einzige Abhängigkeit von VCEsteckt im Faktor:

( 1+(VCE)/(VAB) )

Daher:

(∂ f1)/(∂ VCE) = - ( (IS)/(b) ) · exp( (VBE,eff)/(n VT) ) · (1)/(VAB)

Element J₂₁ = ∂f₂/∂Vᴃᴇ:

Ausgehend von:

f2 = IC - IS ·  exp( (VBE,eff)/(n VT) ) · ( 1+(VCE)/(VA) )

Die Abhängigkeit von VBEsteckt ausschließlich im Exponenten über

VBE,eff = VBE - IB · RB,int

Daher:

(∂ f2)/(∂ VBE) = - IS ·  exp( (VBE,eff)/(n VT) ) · (dVBE,eff)/(dVBE) · (1)/(n VT) · ( 1+(VCE)/(VA) )

Mit:

(dVBE,eff)/(dVBE) = 1 + (RB,int)/(RB)

Element J₂₂ = ∂f₂/∂Vᴄᴇ:

(∂ f2)/(∂ VCE) = - (1)/(RC) - IS exp( (VBE,eff)/(n VT) ) · (1)/(VA)
mit (dIC)/(dVCE) = - (1)/(RC) (Lastgerade)

7.3 Konvergenzverhalten

Das Newton-Raphson-Verfahren konvergiert bei guten Startwerten quadratisch: der Fehler wird bei jedem Schritt etwa quadriert. Für den BJT-Arbeitspunkt ist der Startwert [Vᴃᴇ, Vᴄᴇ] = [0.65 V, Vᴄᴄ/2] meist ausreichend, da der Arbeitspunkt stets in der Nähe dieser Werte liegt.

8 Bisektionsverfahren zur Arbeitspunkt-Einstellung

8.1 Aufgabenstellung

Ziel: Finde Rᴃ so, dass der Transistor im optimalen Arbeitspunkt arbeitet. Als optimaler Arbeitspunkt wird Vᴄᴇ = Vᴄᴄ/2 gewählt (maximaler symmetrischer Aussteuerungsbereich bei Kleinsignal-Verstärkern).

8.2 Monotonieeigenschaft

Die Abhängigkeit Vᴄᴇ(Rᴃ) ist monoton: Eine Erhöhung von Rᴃ reduziert Iᴃ, damit Iᴄ, damit den Spannungsabfall über Rᴄ, und Vᴄᴇ steigt. Diese Monotonie ist die Voraussetzung für das Bisektionsverfahren.

R_B ↑ =\> I_B ↓ =\> I_C ↓ =\> V_RC = I_C*R_C ↓ =\> V_CE = V_CC - V_RC ↑

8.3 Algorithmus

Der Bisektionsalgorithmus arbeitet wie folgt:


1. Initialisierung: R_B_min = 10 kOhm, R_B_max = 500 kOhm ----------------------------------------------------------------------- 2. Mittelpunkt: R_B_try = (R_B_min + R_B_max) / 2

3. Newton-Raphson lösen -\> V_CE(R_B_try)

4. Abbruchbedingung: |V_CE - V_CC/2| \<= tol_rel * V_CC/2

-\> fertig

5. Intervall halbieren:

V_CE \< V_CC/2 =\> R_B_min = R_B_try (R_B muss grösser werden)

V_CE \> V_CC/2 =\> R_B_max = R_B_try (R_B muss kleiner werden)

6. Weiter mit Schritt 2 (max. 30 Iterationen) -----------------------------------------------------------------------

Die Toleranz ist mit tol_rel = 5 % definiert, d. h. Vᴄᴇ muss im Bereich [0.475 · Vᴄᴄ, 0.525 · Vᴄᴄ] liegen. Das Verfahren konvergiert garantiert (da monoton), aber nur linear (log₂ der Fehler nimmt pro Schritt um 1 ab).

9 Analyse des Python-Programms

9.1 Modulstruktur

Das Programm ist in folgende Abschnitte gegliedert:


Programmteil Funktion --------------------------------- ------------------------------------------------------ Konstanten / Parameter Physikalische und SPICE-Parameter, Schaltungswerte

beta_eff(I_C) Webster-Formel: stromabhängige Verstärkung

V_BE_eff(V_BE, I_B) Effektive Basis-Emitter-Spannung nach R_B,int-Abfall

F(vars) Residuenvektor f1, f2 des nichtlinearen GLS

J(vars) Jacobi-Matrix (analytisch berechnet)

newton_method(guess) Newton-Raphson-Iteration (max. 100 Schritte)

finde_R_B_fuer_ap(V_CC) Bisektionsverfahren: Suche nach optimalem R_B

plot_kennlinie(R_B, V_BE, V_CE) Darstellung Kennlinie, Lastgerade, Arbeitspunkt

Hauptprogramm (__main__) Ausgabe Parameter, Aufruf Bisektion, Ergebnisausgabe ----------------------------------------------------------------------------------------

9.2 Kernfunktion F(vars) -- Residuenvektor

Diese Funktion berechnet die beiden Gleichungsfehler bei gegebenen [Vᴃᴇ, Vᴄᴇ]:


def F(vars): ----------------------------------------------------------------------- V_BE, V_CE = vars

I_B = (V_BB - V_BE) / R_B # Basisstrom aus Maschengleichung

I_C = (V_CC - V_CE) / R_C # Kollektorstrom aus Lastgerade

V_eff = V_BE_eff(V_BE, I_B) # Spannungsabfall an R_B,int

exp_term = np.exp(V_eff/(n*V_T)) # Exponentialterm

b_eff = beta_eff(I_C) # Webster: beta-Abfall

eq1 = I_B - (I_S/b_eff)exp_term(1 + V_CE/V_AB) # Basisgleichung

eq2 = I_C - I_Sexp_term(1 + V_CE/V_A) # Kollektorgleichung

return np.array([eq1, eq2]) -----------------------------------------------------------------------

9.3 Kenngrößen am Arbeitspunkt

Nach Konvergenz des Algorithmus werden folgende Kenngrößen ausgegeben:


R_B : Optimierter Basisvorwiderstand (Ergebnis der Bisektion) ----------------------------------------------------------------------- V_BE : Klemmen-Basis-Emitter-Spannung

V_BE,eff : Effektive Basis-Emitter-Spannung (nach R_B,int-Korrektur)

V_CE : Kollektor-Emitter-Spannung am Arbeitspunkt

I_B : Basisstrom am Arbeitspunkt

I_C : Kollektorstrom am Arbeitspunkt

beta_F : Nominale Stromverstärkung

beta_eff : Tatsächliche Stromverstärkung (unter Einfluss von IKF) -----------------------------------------------------------------------

10 Numerisches Beispiel und Ergebnisinterpretation

10.1 Erwartete Ausgabe

Für die gegebenen Parameter ergibt sich näherungsweise:


SPICE-Parameter Symbol Wert Bedeutung --------------------- --------------------- -------------------------- ---------------------------------------- VAF = 100 V Ausgangswiederstand r_CE ≈ V_A/I_C Endliche Steigung in Ausgangskennlinie

VAR = 200 V Basis-Early I_B leicht V_CE-abhängig Geringer als Kollektor-Early-Effekt

IKF = 0.5 A Webster-Knickstrom β_eff ≈ β_F I_C \<\< 0.5 A, kaum Beta-Abfall

RBM = 10 Ω Basis-R-Abfall ΔV_BE,eff = I_B*R_B,int Korrekturen im mV-Bereich ---------------------------------------------------------------------------------------------------------------

10.2 Arbeitspunktlage und Lastgerade

Die Lastgerade verbindet die Punkte (Vᴄᴇ = 0, Iᴄ = Vᴄᴄ/Rᴄ = 250 mA) und (Vᴄᴇ = Vᴄᴄ = 25 V, Iᴄ = 0). Der optimale Arbeitspunkt liegt bei Vᴄᴇ = 12.5 V, Iᴄ = 125 mA. Dies entspricht der Mitte der Lastgeraden und ermöglicht den maximalen symmetrischen Aussteuerungsbereich.

11 Vergleich: Ideales Modell vs. erweitertes Modell


Eigenschaft Ideales Modell Erweitertes Modell (Programm) ------------------- ------------------------- ----------------------------------- Early-Effekt I_C keiner (I_C konstant) I_C*(1 + V_CE/V_A) [VAF]

Early-Effekt I_B keiner I_B*(1 + V_CE/V_AB) [VAR]

beta-Abfall beta = const. beta_eff(I_C) [IKF]

Basiswiderstand keiner V_BE,eff = V_BE-I_B*RBM

Arbeitspunkt analytisch berechenbar Newton-Raphson (iterativ)

Genauigkeit gut für Orientierung SPICE-Niveau ---------------------------------------------------------------------------------

13 Zusammenfassung

Kernaussagen- Das Gummel-Poon-Modell ergänzt das ideale BJT-Modell um Early-Effekte (VAF, VAR), Hochstrom-beta-Abfall (IKF) und internen Basiswiderstand (RBM). - Alle Erweiterungen führen zu einem nichtlinearen Gleichungssystem, das analytisch nicht lösbar ist. - Das Newton-Raphson-Verfahren konvergiert quadratisch und löst das System in wenigen Iterationen. - Das Bisektionsverfahren ist langsamer (lineare Konvergenz), aber garantiert konvergent und ideal für die Optimierung eines Parameters (R_B). - Der optimale Arbeitspunkt bei V_CE = V_CC/2 maximiert den Aussteuerungsbereich. - Der interne Basiswiderstand RBM ist besonders bei Hochfrequenzanwendungen und hohen Strömen relevant.

Literaturhinweise

Weiterführende Literatur zur Vertiefung:

  • Sedra/Smith: Microelectronic Circuits -- Grundlagenwerk, BJT-Modellierung in Kapitel 5/6
  • Razavi: Design of Analog CMOS Integrated Circuits -- moderne Sichtweise auf BJT-Parameter
  • Gummel/Poon (1970): An integral charge control model of bipolar transistors, Bell System Technical Journal 49(5) -- Originalpublikation
  • Getreu (1978): Modeling the Bipolar Transistor -- umfassende Darstellung der SPICE-BJT-Modelle
  • LTspice Dokumentation: SPICE BJT model parameters (VAF, VAR, IKF, RBM, ...) -- Referenz für alle Parameterdefinitionen

Der Arbeitspunkt der Fixed-Bias-Stufe: Newton innen, Bisektion außen

Übertragen aus Transistor_21b.py: die Residuen (Zeilen 34–57), die analytische Jacobi-Matrix (Zeilen 63–98), Newton-Raphson mit tol = 10−10 und höchstens 100 Schritten (Zeilen 104–140) und die Bisektion auf RB im Intervall 10 kΩ … 500 kΩ mit 5 % Toleranzband und mitgeführtem Startwert (Zeilen 143–228). Parameter dieses Programms: IS = 10−13 A, βF = 200, n = 1, VA = 100 V, VCC = 25 V, RC = 100 Ω.

Die Bisektionsversuche — wie in seiner Konsolenausgabe

Die Newton-Schritte im letzten Versuch

Ergebnis, und was sein Programm ausgibt

Zwei unabhängige Wege, gleiche Zahl: der hier gefundene Basiswiderstand steht auf die Ziffer genau auch im Schriftfeld seiner LTspice-Schaltung Eigen_RW_1d.asc (R2 = 44453).

Ausgangskennlinie, Lastgerade und Arbeitspunkt

Extraktion BC547 · Teilmanuskript 30_extraktion_bc547.md · Quelle: Vorlesungsmanuskript_Parameterextraktion_BC547.docx
↓ zum rechnenden Teil

Vorlesungsmanuskript

Halbleiter-Elektronik

Von der Kennlinienmessung zur Arbeitspunktberechnung:

SPICE-Parameterextraktion am Beispiel BC547

Messkette: ▸ Kennlinienschreiber-Messung ▸ Gummel-Plot-Auswertung (IS, NF) ▸ Stromverstärkung (BF) aus hFE-Kurve ▸ Early-Spannung (VAF) aus Ausgangskennfeld ▸ Hochstrom-Knick (IKF) ▸ Basiswiderstand (RBM) ▸ Arbeitspunktberechnung in PythonPrüfling: BC547 (npn, Si-Kleinsignaltransistor) Messmittel: Kennlinienschreiber (Curve Tracer) Begleitprogramm: Erweitere_Spice_Parameter_1.py

Lehrstuhl Halbleiterelektronik | Hochschule | 2026

1 Einleitung: Von der Messung zum Modell

In der vorangegangenen Einheit wurde das erweiterte SPICE-Modell des Bipolartransistors (Gummel-Poon mit Early-Effekt, Hochstrom-Beta-Abfall und internem Basiswiderstand) ausschließlich mit vorgegebenen Parametern behandelt. In dieser Einheit schließen wir die Lücke zwischen Theorie und Praxis: Wir bestimmen alle SPICE-Parameter aus realen Messungen mit dem Kennlinienschreiber (Curve Tracer) und speisen sie in das Python-Modell ein, um den Arbeitspunkt einer konkreten Schaltung zu berechnen.

ZieleNach dieser Einheit können Sie: - die Funktionsweise eines Kennlinienschreibers und die relevanten Messmodi erläutern, - aus einer Gummel-Plot-Messung den Sättigungsstrom I_S und den Idealfaktor n extrahieren, - die Stromverstärkung beta_F aus dem Verhältnis I_C/I_B bestimmen, - die Early-Spannung V_A durch Extrapolation des Ausgangskennfelds ermitteln, - den Knickstrom I_KF aus dem Abknicken der beta-Kurve bei hohen Strömen ablesen, - den internen Basiswiderstand R_B,int aus der Kompression der Eingangskennlinie bestimmen, - die so gewonnenen Parameter in das Python-Arbeitspunktprogramm einsetzen und das Ergebnis bewerten.

2 Der Kennlinienschreiber als Messinstrument

2.1 Funktionsprinzip

Ein Kennlinienschreiber (Curve Tracer) legt an die Anschlüsse eines Transistors definierte Spannungs- bzw. Stromrampen an und zeichnet den resultierenden Stromfluss auf. Für den BJT werden typischerweise zwei Messmodi benötigt:

  • Basis-Emitter-Kennlinie I_B(V_BE) bzw. I_C(V_BE): Basis wird spannungs- oder stromgesteuert durchgefahren, V_CE wird konstant gehalten (z. B. V_CE = 5 V, um den aktiven Bereich sicherzustellen).
  • Ausgangskennfeld I_C(V_CE) bei I_B = const.: Für mehrere feste Basisstrom-Stufen wird V_CE von 0 V bis zur Versorgungsspannungsgrenze durchgefahren.

Wichtig ist, dass der Kennlinienschreiber die Selbsterwärmung des Transistors während der Messung gering hält (kurze Pulsmessung oder Strombegrenzung), da sich sonst I_S und damit alle abgeleiteten Parameter mit der Messzeit verschieben (thermische Drift).

2.2 Benötigte Messreihen

Für die vollständige Parameterextraktion werden drei Messreihen benötigt:


Messreihe Bedingung Liefert Parameter ------------------- --------------------------------------------------------------- ----------------------- Gummel-Plot I_C, I_B vs. V_BE bei V_CE = const. (z. B. 5 V), log. I-Achse I_S, NF, BF, IKF

Ausgangskennfeld I_C vs. V_CE bei mehreren I_B-Stufen, V_CE = 0...V_CC VAF (Early-Spg.)

Eingangskennlinie V_BE vs. I_B bei festem V_CE, hoher Auflösung im Knick RBM (Basis-R) -----------------------------------------------------------------------------------------------------------

Eine vierte Größe, die Basis-Early-Spannung V_AB (VAR), ist messtechnisch deutlich aufwendiger zu bestimmen (sie erfordert die V_CE-Abhängigkeit von I_B bei konstantem V_BE mit sehr hoher Strommessauflösung) und wird in der Praxis häufig aus Datenblattangaben übernommen oder per Faustregel mit V_AB ≈ 2*V_AF abgeschätzt, da sie für die meisten Schaltungsanalysen einen vernachlässigbar kleinen Einfluss hat.

3 Parameterextraktion 1: Sättigungsstrom I_S und Idealfaktor n

3.1 Der Gummel-Plot

Der Gummel-Plot zeigt I_C und I_B halblogarithmisch über V_BE bei konstantem V_CE. Im mittleren Strombereich (weder Leckströme bei sehr kleinem I_C, noch Hochinjektion bei sehr großem I_C) verläuft I_C(V_BE) als ideale Exponentialfunktion und erscheint im halblogarithmischen Diagramm als Gerade:


I_C = I_S exp( V_BE / (n V_T) )

=\> ln(I_C) = ln(I_S) + V_BE / (n * V_T)

Geradengleichung: y = m*x + b mit y = ln(I_C), x = V_BE

Steigung: m = 1 / (n * V_T)

Achsenabschnitt: b = ln(I_S) -----------------------------------------------------------------------

3.2 Auswertung über zwei Messpunkte

In der Praxis wertet man zwei Punkte (V_BE1, I_C1) und (V_BE2, I_C2) aus dem linearen Bereich des Gummel-Plots aus:


n = (V_BE2 - V_BE1) / ( V_T * ln(I_C2 / I_C1) )

I_S = I_C1 / exp( V_BE1 / (n*V_T) ) -----------------------------------------------------------------------

Messbeispiel BC547Aus zwei Punkten im linearen Bereich des Gummel-Plots (V_CE = 5 V, Raumtemperatur): Punkt 1: V_BE1 = 0.600 V -\> I_C1 = 0.5 mA Punkt 2: V_BE2 = 0.660 V -\> I_C2 = 5.0 mA n = (0.660-0.600) / (0.02586 * ln(10)) = 1.008 ~= 1.0 I_S = 0.5mA / exp(0.600/(1.008*0.02586)) = 5.0e-14 A

Für Siliziumtransistoren wie den BC547 ergibt sich praktisch immer n ≈ 1.0 (idealer Diffusionsstrom dominiert). Werte n \> 1.05 deuten auf einen relevanten Rekombinationsanteil im Sperrschichtbereich hin (zweiter, paralleler Diodenast mit n ≈ 2, im einfachen Modell hier nicht berücksichtigt).

3.3 Gültigkeitsbereich und typische Fehlerquellen

  • Bei sehr kleinem I_C (typisch \< 1 µA) dominieren Leckströme -- die Gerade krümmt sich nach oben ab. Diesen Bereich nicht zur Auswertung verwenden.
  • Bei hohem I_C (Hochinjektion) krümmt sich die Gerade nach unten ab. Auch dieser Bereich ist für die Bestimmung von I_S und n ungeeignet.
  • Der Basisstrom I_B(V_BE) verläuft im Gummel-Plot meist nicht exakt parallel zu I_C(V_BE) -- das Verhältnis I_C/I_B liefert direkt beta_F.

4 Parameterextraktion 2: Stromverstärkung beta_F (BF)

4.1 Bestimmung aus dem Gummel-Plot

Da im Gummel-Plot sowohl I_C als auch I_B über V_BE aufgetragen werden, lässt sich beta_F bei jedem Arbeitspunkt direkt als Verhältnis ablesen:


beta_F(V_BE) = I_C(V_BE) / I_B(V_BE)


Da beta_F selbst stromabhängig ist (Webster-Effekt), wählt man als BF-Wert für SPICE üblicherweise den Maximalwert von beta im mittleren Strombereich -- also dort, wo die beta-I_C-Kurve ihr Plateau erreicht, bevor der Hochstrom-Abfall einsetzt.

4.2 Messbeispiel BC547

Messbeispiel BC547Aus dem Plateau-Bereich der beta(I_C)-Kurve (typisch I_C = 1...10 mA für BC547): I_C = 2.0 mA I_B = 6.9 µA -\> beta_F = 2.0mA / 6.9µA ~= 290 Dieser Wert liegt im Datenblatt-Bereich der hFE-Klassifikation B (200-450) für den BC547. Da hFE serienstreuungsbedingt erheblich variiert, ist eine Messung am konkreten Exemplar unerlässlich.

5 Parameterextraktion 3: Early-Spannung V_A (VAF)

5.1 Extrapolationsverfahren

Die Early-Spannung wird aus dem Ausgangskennfeld I_C(V_CE) bei mehreren I_B-Stufen bestimmt. Im aktiven Bereich (V_CE oberhalb der Sättigungsspannung) verlaufen die Kennlinien näherungsweise linear mit kleiner positiver Steigung. Extrapoliert man diese Geraden nach links, schneiden sie sich näherungsweise in einem gemeinsamen Punkt auf der negativen V_CE-Achse bei V_CE = -V_A:


I_C(V_CE) = I_C0 * (1 + V_CE/V_A) [Gerade im aktiven Bereich]

Aus zwei Punkten derselben Kennlinie (gleiches I_B):

V_A = (V_CE2*I_C1 - V_CE1*I_C2) / (I_C2 - I_C1) -----------------------------------------------------------------------

5.2 Praktisches Auswerteverfahren

1. Wählen Sie eine I_B-Kurve aus dem Ausgangskennfeld (z. B. I_B = 20 µA).

2. Lesen Sie zwei Punkte im aktiven Bereich ab, z. B. bei V_CE = 5 V und V_CE = 20 V (möglichst weit auseinander für geringen Ablesefehler).

3. Setzen Sie beide Punkte in die Formel für V_A ein.

4. Wiederholen Sie dies für 2-3 weitere I_B-Stufen und mitteln Sie die Ergebnisse.

Messbeispiel BC547Ausgangskennlinie bei I_B = 20 µA: Punkt 1: V_CE1 = 5 V I_C1 = 5.80 mA Punkt 2: V_CE2 = 20 V I_C2 = 6.67 mA V_A = (20*5.80m - 5*6.67m)/(6.67m - 5.80m) = (116m - 33.35m)/0.87m = 82.65/0.87 ~= 95 V Typischer BC547-Bereich laut Literatur: V_A ~= 70...100 V. Der gemessene Wert von 95 V liegt im erwarteten Bereich.

In dieser Vorlesung verwenden wir für die anschließende Python-Berechnung den gemessenen Wert V_A = 95 V (statt des fiktiven Demonstrationswerts V_A = 100 V aus der vorigen Einheit).

6 Parameterextraktion 4: Knickstrom I_KF (IKF)

6.1 Erkennung im Gummel-Plot

Bei hohen Kollektorströmen weicht die I_C(V_BE)-Kurve im Gummel-Plot zunehmend nach unten von der idealen Geraden ab (Hochinjektion). Gleichzeitig fällt die aus I_C/I_B berechnete beta(I_C)-Kurve vom Plateau ab. Der Knickstrom I_KF ist definitionsgemäß der Strom, bei dem beta auf 70.7 % (= 1/sqrt(2)) des Plateauwerts gefallen ist:


beta_eff(I_C) = beta_F / sqrt(1 + I_C/I_KF)

Bei I_C = I_KF: beta_eff = beta_F / sqrt(2) = 0.707 * beta_F

=\> I_KF ist exakt der Strom, bei dem beta_eff auf 70.7% des Plateaus gefallen ist. -------------------------------------------------------------------------------------

6.2 Praktisches Auswerteverfahren

1. Tragen Sie beta = I_C/I_B über I_C halblogarithmisch auf (typisches Diagramm aus dem Gummel-Plot abgeleitet).

2. Bestimmen Sie den Plateauwert beta_F im mittleren Strombereich.

3. Suchen Sie den Strom I_C, bei dem beta auf 0.707 * beta_F gefallen ist -- das ist I_KF.

Messbeispiel BC547Aus der beta(I_C)-Kurve des BC547: beta_F (Plateau) = 290 0.707 * beta_F = 205 Abgelesener I_C bei beta=205: I_KF ~= 80 mA Dies passt zur Datenblattgrenze I_C,max = 100 mA des BC547 -- der Hochstrom-Abfall setzt also bereits unterhalb der absoluten Strombegrenzung spürbar ein.

7 Parameterextraktion 5: Interner Basiswiderstand R_B,int (RBM)

7.1 Auswerteprinzip

Der interne Basiswiderstand verursacht bei hohen Basisströmen einen zusätzlichen Spannungsabfall, der die Eingangskennlinie V_BE(I_B) gegenüber der idealen Diodenkennlinie zu höheren V_BE-Werten hin \"aufbiegt\" (Kompression der Kennlinie bei hohem Strom -- ähnlich wie der Vorwiderstandseffekt bei einer LED-Kennlinie):


V_BE,gemessen = V_BE,ideal + I_B * R_B,int

=\> R_B,int = ( V_BE,gemessen - V_BE,ideal ) / I_B -----------------------------------------------------------------------

7.2 Praktisches Auswerteverfahren

1. Berechnen Sie aus IS und n den idealen V_BE-Verlauf: V_BE,ideal(I_B) = n*V_T*ln(beta_F*I_B/I_S).

2. Vergleichen Sie bei hohem I_B (z. B. nahe I_KF) den idealen Wert mit dem tatsächlich gemessenen V_BE.

3. Die Differenz, dividiert durch I_B, ergibt R_B,int.

Messbeispiel BC547Bei hohem Basisstrom I_B = 1 mA (entspricht I_C ~= 290 mA im idealen Modell, praktisch durch IKF begrenzt -- hier wird der reine R_B,int-Effekt isoliert betrachtet): V_BE,ideal = n*V_T*ln(beta_F*I_B/I_S) ~= 0.768 V V_BE,gemessen = 0.783 V R_B,int = (0.783 - 0.768) / 1mA = 15 Ohm Typische Werte für Kleinsignal-npn-Transistoren wie den BC547 liegen im Bereich 5...30 Ohm -- der gemessene Wert von 15 Ohm ist plausibel.

Diese Methode setzt voraus, dass IS, n und beta_F bereits aus den vorigen Schritten bekannt sind -- die Parameterextraktion erfolgt also in der gezeigten Reihenfolge (I_S, n -\> beta_F -\> V_A -\> I_KF -\> R_B,int), da spätere Parameter auf früheren aufbauen.

8 Zusammengefasster Parametersatz für den BC547

Die folgende Tabelle fasst alle aus den Messungen extrahierten Parameter zusammen, im direkten Vergleich zum fiktiven Demonstrationsdatensatz der Vorgängereinheit:


Parameter Demo-Wert (vorige Einheit) Gemessen (BC547) Quelle --------------- -------------------------------- ------------------------------ ------------------- IS 1e-13 A 5.0e-14 A Gummel-Plot

NF 1.0 1.01 Gummel-Plot

BF 200 290 I_C/I_B Plateau

VAF 100 V 95 V Ausgangskennfeld

VAR 200 V 190 V (~2*VAF, Faustregel) geschätzt

IKF 0.5 A 0.08 A beta(I_C)-Abfall

RBM 10 Ohm 15 Ohm Eingangskennlinie ---------------------------------------------------------------------------------------------------

Auffällig ist der deutlich kleinere Knickstrom I_KF des realen BC547 (80 mA) gegenüber dem Demo-Wert (500 mA). Das bedeutet: Bei den im Folgenden berechneten Arbeitspunkten muss geprüft werden, ob I_C in die Nähe von I_KF kommt -- dann wäre auch die in der letzten Einheit diskutierte Webster-Näherung (im Gegensatz zur exakten Gummel-Poon-Formel) kritischer zu hinterfragen.

9 Arbeitspunktberechnung mit gemessenen Parametern

9.1 Anpassung des Python-Programms

Das Programm Erweitere_Spice_Parameter_1.py aus der Vorgängereinheit wird unverändert in seiner Struktur (Newton-Raphson, Bisektion) übernommen. Lediglich der Parameterblock am Anfang wird durch die gemessenen Werte ersetzt:


# --- Gemessene Parameter (BC547, Kennlinienschreiber) ---

I_S = 5.0e-14 # Sättigungsstrom (Gummel-Plot)

beta_F = 290.0 # Stromverstärkung (Plateau I_C/I_B)

n = 1.01 # Idealfaktor (Gummel-Plot-Steigung)

V_A = 95.0 # Early-Spannung (Ausgangskennfeld)

V_AB = 190.0 # Basis-Early-Spg. (Faustregel: 2*VAF)

I_KF = 0.08 # Knickstrom (beta-Abfall auf 70.7%)

R_B_int = 15.0 # Interner Basiswiderstand (Eingangskl.) -----------------------------------------------------------------------

9.2 Schaltungsdimensionierung für den Arbeitspunkt

Wir verwenden zur Veranschaulichung dieselbe Fixed-Bias-Schaltung wie zuvor (R_C = 100 Ohm, V_CC = V_BB = 25 V), mit dem Ziel V_CE = V_CC/2 = 12.5 V. Die Bisektion sucht erneut den passenden R_B.

9.3 Erwartetes Ergebnis und Plausibilitätsprüfung

Mit beta_F = 290 (statt 200) wird bei gleichem R_B mehr Kollektorstrom fließen -- die Bisektion wird also tendenziell einen größeren R_B finden als im Demo-Beispiel, um denselben Arbeitspunkt V_CE = 12.5 V einzustellen. Quantitativ lässt sich das näherungsweise abschätzen:


Vereinfachte Abschaetzung (ideales Modell, ohne Early/RBM):

I_C,ziel = V_CC/(2*R_C) = 25/(2*100) = 125 mA

I_B,ziel = I_C,ziel / beta_F = 125mA/290 = 431 µA

V_BE ~= n*V_T*ln(I_C,ziel/I_S) = 1.01*25.86mV*ln(125mA/5e-14A)

~= 0.746 V

R_B = (V_BB - V_BE)/I_B,ziel = (25-0.746)/431µA ~= 56.3 kOhm -----------------------------------------------------------------------

Dieser Schätzwert dient als Startwert/Plausibilitätscheck; das tatsächliche Ergebnis der Newton-Raphson-Bisektion mit allen Korrekturtermen (Early-Effekt, RBM) weicht davon je nach Lage zum Kniestrom ab — im vorliegenden Fall (IC/IKF = 1,56) um ein Drittel: der Abschätzung 56,3 kΩ steht der Modellwert 37,3 kΩ gegenüber und sollte in der Übung explizit berechnet und mit diesem Schätzwert verglichen werden.

10 Fehler- und Unsicherheitsbetrachtung

10.1 Messunsicherheiten

  • Ableseunsicherheit am Kennlinienschreiber: typisch ±2-5% bei analogen Geräten, deutlich geringer bei digitaler Datenerfassung.
  • Thermische Drift: I_S verdoppelt sich näherungsweise alle 8-10 K Temperaturanstieg. Messungen sollten bei konstanter, dokumentierter Temperatur erfolgen.
  • Bauteilstreuung: hFE (beta_F) streut bei BC547 herstellerseitig um den Faktor 4 (Klassengrenzen 110-800). Jede Messung gilt nur für das konkrete Exemplar.
  • Kontaktwiderstände der Messspitzen können R_B,int systematisch überschätzen lassen -- Vierleitermessung oder Kalibrierung empfohlen.

10.2 Fortpflanzung in die Arbeitspunktberechnung

Da I_C exponentiell von V_BE abhängt, wirken sich bereits kleine Unsicherheiten in I_S und n stark auf den berechneten Arbeitspunkt aus. Eine Unsicherheit von ±10% in I_S verschiebt V_BE um etwa:


Aus I_C = I_S*exp(V_BE/(n*V_T)):

dV_BE = nV_T d(ln(I_S)) = nV_T ln(1.1) ~= 1.01*25.86mV*0.0953 ~= 2.5 mV

=\> 10% Fehler in I_S verschiebt V_BE nur um ca. 2.5 mV (geringe Sensitivität).

Der Kollektorstrom selbst reagiert dagegen direkt proportional auf einen I_S-Fehler,

wenn V_BE festgehalten wird - in der geschlossenen Arbeitspunktrechnung kompensiert

sich dies aber teilweise durch die Rueckkopplung ueber R_B. ---------------------------------------------------------------------------------------

11 Übungsaufgaben

Aufgabe 1 -- Gummel-Plot-Auswertung:

  • Gegeben seien zwei Messpunkte V_BE1 = 0.580 V, I_C1 = 0.1 mA und V_BE2 = 0.640 V, I_C2 = 1.0 mA. Bestimmen Sie n und I_S.

Aufgabe 2 -- Early-Spannung:

  • Aus dem Ausgangskennfeld bei I_B = 40 µA wurden V_CE1 = 3 V, I_C1 = 11.5 mA und V_CE2 = 15 V, I_C2 = 12.4 mA gemessen. Berechnen Sie V_A.

Aufgabe 3 -- Knickstrom:

  • beta_F = 320 wurde im Plateau gemessen. Bei welchem Stromwert beta = 226 gemessen wird, entspricht I_KF. Wie würden Sie diesen Wert messtechnisch eingrenzen (Vorgehensweise in 3 Schritten beschreiben)?

Aufgabe 4 -- Vollständige Berechnung:

  • Übernehmen Sie die in Kapitel 8 gemessenen BC547-Parameter vollständig in das Python-Programm und führen Sie die Bisektion durch. Vergleichen Sie das Ergebnis mit der Abschätzung aus Kapitel 9.3 und erklären Sie die Abweichung.

Aufgabe 5 -- Sensitivitätsanalyse:

  • Variieren Sie beta_F im Bereich der Datenblatt-Klassengrenzen (110 bis 800) und berechnen Sie jeweils den resultierenden Arbeitspunkt R_B. Wie stark schwankt R_B über diesen Bereich -- und welche Konsequenz hat das für die Serienfertigung von Schaltungen mit Fixed-Bias?

12 Zusammenfassung

Kernaussagen- Alle sieben SPICE-Parameter (IS, NF, BF, VAF, VAR, IKF, RBM) lassen sich aus drei Kennlinienschreiber-Messreihen extrahieren: Gummel-Plot, Ausgangskennfeld, Eingangskennlinie. - Die Extraktion folgt einer festen Reihenfolge, da spätere Parameter auf den Ergebnissen früherer Schritte aufbauen (IS, n -\> BF -\> VAF -\> IKF -\> RBM). - Reale BC547-Werte unterscheiden sich teils deutlich von den Demo-Werten der Vorgängereinheit, insbesondere der Knickstrom IKF. - Messunsicherheiten setzen sich über die exponentielle I_C(V_BE)-Beziehung unterschiedlich stark in den Arbeitspunkt fort - V_BE reagiert robust, I_C empfindlich. - Das Python-Programm aus der Vorgängereinheit benötigt keine strukturelle Änderung, nur den Austausch des Parameterblocks.

Literaturhinweise

  • Datenblatt BC547 (verschiedene Hersteller, z. B. onsemi, Nexperia) -- hFE-Klassengrenzen, Grenzwerte
  • Getreu (1978): Modeling the Bipolar Transistor -- Parameterextraktionsverfahren im Detail
  • Gummel/Poon (1970): An integral charge control model of bipolar transistors, BSTJ 49(5)
  • LTspice Hilfedokumentation: .model-Statement und BJT-Parametertabelle
  • Vorgängereinheit: Vorlesungsmanuskript \'Bipolare Transistoren: Erweitertes SPICE-Modell\'

Die ideale Abschätzung von RB — und wie weit sie neben dem Modell liegt

Übertragen aus BUCH/kap08_rechnung.py, Zeilen 104–107: IC = VCC/(2RC), VBE = n·VT·ln(IC/IS), RB = (VBB − VBE)/(IC/βF) — ohne Early, ohne inneren Basiswiderstand, ohne Webster. Daneben der Wert, den dasselbe Programm mit dem vollständigen Modell findet (Reiter „Arbeitspunkt Newton“).

Die Abschätzung Schritt für Schritt

Warum der Unterschied so groß ist

Der Kniestrom IKF = 80 mA des gemessenen BC547-Satzes liegt unter dem Zielstrom von 125 mA — βeff bricht ein, und der Basisstrom muss entsprechend größer sein.
Arbeitspunkt von Hand · Teilmanuskript 40_arbeitspunkt_transistor20.md · Quelle: Transistor_Manuskript (1).docx
↓ zum rechnenden Teil

Numerische Simulation eines Bipolartransistors

Arbeitspunktberechnung mit Newton-Raphson und Bisektionsverfahren

Begleitmaterial zur Lehrveranstaltung

Elektronik / Numerische Methoden in der Elektrotechnik

Programm: Transistor_20.py

Sprache: Python 3 | Bibliotheken: NumPy, Matplotlib

1 Einleitung und Zielsetzung

Dieses Skript erläutert Schritt für Schritt das Programm Transistor_20.py. Das Programm berechnet den Arbeitspunkt eines NPN-Bipolartransistors in einer einfachen Kollektorschaltung -- und zwar vollständig numerisch, ohne Vereinfachungen wie die oft verwendete Beta-Näherung.

Ziel des Programms: Den Basiswiderstand R_B so bestimmen, dass der Transistor im Mittelpunkt seiner Aussteuerbarkeit arbeitet, d. h. V_CE ≈ V_CC / 2.

Dazu werden zwei numerische Verfahren kombiniert:

  • Newton-Raphson-Verfahren (innere Schleife): Löst das nichtlineare Gleichungssystem für einen festen Wert von R_B.
  • Bisektionsverfahren (äußere Schleife): Sucht iterativ den optimalen R_B-Wert.

2 Physikalischer Hintergrund

2.1 Die Transistorschaltung

Betrachtet wird ein NPN-Bipolartransistor mit Basiswiderstand R_B und Kollektorwiderstand R_C, gespeist von der Versorgungsspannung V_CC:


Schaltungsaufbau (vereinfacht)

V_CC

|

[R_C] \<- Kollektorwiderstand

|

+---[C] NPN-Transistor

|

[R_B] \<- Basiswiderstand

|

V_BB (= V_CC)

|

GND (Emitter) -----------------------------------------------------------------------

Die Knoten- und Maschengleichungen dieser Schaltung liefern:

I_B = (V_BB - V_BE) / R_B [Maschengleichung Basis]

I_C = (V_CC - V_CE) / R_C [Maschengleichung Kollektor]

2.2 Das Shockley-Diodenmodell

Der Basis-Emitter-Übergang verhält sich wie eine Diode. Der Basisstrom folgt der Shockley-Gleichung:

I_B = I_S · exp( q · V_BE / (k_B · T) )

mit den Konstanten:

------------------ ------------------- --------------------------------------- Parameter Wert Bedeutung

I_S 1 · 10⁻¹³ A Sättigungssperrstrom des Transistors

q 1,602 · 10⁻¹⁹ C Elementarladung

k_B 1,381 · 10⁻²³ J/K Boltzmann-Konstante

T 300 K Absolute Temperatur (Raumtemperatur) ------------------ ------------------- ---------------------------------------

Die Größe V_T = k_B · T / q ≈ 25,85 mV bei 300 K wird als Temperaturspannung bezeichnet und taucht in allen Dioden- und Transistorgleichungen auf.

2.3 Das Ebers-Moll-Modell mit Early-Effekt

Im realen Transistor hängt der Kollektorstrom nicht nur vom Basisstrom, sondern auch von der Kollektor-Emitter-Spannung V_CE ab. Diesen Effekt beschreibt der Early-Effekt:

I_C = I_B · ( 1 + V_CE / V_A )

Die Early-Spannung V_A (hier 100 V) charakterisiert, wie stark der Kollektorstrom mit V_CE ansteigt. Ein großes V_A bedeutet einen nahezu idealen, spannungsunabhängigen Transistor.

3 Das nichtlineare Gleichungssystem

Der Arbeitspunkt des Transistors ist derjenige Betriebszustand, in dem alle Strom- und Spannungsbedingungen gleichzeitig erfüllt sind. Dies führt auf ein System von zwei nichtlinearen Gleichungen in den Unbekannten V_BE und V_CE:

eq1 = (V_BB - V_BE)/R_B - I_S · exp(q·V_BE/(k_B·T)) = 0

eq2 = (V_CC - V_CE)/R_C - I_S · exp(q·V_BE/(k_B·T)) · (1 + V_CE/V_A) = 0

Gleichung 1 setzt die Maschengleichung für den Basiskreis gleich dem Shockley-Ausdruck. Gleichung 2 setzt die Kollektormaschengleichung gleich dem Ebers-Moll-Ausdruck.

Da exp(·) eine stark nichtlineare Funktion ist, kann dieses System nicht analytisch gelöst werden -- hier kommt das Newton-Raphson-Verfahren ins Spiel.

4 Das Newton-Raphson-Verfahren

4.1 Wozu brauchen wir das Verfahren?

In Kapitel 3 haben wir das Gleichungssystem aufgestellt:

eq1(V_BE, V_CE) = 0

eq2(V_BE, V_CE) = 0

Beide Gleichungen enthalten den Term exp(q·V_BE / k_B·T). Die Exponentialfunktion macht eine analytische (exakte) Lösung nach V_BE und V_CE unmöglich -- es gibt keine algebraische Umformung, die zu einer geschlossenen Formel führt.

Wir brauchen daher ein numerisches Verfahren, das iterativ eine Näherungslösung berechnet. Das Newton-Raphson-Verfahren ist hierfür besonders geeignet, weil es sehr schnell konvergiert (quadratisch, s. Abschnitt 4.6) und weil wir die Ableitungen analytisch kennen.

4.2 Grundidee: Linearisierung um den aktuellen Punkt

Die Idee ist einfach: Eine nichtlineare Funktion lässt sich in der Nähe eines Punktes durch ihre Tangente annähern. Das ist die Taylor-Entwicklung erster Ordnung.

Für eine einzelne Funktion f(x) gilt in der Nähe von xₙ:

f(x) ≈ f(xₙ) + f\'(xₙ) · (x - xₙ)

Wir suchen die Nullstelle, also f(x) = 0. Einsetzen und nach x auflösen:

0 = f(xₙ) + f\'(xₙ) · (x - xₙ)

x - xₙ = -f(xₙ) / f\'(xₙ)

x_{n+1} = xₙ - f(xₙ) / f\'(xₙ) [1D Newton-Formel]

Das ist der klassische Newton-Schritt für eine einzelne Gleichung. Wir haben aber zwei Gleichungen und zwei Unbekannte -- wir müssen auf ein Vektorsystem verallgemeinern.

4.3 Verallgemeinerung auf Systeme: Die Jacobi-Matrix

Unser Zustandsvektor ist:

x = [V_BE, V_CE]^T (ein Spaltenvektor mit 2 Einträgen)

Unser Fehlervektor ist:

F(x) = [eq1(V_BE, V_CE), eq2(V_BE, V_CE)]^T

Die Taylor-Entwicklung erster Ordnung für ein Vektorsystem lautet:

F(x) ≈ F(xₙ) + J(xₙ) · (x - xₙ)

Dabei ist J die Jacobi-Matrix -- das mehrdimensionale Analogon zur Ableitung. Sie enthält alle partiellen Ableitungen von F nach den Komponenten von x:

J = | ∂eq1/∂V_BE ∂eq1/∂V_CE |

| ∂eq2/∂V_BE ∂eq2/∂V_CE |

Jeder Eintrag J[i][j] beantwortet die Frage: \"Wenn ich die j-te Variable (V_BE oder V_CE) ein kleines Stück verändere -- wie stark ändert sich die i-te Gleichung (eq1 oder eq2)?\"

Nullstelle der linearisierten Gleichung suchen, also F(x) = 0 setzen:

0 = F(xₙ) + J(xₙ) · Δx

J(xₙ) · Δx = -F(xₙ) [Das lineare Gleichungssystem]

x_{n+1} = xₙ + Δx [Aktualisierungsschritt]

Das ist die Newton-Raphson-Formel für Systeme. Das Symbol Δx bezeichnet den Korrekturvektor [ΔV_BE, ΔV_CE]ᵀ.

4.4 Herleitung der partiellen Ableitungen (Jacobi-Einträge)

Jetzt leiten wir jeden der vier Jacobi-Einträge Schritt für Schritt her. Zur Erinnerung die beiden Gleichungen:

eq1 = (V_BB - V_BE)/R_B - I_S · exp(q·V_BE/(k_B·T))

eq2 = (V_CC - V_CE)/R_C - I_S · exp(q·V_BE/(k_B·T)) · (1 + V_CE/V_A)

Zur Abkürzung definieren wir zwei Hilfsgrößen, die im Programm ebenfalls verwendet werden:

exp_term = exp(q · V_BE / (k_B · T))

factor = I_S · (q / (k_B · T)) · exp_term [= Ableitung des Shockley-Terms]

4.4.1 Ableitung ∂eq1/∂V_BE

eq1 besteht aus zwei Termen. Wir leiten beide nach V_BE ab:

d/dV_BE [ (V_BB - V_BE)/R_B ] = -1/R_B

Der zweite Term ist eine Exponentialfunktion. Mit der Kettenregel gilt:

d/dV_BE [ I_S · exp(q·V_BE/(k_B·T)) ] = I_S · (q/(k_B·T)) · exp(...) = factor

Da eq1 das Minus-Zeichen trägt, ergibt sich insgesamt:

∂eq1/∂V_BE = -1/R_B - factor

Im Programm steht genau das:

d_eq1_dV_BE = -1/R_B - factor

4.4.2 Ableitung ∂eq1/∂V_CE

In eq1 taucht V_CE überhaupt nicht auf -- weder im Maschenterms noch im Shockley-Ausdruck. Daher ist die partielle Ableitung exakt null:

∂eq1/∂V_CE = 0

Das bedeutet: Die erste Gleichung (Basiskreis) ist vollständig unabhängig von V_CE. Im Programm:

d_eq1_dV_CE = 0.0

4.4.3 Ableitung ∂eq2/∂V_BE

eq2 enthält V_BE nur im Exponentialterm. Der Maschen-Term (V_CC - V_CE)/R_C ist konstant bezüglich V_BE. Wir leiten nur den Ebers-Moll-Ausdruck ab:

d/dV_BE [ I_S · exp(q·V_BE/(k_B·T)) · (1 + V_CE/V_A) ]

Der Faktor (1 + V_CE/V_A) ist bezüglich V_BE eine Konstante. Mit der Kettenregel:

= I_S · (q/(k_B·T)) · exp(...) · (1 + V_CE/V_A) = factor · (1 + V_CE/V_A)

Da eq2 auch hier ein Minuszeichen trägt:

∂eq2/∂V_BE = -factor · (1 + V_CE/V_A)

Im Programm:

d_eq2_dV_BE = -factor * (1 + V_CE / V_A)

4.4.4 Ableitung ∂eq2/∂V_CE

eq2 enthält V_CE an zwei Stellen: im Maschen-Term und im Early-Faktor. Wir leiten beide ab:

d/dV_CE [ (V_CC - V_CE)/R_C ] = -1/R_C

Für den Ebers-Moll-Term gilt -- exp_term ist bezüglich V_CE eine Konstante:

d/dV_CE [ I_S · exp_term · (1 + V_CE/V_A) ] = I_S · exp_term · (1/V_A) = I_S/V_A · exp_term

Da eq2 das Minuszeichen trägt, wird dieser Term positiv subtrahiert:

∂eq2/∂V_CE = -1/R_C + (I_S/V_A) · exp_term

Im Programm:

d_eq2_dV_CE = -1/R_C + (I_S / V_A) * exp_term

4.4.5 Die vollständige Jacobi-Matrix

Alle vier Ableitungen zusammengesetzt ergeben:

J = | -1/R_B - factor 0 |

| -factor·(1 + V_CE/V_A) -1/R_C + I_S/V_A·exp_term |

Diese 2×2-Matrix wird in jedem Newton-Schritt neu berechnet, weil sich exp_term und factor mit jedem neuen Schätzwert für V_BE ändern.

def J(vars): V_BE, V_CE = vars exp_term = np.exp(q V_BE / (k_B T)) # e^(q*V_BE/k_BT) factor = I_S q / (k_B T) exp_term # Ableitung Shockley d_eq1_dV_BE = -1/R_B - factor # s. 4.4.1 d_eq1_dV_CE = 0.0 # s. 4.4.2 d_eq2_dV_BE = -factor (1 + V_CE / V_A) # s. 4.4.3 d_eq2_dV_CE = -1/R_C + (I_S / V_A) exp_term # s. 4.4.4 return np.array([[d_eq1_dV_BE, d_eq1_dV_CE], [d_eq2_dV_BE, d_eq2_dV_CE]])

4.5 Das lineare Gleichungssystem lösen -- warum nicht J⁻¹ berechnen?

Die Newton-Formel lautet:

Δx = -J(xₙ)⁻¹ · F(xₙ)

Man könnte J invertieren und dann Δx berechnen. Das tut man in der Praxis jedoch nicht -- aus zwei Gründen:

  • Numerische Stabilität: Die direkte Matrixinversion verstärkt Rundungsfehler. Lineare Gleichungslöser (wie LU-Zerlegung) sind stabiler.
  • Rechenaufwand: Für n×n-Systeme kostet Inversion O(n³), ein Gleichungslöser ebenfalls O(n³), aber mit kleinerem Vorfaktor.

Stattdessen löst man das äquivalente lineare System:

J(xₙ) · Δx = -F(xₙ)

Das entspricht der Frage: \"Welche Korrektur Δx muss ich anwenden, damit J·Δx den Fehler -F genau ausgleicht?\" NumPy löst das mit LU-Zerlegung:

delta = np.linalg.solve(J_val, -f_val) # löst J·Δx = -F xy += delta # x_{n+1} = x_n + Δx

4.6 Schritt-für-Schritt durch eine vollständige Iteration

Hier verfolgen wir eine Newton-Iteration mit konkreten Zahlenwerten (R_B = 3000 Ω, V_CC = 15 V):


Iteration 0: Startwert

x₀ = [V_BE, V_CE] = [0.9 V, 8.0 V]

Berechne F(x₀):

I_B(Masche) = (15 - 0.9) / 3000 = 4.700e-3 A

I_B(Shockley) = 1e-13 · exp(0.9/0.02585) = 4.140e-3 A

eq1 = 4.700e-3 - 4.140e-3 = +5.60e-4 (noch nicht null!)

I_C(Masche) = (15 - 8.0) / 1000 = 7.000e-3 A

I_C(Ebers) = 4.140e-3 · (1 + 8/100) = 4.471e-3 A

eq2 = 7.000e-3 - 4.471e-3 = +2.53e-3 (noch nicht null!)

=\> Fehlervektor noch weit von null entfernt =\> weiter iterieren -----------------------------------------------------------------------


Iteration 0: Jacobi-Matrix und Korrekturschritt

Berechne J(x₀):

exp_term = exp(0.9/0.02585) = 4.140e10

factor = 1e-13 · (1/0.02585) · exp_term = 1.601e-1

J[0][0] = -1/3000 - 0.1601 = -0.1604

J[0][1] = 0.0

J[1][0] = -0.1601 · (1 + 8/100) = -0.1729

J[1][1] = -1/1000 + (1e-13/100)·exp = -0.0010

Löse J·Δx = -F:

Δx = np.linalg.solve(J, -F) =\> [ΔV_BE, ΔV_CE]

Aktualisiere:

V_BE_neu = 0.9 + ΔV_BE

V_CE_neu = 8.0 + ΔV_CE

=\> nächste Iteration beginnt mit verbessertem Schätzwert -----------------------------------------------------------------------

Nach 5--8 solcher Iterationen sind beide Fehlerkomponenten kleiner als 10⁻¹⁰ -- das Verfahren hat konvergiert.

4.7 Konvergenzverhalten und Konvergenzrate

Newton-Raphson hat unter geeigneten Bedingungen quadratische Konvergenz. Das bedeutet: Wenn der Fehler in Iteration n gleich εₙ ist, dann gilt näherungsweise:

ε_{n+1} ≈ C · εₙ² [quadratische Konvergenz]

In der Praxis sieht das so aus:

------------------ ---------------- --------------------------------------- Parameter Wert Bedeutung

Iteration 1 Fehler ≈ 10⁻¹ Erster grober Schritt

Iteration 2 Fehler ≈ 10⁻² Deutliche Verbesserung

Iteration 3 Fehler ≈ 10⁻⁴ Fehler quadriert sich

Iteration 4 Fehler ≈ 10⁻⁸ Sehr schnelle Annäherung

Iteration 5 Fehler ≈ 10⁻¹⁶ Maschinengenauigkeit erreicht ------------------ ---------------- ---------------------------------------

Warum quadratisch? Der Taylor-Entwicklung erster Ordnung bleibt ein Restterm zweiter Ordnung übrig: F(x) = F(xₙ) + J·Δx + O(Δx²). Newton eliminiert exakt den linearen Term -- was übrig bleibt, ist O(Δx²). Der nächste Fehler ist also proportional zum Quadrat des aktuellen Fehlers.

Wichtige Voraussetzung: Der Startwert muss in der Nähe der echten Lösung liegen. Weit entfernte Startwerte können zu Divergenz oder Konvergenz zu einer falschen Lösung führen. Im Programm werden deshalb physikalisch sinnvolle Startwerte [0.9 V, 8.0 V] gewählt.

4.8 Vollständiger Algorithmus im Programm (newton_method)

Alle Schritte zusammengefasst als Ablaufdiagramm:


Ablauf newton_method(initial_guess, tol=1e-10, max_iter=100)

EINGABE: Startwert [V_BE⁰, V_CE⁰], Toleranz, max. Iterationen

SCHRITT 0: x = [0.9, 8.0] (oder adaptiver Startwert)

SCHLEIFE (i = 0, 1, 2, ...):

SCHRITT 1: Fehlervektor berechnen

f_val = F(x) = [eq1(x), eq2(x)]

SCHRITT 2: Konvergenzprüfung

WENN |eq1| \< 1e-10 UND |eq2| \< 1e-10:

RÜCKGABE x, Anzahl Iterationen

SCHRITT 3: Jacobi-Matrix berechnen

J_val = J(x) [4 partielle Ableitungen, s. Kap. 4.4]

SCHRITT 4: Korrekturvektor lösen

delta = np.linalg.solve(J_val, -f_val)

[löst J·Δx = -F ohne explizite Matrixinversion]

SCHRITT 5: Schätzwert aktualisieren

x = x + delta

SCHRITT 6: Physikalische Plausibilität prüfen

WENN V_CE \< 0: FEHLER (unphysikalische Lösung)

NACH max_iter Schritten ohne Konvergenz: FEHLER -----------------------------------------------------------------------

def newton_method(initial_guess, tol=1e-10, max_iter=100): xy = np.array(initial_guess, dtype=float) # Schritt 0 for i in range(max_iter): f_val = F(xy) # Schritt 1 if np.all(np.abs(f_val) \< tol): # Schritt 2 return xy, i+1 J_val = J(xy) # Schritt 3 delta = np.linalg.solve(J_val, -f_val) # Schritt 4 xy += delta # Schritt 5 if xy[1] \< 0: # Schritt 6 raise ValueError(\'V_CE negativ!\') raise ValueError(\'Keine Konvergenz!\')

5 Das Bisektionsverfahren für R_B

5.1 Grundprinzip

Das Newton-Raphson-Verfahren löst das innere Problem für ein festes R_B. Das äußere Problem ist: Welcher Wert von R_B führt zu V_CE = V_CC/2?

Das Bisektionsverfahren nutzt aus, dass V_CE eine monotone Funktion von R_B ist:

  • R_B zu groß → wenig Basisstrom → Transistor kaum leitend → V_CE ≈ V_CC (hoch)
  • R_B zu klein → viel Basisstrom → Transistor stark leitend → V_CE ≈ 0 (niedrig)

Es existiert also genau ein R_B, für den V_CE = V_CC/2 gilt.

5.2 Algorithmus

R_B_try = (R_B_min + R_B_max) / 2

  1. Setze Startwerte: R_B_min = 500 Ω, R_B_max = 100 kΩ
  1. Berechne Mittelpunkt R_B_try = (R_B_min + R_B_max) / 2
  1. Löse inneres System mit Newton-Raphson → V_CE
  1. Toleranzprüfung: Falls |V_CE - V_CC/2| ≤ 5% · V_CC/2 → Fertig!
  1. Aktualisierung: V_CE zu klein → R_B_max = R_B_try; V_CE zu groß → R_B_min = R_B_try
  1. Zurück zu Schritt 2

Nach n Bisektionsschritten hat sich das Suchintervall auf (R_B_max - R_B_min) / 2ⁿ verkleinert. Nach 30 Schritten aus 100 kΩ Startbreite: Genauigkeit ≈ 0,1 mΩ.

6 Programmstruktur im Überblick


Modularer Aufbau von Transistor_20.py

F(vars) Fehlerfunktion: gibt [eq1, eq2] zurück

J(vars) Jacobi-Matrix: gibt 2×2-Matrix zurück

newton_method() Newton-Raphson-Solver (innere Schleife)

finde_R_B() Bisektionsoptimierer (äußere Schleife)

__main__ Hauptprogramm + Ergebnisplot -----------------------------------------------------------------------

Eine Besonderheit: R_B ist im Programm als globale Variable deklariert, damit F() und J() den aktuellen Wert der äußeren Bisektion kennen. Dies ist funktional, in modernem Python würde man R_B besser als Parameter übergeben.

7 Ergebnisplot und Arbeitspunkt

Nach Konvergenz beider Verfahren wird ein Diagramm mit drei Elementen erstellt:

  • Transistorkennlinie I_C(V_CE): Für den berechneten Basisstrom I_B gilt: I_C(V_CE) = I_B · (1 + V_CE/V_A). Dies ist eine leicht ansteigende Gerade (wegen des Early-Effekts).
  • Arbeitsgerade (Lastlinie): I_C = (V_CC - V_CE)/R_C. Eine fallende Gerade von (0, V_CC/R_C) bis (V_CC, 0).
  • Arbeitspunkt (roter Punkt): Der Schnittpunkt beider Linien -- der einzige Betriebszustand, der alle Gleichungen gleichzeitig erfüllt.

Optimaler Arbeitspunkt: Der Punkt sollte in der Mitte der Lastlinie liegen (V_CE = V_CC/2), um maximale unverzerrte Aussteuerung zu ermöglichen.

8 Hinweise zur Implementierung

8.1 Stärken des Programms

  • Analytische Jacobi-Matrix: genauer und schneller als numerische Differentiation
  • Adaptive Startwerte: Das Newton-Verfahren startet beim nächsten Bisektionsschritt mit dem letzten konvergierten Ergebnis -- verbessert Stabilität
  • Physikalische Plausibilitätsprüfung: V_CE \< 0 wird als Fehler erkannt
  • Klare Trennung: Gleichungssystem (F, J) ist unabhängig vom Solver (newton_method)

8.2 Verbesserungspotenzial

  • Globale Variable R_B: Sollte als Parameter an F() und J() übergeben werden. Empfehlung: Closures oder Klassenstruktur verwenden.
  • Fehlende Rückgabe bei Newton-Fehler: Wenn Newton nicht konvergiert, wird V_CE = -1 gesetzt, aber V_BE bleibt undefiniert -- bei Schleifenabbruch würde ein NameError auftreten.
  • Plot-Funktion: Ist als innere Funktion im __main__-Block definiert; besser auf Modulebene auslagern für Wiederverwendbarkeit.

9 Übungsaufgaben

Zur Vertiefung des Verständnisses:

  1. Berechnen Sie V_T = k_B·T/q bei 300 K per Hand und vergleichen Sie mit dem Wert im Programm.
  1. Wie verändert sich der Arbeitspunkt, wenn R_C auf 2 kΩ verdoppelt wird? Schätzen Sie ab, welches R_B dann benötigt wird.
  1. Warum konvergiert Newton-Raphson schneller mit adaptiven Startwerten? Erklären Sie anhand der Konvergenzbedingung.
  1. Skizzieren Sie das Bisektionsverfahren grafisch: V_CE als Funktion von R_B, und markieren Sie den Zielbereich.
  1. Ergänzen Sie das Programm so, dass R_B nicht als globale Variable, sondern als Parameter übergeben wird (Hinweis: Lambda-Funktion oder Closure).
  1. Was passiert, wenn V_A → ∞ gesetzt wird? Welches Modell ergibt sich dann?

10 Zusammenfassung


Kernpunkte dieses Skripts

1. Transistorarbeitspunkt = Lösung eines nichtlinearen 2x2-Gleichungssystems

2. Shockley-Gleichung beschreibt den exponentiellen Basisstrom

3. Ebers-Moll + Early-Effekt beschreiben den Kollektorstrom

4. Newton-Raphson löst das innere Problem (festes R_B) quadratisch konvergent

5. Bisektionsverfahren optimiert R_B für den Arbeitspunkt V_CE = V_CC/2

6. Analytische Jacobi-Matrix ist essenziell für Genauigkeit und Geschwindigkeit

7. Ziel: maximale Aussteuerbarkeit =\> V_CE liegt in der Mitte der Lastlinie ----------------------------------------------------------------------------------

Ende des Skripts


Newton-Raphson und die äußere Bisektion — genau wie in seinem Programm

Übertragen aus Transistor_20.py: die Fehlerfunktion (Zeilen 36–54), die analytische Jacobi-Matrix (Zeilen 64–80), Newton-Raphson mit tol = 10−10, höchstens 100 Schritten und Abbruch bei VCE < 0 (Zeilen 100–117) und die äußere Bisektion auf RB im Intervall 500 Ω … 100 kΩ mit 5 % Toleranzband, Startwert [0,9 V; 8,0 V] und adaptiver Mitführung (Zeilen 139–182). Was dieses Programm nicht kann: es kennt keine Stromverstärkung — Zeile 51 setzt IC = IB,Shockley·(1 + VCE/VA), also β = 1. Der Basisstrom fällt deshalb mit rund 7 mA viel zu groß aus. Das steht hier so, weil sein Programm es so rechnet.

Die Versuche der äußeren Bisektion

Ergebnis, und was sein Programm ausgibt

Minimaler Datensatz · Teilmanuskript 41_minimaler_datensatz.md · Quelle: Für ein einfaches statisches BJT.docx
↓ zum rechnenden Teil

Für ein einfaches statisches BJT-Modell würde ich nicht mit allen Datenblatt-Kennlinien anfangen, sondern gezielt nur die Kennfelder einlesen, aus denen sich die wesentlichen Modellparameter identifizieren lassen.

Minimaler Datensatz

1. Ausgangskennfeld

IC = f(VCE)

für verschiedene feste Basisströme

IB = const.

Das sind die klassischen Transistorkennlinien:

I_C

│ IB=80µA

│ /

│ /

│ / IB=60µA

│ /

│ / IB=40µA

└────────── V_CE

Daraus kann man bestimmen:

  • Early-Spannung VA
  • Ausgangsleitwert
  • Ausgangswiderstand ro
  • β-Verlauf

2. Gummel-Plot

IC(VBE)

und

IB(VBE)

bei festem

VCE

(z.B. 5 V oder 10 V).

Daraus erhält man:

  • IS
  • βF
  • Idealfaktor n

Welche Parameter lassen sich bestimmen?

Sättigungsstrom IS

Aus

IC = ISeVBE/(nVT)

folgt

ln(IC) = ln(IS) + (VBE)/(nVT).

Im Gummel-Plot:

  • Gerade fitten
  • auf VBE = 0extrapolieren

Ergebnis:

IS

Idealfaktor n

Steigung der Gummel-Kurve:

m = (dln(IC))/(dVBE) = (1)/(nVT)

also

n = (1)/(mVT).

Typisch:

1.0 < n < 1.2.

Stromverstärkung βF

Aus dem Gummel-Plot:

βF = (IC)/(IB).

Einfach im aktiven Bereich mitteln.

Typisch:

50… 300.

Early-Spannung VA

Aus den Ausgangskennlinien.

Für jede Kennlinie:

IC = IC0( 1+(VCE)/(VA) ).

Lineare Extrapolation.

Alle Geraden schneiden sich ungefähr bei

VCE = - VA.

Beispiel:

/

/

/

/

----/---------

-100V

ergibt

VA ≈ 100V.

Daraus erhältst du bereits dein momentanes Modell

IC = ISe(qVBE)/(nkBT)( 1+(VCE)/(VA) ) IB = (1)/(βF)IC.

Mit lediglich

  • IS
  • n
  • βF
  • VA

hast du schon ein erstaunlich gutes statisches Modell.

Falls du etwas weiter gehen möchtest

Zusätzlich interessant:

Eingangskennlinie

IB = f(VBE)

für verschiedene VCE.

Damit könntest du prüfen, ob

IB

einen eigenen Early-Effekt zeigt.

Dann käme man zu einem erweiterten Modell:

IB = (IS)/(βF)eVBE/(nVT)( 1+(VCE)/(VAB) ).

Meine Empfehlung für dein Manuskript

Für einen Bachelor-Kurs bzw. eine Vorlesung „Numerische Methoden in der Elektronik“ würde ich genau diese vier Parameter extrahieren:

▸ IS, n, βF, VA

und als benötigte Messdaten nur

  1. Gummel-Plot
  1. Ausgangskennfeld IC(VCE)

verwenden.

Damit ist das Modell noch übersichtlich, aber bereits deutlich realistischer als die klassische β = const.-Näherung.

Für dein aktuelles Modell brauchst du in LTspice gar kein kompliziertes Gummel-Poon-Modell. Ein sehr einfaches und überraschend gut passendes Modell wäre:

I_ C = = = = I_ Sexp( (V_ BE)/(nV_ T) )( 1+(V_ CE)/(V_ A) )

mit

I_ B = (I_ C)/(β_ F).

Das entspricht exakt deinem Python-Modell.

Variante 1: Einfaches LTspice-BJT-Modell

LTspice verwendet intern bereits das Gummel-Poon-Modell.

Daher genügt oft:

.model NPN_SIMPLE NPN(

+ IS=1e-13

+ BF=100

+ VAF=100

+ NF=1

)

Bedeutung:

IS   = Sättigungsstrom

BF   = Vorwärtsverstärkung βF

VAF  = Early-Spannung

NF   = Emissionskoeffizient n

Das entspricht nahezu direkt deinen Parametern:

I_S = 1e-13

beta_F = 100

V_A = 100

n = 1

Schaltung

VCC   VCC 0 25

RC    VCC C 100

RB    VCC B 209k

Q1    C B 0 NPN_SIMPLE

Arbeitspunktanalyse

.op

liefert dann ungefähr:

VBE ≈ 0.65 V

VCE ≈ 12.5 V

IC  ≈ 125 mA

IB  ≈ 1.25 mA

für deinen aktuellen Fall

VCC = 25 V

RC  = 100 Ω

Welche Kennlinien würde ich vermessen?

1. Gummel-Plot

Simulation:

.dc VBE 0.4 0.9 1m

Auswertung:

Ic(VBE)

Ib(VBE)

Daraus:

  • IS
  • BF
  • NF

2. Ausgangskennlinien

Simulation:

.step param IB 10u 200u 20u

.dc VCE 0 25 0.1

Daraus:

  • VAF
  • Ausgangswiderstand
  • β-Verlauf

Parameterextraktion

Mit deinen Vorlesungszielen würde ich exakt diese vier Größen bestimmen:

IS

BF

NF

VAF

also


Parameter Bedeutung ----------------------- ----------------------------------------------- IS Sättigungsstrom

BF Gleichstromverstärkung

NF Idealfaktor

VAF Early-Spannung -----------------------------------------------------------------------

Noch schöner für die Vorlesung

Dann ergibt sich ein direkter Zusammenhang zwischen Simulation und Python:

Python:

I_B = (I_S/beta_F) * exp(...)

I_C = I_S exp(...) (1 + V_CE/V_A)

LTspice:

.model NPN_SIMPLE NPN(

+ IS=1e-13

+ BF=200

+ VAF=100

+ NF=1

)

Die Studierenden sehen dann sehr schön:

Die vier Parameter I_ S, BF, NFund VAFreichen bereits aus, um aus gemessenen Kennlinien ein einfaches statisches Transistormodell abzuleiten und anschließend numerisch mit Newton-Raphson den Arbeitspunkt zu berechnen.

Das ist didaktisch sauber und stellt den direkten Bezug zwischen Kennlinienmessung, Parameteridentifikation und numerischer Simulation her.

Abbildung

(eingebettete Datei — siehe Verzeichnis der Programme)

(eingebettete Datei — siehe Verzeichnis der Programme)

Abbildung

(eingebettete Datei — siehe Verzeichnis der Programme)

Das Ergebnis sieht sehr vernünftig aus. Aus dem Plot kann man einige Dinge direkt ablesen:

Verstärkung

Eingang (grün):

widehatu_ e ≈ 100,mV

Ausgang (blau):

widehatu_ a ≈ 160,mV

also

A_ v ≈ (160)/(100) ≈ 1.6.

Die Stufe verstärkt also.

Phasenlage

Der Ausgang ist invertiert:

  • Eingang positiv → Ausgang negativ
  • Eingang negativ → Ausgang positiv

also ungefähr

Δφ ≈ 180circ

genau wie bei einer Emitterschaltung erwartet.

Arbeitspunkt

Der Ausgang ist über

C2 = 1 µF

ausgekoppelt.

Deshalb siehst du im Plot nur den Wechselanteil.

Wenn du den tatsächlichen Arbeitspunkt prüfen möchtest, solltest du zusätzlich ausführen:

.op

und kontrollieren:

V(B)

V(C)

V(B,E)

V(C,E)

Ic(Q1)

Ib(Q1)

\`

Was mich freut

Die gewählten Modellparameter

IS=5e-16

BF=110

NF=1

VAF=100

verhalten sich genau so, wie dein Python-Modell vorhersagt:

I_ C = = = = I_ Sexp!( (V_ BE)/(nV_ T) )( 1+(V_ CE)/(V_ A) ) I_ B = = = = (I_ C)/(BF)

mit

BF ≈ 110,VAF ≈ 100V.

Der nächste interessante Schritt

Ich würde jetzt tatsächlich die vier Modellparameter aus LTspice \"zurückgewinnen\".

Gummel-Plot

Simulation:

.dc VBE 0.4 0.9 1m

Dann plotten:

Ic(Q1)

Ib(Q1)

(logarithmische Achse)

Daraus:

  • IS
  • BF
  • NF

bestimmen.

Ausgangskennlinien

Beispielsweise:

.step param IB 10u 100u 10u

.dc VCE 0 20 0.1

Daraus:

  • VAF
  • Early-Effekt
  • Ausgangswiderstand

bestimmen.

Didaktisch besonders schön

Du hast jetzt praktisch die Kette

Messung / Kennlinien

       ↓

Parameterextraktion

       ↓

LTspice-Modell

IS

BF

NF

VAF

       ↓

Python-Modell

IS

beta_F

n

V_A

       ↓

Newton-Raphson

       ↓

Arbeitspunkt

und genau daraus lässt sich ein sehr schönes Kapitel zur modellgestützten Transistoranalyse entwickeln. Das ist deutlich näher an der Praxis als die übliche \"VBE = 0,7 V und β = 100\"-Näherung.

Abbildung

(eingebettete Datei — siehe Verzeichnis der Programme)

Ja. Wenn man die von mir vorgeschlagenen Erweiterungen

  • Early-Effekt
  • Basis-Early-Effekt
  • β-Abfall bei hohen Strömen (IKF)
  • interner Basiswiderstand RB,int

alle zusammenfasst, erhält man folgendes kompaktes Gleichungssystem.

Hilfsgrößen

Temperaturspannung

VT = (kBT)/(q)

Äußerer Basisstrom

IB = (VBB - VBE)/(RB)

Kollektorstrom aus der Lastgeraden

IC = (VCC - VCE)/(RC)

stromabhängige Verstärkung

βeff = (βF)/(1 + (IC)/(IKF))

effektive Basis-Emitter-Spannung

VBE,eff = VBE - IBRB,int

Exponentialterm

E = exp ⁣( (VBE,eff)/(nVT) )

Gleichung 1

Basiskreis

▸ (VBB - VBE)/(RB) - (IS)/(βeff)E( 1+(VCE)/(VAB) ) = 0

mit

VAB

als Basis-Early-Spannung.

Gleichung 2

Kollektorkreis

▸ (VCC - VCE)/(RC) - ISE( 1+(VCE)/(VA) ) = 0

Ausgeschrieben

Damit ergibt sich

▸ (VBB - VBE)/(RB) - (IS)/((βF)/(1 + (IC)/(IKF))) exp ⁣( (VBE - RB,int(VBB - VBE)/(RB))/(nVT) )( 1+(VCE)/(VAB) ) = 0

und

▸ (VCC - VCE)/(RC) - ISexp ⁣( (VBE - RB,int(VBB - VBE)/(RB))/(nVT) )( 1+(VCE)/(VA) ) = 0

wobei

IC = (VCC - VCE)/(RC)

in die erste Gleichung eingesetzt wird.

Parameter des Modells

Damit hätte dein statisches Modell folgende Parameter:

IS

Sättigungsstrom

n

Idealfaktor

βF

Stromverstärkung bei kleinen Strömen

VA

Early-Spannung des Kollektorstroms

VAB

Early-Spannung des Basisstroms

IKF

Knickstrom für den β-Abfall

RB,int

interner Basiswiderstand

Didaktische Empfehlung

Für dein Manuskript würde ich allerdings vermutlich bei

IS,n,βF,VA

stehen bleiben.

Erst danach ein Kapitel

„Erweiterungen des einfachen Modells“

mit

IKF

und

RB,int

einführen.

Das ergibt eine sehr schöne Hierarchie:

  1. Shockley
  1. Shockley + β
  1. Shockley + β + Early
  1. Shockley + β + Early + β-Abfall
  1. Shockley + β + Early + β-Abfall + Basiswiderstand

und jede Erweiterung entspricht unmittelbar Parametern, die auch im LTspice-Gummel-Poon-Modell vorkommen.

Ja, im Wesentlichen stimmt das. Die Idee ist dieselbe:

Die ideale Shockley-Gleichung

I = I_ S( eV/(nV_ T)-1 )

beschreibt nur den pn-Übergang selbst. Reale Bauelemente besitzen zusätzlich ohmsche Widerstände.

Dann ersetzt man

V arrow V_ j + IR_ S

und erhält

I = I_ S( e(V - IR_ S)/(nV_ T)-1 )

bzw.

V = nV_ Tln!( (I)/(I_ S) ) + IR_ S.

Das ist exakt dieselbe mathematische Struktur wie bei deinem Modell

V_ BE,eff = = = = = = = = = = = = = = = = = = = = V_ BE - I_ BR_ B.

Allerdings wäre ich vorsichtig mit der Aussage:

„Der Serienwiderstand ist der Faktor, der blaue LEDs gut approximiert.“

Er ist ein wichtiger Faktor, aber oft nicht der einzige.

Bei blauen InGaN-LEDs beobachtet man häufig:

  1. Nichtkonstanter Idealfaktor n
  1. Serienwiderstand R_ S
  1. Selbsterwärmung
  1. Rekombinationsmechanismen, die sich mit dem Strom ändern

Deshalb passt eine einzige Shockley-Kurve oft nur über 1--2 Stromdekaden.

Wenn du beispielsweise eine blaue LED misst, sieht die Kennlinie oft so aus:

  • kleine Ströme: nahezu exponentiell
  • mittlere Ströme: sehr gute Shockley-Näherung
  • große Ströme: Spannung steigt stärker als exponentiell erwartet

Dieser letzte Effekt wird tatsächlich sehr gut durch

*IR_ S

beschrieben.

Für Lehrzwecke würde ich sogar sagen:

Der Serienwiderstand einer LED spielt dieselbe Rolle wie der interne Basiswiderstand im erweiterten Transistormodell.

Beide beschreiben eine zusätzliche ohmsche Spannung, die bei hohen Strömen die ideale Exponentialkennlinie verlässt.

Deshalb ist dein Ansatz mit

V_eff = V_BE - I_B*R_B_int

genau dieselbe Art von Korrektur, die man bei LEDs mit einem Serienwiderstand verwendet.

Für Lehrzwecke ist das eine sehr schöne Frage, denn praktisch alle deine Parameter lassen sich direkt aus Kennlinien extrahieren.

1. IS und NF aus der Eingangskennlinie

Man misst bei festem VCE:

IC(VBE)

Im aktiven Bereich gilt:

IC ≈ ISexp ⁣( (VBE)/(NFVT) )

Logarithmieren:

ln(IC) = ln(IS) + (VBE)/(NFVT)

Vorgehen

Halblogarithmische Darstellung:

ln(IC)gegenVBE

ergibt eine Gerade.

Steigung:

m = (1)/(NFVT)

daraus

NF = (1)/(mVT)

Achsenabschnitt:

ln(IS)

also

IS = eAchsenabschnitt

2. BF aus den Stromverstärkungskennlinien

Bei kleinem Kollektorstrom (weit unter IKF)

βF = (IC)/(IB)

Einfach messen:

βF ≈ (IC)/(IB)

im linearen Bereich.

Bei einem Kleinsignaltransistor erhält man typischerweise:

  • BC547: 100...500
  • 2N3904: 100...300

3. VAF aus den Ausgangskennlinien

Du misst

IC(VCE)

für konstantes IB.

Ideale Kennlinie:

IC

│ ─────────────

│

└────────────── VCE

Reale Kennlinie:

IC

│ /

│ /

│ /

└──/────────── VCE

Der Schnittpunkt der extrapolierten Geraden liegt bei

VCE = - VAF

Beispiel

Wenn die Verlängerung die Spannungsachse bei

- 100V

schneidet:

VAF = 100V

Genau das macht SPICE mit

IC = IC0( 1+(VCE)/(VAF) )

4. VAR bzw. dein VAB

Das ist dasselbe Verfahren, aber für den Basisstrom.

Du misst:

IB(VCE)

bei konstantem VBE.

Dann:

IB = IB0( 1+(VCE)/(VAR) )

Extrapoliert man die Geraden zurück, erhält man:

VCE = - VAR

In vielen Datenblättern findet man diese Kennlinien allerdings nicht.

Deshalb wird VAR häufig geschätzt oder auf einen plausiblen Wert gesetzt.

5. IKF aus dem β-Abfall

Du hast modelliert:

βeff = (βF)/(√(1 + (IC)/(IKF)))

Dazu misst man:

β(IC) = (IC)/(IB)

über mehrere Dekaden Strom.

Typische Form:

β

│ _____

│ /

│_____/ \\

│ \\__

└────────────────── IC

IKF liegt ungefähr dort, wo β merklich abzufallen beginnt.

Genauer:

Bei

IC = IKF

ergibt dein Modell

βeff = (βF)/(√(2)) ≈ 0.707βF

Daher:

IKF = der Strom, bei dem β auf etwa 70 % seines Maximalwertes gefallen ist.

6. RB bzw. RBM

Diesen Parameter erkennt man an der Krümmung der Eingangskennlinie bei großen Strömen.

Ohne RB:

VBE = VTln( (IC)/(IS) )

Mit RB:

VBE = VTln( (IC)/(IS) ) + IBRB

Bei hohen Strömen steigt VBEstärker an als erwartet.

Bestimmung

Miss

VBE(IB)

und berechne

RB = (Δ VBE)/(Δ IB)

im Hochstrombereich.

Für dein Python-Modell

Die Parameter lassen sich folgendermaßen aus Messungen extrahieren:


Parameter Kennlinie -------------------- -------------------------------------------------- IS ln(IC)gegen VBE

NF Steigung von ln(IC)gegen VBE

BF IC/IBbei kleinen Strömen

VAF Extrapolation der IC(VCE)-Kennlinien

VAR (= dein VAB) Extrapolation der IB(VCE)-Kennlinien

IKF β-Abfall auf ca. 70 %

RBM Steigung von VBE(IB)im Hochstrombereich -----------------------------------------------------------------------

Für eine Vorlesung würde ich genau diese sechs Messungen zeigen, weil man damit fast dein gesamtes erweitertes Modell identifizieren kann.


Der minimale Datensatz, gerechnet

Dieses Teilmanuskript beschreibt, mit wie wenigen Parametern ein BJT statisch noch brauchbar beschrieben ist. Gerechnet wird derselbe Satz im Reiter BJT und SPICE (Transistor_21b.py: IS, βF, n, VA) und im Reiter Gummel-Poon (die vier Erweiterungen darüber). Hier steht nur, was sein eigener Bestand hergibt: die Gegenüberstellung der beiden Sätze.

Was die beiden Sätze enthalten

Der Transistortester · Teilmanuskript 50_esp32_programm.md · Quelle: Kennlinienschreiber_ESP32_Code_Arduino.docx
↓ zum rechnenden Teil
#include <Arduino.h>
#include "config.h"
#include "modbus.h"
#include "ad_da.h"
void setup() {
  setup_modbus();
  setup_ad_da();
} // setup
void loop() {
  WorkModbus();
  WorkAdDa();
} // loop
// ---------------- ad_da ----------------------------------------
#include <Wire.h>
#include <SPI.h>
#include "modbus.h"
#include "ad_da.h"
SPISettings SPISettings_AD7682(400000, MSBFIRST, SPI_MODE0);
SPISettings SPISettings_DAC8565(400000, MSBFIRST, SPI_MODE2);
uint16_t getAD7682(int aCS, uint8_t aKanal, uint16_t aRange){
  uint8_t c[2];
  digitalWrite(aCS, LOW);
  delayMicroseconds(1);
  aRange |= (aKanal << 9); // << (7+2)
  c[0]=highByte(aRange);
  c[1]=lowByte(aRange);
  SPI.transfer(c, 2);
  delayMicroseconds(1);
  digitalWrite(aCS, HIGH);
  delayMicroseconds(1);
  return (c[0]<<8) | c[1];
} // getAD7682
uint16_t calc_miw(uint16_t mw, uint16_t *miws, int *imiw, int NMIW){
  miws[*imiw]=mw;
  (*imiw)++;
  if (*imiw>=NMIW) *imiw=0;
  int miw_sum=miws[0];
  for (int n=1; n<NMIW; n++) miw_sum+=miws[n];
  return miw_sum / NMIW;
} // calc_miw
void ReadADCs(){
#define AD_MODE (0x2000 | 0x1C00 | 0x0008 | 0x0001) << 2 // CFG update | Unipol to GND | low BW, int 4,096V | no SEQ, no read CFG
  SPI.beginTransaction(SPISettings_AD7682);
  static uint16_t miws0[NMIW_AD]={}, miws1[NMIW_AD]={}, miws2[NMIW_AD]={}, miws3[NMIW_AD]={};
  static int imiw0=0,imiw1=0,imiw2=0,imiw3=0;
  // bei der Abfrage wird Kanal+1 angefragt und Kanal-1 geliefert:
  reg[REG_AD0+0]=getAD7682(PIN_CS_AD,2, AD_MODE); // cs2, CH0=Urc1, sigle 0..4V
  reg[REG_ADMIW+0]=calc_miw(reg[REG_AD0+0], miws0,&imiw0, NMIW_AD);
  reg[REG_AD0+1]=getAD7682(PIN_CS_AD,3, AD_MODE); // cs2, CH1=Urc2, sigle 0..4V
  reg[REG_ADMIW+1]=calc_miw(reg[REG_AD0+1], miws1,&imiw1, NMIW_AD);
  reg[REG_AD0+2]=getAD7682(PIN_CS_AD,0, AD_MODE); // cs2, CH2=Urb1, sigle 0..4V
  reg[REG_ADMIW+2]=calc_miw(reg[REG_AD0+2], miws2,&imiw2, NMIW_AD);
  reg[REG_AD0+3]=getAD7682(PIN_CS_AD,1, AD_MODE); // cs2, CH3=Urb2, sigle 0..4V
  reg[REG_ADMIW+3]=calc_miw(reg[REG_AD0+3], miws3,&imiw3, NMIW_AD);
  SPI.endTransaction();
} // ReadADCs
void setDAC8565(int aCS, int aKanal, uint16_t aWert){ // 4x DA 0..2.5V
  uint8_t c[3];
  digitalWrite(aCS, LOW);
  delayMicroseconds(1);
  c[0]=(aKanal << 1) | 0x10;
  c[1]=highByte(aWert);
  c[2]=lowByte(aWert);
  SPI.transfer(c, 3);
  delayMicroseconds(1);
  digitalWrite(aCS, HIGH);
  delayMicroseconds(1);
} // setDAC8565
void WriteDAs(){
  SPI.beginTransaction(SPISettings_DAC8565);
  setDAC8565(PIN_CS_DA, 0,reg[REG_DA0+0]); // UC
  setDAC8565(PIN_CS_DA, 1,reg[REG_DA0+1]); // UB
  // ch2, ch3: NC
  SPI.endTransaction();
} // WriteDAs

void setup_ad_da(){
  SPI.begin();
  pinMode(PIN_CS_AD, OUTPUT);
  pinMode(PIN_CS_DA, OUTPUT);
  digitalWrite(PIN_CS_AD, HIGH);
  digitalWrite(PIN_CS_DA, HIGH);
} // setup_ad_da
void WorkAdDa(){
  ReadADCs();
  WriteDAs();
} // WorkAdDa
// ---------------- ad_da ----------------------------------------
#ifndef __AD_DA_H__
#define __AD_DA_H__
#include "config.h"
extern "C"{
void setup_ad_da();
void WorkAdDa();
} // extern "C"
#endif /* ifndef */
// ---------------- config ----------------------------------------
#ifndef __CONFIG_H__
#define __CONFIG_H__
#include <Arduino.h>
#define SerialUSB Serial
#define MODBUS_ADR 1
#define PIN_CS_DA  5
#define PIN_CS_AD 17
#define PIN_MB_LED 22
#define REG_DA0          0  // 4 Register, Uc, Ub, NC,NC
#define REG_AD0          4  // 4 Register, Urc1, Urc2, Urb1, Urb2
#define REG_ADMIW        8  // 4 Register, wie REG_AD0 als Mittelwerte
#define MAX_REG         13  // 12=letzter Register
#define NMIW_AD   10 // Anzahl für Mittelwert
#endif /* ifndef */
// ---------------- modbus ----------------------------------------
#include "modbus.h"
uint16_t reg[MAX_REG]={0};
void setup_modbus(){
  SerialUSB.begin(115200);
  pinMode(PIN_MB_LED, OUTPUT);
  digitalWrite(PIN_MB_LED, LOW);
} // setup_modbus
char* max(char *a, char*b){
if (a<b) return b; else return a;
} // min
uint32_t MBword(char *a){
  return (*a << 8) | *(a+1);
}
void wordMB(uint32_t w, char *a){
  *a=w >> 8;
  a++;
  *a=w & 0xFF;
}
bool ReadByteUSB(char* a){
  if (SerialUSB.available()){
    *a=SerialUSB.read();
    return true;
  }
  return false;
} // ReadByteUSB
bool Sz(char a){
  return (((a>=1) && (a<=6)) || (a==8) || (a==15) || (a==16));
}
// -------------- crc modbus ---------------------------------------------------
// ---------------------- Modbus Checksum --------------------------------------
uint16_t modbus_crc(char *a, int len){
  //  Table of CRC values for high-order byte:
  static const unsigned char Modbus_auchCRCHi[256] = {
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
  0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40};
  // Table of CRC values for low-order byte:
  static const unsigned char Modbus_auchCRCLo[256] = {
  0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04,
  0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8,
  0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,
  0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10,
  0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,
  0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38,
  0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C,
  0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,
  0xA0,0x60,0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4,
  0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68,
  0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,
  0xB4,0x74,0x75,0xB5,0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0,
  0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,
  0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98,
  0x88,0x48,0x49,0x89,0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C,
  0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,0x41,0x81,0x80,0x40};
  unsigned char uchCRCHi=0xFF, uchCRCLo=0xFF;
  int uIndex,p;
  for (p=0; p<len; p++) {
    uIndex=(uchCRCHi ^ a[p]);
    uchCRCHi=(uchCRCLo ^ Modbus_auchCRCHi[uIndex]);
    uchCRCLo=Modbus_auchCRCLo[uIndex];
  }
  return((uchCRCHi<<8)|uchCRCLo);
} // modbus_crc
bool Modbus_chkCRC(char *a, int len){
  return (MBword(&a[len-2])==modbus_crc(a, len-2));
} // Modbus_chkCRC
void delCahrs(char *a, char **pa, int anz){
  *pa=max(a, *pa-anz);
  for (char* p=a; p<*pa; p++) *p=*(p+anz);
} // delChars
void setReg(uint16_t aReg, uint16_t aWert){
  if ((aReg<REG_AD0) && (reg[aReg]!=aWert)){
    reg[aReg]=aWert;
  }
} // setReg
void WorkModbus(){
  static char a[255], *pa=a;
  static int led_timer=0;
  char c;
  uint16_t SollLen,ServerAdr,RegAdr,Nreg,Nbyte,Ikanal;
  if (ReadByteUSB(&c)){
    *pa++=c;
    while ((pa-a>=8) && !Sz(a[1])) delCahrs(a,&pa,1);
    if (pa-a>=8){
      if ((a[1]==15) || (a[1]==16)) SollLen=a[6]+9; else SollLen=8;
      if (pa-a>=SollLen){
        if (Modbus_chkCRC(a, SollLen)) {
          digitalWrite(PIN_MB_LED, HIGH);
          led_timer=100;
          ServerAdr=a[0];
          if ((ServerAdr==0) || (ServerAdr==MODBUS_ADR)){
            char r[255], *pr=r;
            RegAdr=MBword(&a[2]);
            Nreg=MBword(&a[4]);
            switch (a[1]){
              case 1:
              case 2: // DI
                Nbyte=(Nreg+7) / 8;
                *pr++=a[0];
                *pr++=a[1];
                *pr++=Nbyte;
                for (int n=0; n<Nbyte; n++) *pr++=0;
                break;
              case 3:
              case 4: // WI
                Nreg=min(Nreg,(uint16_t)124);
                Nbyte=Nreg*2;
                Ikanal=RegAdr;
                *pr++=a[0];
                *pr++=a[1];
                *pr++=Nbyte;
                for (int n=0; n<Nreg; n++){
                  if (Ikanal<MAX_REG) wordMB(reg[Ikanal], pr); else wordMB(0, pr);
                  Ikanal++;
                  pr+=2;
                }
                break;
              case 5: // DO single
                // RegAdr, Bitwert in Nreg
                for (int n=0; n<6; n++) *pr++=a[n];
                break;
              case 6: // WO single
                setReg(RegAdr, Nreg); // Nr, Wert
                for (int n=0; n<6; n++) *pr++=a[n];
                break;
              case 8:
                for (int n=0; n<6; n++) *pr++=a[n];
                break;
              case 15: // DO multiple
                for (int n=0; n<6; n++) *pr++=a[n];
                break;
              case 16: // WO multiple
                Nreg=min(Nreg, (uint16_t)(a[6] / 2));
                Ikanal=RegAdr;
                pa=&a[7];
                for (int n=0; n<Nreg; n++){
                  setReg(Ikanal, MBword(pa)); // Nr, Wert
                  Ikanal++;
                  pa+=2;
                }
                for (int n=0; n<6; n++) *pr++=a[n];
                break;
            }
            if ((ServerAdr>0) && (pr>r)){ // 0=Broadcast: bearbeiten und nicht antworten
              wordMB(modbus_crc(r, pr-r), pr);
              pr+=2;
              SerialUSB.write(r, pr-r);
            }
          } // if ServerAdr ...
          delCahrs(a,&pa,SollLen);
        } else delCahrs(a,&pa,1);
      } // if pa-a>=SollLen
    } // if pa-a>=8
  } // if ReadByteUSB(&c)
  if (led_timer){
    led_timer--;
    if (!led_timer) digitalWrite(PIN_MB_LED, LOW);
  }
} // WorkModbus
// ---------------- modbus ----------------------------------------
#ifndef __MODBUS_H__
#define __MODBUS_H__
#include "config.h"
extern "C"{
extern uint16_t reg[MAX_REG];
void setup_modbus();
void WorkModbus();
} // extern "C"
#endif /* ifndef */

Das Gerät: aus dem Registerwert in Volt, aus Volt in Ampere

Übertragen aus Kennlinienschreiber_1.py, Zeilen 30–52 und 119–140: volt_to_dac, adc_to_volt und die beiden Umrechnungen, mit denen aus den vier gemittelten Wandlerwerten Kollektor- und Basisstrom werden. Darunter die neun Ausgangskennfelder, die der Tester aufgenommen hat, unmittelbar aus seinen CSV-Dateien gezeichnet.

Das Gerät

Die Platine mit dem Prüfling

Platine des Transistortesters mit ESP32-Modul,
          Klemmenleiste, steckbaren Messwiderständen und angeklemmtem Prüfling
Links das ESP32-Modul mit seiner USB-Buchse. Daneben die grünen Schraubklemmen: zuerst die Versorgung (GND, +24 V), dann die acht Messklemmen, deren Belegung im Siebdruck für beide Bauteilarten dasteht — NPN: Rc C E Rb GND und PNP: E C Rc B Rb GND. In den Klemmen stecken die beiden Messwiderstände: ein kleiner Schichtwiderstand als Rb im Basiszweig, der große blaue Drahtwiderstand als Rc im Kollektorzweig. Beide sind steckbar — sie bestimmen, welcher Strombereich gemessen wird, und sie sind es, aus deren Spannungsabfall die Ströme gerechnet werden. Rechts hängt der Prüfling in einem Leistungsgehäuse mit Metallfahne an drei Prüfklemmen: blau an der Basis, violett am Kollektor, rot am Emitter. Unten rechts auf der Leiterplatte steht die Fertigungsnummer des Platinenherstellers.

Die Funktionsübersicht — seine Handskizze

Handskizze des Übersichtsplans: ESP32, zwei
          Digital-Analog-Umsetzer mit Verstärkern, steckbare Widerstände, Prüfling und vier
          Analog-Digital-Umsetzer
Von links nach rechts gelesen: Am USB hängt der ESP32 (in seiner Schrift „ESP23“). Von ihm gehen zwei gleichartige Zweige ab, jeder aus einem Digital-Analog-Umsetzer („DA“) und einem nachgeschalteten Verstärker („OP“). Der obere Zweig stellt den Kollektorkreis: 0…12 V bei höchstens 500 mA. Er speist den Knoten Rc1; von dort geht es über den steckbaren Kollektorwiderstand Rc zum Knoten Rc2, und der liegt am Kollektor des Prüflings. Der untere Zweig stellt den Basiskreis: 0…12 V bei höchstens 50 mA, Knoten Rb1, steckbarer Basiswiderstand RB, Knoten Rb2 an der Basis. Von Rb2 führt zusätzlich ein Ableitwiderstand („RB-GND“) nach Masse. Der Prüfling sitzt in der Mitte, sein Emitter liegt an Masse. Rechts vier Messzweige, jeder wieder OP und dahinter AD: sie greifen die Potentiale der vier Knoten Rc1, Rc2, Rb2 und Rb1 ab. Drei der vier Beschriftungen am rechten Rand sind eindeutig zu lesen — UCE (an Rc2, dem Kollektor), UBE (an Rb2, der Basis) und UBB (an Rb1, der Basiseinspeisung); die oberste ist es nicht: sie kann URc oder UBC heißen. Welche Größe gemeint ist, lässt die Schaltung dennoch nicht offen — es ist das Potential des Knotens Rc1, und der Schaltplan bestätigt es: der Analog-Digital-Umsetzer AD7682 hat genau vier Eingänge, und sie heißen dort UC1_S, UC2_S, UB1_S und UB2_S, also die vier Knoten und nichts anderes. Aus den Differenzen werden die Ströme: IC = (URc1 − URc2)/Rc und IB = (URb1 − URb2)/Rb. Das Fragezeichen steht an zwei Stellen: an dem Verstärker des UBE-Zweiges und an der unteren Rückleitung zum ESP32. Es ist seine eigene Notiz; worauf sie sich bezieht, lässt sich aus dem vorliegenden Material nicht belegen, und sie wird deshalb hier nur benannt und nicht gedeutet.

Vom Übersichtsbild zur Ausführung: die beiden Schaltplanblätter

Schaltplanblatt „OPs“: vier Messverstärker mit
          Schutzdioden und die beiden Leistungsstufen
Blatt 1 — „OPs“. Oben die vier Messzweige der Skizze in ihrer Ausführung: je ein Spannungsteiler 43 kΩ / 22 kΩ mit einer 4,7-V-Zenerdiode (BZT52C4V7) als Schutz, dahinter ein Verstärker vom Typ LTA8092 (U2, U3) als Impedanzwandler zu den Wandlereingängen UB1_S, UB2_S, UC1_S und UC2_S. Unten die beiden Leistungsstufen, die in der Skizze nur „OP“ heißen: ein Doppelverstärker TCA0372 mit einem Längstransistor 2SC3519 an +24 V; die Gegenkopplung aus 5,6 kΩ und 22 kΩ setzt die Spannung der Digital-Analog-Umsetzer (UB_I, UC_I) auf den Ausgangsbereich um. Links die Klemmenleisten CN1/CN2 mit der Belegung RC1, RC2 = C, GND = E, RB2 = B, RB1 — das ist genau die Leiste, die auf dem Foto zu sehen ist.
Schaltplanblatt „CPU und AD/DA“: ESP32-DEVKITC, AD7682,
          DAC8565 und die Spannungsversorgung
Blatt 2 — „CPU und AD/DA“. Links das ESP32-DEVKITC. Unten links der Analog-Digital-Umsetzer AD7682, vier Eingänge IN0…IN3 für genau die vier Messzweige, mit dem handschriftlichen Vermerk „Uref 4.095 = 0..4.095 V“. Unten rechts der Digital-Analog-Umsetzer DAC8565 mit zwei benutzten Ausgängen (UB_I, UC_I) im Bereich 0…2,5 V und dem Vermerk „Achtung: SPI_Mode 3!“. Oben rechts die Versorgung: aus +24 V werden +5 V (K7805M), +15 V (K7815) und −3 V (IB0503LS). Ein Unterschied zur Skizze, der benannt gehört: die Handskizze beschriftet die Verbindung zu den Umsetzern mit „i2c“; ausgeführt sind beide Wandler am SPI-Bus (SPI_MOSI, SPI_SCK, SPI_CS1/CS2). Die Skizze ist die ältere Darstellung; maßgebend ist das Blatt.
Beide Blätter zusammen liegen als Schaltplan_Kennlinienschreiber.pdf bei. Im Schriftfeld steht der Name eines Dritten; er ist in der ausgelieferten Fassung buchstabengleich durch „x“ ersetzt (Vorgabe vom 29.09.2026).

Wo das Gerät ausführlich beschrieben ist

Diese Seite zeigt das Gerät so weit, wie es zum Verständnis der Zahlen nötig ist: Platine, Übersicht, Schaltplan. Die ausführliche Darstellung — Kaskadenregelung der beiden Quellen, Registerplan der Modbus-Schnittstelle und die Herleitung der Gerätekonstanten — steht in der eigenen Arbeit zum Kennlinienschreiber. Die Veröffentlichungsadresse wird hier nachgetragen, sobald sie steht.

Von der Klemme zur Zahl

Die Gerätekonstanten, wie sie in seinem Programm stehen

Zur Referenzspannung. Der Nennwert der internen Referenz des AD7682 ist 4,096 V, und mit diesem Wert rechnet sein Programm (Zeile 35). Der Vermerk „Uref 4.095 = 0..4.095V“ im Schaltplan nennt den Vollbereich (216−1)/216·4,096 V = 4,0999 V, gerundet notiert. Der Unterschied beträgt 2,95 mV von 12,1 V an der Klemme, also 0,024 %.

Umrechnung, Schritt für Schritt

Das gewählte Ausgangskennfeld des Testers

Gummel-Poon · Teilmanuskript 60_gummel_poon.md · Quelle: BUCH/kapitel_06_gummel_poon.md (Markdown-Quelle)
↓ zum rechnenden Teil

6 Das Gummel-Poon-Modell und seine SPICE-Parameter

6.1 Wo wir stehen — und wohin dieses Kapitel führt

In Teil I haben wir den Transistor vermessen: Der Kennlinienschreiber lieferte die Eingangs-, Übertragungs- und Ausgangskennlinien als Zahlenkolonnen, und das Vierquadranten-Kennlinienfeld hat diese Daten geordnet. In Teil II haben wir das numerische Handwerkszeug erarbeitet: Wir können nichtlineare Gleichungen mit Newton-Raphson lösen und ganze Netzwerke über das Knotenpotentialverfahren aufstellen — geübt an der Diode, deren Exponentialkennlinie uns dort zum ersten Mal begegnet ist.

Jetzt fügen sich beide Stränge zusammen. Die Messdaten beschreiben den Transistor — aber sie erklären ihn nicht, und sie lassen sich nicht in einen Schaltungssimulator stecken. Dazu braucht es ein Modell: einen Satz von Gleichungen mit wenigen Parametern, der die gemessenen Kennlinien reproduziert. Das Standardmodell der Schaltungssimulation ist das Gummel-Poon-Modell (1970), das jedem SPICE-Simulator — von LTspice bis ngspice — zugrunde liegt.

Dieses Kapitel baut das Modell Effekt für Effekt auf. Wir beginnen mit der idealen Exponentialkennlinie und ergänzen nacheinander genau die Abweichungen, die in unseren Messungen sichtbar werden:

  1. die endliche Steigung der Ausgangskennlinien → Early-Effekt (VA, SPICE VAF),
  2. dieselbe Erscheinung im Basisstrom → Basis-Early-Effekt (VAB, SPICE VAR),
  3. der Abfall der Stromverstärkung bei großen Strömen → Hochinjektion (IKF, SPICE IKF),
  4. der Spannungsabfall im Basisbahngebiet → innerer Basiswiderstand (RB,int, SPICE RBM).

Am Ende steht ein geschlossenes Gleichungssystem mit benannten Parametern und benannten Grenzen. Die beiden Anschlussfragen sind dann zwingend: Woher bekommen wir die Zahlenwerte der Parameter? — aus der Messung, Kapitel 7. Und wie löst man das nichtlineare System in einer konkreten Schaltung? — mit Newton-Raphson, Kapitel 8.

Grundannahmen dieses Kapitels (sofern nicht anders vermerkt): npn-Transistor im Vorwärts-Aktivbetrieb (VBE gt;0, VBC lt;0); Temperatur T=300 K; Quasistatik (keine Kapazitäten — das Frequenzverhalten folgt in Kapitel 13); Niedriginjektion außer der in Abschnitt 6.6 behandelten Hochstromkorrektur. Alle Gleichungen sind in den Klemmenspannungen VBE und VCE formuliert.

6.2 Ausgangspunkt: der Transistor als gesteuerte Quelle

Ein npn-Transistor besteht aus zwei gegeneinander geschalteten pn-Übergängen — Emitter–Basis und Kollektor–Basis — mit einer sehr dünnen Basis dazwischen. Im Aktivbetrieb ist die BE-Diode in Flussrichtung gepolt, die BC-Diode in Sperrrichtung. Die über die BE-Diode in die Basis injizierten Elektronen diffundieren durch die dünne Basis und werden vom Feld der gesperrten BC-Diode zum Kollektor „abgesaugt". Der Kollektorstrom wird also von der Spannung VBE gesteuert — der Transistor ist eine spannungsgesteuerte Stromquelle.

Das klassische Ebers-Moll-Modell beschreibt beide Übergänge durch ihre Diodengleichungen. Im Vorwärts-Aktivbetrieb dominiert der Vorwärts-Transportstrom

ICC = IS(eVBE/VT-1),

mit dem Transport-Sättigungsstrom IS. Idealerweise ist IC ≈ ICC und IB = ICC/βF. Was Ebers-Moll nicht erfasst — Early-Effekt, Hochinjektion, Bahnwiderstände — ergänzt das Gummel-Poon-Modell. Genau diese Lücken schließen wir jetzt Schritt für Schritt.

6.3 Die ideale Kennlinie und die Thermospannung

Der Kollektorstrom im Aktivbetrieb folgt der Shockley-Gleichung (für VBE≫ VT ist die -1 vernachlässigbar):

IC = IS · eVBE/(n VT)

Darin ist n der Emissionskoeffizient (SPICE NF, ideal n≈ 1) und VT die Thermospannung. Sie ist keine Materialeigenschaft, sondern eine Naturkonstanten-Kombination — und damit der Anker, an dem später die Steigung des Gummel-Plots hängt:

VT = (kB T)/(q) = frac1,381·10-23 J/K · 300 K 1,602·10-19 C = 25,85 mV (T = 300 K).

Zwei Eigenschaften dieser Kennlinie tragen das ganze Kapitel:

  • Sie ist steil: pro n VTln 10 ≈ 60 mV Spannungserhöhung wächst IC um den Faktor 10. Deshalb erscheint die Kennlinie im halblogarithmischen Gummel-Plot als Gerade (Abbildung 6.1) — das nutzen wir in Kapitel 7 zur Bestimmung von IS und n.
  • Sie ist nichtlinear: Jede Schaltungsrechnung mit ihr führt auf transzendente Gleichungen — deshalb brauchten wir Teil II.
Abbildung
Abbildung 6.1 — Der Gummel-Plot: halblogarithmisch aufgetragen wird die Exponentialkennlinie zur Geraden mit der Steigung 1/(n VT) — eine Dekade Stromzuwachs je n VTln 10≈ 60 mV. Steigung und Achsenabschnitt dieser Geraden sind die Messgrößen für n und IS (Kapitel 7).
Rechenbeispiel 6.1 — die Steilheit greifbar gemacht. Der BC337-25 (IS=4,1·10-14A, n=1) soll IC = 5 mA führen. Auflösen der Kennlinie nach VBE: $VBE = n VT ln(IC)/(IS) = 25,85 mV·ln(5·10-3)/(4,1·10-14) = 25,85 mV· 25,52 = 660 mV.Für den doppelten Strom (10\,mA) braucht es nur25{,}85\,\text{mV}\cdot\ln 2 = 17{,}9\,\text{mV}mehr — die gesamte Nutzstromspanne eines Kleinsignaltransistors spielt sich in wenigen zehn MillivoltV_{BE}ab. Das erklärt, warum Arbeitspunkte nie überV_{BE}$ „eingestellt", sondern immer über Widerstände stabilisiert werden (Kapitel 8).

Der Basisstrom folgt im idealen Modell mit konstanter Stromverstärkung βF (SPICE BF):

IB = (IC)/(βF) = (IS)/(βF) eVBE/(n VT).

In der Praxis ist β jedoch strom- und spannungsabhängig — die Messung in Kapitel 3 hat das bereits gezeigt. Die folgenden Abschnitte bauen diese Abhängigkeiten einzeln ins Modell ein.

6.4 Erste Erweiterung: der Early-Effekt (VA, SPICE VAF)

(1) Beobachtung in der Messung. Die gemessenen Ausgangskennlinien IC(VCE) sind im aktiven Bereich nicht exakt waagerecht — sie steigen leicht mit VCE an. Das ideale Modell aus 6.3 kennt aber gar keine VCE-Abhängigkeit. Hier fehlt also ein Effekt.

(2) Physikalische Ursache. Steigt VCE, weitet sich die Raumladungszone des gesperrten Kollektor-Basis-Übergangs in die Basis hinein aus. Die effektive Basisweite sinkt (Basisweitenmodulation), der Diffusionsgradient der Elektronen in der Basis wird steiler — und mit ihm steigt der Kollektorstrom. Dieser Effekt heißt nach James Early (1952) Early-Effekt.

(3) Modellterm. Die Kennlinie erhält einen linearen Korrekturfaktor:

▸ IC = IS eVBE/(n VT)(1+(VCE)/(VA))

mit der Early-Spannung VA (SPICE VAF, typisch 50–200 V).

(4) Geometrische Deutung — zugleich Messvorschrift. Extrapoliert man die flachen Äste aller Ausgangskennlinien nach links, schneiden sie die VCE-Achse (näherungsweise) in einem gemeinsamen Punkt VCE=-VA (Abbildung 6.2). Je größer VA, desto flacher die Kennlinien, desto idealer der Transistor. Genau diese Konstruktion wird in Kapitel 7 zur Bestimmung von VA verwendet — der Modellterm liefert seine Messvorschrift also gleich mit.

Abbildung
Abbildung 6.2 — Early-Konstruktion am Modell (BC337-25, VA=146V): Die im Messbereich (rechts, durchgezogen) fast flachen Ausgangskennlinien treffen sich rückwärts verlängert (gestrichelt) im gemeinsamen Punkt -VA auf der VCE-Achse.
Rechenbeispiel 6.2 — wie groß ist der Effekt? Arbeitspunkt IC = 5 mA bei VCE=5 V, VA=146V. Steigt VCE um 5 V auf 10 V, wächst der Kollektorstrom um den Faktor $(1+10/146)/(1+5/146) = (1,0685)/(1,0342) = 1,033,also um 3,3 % auf5{,}17\,\text{mA}. Klein — aber genau diese 3 % sind die endliche Steigung, die der Kurventracer sichtbar macht, und ihr Kehrwert bestimmt den Ausgangswiderstand:r_{CE}\approx V_A/I_C = 146\,\text{V}/5\,\text{mA} = 29\,\text{k}\Omega$.

(5) Konsequenz für das Kleinsignalverhalten. Ableiten der Early-Gleichung nach VCE ergibt den differentiellen Ausgangsleitwert

gCE = (∂ IC)/(∂ VCE) = IS eVBE/(n VT)·(1)/(VA) ≈ (IC)/(VA),

denn der Ausdruck vor 1/VA ist gerade der Arbeitspunkt-Kollektorstrom. Der Early-Effekt ist damit der physikalische Ursprung des endlichen Ausgangswiderstands rCE≈ VA/IC — diesen Faden nehmen wir in Kapitel 11 (h22e) wieder auf.

(6) Zahlenbeispiel BC337-25. Aus den Messungen (Kapitel 7) folgt VA ≈ 146 V; das Datenblatt-SPICE-Modell nennt 145,7 V — eine erste Bestätigung, dass Modellterm und Wirklichkeit zusammenpassen.

6.5 Zweite Erweiterung: der Basis-Early-Effekt (VAB, SPICE VAR)

Die Basisweitenmodulation verändert nicht nur den Kollektorstrom, sondern auch den Basisstrom — dieselbe Ursache, ein zweiter Wirkungsort. SPICE modelliert dies analog mit der Basis-Early-Spannung VAB (SPICE VAR, typisch 100–500 V):

IB = (IS)/(βeff) eVBE,eff/(n VT) (1+(VCE)/(VAB))

(Die Größen βeff und VBE,eff werden in den nächsten beiden Abschnitten eingeführt; für den Moment gilt βeff=βF und VBE,eff=VBE.)

Für VAB→∞ verschwindet der Effekt. In der Praxis ist VAB meist deutlich größer als VA — der Basis-Early-Effekt ist also schwächer als sein Kollektor-Gegenstück. Er wirkt unscheinbar, trägt aber eine wichtige Konsequenz: Er ist die physikalische Quelle der Spannungsrückwirkung h12e im Vierpolmodell (Kapitel 11). Ein Modell ohne VAR hat zwingend h12e=0 — das werden wir dort als benannte Modellgrenze wiederfinden.

6.6 Dritte Erweiterung: Hochinjektion (IKF, SPICE IKF)

(1) Beobachtung. Trägt man die gemessene Stromverstärkung hFE=IC/IB über IC auf, fällt sie bei großen Strömen ab (Abbildung 6.3). Das ideale Modell mit konstantem βF kann das nicht erklären.

Abbildung
Abbildung 6.3 — Hochinjektion beim BC337-25: unterhalb des Kniestroms IKF=0,9A gilt β≈βF; bei IC=IKF ist die Verstärkung auf βF/√2 gefallen, weit darüber sinkt sie mit 1/√(IC). Grün markiert: der Messbereich des Kennlinienschreibers aus Kapitel 7 — er endet zwei Dekaden vor dem Knie.

(2) Physikalische Ursache. Bei großen Kollektorströmen wird die injizierte Ladungsträgerdichte in der Basis mit der Basisdotierung vergleichbar — man spricht von Hochinjektion. Zwei Mechanismen drücken dann die Verstärkung:

  • Webster-Effekt: Die Rekombination in der Basis wächst überproportional, das Verhältnis IC/IB sinkt.
  • Kirk-Effekt: Bei sehr hohen Stromdichten verlagert sich die Kollektor-Raumladungszone in die Epitaxieschicht — die Basis „weitet sich aus".

(3) Herleitung des Modellterms. Das Gummel-Poon-Modell fasst beide Mechanismen über die normierte Basisladung qB = QB/QB0 zusammen. Näherungsweise gilt

qB ≈ (1)/(2) + √(((1)/(2))2 + (IC)/(IKF)),

mit den beiden Grenzfällen

IC ≪ IKF: qB ≈ 1 (normale Basisladung), IC ≫ IKF: qB ≈ √((IC)/(IKF)).

Da der Transportstrom umgekehrt proportional zur Basisladung ist (IC propto 1/qB), wird die wirksame Verstärkung durch qB geteilt:

▸ βeff = (βF)/(qB) ≈ (βF)/(√(1+(IC)/(IKF)))

Der Vorwärts-Kniestrom IKF (SPICE IKF, typisch 10 mA–1 A) markiert die Grenze: Bei IC=IKF ist β um den Faktor √(2) gefallen; weit darüber sinkt β mit 1/√(IC).

(4) Zahlenbeispiel — und eine wichtige Vorwegnahme. Für den BC337-25 gilt IKF≈ 0,9 A. Unsere Kennlinien wurden bis IC ≤ 11 mA gemessen, also IC/IKF ≲ 0,01:

βeff = (292)/(√(1+0,011/0,9)) = (292)/(√(1,0122)) = 290,2

— ein Abfall um 0,6 %, unterhalb jeder Messauflösung. Erst bei IC = IKF = 0,9A fiele β auf 292/√2 = 206. Der Abfall liegt also außerhalb des Messfensters (grüner Bereich in Abbildung 6.3). Das hat eine Konsequenz, die in Kapitel 7 zum Prinzip erhoben wird: Ein Parameter, dessen Effekt im Messbereich nicht sichtbar ist, kann aus diesen Messungen auch nicht bestimmt werden.

6.7 Vierte Erweiterung: der innere Basiswiderstand (RB,int, SPICE RBM)

(1) Physikalische Ursache. Das Basisgebiet ist dünn und lateral ausgedehnt; der Basisstrom muss durch dessen Bahnwiderstand fließen. Dieser innere Basiswiderstand RB,int (SPICE RBM, typisch 1–50 Ω) verursacht einen ohmschen Spannungsabfall — die am Übergang wirksame Basis-Emitter-Spannung ist kleiner als die Klemmenspannung:

▸ VBE,eff = VBE - IB RB,int

Nur VBE,eff treibt den Übergang; in allen Exponentialtermen des Basisstroms ist fortan VBE durch VBE,eff zu ersetzen.

Rechenbeispiel 6.3 — Millivolt, die zählen. BC337-25 im Arbeitspunkt IC=5mA: IB ≈ 5 mA/290 = 17,2 µA. Mit RB,int = 60 Ω folgt $Δ V = IB RB,int = 17,2 µA· 60 Ω = 1,03 mV.Ein einziges Millivolt — aber die Exponentialkennlinie übersetzt es ine^{1{,}03/25{,}85}-1 \approx 4\,\%$ Stromänderung. Bei zehnfachem Strom sind es bereits 10 mV und über 40 %: Der innere Basiswiderstand wird zum dominanten Effekt des Hochstrombereichs — dort krümmt er den Gummel-Plot sichtbar nach unten (Kapitel 7 nutzt genau diese Signatur, um seine Bestimmbarkeit zu beurteilen).

(2) Die implizite Kopplung — eine strukturelle Eigenschaft. Hier entsteht eine Besonderheit, die uns durch die Kapitel 8 und 9 begleiten wird: IB hängt von VBE,eff ab, und VBE,eff über den Spannungsabfall wiederum von IB. Die Gleichung ist implizit — es gibt keine geschlossene Auflösung. In einem Simulationsmodell (Simulink, Kapitel 9) äußert sich das als algebraische Schleife. Sauber löst man sie

  • physikalisch, indem man eine kleine Basis-Kapazität einführt (Knotengleichung C dot VBE,eff = (VBE-VBE,eff)/RB,int - IB; im stationären Zustand exakt), oder
  • numerisch durch einen Fixpunkt- oder Newton-Löser — genau das Verfahren aus Teil II, und genau so macht es SPICE intern.

Ein bloßes Verzögerungsglied (z-1) bricht die Schleife zwar auf, ist wegen der steilen Exponentialfunktion aber instabilitätsgefährdet. Wenn schon, dann bricht man die Schleife an der Spannung VBE,eff auf, nicht am Strom — die Spannung ändert sich zwischen zwei Iterationen um Millivolt, der Strom um Größenordnungen.

6.8 Das vollständige Modell

Alle vier Erweiterungen zusammengenommen — jede einzeln hergeleitet, jede mit benannter Ursache — ergeben das Gleichungssystem dieses Buches:

▸ IC = IS eVBE/(n VT)(1+(VCE)/(VA)) ; βeff = (βF)/(√(1+IC/IKF)), VBE,eff = VBE-IB RB,int ; IB = (IS)/(βeff) eVBE,eff/(n VT) (1+(VCE)/(VAB))

Gültigkeitsbereich: Vorwärts-Aktivbetrieb (keine Sättigung, kein Inversbetrieb), T=300 K, Quasistatik, Niedriginjektion bis auf die über IKF erfasste Hochstromkorrektur.

Benannte Modellgrenze. Reale Kleinsignaltransistoren zeigen bei kleinen Strömen einen leichten hFE-Anstieg (Rekombination in der BE-Sperrschicht; im vollen Gummel-Poon-Modell über den Leckterm ISE/NE beschrieben). Unser Modell enthält diesen Effekt bewusst nicht — er bleibt in Kapitel 7 als kleine, ausgewiesene Restabweichung zwischen Modell und Messung sichtbar. Ein Modell, dessen Grenzen benannt sind, ist mehr wert als ein scheinbar vollständiges, dessen Terme man nicht bestimmen kann.

6.9 Das Modell zum Anfassen: die Python-Implementierung

Ein Modell versteht man erst, wenn man es rechnen lässt. Das komplette Gleichungssystem aus 6.8 passt in wenige Zeilen Python — genau diese Funktionen bilden den Kern aller Werkzeuge dieses Buches (von der Parameterextraktion in Kapitel 7 bis zur Arbeitspunktsuche in Kapitel 8):

import numpy as np

# ---- Modellparameter BC337-25 (aus Kapitel 7 bzw. Datenblatt) ----
IS   = 4.1e-14   # A   Transport-Saettigungsstrom      (SPICE IS)
NF   = 1.0       # -   Emissionskoeffizient            (SPICE NF)
BETA = 292.0     # -   ideale Stromverstaerkung        (SPICE BF)
VA   = 146.0     # V   Early-Spannung                  (SPICE VAF)
VAB  = 200.0     # V   Basis-Early-Spannung            (SPICE VAR)
IKF  = 0.9       # A   Kniestrom Hochinjektion         (SPICE IKF)
RBI  = 60.0      # Ohm innerer Basiswiderstand         (SPICE RBM)
VT   = 0.02585   # V   Thermospannung bei 300 K

def beta_eff(ic):
    """Webster-Formel: stromabhaengige Verstaerkung (Abschn. 6.6)."""
    return BETA / np.sqrt(1.0 + ic / IKF)

def v_be_eff(v_be, i_b):
    """wirksame BE-Spannung nach Abfall an R_B,int (Abschn. 6.7)."""
    return v_be - i_b * RBI

def i_c_modell(v_be, v_ce):
    """Kollektorstrom mit Early-Effekt (Abschn. 6.4)."""
    return IS * np.exp(v_be / (NF * VT)) * (1.0 + v_ce / VA)

def i_b_modell(v_be_wirksam, v_ce, ic):
    """Basisstrom mit Basis-Early und beta_eff (Abschn. 6.5/6.6)."""
    return (IS / beta_eff(ic)) * np.exp(v_be_wirksam / (NF * VT)) \
           * (1.0 + v_ce / VAB)

Man beachte, wie die implizite Kopplung aus Abschnitt 6.7 hier sichtbar wird: i_b_modell braucht die wirksame Spannung v_be_eff(v_be, i_b) — die aber den Basisstrom i_b bereits enthält. Wer die Funktionen naiv nacheinander aufruft, rechnet mit dem Basisstrom der vorigen Iteration; die konsistente Lösung liefert erst der Newton-Löser in Kapitel 8. Für den Aktivbetrieb bei moderaten Strömen konvergiert alternativ eine einfache Fixpunktiteration (IB(0)=0, dann wenige Male IB(k+1) aus VBE-IB(k)RB,int berechnen) — die Korrektur ist ja nur millivoltklein (Rechenbeispiel 6.3).

Ein kurzer Testlauf im Arbeitspunkt aus den Rechenbeispielen (VBE=660mV, VCE=5V) verankert die Zahlen:

vbe, vce = 0.660, 5.0
ic = i_c_modell(vbe, vce)                 # -> 5.20 mA (5 mA ideal + 3.4 % Early)
ib = ic / beta_eff(ic)                    # -> 17.9 uA  (Startwert)
ib = i_b_modell(v_be_eff(vbe, ib), vce, ic)   # eine Fixpunkt-Korrektur
print(ic, ib, ic/ib)                      # 5.20 mA, 17.0 uA, beta ~ 305

Schon dieser Dreizeiler zeigt das Zusammenspiel der Effekte: Der Early-Faktor hebt den idealen 5-mA-Punkt um 3,4 % an (Rechenbeispiel 6.2), der innere Basiswiderstand drückt den Basisstrom um gut 4 % (Rechenbeispiel 6.3), und βeff bleibt bei diesen Strömen praktisch βF (Rechenbeispiel in 6.6).

Sämtliche Abbildungen dieses Kapitels sind mit genau diesen Funktionen erzeugt (kap06_plots.py im Begleitmaterial) — es gibt keine „Illustrationen", nur gerechnetes Modell. Das ist das Reproduzierbarkeits-Prinzip des Buches: Jede Kurve lässt sich aus Code und Parametern nachvollziehen.

6.10 Die SPICE-Parameter im Überblick

Damit ist jeder Parameter des Modells eingeführt, physikalisch begründet und einem SPICE-Namen zugeordnet:

SPICESymbolBedeutungHerkunft im ModellBC337-25 (Referenz)
ISISTransport-SättigungsstromAbschn. 6.34,1·10-14 A
NFnVorwärts-EmissionskoeffizientAbschn. 6.31,0
BFβFideale Vorwärts-StromverstärkungAbschn. 6.3292
VAFVAVorwärts-Early-SpannungAbschn. 6.4146 V
VARVABBasis-(Rückwärts-)Early-SpannungAbschn. 6.5(Rückwirkung)
IKFIKFVorwärts-Kniestrom (Hochinjektion)Abschn. 6.60,9 A
RBMRB,intinnerer BasisbahnwiderstandAbschn. 6.7sim 60 Ω

Die weiteren Gummel-Poon-Parameter (BR, ISC, NC, IKR, RC, RE für Invers- und Sperrbetrieb; CJE, CJC, TF, TR für die Dynamik) werden erst gebraucht, wenn Inversbetrieb oder Frequenzverhalten ins Spiel kommen — Letzteres in Kapitel 13. Für den Vorwärts-Aktivbetrieb bei Gleichstrom ist der obige Satz vollständig.

6.11 Ideal gegen erweitert — was das Modell leistet

Abbildung
Abbildung 6.4 — Was die Erweiterungen bewirken: links die Ausgangskennlinie (ideal waagerecht, erweitert mit Early-Steigung), rechts die Stromverstärkung (ideal konstant, erweitert mit Hochstrom-Knie). Beide Kurven aus der Python-Implementierung von Abschnitt 6.9 gerechnet.
Eigenschaftideales Modell (6.3)erweitertes Modell (6.8)
Ausgangskennlinieexakt waagerechtSteigung IC/VA (VAF)
BasisstromVCE-unabhängigFaktor (1+VCE/VAB) (VAR)
Stromverstärkungkonstant βFβeff(IC) mit Kniestrom (IKF)
BasisbahngebietwiderstandsfreiVBE,eff=VBE-IB RB,int (RBM)
Arbeitspunktanalytisch lösbarimplizit → Newton-Raphson (Kap. 8)
GenauigkeitOrientierungSPICE-Niveau

Der Preis der Genauigkeit steht in der vorletzten Zeile: Das erweiterte Modell ist analytisch nicht mehr auflösbar. Was im idealen Modell eine Zeile Rechnung war, wird zum nichtlinearen Gleichungssystem — und damit zur Aufgabe für das Handwerkszeug aus Teil II.

6.12 Zusammenfassung und Ausblick

  1. Das Gummel-Poon-Modell erweitert die ideale Exponentialkennlinie um vier messbare Effekte: Early (VA), Basis-Early (VAB), Hochinjektion (IKF) und inneren Basiswiderstand (RB,int) — durchgehend formuliert in den Klemmenspannungen VBE, VCE.
  2. Jeder Modellterm bringt seine Messvorschrift mit: die Gummel-Plot-Gerade für IS und n, den gemeinsamen Achsenschnittpunkt für VA, das hFE-Plateau für βF, den Hochstromabfall für IKF.
  3. Zwei strukturelle Eigenschaften prägen alles Weitere: die Nichtlinearität (kein geschlossener Arbeitspunkt) und die implizite Kopplung über VBE,eff (algebraische Schleife).

Damit ist das Modell vollständig — aber es ist noch eine Hülle: Seine Parameter sind Buchstaben. Kapitel 7 füllt sie mit Zahlen: aus den selbst gemessenen Kennlinien, Schritt für Schritt, mit jeder Annahme und jeder Grenze der Bestimmbarkeit. Danach löst Kapitel 8 das Modell in einer realen Schaltung, und Kapitel 9 lässt es in LTspice und Simulink gegen die Messung antreten.


Das Gummel-Poon-Modell, rechnend

Übertragen aus BUCH/kapitel_06_gummel_poon.md, Abschnitt 6.9 — der Python-Implementierung, die im Manuskript darüber steht, Funktion für Funktion: beta_eff (Webster), v_be_eff (innerer Basiswiderstand), i_c_modell (Early) und i_b_modell (Basis-Early und βeff), mit genau den Parametern aus Abschnitt 6.9. Die implizite Kopplung wird wie dort durch Fixpunktiteration gelöst.

Der Testlauf aus Abschnitt 6.9

Die rechte Spalte ist die Zahl, die im Manuskript daneben steht.

Die Fixpunktiteration auf IB

VBE,eff hängt von IB ab und IB von VBE,eff — die algebraische Schleife aus Abschnitt 6.7.

Das Kennlinienfeld aus diesem Modell, mit den Messpunkten des Kurventracers darüber

Die Linien liegen mit den Voreinstellungen über den Messpunkten, und das ist kein Rechenfehler: Abschnitt 6.9 setzt den Datenblattsatz des BC337-25 an (βF = 292, IS = 4,1·10−14 A), während der Prüfling dieser Messung βF ≈ 250 hat. Wer oben βF = 249,9 und IS = 4,726·10−14 A einträgt — den Satz, den bjt_fit.py an genau diese Kurven angepasst hat —, legt die Linien auf die Punkte. Das ist der Unterschied zwischen einem Datenblattwert und einem gemessenen Bauteil, und er steht hier absichtlich sichtbar.

Was die vier Erweiterungen einzeln bewirken

Wie aus diesen Bauteilgleichungen ein lösbares Gleichungssystem einer ganzen Schaltung wird — Knotenpotentialverfahren, Newton-Raphson und der Zeitschritt —, ist in der Arbeit Schaltungssimulation von nichtlinearen Differentialgleichungssystemen hergeleitet. Diese Seite setzt den Transistor in einer vorgegebenen Schaltung ein; dort steht, warum das Verfahren überhaupt funktioniert — und seit Teil XII („Der Transistor als Stempel“, Abschnitte 47 bis 52) ist genau dieses Gummel-Poon-Modell dort als Netzlisten-Bauteil eingebaut, mit den vier Tangenten von Hand hergeleitet und gegen dieselben Messreihen abgenommen.
Parameterextraktion · Teilmanuskript 70_parameterextraktion.md · Quelle: BUCH/kapitel_07_parameterextraktion.md (Markdown-Quelle)
↓ zum rechnenden Teil

7 Parameterextraktion: vom Messwert zum Zahlenwert

7.1 Sinn und Ziel dieses Kapitels

Warum dieses Kapitel das Scharnier des Buches ist: Kapitel 6 hat das Modell aufgebaut — aber seine Parameter sind Buchstaben. Wer sie aus dem Datenblatt oder einer heruntergeladenen .model-Karte übernimmt, simuliert einen Katalog-Transistor, nicht das Bauteil auf seinem Tisch: hFE streut in der Serie um den Faktor 4, und ob die Katalogwerte je an einem Exemplar gemessen wurden, weiß niemand. Dieses Kapitel schließt die Lücke zwischen Theorie und Praxis: Es macht aus den selbst gemessenen Kennlinien (Teil I) den Parametersatz des eigenen, konkreten Transistors — nachvollziehbar bis in jede Formel und jeden Ablesewert. Erst damit werden die Simulationen der Kapitel 8 und 9 zu überprüfbaren Aussagen über dieses Bauteil.

Nach diesem Kapitel können Sie: aus dem Gummel-Plot den Sättigungsstrom IS und den Idealfaktor n extrahieren — grafisch per Geradenfit und von Hand über zwei Messpunkte, die Stromverstärkung βF aus dem IC/IB-Plateau bestimmen, die Early-Spannung VA durch Extrapolation des Ausgangskennfelds ermitteln, den Knickstrom IKF über das 70,7-%-Kriterium ablesen — und erkennen, wann er nicht ablesbar ist, den inneren Basiswiderstand RB,int aus der Kompression der Eingangskennlinie berechnen, mit globalem Fit und Identifizierbarkeitsanalyse beurteilen, welche Parameter wirklich „aus den Daten" kommen — und welche nur gesetzt sind.

Der Fahrplan. Die Extraktion folgt einer festen Reihenfolge, denn spätere Parameter bauen auf früheren auf:

Die Extraktion folgt einer festen Reihenfolge, denn spätere Parameter bauen auf früheren auf:

IS, n longrightarrow βF longrightarrow VA longrightarrow IKF longrightarrow RB,int

Und wir gehen den Weg zweimal, mit Absicht:

  • Durchlauf 1 — BC337-25 am Kurventracer: Hier entwickeln wir die

Methode Schritt für Schritt und erweitern sie am Ende um zwei Werkzeuge, die über das übliche Vorgehen hinausgehen: den globalen Fit über alle Kennlinienfelder und die Identifizierbarkeitsanalyse.

  • Durchlauf 2 — BC547 am eigenen Kennlinienschreiber (Kapitel 2):

Derselbe Weg, eigenständig durchgerechnet mit Zwei-Punkt-Auswertungen, die sich vollständig von Hand nachvollziehen lassen — der Beleg, dass die Methode nicht am Gerät hängt.

Dass beide Durchläufe teils unterschiedliche Antworten auf dieselbe Frage geben (beim einen ist IKF bestimmbar, beim anderen nicht), ist kein Makel, sondern die zentrale Lektion dieses Kapitels — sie wird in Abschnitt 7.11 auf den Punkt gebracht.

7.2 Die Messdatenbasis

Messprinzip. Ein Kennlinienschreiber legt definierte Spannungs- bzw. Stromrampen an den Prüfling und zeichnet die Ströme auf. Für die vollständige Extraktion braucht es drei Messreihen:

MessreiheBedingungliefert
Gummel-Plot (IC, IB über VBE)VCE=const. (z. B. 5 V), log. StromachseIS, n, βF, IKF
Ausgangskennfeld (IC über VCE)mehrere feste IB-StufenVA
Eingangskennlinie (VBE über IB)festes VCE, hohe AuflösungRB,int

Die Basis-Early-Spannung VAB (VAR) ist messtechnisch deutlich aufwendiger (sie verlangt die VCE-Abhängigkeit von IB bei sehr hoher Stromauflösung); in der Praxis übernimmt man sie aus dem Datenblatt oder schätzt sie mit der Faustregel VAB≈ 2 VA — ihr Einfluss auf die Schaltungsanalyse ist klein (Kapitel 6.5).

Zwei Fallstricke schon bei der Messung:

  • Thermische Drift: IS verdoppelt sich näherungsweise alle

8–10 K. Der Kennlinienschreiber muss die Selbsterwärmung klein halten (Pulsmessung, Strombegrenzung), sonst verschieben sich alle abgeleiteten Parameter mit der Messzeit.

  • Serienstreuung: hFE streut beim BC547 herstellerseitig um

den Faktor 4 (Klassengrenzen 110–800). Jede Extraktion gilt nur für das konkrete Exemplar — genau deshalb misst man selbst, statt Katalogwerte zu übernehmen.

Für Durchlauf 1 liegen fünf Kennlinienfelder des BC337-25 als Kurventracer-Dateien vor (Ic_Vbe, Ic_Vce, Ic_Ib, hFE_Ic, hFE_Vce); Durchlauf 2 nutzt die Messreihen des eigenen Kennlinienschreibers aus Kapitel 2.

7.3 Schritt 1: IS und n aus dem Gummel-Plot

Prinzip. Im halblogarithmischen Gummel-Plot wird die Exponentialkennlinie zur Geraden (Abbildung 6.1):

ln IC = underbracelnbig[IS(1+VCE/VA)big]Achsenabschnitt + underbrace(1)/(n VT)Steigung· VBE.

Steigung und Achsenabschnitt sind die beiden Messgrößen:

n = (1)/(VT)·(1)/(Steigung), IS = (eAchsenabschnitt)/(1+VCE/VA).

Praktische Auswertung über zwei Punkte. Für die Handauswertung genügen zwei Punkte (VBE1,IC1), (VBE2,IC2) aus dem linearen Bereich:

▸ n=(VBE2-VBE1)/(VT ln(IC2/IC1)), IS=(IC1)/(eVBE1/(n VT))
Abbildung
Abbildung 7.1 — Schritt 1 an der echten Messung (BC337-25, VCE=6V): Die Messpunkte liegen im Auswertefenster (grün) exakt auf der Fitgeraden; ihre Steigung liefert n=0,999, der Achsenabschnitt IS=4,4·10-14A. Unterhalb des Rauschbodens (≈ 5 µA) und oberhalb des Fensters darf nicht ausgewertet werden.
Abbildung
Abbildung 7.2 — Dieselbe Auswertung von Hand: Zwei-Punkt-Methode am BC547 (Rechenbeispiel 7.1). Zwei abgelesene Punkte genügen; 60 mV Abstand und Faktor 10 im Strom ergeben unmittelbar n≈1.
Rechenbeispiel 7.1 — BC547, von Hand. Zwei Punkte aus dem linearen Ast (VCE=5V, Raumtemperatur): VBE1=0,600V → IC1=0,5mA und VBE2=0,660V → IC2=5,0mA. $n=(0,060)/(0,02586·ln 10) =(0,060)/(0,05954)=1,008≈ 1,0,IS=(0,5 mA)/(e0,600/(1,008· 0,02586)) =(5·10-4)/(9,9·109)=5,0·10-14 A.Zum Vergleich Durchlauf 1 (BC337-25, Geradenfit statt zwei Punkte):n=1{,}004,I_S=4{,}8\cdot10^{-14}\,A — zwei Bauteile, zwei Messgeräte, dieselbe Größenordnung undn\approx 1$: der Diffusionsstrom dominiert, wie es die Theorie für Silizium verlangt.

Die Fensterwahl ist die halbe Auswertung. Ausgewertet werden darf nur der rein exponentielle Ast:

  • Nach unten begrenzen Leckströme und der Rausch-/Quantisierungsboden

des Messgeräts die Gerade (beim Kurventracer ≈ 5 µA) — darunter krümmt sie sich nach oben.

  • Nach oben krümmen Hochinjektion und RB,int die Gerade

nach unten.

Wie empfindlich das ist, zeigte Durchlauf 1 drastisch: Ein zu weit gewähltes Fenster lieferte zunächst n≈ 3,5 — ein unphysikalischer Wert (Silizium: n≈1,0; n gt;1,05 deutet auf Sperrschicht-Rekombination hin, n=3,5 auf nichts als ein falsches Fenster). Plausibilitätskontrolle gegen die Physik gehört zu jedem Extraktionsschritt.

7.4 Schritt 2: βF aus dem Verstärkungs-Plateau

Da der Gummel-Plot IC und IB über VBE enthält, liefert er die Stromverstärkung gleich mit:

β(VBE) = (IC(VBE))/(IB(VBE)).

Weil β stromabhängig ist (Kapitel 6.6), nimmt man als SPICE-Wert BF das Plateau der β(IC)-Kurve im mittleren Strombereich — dort, wo weder Kleinstrom-Rekombination noch Hochinjektion stören.

Rechenbeispiel 7.2 — BC547. Im Plateaubereich (typisch IC=1…10mA): IC=2,0mA, IB=6,9 µA → $βF = (2,0 mA)/(6,9 µA) ≈ 290.Das liegt in derh_{FE}-Klasse B (200–450) des BC547. Durchlauf 1 (BC337-25): Plateau\beta_F\approx 250\ldots275$.

7.5 Schritt 3: VA aus dem Ausgangskennfeld

Prinzip. Im aktiven Bereich ist jede Ausgangskennlinie näherungsweise eine Gerade IC = IC0 (1+VCE/VA); rückwärts verlängert schneiden alle die VCE-Achse bei -VA (Abbildung 6.2). Aus zwei Punkten derselben Kennlinie (gleiches IB) folgt VA geschlossen — man setzt beide Punkte in die Geradengleichung ein und eliminiert IC0:

▸ VA = (VCE2 IC1 - VCE1 IC2)/(IC2-IC1)

Vorgehen: zwei möglichst weit auseinanderliegende Punkte im aktiven Bereich wählen (kleiner Ablesefehler!), für 2–3 weitere IB-Stufen wiederholen, Ergebnisse mitteln.

Abbildung
Abbildung 7.3 — Schritt 3 an der echten Messung (BC337-25): Die fünf gemessenen Ausgangskennlinien (IB=8…40 µA), jeweils im flachen Ast linear gefittet und rückwärts verlängert — die Geraden treffen sich nahe -VA≈-150V. Man sieht auch die Streuung der einzelnen Schnittpunkte: VA ist nur schwach bestimmt.
Rechenbeispiel 7.3 — BC547. Kennlinie IB=20 µA: (5 V, 5,80 mA) und (20 V, 6,67 mA): $VA=(20·5,80-5·6,67)/(6,67-5,80) V =(82,65)/(0,87) V≈ 95 V.Literaturbereich BC547: 70…100 V — passt. Durchlauf 1 (BC337-25) ergabV_A\approx110\ldots150\,V mit deutlicher Streuung über dieI_B-Stufen:V_A$ ist prinzipbedingt nur schwach bestimmt, weil eine kleine Steigung gemessen und weit extrapoliert wird — das quantifiziert die Identifizierbarkeitsanalyse in 7.11.

7.6 Schritt 4: IKF aus dem Verstärkungsabfall

Prinzip. Die Webster-Formel (Kapitel 6.6) macht aus der Definition eine Messvorschrift: Bei IC=IKF ist

βeff = (βF)/(√(2)) = 0,707 βF.

Vorgehen: β=IC/IB halblogarithmisch über IC auftragen, Plateauwert βF ablesen, dann den Strom suchen, bei dem β auf 70,7 % des Plateaus gefallen ist — das ist IKF.

Rechenbeispiel 7.4 — BC547. Plateau βF=290 → 0,707·290 = 205. Abgelesen: β=205 bei $IKF≈ 80 mA.Das passt zur DatenblattgrenzeI_{C,\max}=100\,$mA — der Hochstromabfall setzt beim BC547 also schon innerhalb des zulässigen Strombereichs spürbar ein.

Der Kontrast, auf den es ankommt: In Durchlauf 1 endet die Messung bei IC=11mA — der BC337-25 hat sein Knie aber erst bei ≈0,9A. Der Abfall liegt zwei Dekaden außerhalb des Messfensters (Abbildung 7.4): IKF ist dort nicht bestimmbar, nur eine untere Schranke lässt sich angeben; der Wert kommt aus dem Datenblatt. Derselbe Parameter, dieselbe Methode — einmal messbar, einmal nicht. Was ihn bestimmbar macht, ist allein das Verhältnis von Messfenster zu Kniestrom.

Abbildung
Abbildung 7.4 — Schritte 2 und 4 an der echten Messung (BC337-25): Das β-Plateau bei ≈270 liefert βF; ein Hochstromabfall ist bis zur Messgrenze von 11 mA nicht erkennbar — IKF liegt zwei Dekaden außerhalb und ist aus diesen Daten nicht bestimmbar. Beim BC547 (Messbereich bis 100 mA) gelang die Ablesung dagegen (Rechenbeispiel 7.4).

7.7 Schritt 5: RB,int aus der Eingangskennlinie

Prinzip. Der innere Basiswiderstand „verbiegt" die Eingangskennlinie bei hohen Strömen zu größeren VBE-Werten — wie ein Vorwiderstand an einer LED:

VBE,gemessen = VBE,ideal + IB RB,int ⟹ ▸ RB,int = (VBE,gemessen-VBE,ideal)/(IB)

Dabei wird der ideale Verlauf aus den bereits bestimmten Parametern berechnet: VBE,ideal(IB)=n VTln(βF IB/IS) — deshalb steht dieser Schritt zwingend am Ende der Reihenfolge.

Rechenbeispiel 7.5 — BC547. Bei IB=1mA: $VBE,ideal = 1,01·25,86 mV· ln(290·10-3)/(5,0·10-14) ≈ 0,768 V, VBE,gemessen = 0,783 VRB,int = (0,783-0,768)/(1 mA) = 15 Ω.Typisch für Kleinsignal-npn sind 5…30 Ω — plausibel. Messtechnische Warnung: Kontaktwiderstände der Messspitzen gehen ununterscheidbar in dieselbe Differenz ein und lassenR_{B,\text{int}}systematisch zu groß erscheinen — Vierleitermessung oder Kalibrierung ist hier Pflicht. In Durchlauf 1 (Messung nur bis 11 mA) blieb der Hochstrom-Knick des Gummel-Plots unsichtbar:R_B$ dort nicht bestimmbar → Datenblattwert.

7.8 Die Parametersätze beider Durchläufe

BC547 (eigener Kennlinienschreiber, Zwei-Punkt-Auswertungen):

ParameterDemo-Wert (Kap. 6/8-Beispiele)gemessen BC547Quelle
IS1·10-13 A5,0·10-14 AGummel-Plot
NF1,01,01Gummel-Plot-Steigung
BF200290IC/IB-Plateau
VAF100 V95 VAusgangskennfeld
VAR200 V190 VFaustregel 2 VA
IKF0,5 A0,08 Aβ-Abfall auf 70,7 %
RBM10 Ω15 ΩEingangskennlinie

Auffälligster Realitätsabgleich: Der echte Kniestrom (80 mA) liegt sechsmal niedriger als der Demo-Wert — bei Arbeitspunkten oberhalb einiger zehn Milliampere ist der β-Abfall beim BC547 also nicht vernachlässigbar. Kapitel 8 rechnet mit genau diesem gemessenen Satz.

BC337-25 (Kurventracer, Geradenfits): IS=4,8·10-14A, n=1,004, βF≈274, VA≈146V (Mittel); IKF und RB nicht bestimmbar → Datenblatt (0,9 A; 60 Ω).

7.9 Über die Handauswertung hinaus: der globale Fit

Die Feature-für-Feature-Extraktion (Gerade hier, Plateau dort) nutzt jeweils nur einen Ausschnitt der Daten. Man kann stattdessen alle fünf Kennlinienfelder gleichzeitig an das komplette Modell aus Kapitel 6.8 anpassen. In Durchlauf 1 geschieht das mit dem Nelder-Mead-Verfahren (ableitungsfrei — es braucht nur Funktionswerte, keine Gradienten). Die Kostenfunktion ist das mittlere quadratische Residuum, datensatzweise gewichtet: der Gummel-Plot im logarithmischen Maß (sonst dominieren die großen Ströme alles), die übrigen Felder im relativen Maß.

Der globale Fit hat zwei Vorzüge — und eine Falle:

  • Er nutzt die gesamte Information und mittelt Ablesefehler heraus.
  • Er liefert ein konsistentes Parameterset statt einzeln

bestimmter, potenziell widersprüchlicher Werte.

  • Aber: Er konvergiert immer — auch auf Parameter, die die Daten

gar nicht hergeben. Ob ein Wert dem Datensatz entstammt oder nur dem Startwert, sieht man dem Fit nicht an. Genau dafür braucht es den nächsten Abschnitt.

7.10 Der Transparenzschritt: Identifizierbarkeit

Ein Parameter ist nur dann aus den Daten bestimmbar, wenn die Kostenfunktion empfindlich auf ihn reagiert. Der Test ist denkbar einfach: jeden Parameter einzeln um +20 % stören und messen, um welchen Faktor die Kosten steigen. Für Durchlauf 1 (BC337-25):

ParameterKostenfaktor bei +20 %bestimmbar?
n× 2774ja — dominant
βF× 28ja
IS× 7,2ja
VA× 1,07schwach
RB× 1,19schwach
IKF× 1,0nein — Kostenfunktion flach

Die Tabelle bestätigt quantitativ, was die Einzelschritte qualitativ zeigten: n ist über die Gummel-Steigung exzellent verankert, IS und βF solide; VA hängt an einer kleinen Steigung, RB an einem kaum erreichten Hochstrombereich — und IKF hinterlässt im Messfenster keinerlei Signatur. Man kann ihn nicht „aus dem Fehler herausziehen"; jeder vom Fit gelieferte Wert wäre Scheingenauigkeit.

Die Konsequenz als Regel: Nicht bestimmbare Parameter werden offen als gesetzt deklariert (Datenblatt/Default) — und wer sie messen will, braucht gezielte Zusatzmessungen (Hochstrom-β für IKF, Hochstrom-Gummel für RB — Durchlauf 2 hat für den BC547 genau das getan und IKF damit bestimmt).

7.11 Validierung: Modell gegen Messung

Der bestimmte Parametersatz muss sich an den Daten beweisen — an allen, nicht nur an denen, aus denen er gewonnen wurde. In Durchlauf 1 trifft das Modell alle fünf Kennlinienfelder mit 1–2 % RMS-Abweichung; die sichtbare Restabweichung bei kleinen Strömen ist der in Kapitel 6.8 bewusst weggelassene Leckterm — sie ist benannt statt versteckt. Der unabhängigste Test ist der Abgleich mit dem Hersteller-SPICE-Modell: IS, VA und βF des BC337-25 treffen die Datenblattwerte auf wenige Prozent.

Abbildung
Abbildung 7.5 — Gesamtschau der Extraktion (Durchlauf 1, BC337-25), erzeugt mit bjt_dashboard.py: alle fünf Kennlinienfelder mit Messpunkten und Modellkurven, Parametersatz, RMS-Fehler, Identifizierbarkeits-Ampel und Datenblattabgleich. Dieses Bild dient als kompakte Ergebnisübersicht — die lesbaren Einzelschritte zeigen die Abbildungen 7.1 bis 7.4.

7.12 Unsicherheiten — und wie weit sie tragen

Wie genau müssen die Parameter überhaupt sein? Die Antwort fällt je nach Blickrichtung verschieden aus — der Grund ist wieder die steile Exponentialfunktion:

  • VBE ist robust gegen IS-Fehler. Aus

IC=IS eVBE/(nVT) folgt für ±10 % Unsicherheit in IS: $Δ VBE = n VT ln(1,1) ≈ 1,01·25,86 mV·0,0953 ≈ 2,5 mV.$ Zehn Prozent Stromfehler kosten also nur zweieinhalb Millivolt.

  • IC ist empfindlich in Gegenrichtung: Bei festgehaltenem

VBE geht ein IS-Fehler proportional in IC ein. In einer realen Schaltung mit Basisvorwiderstand kompensiert die Rückkopplung über RB einen Teil davon — quantitativ zeigt das die Arbeitspunktrechnung in Kapitel 8.

  • Dazu kommen Ablesefehler (±2–5 % am analogen Gerät, weniger bei

digitaler Erfassung), thermische Drift (7.2) und die Serienstreuung, die jede Übertragung auf ein anderes Exemplar verbietet.

7.13 Zusammenfassung

  1. Alle Parameter des Vorwärtsmodells folgen aus drei Messreihen

in fester Reihenfolge: IS, n (Gummel-Gerade) → βF (Plateau) → VA (Extrapolation) → IKF (70,7-%-Kriterium) → RB,int (Kennlinien-Kompression).

  1. Jeder Schritt hat ein Gültigkeitsfenster; wer es verfehlt,

erhält unphysikalische Werte (n=3,5!). Plausibilitätskontrolle gegen die Physik ist Teil der Methode.

  1. Der globale Fit liefert konsistente Sätze, die

Identifizierbarkeitsanalyse entscheidet, welche Werte den Daten entstammen — und welche nur gesetzt sind. Beide zusammen machen die Extraktion ehrlich.

  1. Zwei Bauteile, zwei Messgeräte, eine Methode: BC337-25 und BC547

liefern konsistente IS, n, βF, VA — und demonstrieren am IKF, dass das Messfenster über Bestimmbarkeit entscheidet, nicht die Formel.

Damit hat das Modell aus Kapitel 6 Zahlen — belegte, mit benannten Grenzen. Kapitel 8 setzt diesen Parametersatz in eine reale Schaltung ein und berechnet ihren Arbeitspunkt mit Newton-Raphson; Kapitel 9 lässt anschließend LTspice und Simulink mit denselben Zahlen gegen die Messung antreten.

Übungsaufgaben zu Kapitel 7

  1. Gummel-Auswertung: Aus VBE1=0,580V, IC1=0,1mA

und VBE2=0,640V, IC2=1,0mA bestimme man n und IS.

  1. Early-Spannung: Bei IB=40 µA wurden

(3 V, 11,5 mA) und (15 V, 12,4 mA) gemessen. Man berechne VA.

  1. Knickstrom: Im Plateau wurde βF=320 gemessen. Bei

welchem β-Wert liest man IKF ab, und wie grenzt man ihn messtechnisch in drei Schritten ein?

  1. Vollständige Rechnung: Man übernehme den gemessenen

BC547-Parametersatz (Abschnitt 7.8) in das Arbeitspunktprogramm aus Kapitel 8, führe die Bisektion durch und vergleiche mit der idealen Abschätzung.

  1. Sensitivität/Serienstreuung: Man variiere βF über die

Datenblatt-Klassengrenzen des BC547 (110…800) und berechne jeweils das erforderliche RB der Fixed-Bias-Schaltung. Welche Konsequenz hat die Spannweite für die Serienfertigung?


Die Ablesungen aus den Messdateien — und der vollständige SPICE-Parametersatz

Übertragen aus bjt_extract.py: n und IS aus der Steigung im Gummel-Plot (Zeilen 55–66, Fenster 20 µA … 2 mA, die VCE=0-Kurve verworfen), VA aus dem x-Achsenabschnitt des flachen Astes (Zeilen 79–83, ab VCE ≥ 1,5 V), IS um den Early-Faktor bereinigt (Zeile 89), βF aus der IC-IB-Steigung und aus dem hFE-Maximum (Zeilen 103 und 112), IKF nur als untere Schranke (Zeilen 114–115). Gerechnet wird auf denselben fünf Dateien, die auch sein Programm einliest.

n und IS je aktiver Kurve (Gummel-Plot)

VA je IB-Kurve (Early)

βF auf zwei Wegen

Ergebnis, und was sein Programm ausgibt

Der vollständige SPICE-Parametersatz

SPICEZeichenBedeutungBC337-25 aus seiner AnpassungwoherUrteil
ISI_STransport-Sättigungsstrom5,260·10⁻¹⁴ Abjt_extract.py Z. 89 (Gummel-Fit, um den Early-Faktor bereinigt)gemessen
NFnVorwärts-Emissionskoeffizient1,004bjt_extract.py Z. 63–64 (Steigung im Gummel-Plot)gemessen
BFβ_Fideale Vorwärts-Stromverstärkung272 (Steigung) · 271 (h_FE-Maximum)bjt_extract.py Z. 103 und Z. 112gemessen
VAFV_AVorwärts-Early-Spannung146,0 Vbjt_extract.py Z. 79–83 (x-Achsenabschnitt des flachen Astes)gemessen
VARV_ABBasis-(Rückwärts-)Early-Spannung— (Vorgabe 10⁶ V bzw. 200 V)bjt_extract.py Z. 186, bjt_analyse.py Z. 219nicht bestimmbar: aus Konstant-I_B-Daten nicht robust ablesbar
IKFI_KFVorwärts-Kniestrom (Hochinjektion)nur untere Schranke ≫ 9 mAbjt_extract.py Z. 114–115 und Z. 183–184nicht bestimmbar: bis 9,3 mA kein Hochstromabfall sichtbar
RB / RBMR_B,intinnerer Basisbahnwiderstand— (Vorgabe 60 Ω bzw. 10 Ω)bjt_extract.py Z. 186, bjt_gesamt.py Z. 182 (Datenblattwert)nicht bestimmbar aus diesen Daten
ISEI_SELeckterm der BE-Sperrschicht3,534·10⁻¹⁵ A (Datenblatt)bjt_gesamt.py Z. 29 und Z. 182nicht gefittet — Datenblatt
NEn_EEmissionskoeffizient des Lecktermes1,35 (Datenblatt)bjt_gesamt.py Z. 29 und Z. 182nicht gefittet — Datenblatt
BR, NR, IKR, ISC, NC—Invers- und Sperrbetrieb—in keinem seiner Programme gesetztnicht bestimmbar: der Tester misst nur den Vorwärts-Aktivbetrieb
RE, RC—Emitter- und Kollektorbahnwiderstand—in keinem seiner Programme gesetztnicht bestimmbar: aus Gleichstrommessungen im Aktivbetrieb nicht trennbar
CJE, CJC, TF, TR—Sperrschichtkapazitäten und Laufzeiten—in keinem seiner Programme gesetztnicht bestimmbar: der Tester misst statisch, nicht dynamisch
Die letzte Spalte sagt ausdrücklich, welcher Parameter aus diesen Daten nicht bestimmbar ist — genau so, wie seine Programme es selbst melden (bjt_extract.py Z. 183–186, bjt_analyse.py Z. 218–220, bjt_gesamt.py Z. 180–182).

Welcher Parametersatz aus welchem seiner Programme kommt

Der Gummel-Plot mit der abgelesenen Geraden

Arbeitspunkt Newton · Teilmanuskript 80_arbeitspunkt_newton.md · Quelle: BUCH/kapitel_08_arbeitspunkt_newton.md (Markdown-Quelle)
↓ zum rechnenden Teil

8 Der Arbeitspunkt: von der blauen LED zum vollständigen Transistormodell

8.1 Sinn und Ziel dieses Kapitels

Modell (Kapitel 6) und gemessene Parameter (Kapitel 7) sind da — jetzt muss beides eine Schaltung rechnen. Die Aufgabe klingt bescheiden: Man bestimme den Gleichstrom-Arbeitspunkt einer Transistorstufe. Aber am erweiterten Modell ist sie analytisch unlösbar (Kapitel 6.11): Exponentialkennlinie, Early-Faktoren, stromabhängiges β und die implizite VBE,eff-Kopplung verweben die Gleichungen zu einem nichtlinearen System.

Damit die Verfahren nicht im Zweidimensionalen „vom Himmel fallen", beginnt das Kapitel eine Etage tiefer: an der blauen Leuchtdiode am Vorwiderstand — ein Bauteil, eine Unbekannte, und doch das komplette Programm dieses Buches im Kleinformat: eine echte Messung, ein ideales Modell, das an ihr scheitert, eine physikalisch begründete Erweiterung um den Bahnwiderstand, die Approximation der Messpunkte durch Kurvenanpassung — und schließlich das Newton-Raphson-Verfahren, das den Arbeitspunkt der impliziten Gleichung findet. Erst dann steigen wir zum Transistor auf, wo dieselben Verfahren im mathbbR2 arbeiten — mit vollständiger, analytisch hergeleiteter Jacobi-Matrix, wie es SPICE intern ebenfalls tut.

Nach diesem Kapitel können Sie: die ideale Shockley-Diodenkennlinie hinschreiben und ihre Gültigkeitsgrenzen benennen, begründen, warum LEDs — insbesondere blaue GaN-LEDs — eine Erweiterung um Idealitätsfaktor und Serienwiderstand benötigen, Messdaten mit dem erweiterten Modell fitten (Approximation) und erklären, warum in der Form V(I) gefittet wird, das Newton-Raphson-Verfahren auf die implizite Schaltungsgleichung anwenden — mit analytischer Ableitung, sinnvollem Startwert und numerischen Schutzmaßnahmen, das nichtlineare System F(VBE,VCE)=0 der Fixed-Bias-Schaltung aufstellen und die Jacobi-Matrix vollständig herleiten, einen Schaltungsparameter (RB) per Bisektion auf einen Ziel-Arbeitspunkt einstellen.

8.2 Das Verfahren im Eindimensionalen: die blaue LED

Dieser Abschnitt folgt dem Vorlesungsmanuskript „LED-Kennlinien-Approximation" und den Begleitprogrammen Aproximation_AP_LED_normale_Shockly.py und Aproximation_AP_LED_5.py; alle Zahlenwerte sind aus der Messdatei LED_blau.txt reproduziert.

8.2.1 Die Messung

Gemessen wurde die Durchlasskennlinie einer blauen LED mit dem Kennlinienschreiber (Export LED_blau.txt, PN-Junction-I/V-Modus): 46 Messpunkte (Vf, If) von 0 bis knapp 2,9 V bzw. 12 mA. Für die Modellanpassung werden nur Punkte mit If gt; 0,05mA verwendet (35 Punkte) — unterhalb dieser Schwelle dominieren Leckströme und Messrauschen, und das Modell gilt streng nur im Durchlassbereich.

8.2.2 Die ideale Shockley-Gleichung

William Shockley leitete 1949 die Strom-Spannungs-Kennlinie des idealen p-n-Übergangs aus dem Drift-Diffusions-Modell ab:

▸ ID = IS(eVD/(n VT)-1) VT=(k T)/(q)≈ 25,85 mV bei 25 ^circC

Für VD≫ VT bleibt die reine Exponentialfunktion; im halblogarithmischen Diagramm eine Gerade mit 1 Dekade je n·59,5 mV — dieselbe 60-mV-Regel, die in Kapitel 7 den Gummel-Plot trug. Die Gleichung gilt allerdings nur unter Idealannahmen: keine Rekombination in der Raumladungszone, keine ohmschen Bahnwiderstände, Niedriginjektion. Alle diese Annahmen verletzt eine reale LED.

8.2.3 Das Scheitern an der blauen LED — und seine physikalischen Gründe

Passt man die reine Shockley-Gleichung an die Messpunkte an (Programm …_normale_Shockly.py), erhält man:

IS = 5,4·10-11 A, n = 5,79 .

Der Fit „konvergiert" — aber auf einen unphysikalischen Idealitätsfaktor: Für GaN-LEDs liegt n zwischen 1,8 und 3,5; n=5,8 ist keine Physik mehr, sondern der verzweifelte Versuch der Exponentialfunktion, einer Kurve zu folgen, die gar keine reine Exponentialfunktion ist. Abbildung 8.1 zeigt es: Die rote Kurve hebt zu früh ab, verfehlt das Knie und schneidet die Messpunkte nur noch.

Abbildung
Abbildung 8.1 — Beide Modelle an denselben Messpunkten (LED_blau.txt): Das reine Shockley-Modell (rot) kann die gemessene Kennlinie trotz frei gefittetem n nicht wiedergeben; das um den Serienwiderstand erweiterte Modell (blau) liegt exakt auf den Messpunkten.

Drei physikalische Effekte sind verantwortlich — jeder verletzt eine Idealannahme, jeder erzwingt eine Modellerweiterung:

BeobachtungUrsacheModellerweiterung
n gt; 1strahlende und SRH-Rekombination in der Raumladungszone (bei GaN zusätzlich Auger — „ABC-Rekombination")n als freier Parameter (1…5)
Kennlinie knickt bei hohem Strom ab, wird fast linearohmsche Spannungsabfälle: p-GaN-Bahngebiet (schlechte Lochbeweglichkeit!), ITO-Elektrode, Bonddrähte, KontakteSerienwiderstand RS addieren
IS extrem klein (10-18 A und darunter)große Bandlücke des GaN (Eg≈3,4 eV), ISsim e-Eg/kTlog10IS als Fitparameter

Die Bandlücke erklärt zugleich die hohe Flussspannung: Die Photonenenergie EPhoton=h c/λ≈ e VF koppelt Farbe und Flussspannung — rote LEDs liegen bei 1,6–2,0 V, blaue InGaN/GaN-LEDs bei 2,8–3,5 V. Blaue LEDs haben damit die höchste Flussspannung aller sichtbaren LEDs — und den stärksten RS-Einfluss, denn dessen Abfall ID RS wächst linear mit dem Strom.

8.2.4 Die erweiterte Shockley-Gleichung — in der Form V(I)

Das erweiterte Modell ist die ideale Shockley-Diode in Reihe mit dem parasitären Serienwiderstand RS. Aufgeschrieben wird es bewusst als Spannung in Abhängigkeit vom Strom:

▸ VD = n VT ln((ID)/(IS)+1) + ID RS

Warum V(I) statt I(V)? Der Strom variiert bei einer LED über etwa fünf Größenordnungen, die Spannung nur zwischen ca. 2,5 und 3,5 V. Ein Fehler von 1 % in VD entspricht wegen der Exponentialfunktion bis zu einem Faktor 10 in ID. Die Methode der kleinsten Quadrate minimiert den Fehler der abhängigen Variablen — wählt man V als abhängige Größe, sind die Residuen gleichmäßig verteilt und der Fit gut konditioniert. Aus demselben Grund wird nicht IS direkt gefittet, sondern log10IS: Werte um 10-20 A wären als direkte Parameter numerisch miserabel konditioniert, ihr Logarithmus (−20 …) ist es nicht.

8.2.5 Die Approximation: Fit an die Messpunkte

scipy.optimize.curve_fit bestimmt die drei Parameter θ=(log10IS, n, RS) durch Minimieren der Residuenquadratsumme sumibig[Vgemessen,i-VModell(Ii,θ)big]2, mit den Startwerten und physikalisch begründeten Grenzen des Originalprogramms (log10ISin[-35,-10], nin[1,5], RSin[0,200] Ω). Ergebnis für die vermessene blaue LED (Unsicherheiten aus der Kovarianzmatrix):

ParameterWertEinordnung (typisch für blaue GaN-LEDs)
log10(IS/A)-25,83 ± 0,72 → IS ≈ 1,5·10-26 Anoch unter dem Typbereich 10-20…10-16 A — IS ist eine extreme Extrapolationsgröße und stark mit n korreliert (±0,72 Dekaden!)
n1,898 ± 0,060im Typbereich 1,8…3,5 ✓
RS16,0 ± 0,4 Ωim Typbereich 5…50 Ω ✓

Die blaue Kurve in Abbildung 8.1 ist dieses Modell: Sie liegt über den gesamten Messbereich auf den Punkten. Der Kontrast zum reinen Modell ist die Kernbotschaft des Abschnitts: Erst der Bahnwiderstand macht die LED approximierbar — mit Parametern, die dann auch physikalisch deutbar sind.

8.2.6 Newton-Raphson: der Arbeitspunkt der impliziten Gleichung

Nun die Schaltung: Spannungsquelle Uges, Vorwiderstand R, LED. Die Maschenregel mit eingesetztem Modell lautet

Uges = ID R + n VTln((ID)/(IS)+1) + ID RS .

Diese Gleichung ist implizit in ID — der Strom steht linear und im Logarithmus; eine geschlossene Auflösung existiert nur über die unpraktische Lambert-W-Funktion. Also numerisch: Als Fehlerfunktion (Residuum) dient die Abweichung von der Maschenregel,

f(ID) = n VTln((ID)/(IS)+1) + ID (R+RS) - Uges overset!= 0,

mit der analytisch berechneten Ableitung

f'(ID) = (n VT)/(ID+IS) + R + RS

(analytisch statt numerisch: exakt, schnell, keine Schrittweitenprobleme). Die Newton-Raphson-Iteration — Tangente an f, Schnitt mit der Nullachse, quadratische Konvergenz —

ID(k+1) = ID(k) - (fbig(ID(k)big))/(f'big(ID(k)big))

braucht noch einen Startwert. Das Originalprogramm verwendet den gedämpften Kurzschlussstrom ID(0) = Uges/(R+RS+1) — als läge statt der LED ein 1-Ω-Widerstand in der Masche; das liegt für typische LED-Schaltungen nahe genug an der Lösung. Der Kern in Python (wortgetreu aus Aproximation_AP_LED_5.py):

def solve_for_Id(Uges, R, log10_Is, n, Rs, Vt):
    Is = 10**log10_Is
    Id = Uges / (R + Rs + 1.0)      # Startwert: gedaempfter Kurzschlussstrom
    for _ in range(1000):
        if Id <= 0:
            Id = 1e-12              # Schutz: ln fuer Id <= 0 nicht definiert
        f = n*Vt*np.log(Id/Is + 1) + Id*Rs + Id*R - Uges
        df = (n*Vt)/(Id + Is) + Rs + R
        Id_new = Id - f / df
        if abs(Id_new - Id) < 1e-7:       # Toleranz 0,1 uA
            return Id_new if Id_new > 0 else None
        Id = Id_new
    return None                     # keine Konvergenz -> Warnung im Programm
Numerische Sicherheitsmaßnahmen (aus dem Originalprogramm — so arbeitet robuste Numerik): IDle0 wird auf 10-12 A zurückgesetzt (Logarithmus-Schutz); |f'|≈0 wird abgefangen; nach 1000 Iterationen ohne Konvergenz gibt es eine Warnung statt eines stillen Fehlers; ein Ergebnis IDle0 wird als physikalisch ungültig verworfen; und VD ≥ Uges löst eine Plausibilitätswarnung aus.

Der echte Lauf mit den gefitteten Parametern, Uges=5V, R=100 Ω:

kID(k)
0 (Start)42,719 mA
119,512 mA
219,611473 mA
319,611478 mA — konvergiert

Drei Iterationen; von Schritt 1 auf 2 gewinnt das Verfahren vier gültige Stellen, von 2 auf 3 die restlichen — die quadratische Konvergenz in Aktion.

8.2.7 Arbeitspunkt und Lastgerade

Grafisch ist die Lösung der Schnittpunkt der LED-Kennlinie mit der Lastgeraden VD = Uges - ID R (Achsenschnittpunkte: Leerlauf Uges auf der Spannungs-, Kurzschluss Uges/R auf der Stromachse):

Abbildung
Abbildung 8.2 — Arbeitspunkt auf der LED-Kennlinie (Reproduktion des Originaldiagramms): Modellkurve, Lastgerade, Arbeitspunkt — und die Messpunkte zum Abgleich. Der Arbeitspunkt liegt mitten im vermessenen Bereich, das Modell interpoliert hier, es extrapoliert nicht.
GrößeWert
VD3,039 V
ID19,61 mA
UR = ID R1,96 V
PR = ID2 R38,5 mW
Dimensionierungsregel (aus dem Vorlesungsmanuskript): Für die schnelle Vorwiderstands-Wahl genügt R = (Uges-VF)/ID,soll. Beispiel: Uges=5V, VF=3,2V (blaue LED bei 20 mA), ID,soll=20mA → R = 90 Ω → Normwert 100 Ω. Die exakte Rechnung oben bestätigt die Auslegung: Mit dem Normwert fließen 19,6 mA.

8.2.8 Was der Transistor davon erbt

Der Aufstieg ins Zweidimensionale ändert die Struktur nicht:

  • Residuum → Ableitung → Iteration bleibt die Dreiteilung; aus

f und f' werden der Vektor F und die Jacobi-Matrix J, aus der Division f/f' das lineare Gleichungssystem J Δ x=-F.

  • Der Serienwiderstand kehrt wieder: Was bei der LED RS ist,

ist beim Transistor der innere Basiswiderstand RB,int — beide machen die Gleichungen implizit.

  • Die Formulierungswahl ist jeweils bewusst: Bei der LED löst

V(I) das Fit-Konditionierungsproblem; beim Transistor arbeiten wir in den Klemmenspannungen (VBE,VCE), weil Maschenregeln und Modell dort am natürlichsten zusammentreffen.

8.3 Aufstieg zum Transistor: die Fixed-Bias-Schaltung

Als Beispielschaltung dient die einfachste Arbeitspunkteinstellung — die Fixed-Bias-Schaltung (Basisvorwiderstand, Abbildung 8.3): Versorgung VCC=25V, Kollektorwiderstand RC=100 Ω, Basisspannung VBB=VCC, Basisvorwiderstand RB (gesucht).

Abbildung
Abbildung 8.3 — Die Fixed-Bias-Schaltung. RB prägt den Basisstrom ein und stellt damit den Arbeitspunkt ein; RC setzt den Kollektorstrom in die Ausgangsspannung um.

Zwei unabhängige Maschen liefern zwei Gleichungen — und damit genau die Zahl, die wir für die zwei Unbekannten VBE und VCE brauchen:

Basiskreis:

VBB = IB RB + VBE ⟹ IB = (VBB-VBE)/(RB)

Kollektorkreis (Lastgerade):

VCC = IC RC + VCE ⟹ IC = (VCC-VCE)/(RC)

Die Lastgerade verbindet die Punkte (0, VCC/RC)=(0, 250mA) und (VCC, 0)=(25V, 0). Der Arbeitspunkt ist ihr Schnittpunkt mit der Transistorkennlinie — wie bei der LED, nur dass die „Kennlinie" jetzt das volle Modell aus Kapitel 6.8 ist.

8.4 Das nichtlineare System F(VBE,VCE)=0

Gesucht ist das Paar (VBE,VCE), das gleichzeitig die Schaltungsgleichungen und das Transistormodell erfüllt. Wie bei der LED schreibt man Residuen — jetzt zwei:

Gleichung 1 — Basiskreis trifft Basisstrom-Modell:

f1(VBE,VCE) = IB - (IS)/(βeff) eVBE,eff/(n VT)(1+(VCE)/(VAB)) = 0

Gleichung 2 — Lastgerade trifft Kollektorstrom-Modell:

f2(VBE,VCE) = IC - IS eVBE,eff/(n VT)(1+(VCE)/(VA)) = 0

mit den inneren Größen (alle aus den Kapiteln 6 und 8.3):

IB=(VBB-VBE)/(RB), IC=(VCC-VCE)/(RC), VBE,eff=VBE-IB RB,int, βeff=(βF)/(√(1+IC/IKF)).

Warum keine Gleichung allein lösbar ist: f1 enthält über βeff den Kollektorstrom (also VCE), f2 über VBE,eff den Basisstrom (also VBE) — die Gleichungen sind wechselseitig verkoppelt. Ein geschlossener Ausdruck existiert nicht; das ist keine mathematische Schwäche, sondern die direkte Folge der in Kapitel 6 eingebauten Physik.

8.5 Newton-Raphson im Mehrdimensionalen

Das Verfahren aus 8.2.6 überträgt sich wörtlich; nur wird aus der Ableitung die Jacobi-Matrix:

xk+1 = xk - J(xk)-1 F(xk), xk=⎡ VBE ; VCE ⎤, F=⎡ f1 ; f2 ⎤, J=(∂ F)/(∂ x).

Praktisch invertiert man J nie, sondern löst das lineare System

J(xk) Δ x = -F(xk), xk+1=xk+Δ x

(im Programm numpy.linalg.solve; Abbruch bei ∥F(xk)∥ lt;10-10). Für den BJT-Arbeitspunkt ist [VBE,VCE]0=[0,65 V, VCC/2] praktisch immer ausreichend: Die Diodenspannung eines leitenden Silizium-Übergangs ist nie weit von 0,65 V entfernt — der Startwert steckt, wie bei der LED der gedämpfte Kurzschlussstrom, schon im physikalischen Vorwissen.

8.6 Die Jacobi-Matrix — vollständig hergeleitet

Die vier Elemente sind Schulableitungen — wenn man eine innere Ableitung nicht vergisst. Mit IB=(VBB-VBE)/RB gilt

VBE,eff = VBE - (VBB-VBE)/(RB) RB,int ⟹ ▸ (dVBE,eff)/(dVBE) = 1 + (RB,int)/(RB)

— größer als 1, weil ein steigendes VBE zugleich IB senkt und damit den Abzugsterm verkleinert: beide Effekte ziehen VBE,eff nach oben. Damit die vier Elemente (Abkürzung E equiv eVBE,eff/(nVT), bequivβeff):

J11=(∂ f1)/(∂ VBE) = -(1)/(RB) -(IS)/(b) E (dVBE,eff)/(dVBE) (1)/(nVT)(1+(VCE)/(VAB))
J12=(∂ f1)/(∂ VCE) = -(IS)/(b) E (1)/(VAB) (nur der Early-Faktor hängt von VCE)
J21=(∂ f2)/(∂ VBE) = -IS E (dVBE,eff)/(dVBE) (1)/(nVT)(1+(VCE)/(VA))
J22=(∂ f2)/(∂ VCE) = -(1)/(RC) - IS E (1)/(VA) (Lastgerade: dIC/dVCE=-1/RC)

(Die schwache VCE-Abhängigkeit von b über IC wird hier, wie in der SPICE-Praxis üblich, in der Jacobi-Matrix vernachlässigt — sie beschleunigt nur die Konvergenz, ändert aber die Lösung nicht, denn die Lösung wird allein von F=0 bestimmt, nicht von J. Eine ungenaue Jacobi-Matrix kostet Iterationen, nie Richtigkeit.)

8.7 Das Programm

Der Kern in unmittelbarer Übersetzung der Formeln — Modellfunktionen aus Kapitel 6.9 vorausgesetzt:

def F(x, RB):
    """Residuenvektor [f1, f2] des nichtlinearen Systems."""
    vbe, vce = x
    ib   = (VBB - vbe) / RB              # Basiskreis-Masche
    ic   = (VCC - vce) / RC              # Lastgerade
    veff = vbe - ib * RBI                # innerer Basiswiderstand
    ex   = np.exp(veff / (NF * VT))
    b    = beta_eff(ic)                  # Webster-Formel
    f1 = ib - (IS / b) * ex * (1 + vce / VAR)
    f2 = ic - IS * ex * (1 + vce / VAF)
    return np.array([f1, f2])

def J(x, RB):
    """Jacobi-Matrix, analytisch (Abschnitt 8.6)."""
    vbe, vce = x
    ib   = (VBB - vbe) / RB
    ic   = (VCC - vce) / RC
    ex   = np.exp((vbe - ib * RBI) / (NF * VT))
    b    = beta_eff(ic)
    dveff = 1 + RBI / RB                 # innere Ableitung!
    j11 = -1/RB - (IS/b) * ex * dveff / (NF*VT) * (1 + vce/VAR)
    j12 = -(IS/b) * ex / VAR
    j21 = -IS * ex * dveff / (NF*VT) * (1 + vce/VAF)
    j22 = -1/RC - IS * ex / VAF
    return np.array([[j11, j12], [j21, j22]])

def newton(RB, x0=(0.65, VCC/2), tol=1e-10):
    x = np.array(x0, float)
    for k in range(100):
        r = F(x, RB)
        if np.linalg.norm(r) < tol:
            return x, k
        x = x + np.linalg.solve(J(x, RB), -r)
    return x, 99
Rechenbeispiel 8.1 — der Startpunkt, von Hand nachgeprüft. Am Startwert [0,65 V, 12,5 V] mit RB=37,3kΩ (gemessene BC547-Parameter): IB=(25-0,65)/37,3k=652,9 µA, IC=125mA, VBE,eff=650-9,8=640,2mV, βeff=290/√(1+0,125/0,08)=181. Damit f1 = 6,4·10-4 und f2 = 0,122 — beide Residuen weit von Null: Der Startpunkt liegt daneben, wie erwartet. Nach 48 Newton-Raphson-Schritten ist ∥F∥ lt;10-10 (Abbildung 8.5 links) — jede Iteration in Millisekunden.

8.8 Die Bisektion stellt RB ein

Bisher war RB gegeben. Die Entwurfsaufgabe lautet umgekehrt: Finde RB so, dass VCE=VCC/2 — die Mitte der Lastgeraden, maximaler symmetrischer Aussteuerbereich für den späteren Verstärker (Kapitel 12).

Dafür verwendet das Vorlesungsprogramm (Erweitere_Spice_Parameter_1.py) das Bisektionsverfahren (Intervallschachtelung). Es setzt nur zweierlei voraus: Stetigkeit und einen Vorzeichenwechsel der Zielabweichung g(RB)=VCE(RB)-VCC/2 über dem Suchintervall. Den garantiert hier die Physik als Monotoniekette:

RBuparrow ⟹ IBdownarrow ⟹ ICdownarrow ⟹ VRC=IC RCdownarrow ⟹ VCE=VCC-VRCuparrow

Algorithmus: Intervallmitte RBast probieren → innen löst Newton-Raphson die Schaltung → je nach Vorzeichen von VCE-VCC/2 die untere oder obere Intervallgrenze nachziehen → wiederholen. Nach k Schritten ist RB auf (b-a)/2k eingegrenzt — ein Bit Genauigkeit je Schritt, garantiert, aber eben nur linear konvergent. So sieht der tatsächliche Suchlauf aus (gemessene BC547-Parameter, Startintervall 10…500 kΩ):

SchrittRB-VersuchVCE (Newton-Raphson)Entscheidung
1255,0 kΩ22,35 Vzu groß → absenken
2132,5 kΩ20,36 Vzu groß → absenken
371,2 kΩ17,35 Vzu groß → absenken
440,6 kΩ13,26 Vzu groß → absenken
525,3 kΩ8,47 Vzu klein → anheben
633,0 kΩ11,32 Vzu klein → anheben
736,8 kΩ12,37 Vzu klein → anheben
838,7 kΩ12,83 Vzu groß → absenken
937,8 kΩ12,61 Vzu groß → absenken
1037,3 kΩ12,49 VZiel erreicht

Das Intervall halbiert sich stur — nach zehn Schritten von 490 kΩ auf unter 1 kΩ (490/210≈0,5). Hier verschachteln sich die beiden Verfahren des Kapitels: außen die garantierte, aber langsame Bisektion über den Entwurfsparameter; innen der schnelle Newton-Raphson über die Schaltungsgrößen. Diese Arbeitsteilung „außen robust, innen schnell" kehrt in Optimierung und Simulation ständig wieder.

Programmstruktur im Überblick (vollständiges Programm kap08_rechnung.py im Begleitmaterial; Original der Vorlesung: Erweitere_Spice_Parameter_1.py):

ProgrammteilFunktion
Parameterblockgemessene BC547-Parameter (Kap. 7.8) + Schaltungswerte
beta_eff(ic)Webster-Formel (Kap. 6.6)
F(x, RB)Residuenvektor [f1,f2] (Abschn. 8.4)
J(x, RB)analytische Jacobi-Matrix (Abschn. 8.6)
newton(RB, x0)Newton-Raphson mit linalg.solve (Abschn. 8.5/8.7)
BisektionsschleifeRB-Suche auf VCE=VCC/2 (Abschn. 8.8)
Ausgabe/PlotsArbeitspunkttabelle, Lastgerade, Konvergenzkurven

8.9 Ergebnis mit den gemessenen BC547-Parametern

Mit dem Parametersatz aus Kapitel 7.8 (IS=5,0·10-14A, n=1,01, βF=290, VA=95V, VAB=190V, IKF=80mA, RB,int=15 Ω) liefert die Bisektion:

GrößeWertBemerkung
RB37,3 kΩErgebnis der Bisektion
VBE752,2 mVKlemmenspannung
VBE,eff742,4 mV9,8 mV Abfall an RB,int
VCE12,49 VZiel VCC/2 getroffen
IB650,5 µA
IC125,1 mAMitte der Lastgeraden
βeff181statt βF=290!
IC/IKF1,56tief in der Hochinjektion
Abbildung
Abbildung 8.4 — Die Lösung als Bild: Transistorkennlinie (beim gefundenen VBE) und Lastgerade schneiden sich im Arbeitspunkt VCE=12,5V, IC=125mA. Ehrlichkeitshinweis: Die Kennlinie ist das in Kapitel 7 an die Messung angepasste Modell; der Arbeitspunkt selbst liegt oberhalb des vermessenen Strombereichs — das Modell wird hier also extrapoliert (deshalb sind hier keine Messpunkte einzeichenbar; bei der LED in Abbildung 8.2 lag der Arbeitspunkt dagegen mitten im Messbereich).
Abbildung
Abbildung 8.5 — Konvergenzverhalten: links Newton-Raphson. Vom Startwert VBE=0,65V aus schießt der erste Schritt über die e-Funktion hinaus; danach folgen rund 42 Schritte gedämpfter Abstieg mit dem Faktor 1/e je Schritt (eine Gerade im logarithmischen Bild, denn jeder Schritt senkt VBE um genau n VT), und erst die letzten vier Schritte sind quadratisch: bei k=48 fällt ∥F∥ unter 10-10. Rechts die Bisektion (linear — eine Halbierung je Schritt), die nach zehn Schritten im Toleranzband liegt. Die Überschrift im Bild selbst nennt nur den letzten, quadratischen Abschnitt; sie stammt aus kap08_rechnung.py und ist dort unverändert geblieben.

Vergleich mit der idealen Handabschätzung. Ohne Early, RB,int und Webster rechnet man in einer Minute: ICZiel=VCC/(2RC)=125mA, VBE≈ nVTln(IC/IS)=746mV, IB=IC/βF=431 µA,

RBideal=(VBB-VBE)/(IB) = (25-0,746)/(431 µA) ≈ 56,3 kΩ.

Das vollständige Modell sagt aber 37,3 kΩ — die Abschätzung liegt um 34 % daneben. Der Grund steht in der Ergebnistabelle: Bei 125 mA ist IC/IKF=1,56 — der BC547 arbeitet weit oberhalb seines gemessenen Kniestroms, β bricht von 290 auf 181 ein, und der Basisstrom muss um eben diesen Faktor größer sein als ideal gedacht. Ob die Faustformel trägt, entscheidet also nicht die Formel, sondern der in Kapitel 7 gemessene Wert von IKF — mit dem Demo-Wert 0,5 A wäre der Fehler unter 10 % geblieben. Messung, Modell und Numerik: erst die ganze Kette macht die Aussage richtig.

(Praktische Randnotiz: IC=125mA überschreitet die Dauergrenze IC,max=100mA des BC547 und liegt oberhalb des in Kapitel 7 vermessenen Strombereichs — das Modell wird hier bewusst extrapoliert, um den IKF-Effekt drastisch zu zeigen. Ein realer Entwurf würde RC größer wählen; Aufgabe 5 rechnet genau diesen Fall.)

8.10 Zusammenfassung

  1. Die blaue LED zeigt das ganze Programm im Kleinen: Die ideale

Shockley-Gleichung scheitert an der realen Kennlinie (Fit flieht in ein unphysikalisches n=5,8); erst die Erweiterung um den Serienwiderstand RS macht die Messpunkte approximierbar — mit physikalisch deutbaren Parametern (n=1,90, RS=16 Ω).

  1. Der Fit erfolgt in der Form V(I) (Konditionierung!), der

Arbeitspunkt folgt aus der impliziten Maschengleichung per Newton-Raphson — analytische Ableitung, physikalisch motivierter Startwert, Schutzmaßnahmen; Konvergenz in drei Iterationen.

  1. Beim Transistor wird daraus das System F(VBE,VCE)=0 mit analytischer Jacobi-Matrix (innere Ableitung

1+RB,int/RB!); außen stellt die Bisektion den Entwurfsparameter RB ein — „außen robust, innen schnell".

  1. Mit den gemessenen Parametern verfehlt die ideale

Handabschätzung das Ergebnis um 34 % — die Hochinjektion (IC≈1,6 IKF) ist im Arbeitspunkt real wirksam. Faustformeln bleiben wertvoll als Startwert und Plausibilitätstest, nicht als Ergebnis.

Kapitel 9 schließt den Kreis: Dieselben gemessenen Parameter wandern als .model-Karte in LTspice und als Blockschaltbild nach Simulink — und beide Simulatoren müssen denselben Arbeitspunkt liefern wie unser eigener Newton-Raphson-Löser.

Übungsaufgaben zu Kapitel 8

(Aufgaben 1–3 aus dem LED-Vorlesungsmanuskript)

  1. Idealitätsfaktor: Eine blaue LED zeigt im halblogarithmischen

I-V-Diagramm eine Steigung von 1 Dekade pro 120 mV. Man berechne den Idealitätsfaktor n bei T=25 ^circC. (Hinweis: Δ V = n VTln 10 = n·59,5 mV.)

  1. Vorwiderstand dimensionieren: Uges=3,3V, blaue LED mit VF=3,05V bei IF=10mA. Man berechne den benötigten

Vorwiderstand, die an ihm entstehende Verlustleistung und den passenden E12-Normwert.

  1. Newton-Raphson per Hand: Mit n=2, IS=10-20A,

RS=20 Ω, R=100 Ω, Uges=5V, VT=25,85mV führe man drei Iterationen per Taschenrechner durch (Startwert ID(0)=Uges/(R+RS+1)=41,3mA).

  1. Jacobi-Element: Man leite J12 selbst her und begründe,

warum dort — anders als in J11 — keine innere Ableitung auftritt.

  1. Realistischer Entwurf: Man wiederhole die Bisektion mit RC=1 kΩ (also ICZiel=12,5mA).

Wie groß ist jetzt IC/IKF, wie nahe rückt βeff an βF, und auf wie viel Prozent verbessert sich die ideale RB-Abschätzung?

  1. Serienstreuung (aus Kapitel 7 übernommen): βF variiere

über die BC547-Klassengrenzen 110…800. Man berechne RB je Fall und erkläre, warum die Fixed-Bias-Schaltung für die Serienfertigung ungeeignet ist — und welche Schaltungsmaßnahme hilft (Vorgriff auf Kapitel 12: Emitterwiderstand).


Der Arbeitspunkt: jede Newton-Iteration, die Bisektion, und die h-Parameter daraus

Übertragen aus BUCH/kap08_rechnung.py, Zeile für Zeile: die gemessenen BC547-Parameter (Z. 19–22), die Schaltung (Z. 24–27), beta_eff (Z. 29–30), der Residuenvektor F (Z. 32–42), die analytische Jacobi-Matrix (Z. 44–57), Newton-Raphson mit Startwert (0,65 V; VCC/2), tol = 10−10 und höchstens 100 Schritten (Z. 59–69) und die Bisektion auf RB im Intervall 10 kΩ … 500 kΩ mit dem Toleranzband 0,1 % (Z. 71–84). Die h-Parameter darunter entstehen nach seinem Rezept aus MANUSKRIPT_Vierpol_Verstaerker.md, Abschnitt 9, Schritte 2 und 3.

Die Newton-Iterationen

Der Abstieg von ‖F‖ über den Schritten

Der Arbeitspunkt vollständig

Die h-Parameter in genau diesem Arbeitspunkt

Vier Grundsteigungen als zentrale Differenzen (ΔVBE = 0,1 mV, ΔVCE = 10 mV), daraus h11e = 1/S3, h21e = S1/S3, h12e = −S4/S3, h22e = S2 − S1S4/S3. Dass h11e hier nur einige zehn Ohm beträgt, liegt am Arbeitspunkt: bei IC/IKF = 1,56 fällt βeff mit steigendem IC, der Basisstrom wächst deshalb steiler als die reine e-Funktion, und S3 wird entsprechend groß. Aus demselben Grund ist h21e deutlich kleiner als hFE.

Die Bisektion auf RB

Kennlinie, Lastgerade und Arbeitspunkt

Simulation und SPICE · Teilmanuskript 85_simulation.md · Quelle: BUCH/kapitel_09_simulation.md (Markdown-Quelle)
↓ zum rechnenden Teil

9 Simulation mit den ermittelten Parametern

9.1 Warum dieser Dreifachvergleich?

Die vorangegangenen Kapitel haben eine geschlossene Kette aufgebaut: Kapitel 6 hat das Gummel-Poon-Modell mit seinen SPICE-Parametern eingeführt, Kapitel 7 hat diese Parameter aus echten Messungen am BC547 extrahiert, und Kapitel 8 hat gezeigt, wie das Newton-Raphson-Verfahren aus Modell und Beschaltung den Arbeitspunkt berechnet. Damit ist im Prinzip alles vorhanden, was ein Schaltungssimulator braucht — denn nichts anderes tut ein Simulator: Er löst die Modellgleichungen zusammen mit den Netzwerkgleichungen der Schaltung, und zwar mit genau dem Verfahren, das wir in Kapitel 8 von Hand implementiert haben.

Dieses Kapitel schließt den Kreis mit einem Dreifachvergleich. Ein und dieselbe Aufgabe — die Arbeitspunkt-Einstellung eines Transistors in Emitterschaltung — wird auf drei Wegen gelöst:

  1. mit unserem eigenen Python-Löser (Newton-Raphson und

Bisektion, wie in Kapitel 8 entwickelt),

  1. mit LTspice, dem Industriestandard-Schaltungssimulator,
  2. mit einem selbst aufgebauten Simulink-Modell, das die

Gummel-Poon-Gleichungen als Blockschaltbild nachbildet.

Wenn drei unabhängige Implementierungen — eigener Code, kommerzieller Simulator, grafische Modellierung — auf dieselben Zahlen führen, haben wir zweierlei gewonnen: Vertrauen in unsere eigene Rechnung und ein tiefes Verständnis dafür, was der Simulator „unter der Haube" tatsächlich tut. Der Simulator verliert seinen Black-Box-Charakter.

9.2 Die Testschaltung und die Aufgabe

Als Testschaltung dient die Emitterschaltung mit Basisvorwiderstand (Fixed Bias) aus Kapitel 8:

  • Versorgungsspannung VCC = 25 V, wobei die Basis über

RB ebenfalls aus VCC versorgt wird (VBB = VCC),

  • Kollektorwiderstand RC = 100 Ω,
  • Basiswiderstand RB: gesucht.

Die Entwurfsaufgabe lautet: RB ist so zu bestimmen, dass der Arbeitspunkt in der Mitte der Lastgeraden liegt,

VCE overset!= (VCC)/(2) = 12,5 V,

denn dort ist die symmetrische Aussteuerbarkeit des späteren Verstärkers am größten. Als Toleranz sind ± 5 % zugelassen.

Der Transistor wird durch die Gummel-Poon-Gleichungen beschrieben, in zwei Ausbaustufen, die wir aus Kapitel 6 kennen:

Einfaches Modell (Shockley-Kern mit Early-Effekt):

IC = IS e VBE/(n VT) (1 + (VCE)/(VA)), IB = (IS)/(βF) e VBE/(n VT)

Erweitertes Modell (zusätzlich Hochstrom-Abfall, Basis-Early-Effekt und interner Basiswiderstand):

βeff = (βF)/(√(1 + IC/IKF)), VBE,eff = VBE - IB RB,int,
IB = (IS)/(βeff) e VBE,eff/(n VT) (1 + (VCE)/(VAB)), IC = IS e VBE,eff/(n VT) (1 + (VCE)/(VA))

Die Zahlenwerte sind die didaktischen Modellwerte aus dem Vorlesungsmanuskript — bewusst runde Werte, damit die Rechnung nachvollziehbar bleibt:

ParameterSPICE-NameWertBedeutung
ISIS10-13ASättigungsstrom
βFBF200Vorwärts-Stromverstärkung
nNF1Emissionskoeffizient
VAVAF100 VEarly-Spannung (Kollektor)
VABVAR200 VEarly-Spannung (Basis), nur erweitert
IKFIKF0,5 AKniestrom des β-Abfalls, nur erweitert
RB,intRBM10 Ωinterner Basiswiderstand, nur erweitert

Die Thermospannung beträgt VT = kB T / q = 25,86 mV bei T = 300 K — gerechnet, wie in den Python-Programmen, mit den gerundeten Konstanten kB = 1,381· 10-23J/K und q = 1,602· 10-19C.

9.3 Weg 1: Der eigene Löser — Newton innen, Bisektion außen

9.3.1 Aufbau des Verfahrens

Die Struktur des Lösers folgt unmittelbar aus Kapitel 8. Für ein gegebenes RB liefern Maschengleichungen und Modellgleichungen das nichtlineare Gleichungssystem

F(VBE, VCE) = ⎡ (VBB - VBE)/(RB) - IB(VBE, VCE) ; (VCC - VCE)/(RC) - IC(VBE, VCE) ⎤ overset!= ⎡ 0 ; 0 ⎤,

das mit dem zweidimensionalen Newton-Raphson-Verfahren und der Jacobi-Matrix aus Kapitel 8 gelöst wird; Startwert ist wie dort [VBE, VCE] = [0,65 V, VCC/2].

Das gesuchte RB liegt aber noch nicht fest. Hier übernimmt — wie in Kapitel 8 begründet — die Bisektion die äußere Schleife: Sie ist nicht das Rechenverfahren des Buches (das ist Newton-Raphson), sondern die robuste Absicherung der Suche über einen weiten Wertebereich. Der Zusammenhang ist streng monoton und physikalisch anschaulich:

RB uparrow ⟹ IB downarrow ⟹ IC downarrow ⟹ VCE uparrow

Damit funktioniert die Intervallhalbierung zuverlässig:

  1. Startintervall RB in [10 kΩ, 500 kΩ]
  2. Intervallmitte RB,try bilden
  3. Newton-Raphson löst den Arbeitspunkt für RB,try
  4. VCE lt; VCC/2: Intervall-Untergrenze anheben;

VCE gt; VCC/2: Obergrenze absenken

  1. wiederholen, bis VCE im Toleranzband liegt

Ein Detail macht das Verfahren besonders effizient: Die Newton-Lösung eines Bisektionsschritts dient als Startwert des nächsten — die Arbeitspunkte benachbarter RB-Werte liegen nahe beieinander, und Newton konvergiert dann in immer weniger Schritten.

9.3.2 Das Protokoll der Rechnung

Der Lauf mit dem einfachen Modell ergibt:

SchrittRB [Ω]VCE [V]Newton-Iterationen
1255 000,0022,65956
2132 500,0020,57536
371 250,0017,01966
440 625,0011,65346
555 937,5015,01195
648 281,2513,57455
744 453,1212,68854

und mit dem erweiterten Modell:

SchrittRB [Ω]VCE [V]Newton-Iterationen
1255 000,0022,93756
2132 500,0021,12676
371 250,0018,07837
440 625,0013,53608
525 312,507,83529
632 968,7511,26308
736 796,8812,50367

Ein Wort zu den auffälligen Nachkommastellen der Endwerte, denn sie erklären, was diese Zahlen eigentlich sind: Die Bisektion kennt nur Intervallmittelpunkte. Das Startintervall [10 kΩ, 500 kΩ] hat die Breite 490 kΩ; nach k Halbierungen liegen alle erreichbaren Werte auf einem Raster der Schrittweite 490 000/2k Ω. Im siebten Schritt beträgt dieses Raster 490 000/27 = 3 828,125 Ω, und die exakten Endwerte sind

RB = 44 453,125 Ω bzw. RB = 36 796,875 Ω

(in den Protokollen auf zwei Nachkommastellen gerundet angezeigt). Die Bruchteile eines Ohms sind also reine Halbierungsarithmetik und keine physikalische Genauigkeit: Das Toleranzband von ± 5 % um VCC/2 lässt ohnehin ± 625 mV Spielraum, und ein realer Widerstand würde als nächstliegender Normwert der E-Reihe mit eigener Fertigungstoleranz gewählt. Für den Vergleich mit LTspice wurden trotzdem bewusst die Rechenwerte übernommen (auf ganze Ohm abgeschnitten) — denn nur wenn beide Werkzeuge dasselbe RB verwenden, ist die Übereinstimmung der Arbeitspunkte ein echter Test der Löser.

Abbildung 9.1 zeigt beide Läufe grafisch: Der RB-Wert (blau) halbiert sich Schritt für Schritt in das Ziel hinein, die zugehörige Kollektor-Emitter-Spannung (rot) pendelt sich in das grau hinterlegte Toleranzband um VCC/2 ein. Nach sieben Schritten ist das Ziel jeweils erreicht.

Abbildung
Abbildung 9.1: Bisektionsverlauf für beide Modellstufen. Blau: der untersuchte Basiswiderstand, rot: die von Newton-Raphson berechnete Kollektor-Emitter-Spannung, grau: das Zielband VCC/2 ± 5 %.

9.3.3 Die Endergebnisse des eigenen Lösers

Größeeinfaches Modellerweitertes Modell
RB44 453 Ω36 797 Ω
VBE0,71687 V0,72389 V
VBE,eff—0,71729 V
VCE12,68847 V12,50358 V
IB0,5463 mA0,6597 mA
IC123,115 mA124,964 mA
β am AP200 (konstant)βeff = 178,9

Abbildung 9.2 zeigt beide Arbeitspunkte im Kennlinienfeld: Die Modellkennlinie IC(VCE) beim jeweiligen Basis-Emitter-Wert des Arbeitspunktes schneidet die Lastgerade IC = (VCC - VCE)/RC — der Schnittpunkt ist der Arbeitspunkt, und er liegt in beiden Fällen wie gefordert nahe der Mitte der Lastgeraden.

Abbildung
Abbildung 9.2: Modellkennlinie, Lastgerade und berechneter Arbeitspunkt für das einfache (links) und das erweiterte Modell (rechts).

Der Unterschied der beiden RB-Werte ist kein Rechenfehler, sondern Physik — und er ist erheblich: 17 Prozent. Die Ursache liegt fast vollständig beim Hochstrom-Parameter IKF. Am Arbeitspunkt fließen rund 125 mA; mit IKF = 0,5 A ist die Stromverstärkung dort bereits auf

βeff = (200)/(√(1 + 0,125/0,5)) = 178,9

abgesunken (Abbildung 9.3). Für denselben Kollektorstrom wird also mehr Basisstrom gebraucht — der Basiswiderstand muss entsprechend kleiner ausfallen. Der interne Basiswiderstand wirkt in dieselbe Richtung: Am Arbeitspunkt fallen an ihm IB · RB,int = 0,66 mA · 10 Ω ≈ 6,6 mV ab, sodass die wirksame Basis-Emitter-Spannung um genau diesen Betrag unter der äußeren liegt. Wer den Arbeitspunkt mit dem einfachen Modell entwirft und die Schaltung dann mit einem realen Transistor aufbaut, verfehlt das Ziel entsprechend — dieselbe Lehre, die uns in Kapitel 8 die 34-Prozent-Abweichung der idealen Schätzung eingebracht hat.

Abbildung
Abbildung 9.3: Hochstrom-Abfall der Stromverstärkung nach dem IKF-Gesetz. Am Arbeitspunkt (125 mA) ist β bereits von 200 auf 178,9 gefallen.

9.4 Weg 2: LTspice

9.4.1 Von unseren Parametern zur .MODEL-Karte

In LTspice wird der Transistor durch eine Modellkarte beschrieben. Unsere beiden Modellstufen lauten als SPICE-Karten — wörtlich so, wie sie in den Simulationsschaltungen des Begleitmaterials stehen:

.MODEL simple_npn NPN(IS=1e-13 BF=200 NF=1 VAF=100)

.MODEL simple_npn NPN(IS=1e-13 BF=200 NF=1 VAF=100
+                     VAR=200 IKF=0.5 RB=10)

Das ist der entscheidende Punkt dieses Kapitels: Die Parameter, die wir in Kapitel 7 aus Messungen extrahiert und in Kapitel 6 verstanden haben, sind exakt die Größen, die ein Simulator als Eingabe erwartet. Zwischen unserer Handrechnung und dem professionellen Werkzeug liegt nur noch die Schreibweise.

9.4.2 Die Simulationsschaltungen

Das Begleitmaterial enthält vier LTspice-Schaltungen, die genau die Kette dieses Buches abbilden:

SchaltungModellInhalt
Eigen_RW_1d.asceinfachreine Arbeitspunktschaltung
Eigen_RW_1e.ascerweitertreine Arbeitspunktschaltung
Eigen_RW_1c.asceinfachVerstärker mit Signalquelle
Eigen_RW_1f.ascerweitertVerstärker mit Signalquelle

Die Arbeitspunktschaltungen 1d und 1e bestehen aus der Versorgung V1 = 25 V, dem Kollektorwiderstand R1 = 100 Ω, dem Transistor mit der jeweiligen Modellkarte — und dem Basiswiderstand R2. Und hier zeigt sich der rote Faden dieses Buches in seiner schönsten Form: In Eigen_RW_1d steht

R2 = 44 453 Ω,

in Eigen_RW_1e steht

R2 = 36 796 Ω.

Das sind die Ergebnisse unserer Bisektionsläufe aus Abschnitt 9.3 (44 453,12 Ω und 36 796,88 Ω), übernommen mit abgeschnittenen Nachkommastellen — die Abweichung liegt also unter einem Ohm. Die Werte im Schaltplan wurden nicht geschätzt und nicht aus einer Faustformel übernommen, sondern vom eigenen Python-Löser berechnet und dann in LTspice eingetragen. Der Simulator dient anschließend als unabhängige Kontrolle: Sein eingebauter Newton-Löser (LTspice meldet im Protokoll wörtlich „Direct Newton iteration for .op point succeeded") muss auf denselben Arbeitspunkt kommen.

Abbildung 9.4 zeigt die Arbeitspunktschaltung, wie sie in der Simulationsdatei steht:

Abbildung
Abbildung 9.4: Die LTspice-Arbeitspunktschaltung Eigen_RW_1d (nach der Original-Simulationsdatei gezeichnet): Fixed Bias mit dem per Bisektion berechneten Basiswiderstand und der Modellkarte simple_npn. Die Variante Eigen_RW_1e verwendet RB = 36 796 Ω und die erweiterte Modellkarte.

9.4.3 Der direkte Abgleich: zwei Löser, dieselbe Modellkarte

Die Modellkarte ist lesbar, die Schaltung ist bekannt — also lässt sich der Abgleich vollständig durchrechnen. LTspice wertet die Gummel-Poon-Gleichungen allerdings in der SPICE-Konvention aus, die sich in drei Punkten von der anschaulichen Form unserer Kapitel unterscheidet: Der Early-Effekt wird über die Basis-Kollektor-Spannung geschrieben (1 - VBC/VAF statt 1 + VCE/VA), der Hochstromeffekt IKF wirkt über die normierte Basisladung qb direkt im Kollektorstrom (statt als βeff im Basisstrom), und gerechnet wird bei 27 ^circC mit exakten Naturkonstanten. Löst man die Fixed-Bias-Schaltung mit den Widerständen aus den Schaltplänen einmal mit den Buchgleichungen und einmal in der SPICE-Konvention (Rechnung: kap09_spice_abgleich.py), ergibt sich:

Einfaches Modell (Eigen_RW_1d, RB = 44 453 Ω):

GrößeBuchgleichungenSPICE-KonventionAbweichung
VBE0,71687 V0,71696 V+0,01 %
VCE12,688 V12,759 V+0,071 V
IB0,54627 mA0,54626 mA-0,00 %
IC123,116 mA122,409 mA-0,57 %

Erweitertes Modell (Eigen_RW_1e, RB = 36 796 Ω):

GrößeBuchgleichungenSPICE-KonventionAbweichung
VBE0,72389 V0,72844 V+0,63 %
VCE12,503 V12,879 V+0,376 V
IB0,65975 mA0,65963 mA-0,02 %
IC124,967 mA121,206 mA-3,01 %

Das Ergebnis bestätigt den Abgleich — und es lehrt Maßhalten:

  • **Beim einfachen Modell stimmen beide Löser auf ein halbes Prozent

überein.** Die verbleibenden -0,57 % in IC sind fast vollständig der Early-Konvention zuzuschreiben (Abschnitt 9.4.4, Punkt 4: erwartet waren ≈ VBE/VA = 0,7 %, leicht gemildert durch den Thermospannungs-Effekt). Der Arbeitspunkt der Handrechnung ist damit durch den unabhängigen Simulator bestätigt.

  • Beim erweiterten Modell beträgt der Unterschied 3 % — nicht

wegen anderer Parameter (die Karte enthält exakt die Werte des Python-Programms), sondern wegen der Gleichungsform: Die Vorlesungsform setzt den IKF-Abfall als βeff = βF/√(1 + IC/IKF) im Basisstrom an, SPICE dividiert stattdessen den Kollektorstrom durch die Basisladung qb, in die IKF, VAF und VAR gemeinsam eingehen. Bei IC ≈ 125 mA = 0,25 IKF macht diese Formulierungsfrage rund 3 % aus. Beide Formen beschreiben dieselbe Physik; die Vorlesungsform ist die anschauliche Näherung der SPICE-Ladungsformulierung.

Für die Praxis heißt das: Wer seinen eigenen Löser gegen einen Simulator stellt, muss Parameter und Gleichungsform abgleichen — gleiche Parameter allein garantieren erst Übereinstimmung im Prozentbereich, gleiche Gleichungen dann Übereinstimmung bis auf Rundung und Toleranzen.

9.4.4 Woher kommen die Abweichungen?

Ein Vergleich ist nur so viel wert wie das Verständnis seiner Abweichungen. Deshalb gehen wir die Fehlerquellen einzeln durch und geben jeweils die Größenordnung an — jede lässt sich aus den Zahlen dieses Kapitels nachrechnen.

1. Die Bisektionstoleranz (die größte gewollte Abweichung). Das Verfahren stoppt, sobald VCE im Toleranzband VCC/2 ± 5 % liegt — also irgendwo zwischen 11,875 V und 13,125 V. Beim einfachen Modell endet der Lauf bei VCE = 12,69 V, das sind 1,5 % über dem Idealwert; beim erweiterten Modell landet der siebte Schritt zufällig fast exakt auf dem Ziel (12,504 V). Diese Abweichung ist kein Fehler, sondern die vereinbarte Genauigkeit: Wer sie verkleinern will, verschärft die Toleranz und erhält weitere Bisektionsschritte.

2. Das Abschneiden beim Übertrag nach LTspice (vernachlässigbar). Im Schaltplan stehen 44 453 statt 44 453,12 Ω und 36 796 statt 36 796,88 Ω. Die Empfindlichkeit lässt sich direkt aus den Protokolltabellen ablesen: Zwischen den letzten Bisektionsschritten ändert sich VCE um rund 0,9 V je 3,8 kΩ, also etwa 0,25 mV pro Ohm. Ein abgeschnittenes Ohm verschiebt den Arbeitspunkt demnach um weniger als eine Millivolt-Viertel — drei Größenordnungen unter der Bisektionstoleranz.

3. Die Modellstufe (die größte physikalische Abweichung). Einfaches und erweitertes Modell unterscheiden sich im Ergebnis um 17 % in RB. Die Ursachen — Hochstrom-Abfall der Stromverstärkung (IKF), interner Basiswiderstand (RB,int) und Basis-Early-Effekt (VAB) — hat Abschnitt 9.3.3 quantifiziert. Diese Abweichung ist die Kernaussage des Kapitels: Sie zeigt, welche Parameter man nicht weglassen darf.

4. Die SPICE-interne Early-Formulierung (Prozentbereich). SPICE schreibt den Early-Faktor über die Basis-Kollektor-Spannung, (1 - VBC/VAF), unsere Gleichungen über (1 + VCE/VA). Wegen VBC = VBE - VCE unterscheiden sich beide Faktoren am Arbeitspunkt um

(VBE)/(VA) = (0,717 V)/(100 V) ≈ 0,7 %

im Kollektorstrom; über die Lastgerade übersetzt sich das in Verschiebungen von VCE in der Größenordnung von einem Zehntel Volt. Deshalb erwarten wir von LTspice Übereinstimmung im Prozentbereich, nicht auf die letzte Stelle.

5. Die qb-Formulierung des Hochstromeffekts (3 % beim erweiterten Modell). Wie der direkte Abgleich in Abschnitt 9.4.3 gezeigt hat, setzen Vorlesungsform (βeff im Basisstrom) und SPICE (Basisladung qb im Kollektorstrom) den Parameter IKF an unterschiedlicher Stelle an. Bei IC ≈ 0,25 IKF macht das rund 3 % im Kollektorstrom aus — die größte Konventionsabweichung des Vergleichs. Sie betrifft nur das erweiterte Modell; im einfachen Modell existiert der Effekt nicht.

6. Thermospannungs-Konventionen (überraschend wichtig). Unser Löser und LTspice verwenden nicht exakt dieselbe Thermospannung, aus zwei kleinen Gründen: Erstens rechnen die Python-Programme mit T = 300 K, LTspice standardmäßig mit 27 ^circC = 300,15 K (+0,05 %). Zweitens verwenden die Programme gerundete Naturkonstanten (kB = 1,381· 10-23, q = 1,602· 10-19), deren Quotient um -0,035 % vom exakten Wert abweicht. Netto: VT = 25,861 mV (unser Löser) gegenüber VT = 25,865 mV (LTspice) — ein Unterschied von nur 0,016 %. Aber er steht im Exponenten: Bei festem VBE ändert sich der Kollektorstrom um

(Δ IC)/(IC) ≈ (VBE)/(VT)·(Δ VT)/(VT) ≈ 27,7 · 0,00016 ≈ 0,4 %.

Die Exponentialfunktion verstärkt winzige Konventionsunterschiede um den Faktor VBE/VT ≈ 28 — dieselbe Empfindlichkeit, die uns in Kapitel 7 bei der IS-Extraktion begegnet ist. Wer Simulator und Handrechnung bis in die Nachkommastellen vergleichen will, muss deshalb zuerst Temperatur und Konstanten abgleichen.

7. Numerik (bedeutungslos). Die Newton-Toleranz von 10-10 und die Maschinengenauigkeit liegen viele Größenordnungen unter allen obigen Effekten.

Die Rangfolge ist damit klar: Modellstufe (17 %) ≫ Bisektionstoleranz (bis 5 %) gt; qb-Formulierung (≈ 3 %, nur erweitertes Modell) gt; Early-Formulierung (≈ 0,7 %) gt; Thermospannungs-Konventionen (≈ 0,4 % in IC) ≫ Übertrags-Rundung und Numerik. Wer diese Rangfolge kennt, weiß bei jedem Vergleich zwischen Handrechnung und Simulator, welche Abweichung normal ist — und welche auf einen echten Fehler deutet.

9.4.5 Ausblick: die Verstärkerschaltungen 1c und 1f

Die Schaltungen 1c und 1f erweitern die Arbeitspunktschaltung zum vollständigen Verstärker: eine Sinusquelle (100 mV Amplitude, 50 Hz) speist über einen Koppelkondensator C1 = 0,5 µF in die Basis, ein zweiter Koppelkondensator C2 = 1 µF führt das verstärkte Signal auf den Lastwiderstand R5 = 1 MΩ; simuliert wird das Zeitverhalten (.tran 0.1). Damit verlassen wir die reine Gleichstromrechnung — die Frage, welche Spannungsverstärkung sich am so eingestellten Arbeitspunkt ergibt und welche Rolle die Koppelkondensatoren spielen, ist die Leitfrage der Kleinsignalanalyse in Teil IV dieses Buches. Die beiden Schaltungen stehen dort als Simulationsreferenz bereit.

9.5 Weg 3: Das Simulink-Modell

Der dritte Weg verzichtet auf jeden fertigen Schaltungssimulator und baut die Modellgleichungen selbst auf — als Blockschaltbild in Simulink (Abbildung 9.5). Das Modell implementiert exakt die Gleichungen des erweiterten Modells aus Abschnitt 9.2; jede Formel findet sich als Blockgruppe wieder:

Abbildung
Abbildung 9.5: Das Gummel-Poon-Modell als Simulink-Blockschaltbild (Bildschirmfoto aus dem Begleitmaterial). Links die implementierten Gleichungen, rechts die Blockstruktur mit den beiden gesteuerten Stromquellen an den Anschlüssen.
  • Kollektorstrom-Pfad: Die Klemmenspannung VCE läuft durch

einen Verstärkungsblock 1/VA, ein Summierer bildet 1 + VCE/VA; parallel dazu entsteht aus VBE,eff über den Block 1/(n VT) und den Exponentialblock eu der Shockley-Kern. Ein Multiplizierer und die Verstärkung IS ergeben IC nach der Early-Gleichung.

  • Stromverstärkungs-Pfad: Der berechnete Kollektorstrom wird über

1/IKF zurückgeführt, ein Summierer bildet 1 + IC/IKF, der Wurzelblock √(u) und die Konstante βF liefern βeff — die Rückkopplungsschleife im Diagramm ist wörtlich die implizite Kopplung, die wir in Kapitel 8 mit der Fixpunkt- bzw. Newton-Iteration aufgelöst haben.

  • Basisstrom-Pfad: Aus VBE wird über den Block RB der

Spannungsabfall IB · RB,int abgezogen (VBE,eff-Definition), der Basis-Early-Faktor 1 + VCE/VAB entsteht über den Block 1/VAB, und zusammen mit IS/βeff ergibt sich IB.

  • Anschluss an die Außenwelt: Zwei gesteuerte Stromquellen

prägen die berechneten Ströme IC und IB an den Klemmen ein — der Block verhält sich nach außen wie ein Transistor mit den Anschlüssen Kollektor, Basis und Emitter und kann in einer Simulink-Physical-Modeling-Schaltung genau wie das LTspice-Modell in die Fixed-Bias-Beschaltung eingebaut werden.

Was bei Simulink von außen zu sehen ist, macht sichtbar, was LTspice im Inneren verbirgt: Ein „Transistormodell" ist nichts weiter als die konsequente Verdrahtung einer Handvoll Gleichungen. Wer das Blockschaltbild lesen kann, hat das Gummel-Poon-Modell verstanden — und umgekehrt.

9.6 Zusammenfassung

  • Ein Schaltungssimulator tut nichts Geheimnisvolles: Er löst die

Gummel-Poon-Gleichungen zusammen mit den Netzwerkgleichungen — mit dem Newton-Raphson-Verfahren, das wir seit Kapitel 8 selbst beherrschen.

  • Der eigene Löser bestimmt per Bisektion (äußere Schleife) und

Newton-Raphson (innere Schleife) den Basiswiderstand für den Arbeitspunkt VCE = VCC/2: 44 453,12 Ω mit dem einfachen, 36 796,88 Ω mit dem erweiterten Modell. Diese Werte stehen — mit abgeschnittenen Nachkommastellen — in den LTspice-Vergleichsschaltungen des Begleitmaterials.

  • Der Unterschied von 17 % zwischen beiden Modellstufen entsteht

fast vollständig durch den Hochstrom-Abfall der Stromverstärkung (βeff = 178,9 statt 200 bei 125 mA) — wer die erweiterten Parameter ignoriert, verfehlt den Arbeitspunkt.

  • Der direkte Abgleich mit denselben Modellkarten bestätigt die

Handrechnung: Beim einfachen Modell stimmen Buchgleichungen und SPICE-Konvention auf ein halbes Prozent überein (VCE 12,688 V gegenüber 12,759 V); beim erweiterten Modell bleibt eine erklärbare 3-%-Differenz, weil SPICE den IKF-Effekt über die Basisladung qb im Kollektorstrom ansetzt, die Vorlesungsform als βeff im Basisstrom.

  • Die Rangfolge der Abweichungsquellen — Modellstufe,

Bisektionstoleranz, Gleichungskonventionen, Thermospannung — macht jeden Vergleich zwischen Handrechnung und Simulator bewertbar.

  • Das Simulink-Blockschaltbild macht die Modellgleichungen sichtbar:

Exponentialblock, Early-Faktoren, β-Rückkopplung und zwei gesteuerte Stromquellen — mehr ist ein Transistormodell nicht.

Damit ist der Bogen von Teil III geschlossen: von der Messung (Kapitel 7) über das Modell (Kapitel 6) und die eigene numerische Lösung (Kapitel 8) bis zur professionellen Simulation (dieses Kapitel). Teil IV wechselt nun die Perspektive: vom Großsignal- zum Kleinsignalverhalten — was passiert, wenn wir den sorgfältig eingestellten Arbeitspunkt mit einem kleinen Signal auslenken?


Buchgleichungen gegen die SPICE-Konvention — derselbe Arbeitspunkt, zwei Rechenwege

Übertragen aus BUCH/kap09_spice_abgleich.py, Zeile für Zeile: die beiden Thermospannungen (Z. 17–18: Python mit 300 K, LTspice mit 27 °C und den exakten SI-Konstanten), der gedämpfte Newton mit numerischer Jacobi-Matrix (Z. 22–38, h = 10−9, Schrittweiten auf 0,02 V und 2 V begrenzt, tol = 10−12), die Buchgleichungen (Z. 47–64) und die Gummel-Poon-Auswertung, wie LTspice sie aus der .MODEL-Karte macht (Z. 67–91: Early über VBC, qb-Formulierung). Die beiden Basiswiderstände sind die aus seinen Schaltplänen.

Einfaches Modell — Eigen_RW_1d, R2 = 44453 Ω

Erweitertes Modell — Eigen_RW_1e, R2 = 36796 Ω

Die vier .MODEL-Karten, wörtlich aus seinen .asc-Dateien

Datei.MODEL-Karte, wörtlichBasiswiderstand im Schaltplan
Eigen_RW_1c.asc.MODEL simple_npn NPN(IS=1e-13 BF=200 NF=1 VAF=100)R2 = 44453 Ω
Eigen_RW_1d.asc.MODEL simple_npn NPN(IS=1e-13 BF=200 NF=1 VAF=100)R2 = 44453 Ω
Eigen_RW_1e.asc.MODEL simple_npn NPN(IS=1e-13 BF=200 NF=1 VAF=100 VAR=200 IKF=0.5 RB=10)R2 = 36796 Ω
Eigen_RW_1f.asc.MODEL simple_npn NPN(IS=1e-13 BF=200 NF=1 VAF=100 VAR=200 IKF=0.5 RB=10)R2 = 44453 Ω
Netzliste und Löser · eigener Teil dieser Seite · neben Kapitel 9, nicht darin · Grundlage: Teil XII des Grundlagenprojekts
↓ zum rechnenden Teil

Die Schaltung als Netzliste — gerechnet vom eigenen Löser

Dieser Reiter trägt kein Teilmanuskript. Alle anderen Reiter zeigen oben einen Text des Verfassers, vollständig und unverändert. Hier steht statt dessen unsere eigene Beschreibung — sie tritt neben das Kapitel 9 „Simulation und SPICE“ und nicht hinein. Die Herleitung, auf der alles beruht, ist seine und steht an ihrer Stelle: Schaltungssimulation von nichtlinearen Differentialgleichungssystemen, Teil XII, Abschnitte 47 bis 52 („Der Transistor als Stempel: Gummel-Poon im Knotenpotentialverfahren“) — dort stehen die vier Tangenten von Hand hergeleitet (48), der Stempel mit seinen zwölf Kreuzungen (49), die Abnahmen mit Zahlen (50) und ein eigener Abschnitt darüber, was das Bauteil von SPICE nachbildet und was nicht (51).

Was hier anders ist als in allen Reitern davor

In den Reitern „Arbeitspunkt von Hand“, „Arbeitspunkt Newton“ und „Simulation und SPICE“ wird jedesmal dieselbe Schaltung von Hand in Gleichungen gebracht: zwei Maschen aufschreiben, den Residuenvektor F(VBE, VCE) hinschreiben, die Jacobi-Matrix dazu ableiten, Newton laufen lassen. Das geht, solange die Schaltung zwei Unbekannte hat. Bei drei Widerständen, zwei Kondensatoren und einer Signalquelle geht es nicht mehr — und vor allem: für jede neue Schaltung müsste man von vorn anfangen.

Hier wird statt dessen nichts von Hand aufgestellt. Die Schaltung wird als Netzliste hingeschrieben, eine Zeile je Bauteil, und ein Löser baut daraus selbst die Knotenleitwertmatrix: jedes Bauteil trägt nur seinen festen Stempel ein, der Transistor eben vier Leitwerte und zwei Ersatzstromquellen statt eines Leitwerts und einer Ersatzquelle. Newton-Raphson erneuert diese Tangenten in jedem Durchgang, Euler schreibt danach die Kondensatorspannungen fort. Das ist genau das, was ein SPICE-Programm tut — nur ist hier jeder Schritt sichtbar und von Hand nachrechenbar.

Alle sechs Bauteilklassen seines Lösers sind übertragen, nicht eine Auswahl: Widerstand, Spannungsquelle (Gleich- und Sinusquelle), Diode mit ihren Modellkarten, Kondensator, Induktivität und Transistor. Eine Netzlistenzeile, die bei ihm läuft, läuft deshalb auch hier.

Als Probe darauf, dass hier wirklich sein allgemeines Verfahren steht und kein Transistor-Sonderfall, rechnet der dritte Fall unten seine B4-Brücke — vier Dioden, ein RC-Glied mit Last, eine Sinusquelle —, und zwar mit demselben Quelltext: geändert wird die Netzliste, nicht das Programm.

Die Parameter sind die selbst ermittelten

Gerechnet wird mit dem Satz, den sein Gesamtausgleich aus seinen Messungen gewonnen hat — bjt_fit.py, Nelder-Mead über alle fünf gemessenen Kennlinienfelder gleichzeitig, Prüfling BC337 —, nicht mit einem Datenblattsatz. So sieht die Karte aus, wenn man sie als .MODEL-Zeile schreibt:

.MODEL BC337_eigen NPN(IS=4.765E-14 NF=1.004 BF=253.2 VAF=126.6 VAR=1.39E3 IKF=4.05 RB=18.8)

Diese sieben Zahlen sind nicht gleichwertig. Der Lauf von bjt_fit.py prüft selbst nach, welcher Parameter durch die Messdaten überhaupt festgelegt ist: er verstellt jeden um 20 % und sieht nach, um welchen Faktor die Gesamtabweichung steigt. Steigt sie kaum, dann sagen die Daten über diesen Parameter nichts. Die Spalte Empfindlichkeitsprobe unten trägt genau diese Faktoren, die Spalte Herkunft die Einordnung in drei Klassen.

SPICEZeichenWert im Satzwoher die Zahl kommtEmpfindlichkeits­probeHerkunftwas das heißt
ISI_S4,765·10⁻¹⁴ AIc_Vbe.txt (Gummel-Plot) im Gesamtausgleich bjt_fit.py×8,87gemessengemessen und daraus bestimmt
NFn1,004Ic_Vbe.txt — Steigung im Gummel-Plot, bjt_fit.py×3211,81gemessengemessen und daraus bestimmt
BFβ_F253,2Ic_Ib.txt und hFE_Ic.txt, bjt_fit.py×38,50gemessengemessen und daraus bestimmt
VAFV_A126,6 VIc_Vce.txt — flacher Ast, bjt_fit.py×1,06gemessen (schwach)gemessen, aber nur schwach bestimmt: 20 % Verstellung kostet nur 6 % Gesamtabweichung
VARV_AB1,39·10³ V (gesetzt)Ergebnis des Ausgleichs, aber ohne Aussagekraft — die Messreihen legen den Wert nicht fest; er wirkt nur über 1 + V_CE/V_AB im Basisstrom×1,00gesetztaus diesen Daten nicht bestimmbar, deshalb gesetzt
RB / RBMR_B,int18,8 Ω (gesetzt)Ergebnis des Ausgleichs; der Messplatz misst die Klemmenspannung, der Spannungsabfall am inneren Bahnwiderstand ist darin nicht trennbar×1,01gesetztaus diesen Daten nicht bestimmbar, deshalb gesetzt
IKFI_KF4,05 A (gesetzt)Ergebnis des Ausgleichs; gemessen wurde nur bis 9,3 mA, ein Hochstromabfall wird dort gar nicht erreicht×1,00gesetztaus diesen Daten nicht bestimmbar, deshalb gesetzt
—V_T25,852 mV (Annahme)T = 300 K; in seinen Programmen steht wörtlich „Annahme Raumtemperatur“ (bjt_extract.py Z. 13). Die Messdateien tragen keine Temperatur; seine eigene Messvorschrift verlangt sie („Raumtemperatur notieren“)—gesetztnicht protokolliert, deshalb angenommen
BR, NR, IKR, ISC, NC——Rückwärts- und Sättigungsbetrieb—nicht messbarmit diesem Gerät nicht messbar: es misst nur den Vorwärts-Aktivbetrieb
ISE, NEI_SE, n_E—Leckterm der Basis-Emitter-Sperrschicht—nicht messbarmit diesem Gerät nicht messbar: der Kleinststrombereich wird nicht erfasst
RE, RC——Emitter- und Kollektorbahnwiderstand—nicht messbarmit diesem Gerät nicht messbar: aus Gleichstrommessungen im Aktivbetrieb nicht von R_B,int trennbar
CJE, CJC, VJE, VJC, MJE, MJC——Sperrschichtkapazitäten—nicht messbarmit diesem Gerät nicht messbar: es misst statisch, Punkt für Punkt
TF, TR, ITF, VTF, XTF——Laufzeiten und Ladungsspeicherung—nicht messbarmit diesem Gerät nicht messbar: es misst statisch, Punkt für Punkt
XTI, EG, XTB, TRE1, TRB1——Temperaturgang—nicht messbarmit diesem Gerät nicht messbar: aufgenommen wurde bei einer einzigen, nicht protokollierten Temperatur
KF, AF——Rauschen—nicht messbarmit diesem Gerät nicht messbar: der Messplatz mittelt und misst statisch
Was daraus für die Zahlen dieses Reiters folgt — an der Stelle, an der es weh tut.
  • Das Modell hat keine Sperrschichtkapazitäten und keine Laufzeiten, weil der Messplatz sie nicht messen kann. Die Verstärkung, die hier herauskommt, ist deshalb die quasistatische: Bei 1 kHz und bei 100 MHz käme dieselbe Zahl heraus. Das ist falsch — nur eben nicht mit diesem Gerät als falsch nachweisbar. Eine obere Grenzfrequenz hat dieses Modell nicht.
  • Der Zeitverlauf zeigt die Verzerrung, die aus der Kennlinie kommt (die e-Funktion), nicht die aus der Ladungsspeicherung. Die Unsymmetrie unten ist also die der Exponentialfunktion und sonst nichts.
  • Das Bauteil kennt keine Sättigung und keinen Inversbetrieb (Teil XII, Abschnitt 51.2). Wer den Kollektorwiderstand so groß schiebt, dass VCE unter etwa 0,3 V geriete, bekommt keine Sättigungskennlinie, sondern eine Zahl außerhalb des Gültigkeitsbereichs. Die Seite sagt es dann an.
  • Die Thermospannung ist eine Annahme: T = 300 K. Die Messdateien tragen keine Temperatur, obwohl seine eigene Messvorschrift sie verlangt. Alle Ströme hängen über exp(V/nVT) unmittelbar daran.

Drei Netzlisten, ein Löser: Arbeitspunkt, Signalverstärkung — und ein Brückengleichrichter mit vier Dioden

Übertragen aus DGL_Nichtlinear/Programme/simulator.py, Zeile für Zeile — über jeder Funktion im Quelltext der Seite steht, aus welcher Klasse und welchen Zeilen sie stammt: wert (Z. 96–102), Widerstand (Z. 109–131), Spannungsquelle (Z. 134–167), Diode (Z. 170–199) samt ihren Modellkarten aus bruecke_kern.py (Z. 51, 53–84), Kondensator (Z. 202–252), Induktivitaet (Z. 255–292), GummelPoon (Z. 338–424) mit den vier analytischen Tangenten, MODELLE_BJT (Z. 432–463), Transistor (Z. 466–568) mit den zwölf Kreuzungen und den zwei Ersatzstromquellen, und Simulator (Z. 577–740) mit dem Einlesen der Netzliste, der Vergabe der Zusatzunbekannten, _newton (Z. 662–696: GMIN = 10−9 S an jedem Knoten, Dämpfung dmax = 0,5 V, Abbruch bei max|F| < 10−12 und max|Δ| < 10−9, höchstens 200 Durchgänge) und schritt (Z. 699–711: Newton, dann Euler). Alle sechs Bauteilklassen seines Lösers sind übertragen, nicht eine Auswahl — R, Q/V, D, C, L und T; eine Netzlistenzeile, die bei ihm läuft, läuft hier auch. Zwei Zutaten sind ausdrücklich unsere: die Auflösung des Gleichungssystems (sein Löser ruft numpy.linalg.solve, hier steht das Gauß-Verfahren mit Teilpivotierung ausgeschrieben — dasselbe Verfahren, das LAPACK darunter ausführt) und das Mitschreiben des Newton-Protokolls, das an der Rechnung nichts ändert.

Fall 1 — nur der Arbeitspunkt

Die Netzliste — fünf Zeilen, änderbar

Die Schieber schreiben hier hinein. Wer den Text ändert und diesen Knopf drückt, rechnet genau das, was dasteht — Bauteilbuchstaben R, Q/V, C, L, T, Knoten „0“ ist Masse, Kommentar mit * oder #, Vorsätze p n u m k meg.

Die Knotenmatrix Y und der Vektor i im letzten Durchgang

Die Newton-Durchgänge

Der Arbeitspunkt vollständig — und was sein Löser ausgibt

Wie weit trägt die Zahl? Empfindlichkeit gegen die drei gesetzten Parameter

Jeder der drei Parameter, die aus den Messdaten nicht bestimmbar sind, wird einzeln deutlich verstellt und der Arbeitspunkt neu gerechnet. Die letzte Spalte sagt, wieviel die Zahl dadurch wandert — so weit und nicht weiter darf man ihr trauen.

Gegenprobe: dieselbe Netzliste für seine Fixed-Bias-Schaltung mit dem BC547

Fall 2 — die vollständige Verstärkerstufe

Die Netzliste der Verstärkerstufe

Die Schaltung

Der Arbeitspunkt der Stufe

Die vier Tangenten im Arbeitspunkt — und die Kleinsignalverstärkung daraus

Die zwei Verstärkungen nebeneinander

Der Zeitverlauf: Eingang und Ausgang, letzte Periode

Der Ausgangshub über dem Eingangshub — die Kennlinie der Stufe im Großsignal

Die gestrichelte Gerade ist die Kleinsignaltangente aus den vier Stempeltangenten, durch den Mittelwert des Ausgangs gelegt. Die durchgezogene Kurve ist der gerechnete Großsignallauf. Sie ist keine Gerade: zu negativen Eingangswerten hin (rechts unten im Bild) wird sie steiler, zu positiven flacher — das ist die e-Funktion des Basisstroms. Wo beide auseinandergehen, steht die Verzerrung. Die Kurve ist minimal aufgefächert, weil die Koppelkondensatoren eine kleine Phasendrehung beisteuern.

Fall 3 — dieselben fünf Klassen lösen auch einen Brückengleichrichter

Bis hierher stand ein Transistor in der Netzliste. Jetzt steht dort seine B4-Brücke — vier Dioden, ein Innenwiderstand, ein RC-Glied mit Last, eine Sinusquelle —, und es ist derselbe Löser, Zeile für Zeile derselbe Quelltext, der sie rechnet. Das ist der Beleg dafür, dass hier sein allgemeines Verfahren steht und kein Transistor-Sonderfall: geändert wird die Netzliste, nicht das Programm.

Seine Netzliste bruecke.netz, wörtlich

Die Kennzahlen im eingeschwungenen Zustand — und was sein Löser ausgibt

Der Zeitverlauf: Quellspannung, Brückenausgang und die Spannung am Kondensator

Die letzte Periode: die Restwelligkeit

Die letzte Periode: die Stromspitzen in den Dioden

Was offen ist

    Kleinsignal und h-Parameter · Teilmanuskript 86_gummel_poon_h_parameter.md · Quelle: MANUSKRIPT_Transistor_v2.md (Markdown-Quelle)
    ↓ zum rechnenden Teil
    Autor: Prof. Dr.-Ing. Ralph Wystup M.Sc. · Vorlesungsmanuskript zur Transistortechnik Version 2 — Kapitel 2 verwendet ausschließlich das vereinfachte Modell mit den Klemmenspannungen VBE, VCE (keine VBC-Formulierung, kein Leckterm); ergänzt um Kap. 5.7 „Das messungsbasierte Vierquadranten-Kennlinienfeld".

    Vorbemerkung — Ziel und Anspruch dieses Skripts

    Dieses Skript verfolgt ein Ziel: vollständige Transparenz der Methode. Es zeigt lückenlos,

    1. welches physikalische Modell dem Bipolartransistor zugrunde liegt (Gummel-Poon),
    2. welche Parameter (SPICE) darin vorkommen und was sie bedeuten,
    3. wie man diese Parameter aus Messungen bestimmt — mit jeder Annahme, jeder Näherung und den Grenzen der Bestimmbarkeit,
    4. wie man daraus das Kleinsignalverhalten (h-Parameter) ableitet — analytisch und grafisch.

    Als durchgehendes Rechenbeispiel dient ein realer NPN-Transistor BC337-25, dessen Kennlinien mit einem Kurventracer aufgenommen und ausgewertet wurden.

    Grundannahmen des gesamten Skripts (sofern nicht anders vermerkt): - Temperatur T = 300 K, damit Thermospannung VT = kB T/q = 25,85 mV. - NPN-Transistor im Vorwärts-Aktivbetrieb (VBE gt;0, VBC lt;0). - Quasistatik (keine Kapazitäten) für DC- und h-Parameter-Betrachtung. - Ein-Dimensionalität, homogene Dotierung je Zone, Niedriginjektion außer wo ausdrücklich Hochinjektion behandelt wird.

    1. Physikalische Grundlagen

    1.1 Der Transistor als gesteuerte Quelle

    Ein NPN-Transistor besteht aus zwei gegeneinander geschalteten pn-Übergängen (Emitter-Basis, Kollektor-Basis) mit einer sehr dünnen Basis. Im Aktivbetrieb ist die BE-Diode in Fluss, die BC-Diode in Sperr. Über der BE-Diode injizierte Elektronen diffundieren durch die dünne Basis und werden vom Kollektor „abgesaugt".

    1.2 Ebers-Moll als Ausgangspunkt

    Das Ebers-Moll-Modell beschreibt beide Dioden mit ihren Transportströmen. Im Vorwärts-Aktivbetrieb dominiert der Vorwärts-Transportstrom

    ICC = IS(eVBE/VT-1),

    mit dem Transport-Sättigungsstrom IS. Der Kollektorstrom ist im Idealfall IC ≈ ICC, der Basisstrom IB = ICC/βF. Ebers-Moll erfasst aber nicht: Early-Effekt, Hochinjektion, Leckströme, Bahnwiderstände. Genau diese Effekte ergänzt das Gummel-Poon-Modell.


    2. Das verwendete Transistormodell

    Diesem Skript liegt ein vereinfachtes Transistormodell für den Aktivbetrieb zugrunde — genau die Gleichungen des begleitenden Simulink-Modells. Ausgangspunkt ist die Early-Gleichung des Kollektorstroms. Alle Ströme sind Funktionen der Klemmenspannungen VBE und VCE.

    2.1 Der Kollektorstrom (Early-Gleichung)

    ▸ IC = IS eVBE/(n VT)(1+(VCE)/(VA))
    • IS — Sättigungsstrom, n — Emissionskoeffizient (ideal ≈ 1), VA — Early-Spannung.
    • Der Exponentialterm beschreibt die in Fluss betriebene BE-Diode; der Faktor big(1+VCE/VAbig) die Basisweitenmodulation (Early-Effekt) — direkt über die Klemmenspannung VCE.

    2.2 Der Early-Effekt und VA

    (1) Anschauung. Steigt VCE, verbreitert sich die Kollektor-Basis-Sperrschicht in die Basis hinein; die effektive Basisweite sinkt, der Diffusionsgradient steigt, also steigt IC leicht mit VCE — die Ausgangskennlinien sind nicht exakt waagerecht.

    (2) Messvorschrift. Extrapoliert man die flachen Äste der Ausgangskennlinien rückwärts, schneiden sie die VCE-Achse gemeinsam im Punkt VCE=-VA. Daraus wird VA bestimmt (Kap. 4).

    (3) Beispiel (BC337-25). VA≈ 146 V (Datenblatt 145,7 V).

    2.3 Die effektive Stromverstärkung (Hochinjektion, IKF)

    (1) Anschauung. Bei großem IC wird die injizierte Ladungsträgerdichte vergleichbar mit der Basisdotierung; die Verstärkung bricht ein, β fällt bei hohen Strömen ab.

    (2) Mathematik. Über die normierte Basisladung qB ergibt sich

    ▸ βeff = (βF)/(qB) ≈ (βF)/(√(1+IC/IKF))

    mit der idealen Stromverstärkung βF und dem Vorwärts-Kniestrom IKF: bei IC=IKF ist β um den Faktor √2 gefallen.

    (3) Beispiel. BC337-25: IKF≈ 0,9 A — bei den gemessenen ≤ 11 mA ist IC/IKF≲ 0,01, der Abfall also nicht sichtbar (wichtig für Kap. 4/5).

    2.4 Der Basisstrom und die innere Basis-Emitter-Spannung

    Der innere Basiswiderstand RB,int reduziert die innere Basis-Emitter-Spannung um den Spannungsabfall am Widerstand:

    ▸ VBE,eff = VBE - IB RB,int

    Nur diese innere Spannung treibt den Übergang. Damit lautet der Basisstrom

    ▸ IB = (IS)/(βeff) eVBE,eff/(n VT)(1+(VCE)/(VAB))

    Der Faktor big(1+VCE/VABbig) modelliert die (schwache) VCE-Abhängigkeit des Basisstroms und ist für die spätere Rückwirkung h12e verantwortlich.

    Anmerkung (Modellgrenze). Der reale BC337 zeigt bei kleinem Strom einen leichten hFE-Anstieg (Rekombination in der BE-Sperrschicht). Dieses vereinfachte Modell enthält diesen Effekt bewusst nicht — er bleibt als kleine, benannte Restabweichung sichtbar (Kap. 4). Vollständige Modelle beschreiben ihn über einen zusätzlichen Leckterm; hier wird er nicht verwendet.

    2.5 Das vollständige Gleichungssystem

    ▸ IC = IS eVBE/(n VT)(1+(VCE)/(VA)) ; βeff = (βF)/(√(1+IC/IKF)), VBE,eff = VBE-IB RB,int ; IB = (IS)/(βeff) eVBE,eff/(n VT)(1+(VCE)/(VAB))

    Annahmen: Aktivbetrieb (keine Sättigung, kein Inversbetrieb), T=300 K, Niedriginjektion außer der über IKF erfassten Hochstromkorrektur.

    Zwei Formulierungen nebeneinander. Im Exponenten des *Kollektor*stroms steht hier die Klemmenspannung VBE; das Vorlesungsmanuskript BJT-SPICE setzt an derselben Stelle die innere Spannung VBE,eff ein, weil der Übergang für beide Ströme dieselbe innere Spannung sieht. Beide Rechnungen sind in sich richtig — IS nimmt den Unterschied auf —, aber die Parameter der einen Form dürfen nicht in das Programm der anderen eingesetzt werden. Der Unterschied ist der Faktor expbig(IB RB,int/(n VT)big): beim BC337-25 mit IC=5mA, VCE=5V (IB=18,58 µA, RB,int=60 Ω) sind das 1,115 mV und damit +4,4 % in IC; beim BC547 im Fixed-Bias-Arbeitspunkt (IC=125mA, IB=650,5 µA, RB,int=15 Ω) sind es 9,758 mV und +45,3 %.

    2.6 Die implizite Gleichung und die algebraische Schleife

    VBE,eff=VBE-IB RB,int und IB hängen wechselseitig voneinander ab → im Simulationsfluss entsteht eine algebraische Schleife. Sauber löst man sie

    • physikalisch durch eine kleine Basis-Kapazität C (Knotengleichung C dot VBE,eff = (VBE-VBE,eff)/RB,int - IB; im stationären Zustand exakt), oder
    • numerisch durch einen Fixpunkt-/Newton-Solver.

    Ein z^{-1}/Delay bricht die Schleife zwar auf, ist wegen der steilen e-Funktion aber instabilitätsgefährdet — die Schleife wird am besten an der Spannung VBE,eff aufgebrochen, nicht am Strom.


    3. SPICE-Parameter im Überblick

    SPICESymbolBedeutungBC337-25 (Ref.)
    ISISTransport-Sättigungsstrom4,1·10-14 A
    NFnVorwärts-Emissionskoeffizient1,0
    BFβFideale Vorwärts-Stromverstärkung292
    VAFVAVorwärts-Early-Spannung146 V
    IKFIKFVorwärts-Kniestrom (Hochinjektion)0,9 A
    ISEISEB-E-Leck-Sättigungsstrom3,5·10-15 A
    NENEB-E-Leck-Emissionskoeffizient1,35
    RBRBBasis-Bahnwiderstand60 Ω
    VARVAR/VABRückwärts-Early-Spannung(Rückwirkung)

    Weitere GP-Parameter (BR, ISC, NC, IKR, RC, RE, Kapazitäten CJE, CJC, TF, TR …) betreffen Invers-, Sperr- und Dynamikverhalten und werden hier nicht benötigt.


    4. Parameterbestimmung aus Messungen — die Methode

    Wir bestimmen die Parameter aus fünf Kennlinienfeldern eines Kurventracers. Jeder Schritt nennt Messgröße, Formel, Annahme und Grenze.

    4.1 IS und n aus dem Gummel-Plot

    Messung: IC über VBE (halblogarithmisch), bei konstantem VCE. Modell: ln IC = lnbig[IS(1+VCE/VA)big] + (VBE)/(n VT). Die Gerade im halblog. Plot hat Steigung 1/(n VT) und Achsenabschnitt ln IS':

    n = (1)/(VT)·(1)/(Steigung), IS = (eAchsenabschnitt)/(1+VCE/VA).

    Annahmen/Grenzen: Auswertung nur im rein exponentiellen Ast. Nach unten begrenzt durch den Rausch-/Quantisierungsboden des Tracers (hier ≈ 5 µA), nach oben durch Hochinjektion/RB. Wird dieser Bereich nicht sauber gewählt, ergeben sich unphysikalische Werte (im Beispiel lieferte ein zu weites Fenster zunächst n≈ 3,5 statt 1,0). Beispiel: n = 1,004, IS = 4,8·10-14A.

    4.2 VA aus der Ausgangskennlinie

    Messung: IC über VCE bei konstantem IB. Formel: flachen Ast linear fitten, IC = a + b VCE; der VCE-Achsenschnitt liegt bei -VA:

    VA = (a)/(b) Big(=(IC)/(∂ IC/∂ VCE) - VCEBig).

    Grenze: die VA-Werte streuen leicht mit IB; VA ist nur schwach bestimmt. Beispiel: VA≈ 110…150V.

    4.3 βF und IKF aus hFE

    Messung: hFE=IC/IB über IC bzw. Steigung von IC-IB. βF ist das Plateau/Maximum von hFE; IKF folgt aus dem Hochstromabfall β=βF/√(1+IC/IKF). Grenze: ist der Abfall im Messbereich nicht erreicht, ist IKF nicht bestimmbar (nur untere Schranke). Beispiel: βF≈ 250…275; IKF nicht bestimmbar (≫ 11mA) → Datenblatt 0,9A.

    4.4 RB und die Grenze des Modells

    • Der reale hFE-Anstieg bei kleinem IC (BE-Rekombination) ist im verwendeten Modell nicht enthalten (Kap. 2.4) und bleibt eine kleine, benannte Restabweichung.
    • RB zeigt sich erst im Hochstrom-Knick des Gummel-Plots; bei kleinen Strömen unsichtbar → nicht bestimmbar → Datenblatt.

    4.5 Globaler Fit und Identifizierbarkeit

    Statt Feature-für-Feature kann man alle Kennlinien gleichzeitig fitten (hier: Nelder-Mead, ableitungsfrei). Kostenfunktion = mittleres quadratisches, datensatzweise gewichtetes Residuum (Gummel im Log-, die übrigen im Relativmaß).

    Der entscheidende Transparenzschritt — Identifizierbarkeit. Ein Parameter ist nur dann aus den Daten bestimmbar, wenn die Kostenfunktion empfindlich auf ihn reagiert. Test: jeden Parameter um +20 % stören und den Kostenanstieg messen.

    ParameterKostenfaktor (+20 %)Bestimmbar?
    n× 2774ja, sehr stark
    βF× 28ja
    IS× 7,2ja
    VA× 1,07schwach
    RB× 1,19schwach
    IKF× 1,0nein (flach)

    Konsequenz (und ehrliche Aussage der Methode): IKF und RB hinterlassen im gemessenen Bereich keine bzw. kaum Signatur — man kann sie nicht „aus dem Fehler herausziehen"; sie werden aus dem Datenblatt bzw. als Default gesetzt. Ihre Bestimmung erfordert gezielte Zusatzmessungen (Hochstrom für IKF, Hochstrom-Gummel für RB).

    4.6 Validierung

    Das Modell mit dem bestimmten Satz trifft alle fünf Kennlinienfelder auf ≈ 1–2 % RMS. Der Abgleich mit dem BC337-25-Datenblatt (IS, VA, βF) ist die stärkste unabhängige Bestätigung.

    Abbildung
    Gesamtauswertung BC337-25. Messung (Punkte) und Modell (Linien) für alle fünf Kennlinienfelder, dazu der bestimmte Parametersatz, die RMS-Fehler, die Identifizierbarkeit (Ampel) und der Datenblattabgleich.

    5. Kleinsignalverhalten und h-Parameter

    5.1 Arbeitspunkt und Linearisierung

    Um einen Gleich-Arbeitspunkt Q=(VBEQ,VCEQ) werden IC und IB linearisiert. Mit den vier Leitwerten (partielle Ableitungen des Modells)

    gm=(∂ IC)/(∂ VBE), go=(∂ IC)/(∂ VCE), gπ=(∂ IB)/(∂ VBE), gµ=(∂ IB)/(∂ VCE)

    gilt für die Kleinsignalgrößen (vbe, vce, ib, ic):

    ic = gm vbe + go vce, ib = gπ vbe + gµ vce.

    5.2 Definition der h-Parameter (Emitterschaltung)

    Die Hybrid-(h-)Parameter wählen ib und vce als unabhängige Größen:

    ▸ vbe = h11e ib + h12e vce, ic = h21e ib + h22e vce
    DefinitionNameEinheit
    h11e$\left.\dfrac{\partial V_{BE}}{\partial I_B}\right_{V_{CE}}$EingangswiderstandΩ
    h12e$\left.\dfrac{\partial V_{BE}}{\partial V_{CE}}\right_{I_B}$Spannungsrückwirkung–
    h21e$\left.\dfrac{\partial I_C}{\partial I_B}\right_{V_{CE}}$Stromverstärkung–
    h22e$\left.\dfrac{\partial I_C}{\partial V_{CE}}\right_{I_B}$AusgangsleitwertS

    5.3 Herleitung der h-Parameter aus den Leitwerten

    Aus der zweiten Gleichung (ib = gπ vbe+gµ vce) nach vbe auflösen:

    vbe = (1)/(gπ) ib - (gµ)/(gπ) vce ⟹ ▸ h11e=(1)/(gπ), ▸ h12e=-(gµ)/(gπ).

    In die ic-Gleichung einsetzen:

    ic = (gm)/(gπ) ib + (go-(gm gµ)/(gπ))vce ⟹ ▸ h21e=(gm)/(gπ), ▸ h22e=go-(gm gµ)/(gπ).

    5.4 Physikalische Ausdrücke (mit dem Modell aus Kap. 2)

    Setzt man die Ableitungen ein (idealer Basisstrom, IB≈ IC/β):

    gm=(IC)/(n VT), gπ=(gm)/(β)=(IB)/(n VT), go=(IC)/(VA+VCE), gµ≈(IB)/(VAB).

    Damit die kompakten, in der Vorlesung zentralen Beziehungen:

    ▸ h11e=(β n VT)/(IC)=(n VT)/(IB) ▸ h21e=β
    ▸ h22e≈ go=(IC)/(VA+VCE) ▸ h12e≈ (n VT)/(VAB)

    Interpretation. h11e ist der differentielle BE-Widerstand (fällt mit IC); h21e ist die (Kleinsignal-)Stromverstärkung; h22e ist der Early-Ausgangsleitwert; h12e die (sehr kleine) Rückwirkung. Grenze: ist VAB im Modell nicht gesetzt (VAB→∞), folgt h12e→ 0 — die vereinfachte Form bildet die Rückwirkung praktisch nicht ab (real h12esim10-4).

    5.5 Bezug zum Kleinsignal-Ersatzbild

    Mit rπ=h11e, β=h21e, ro=1/h22e und gm=β/rπ ergibt sich unmittelbar das Hybrid-π-Ersatzbild.

    5.6 Grafische Bestimmung im Vierquadranten-Kennlinienfeld

    (1) Anschauung. Jeder h-Parameter ist die Tangentensteigung einer Kennlinie im Arbeitspunkt. Klassisch ordnet man die vier Kennlinien im Vierquadranten-Kennlinienfeld an; der Arbeitspunkt verbindet alle vier:

    • Eingangskennlinie IB(VBE)|VCE → Steigung gπ, also h11e=1/gπ.
    • Übertragungskennlinie IC(IB)|VCE → Steigung =h21e.
    • Ausgangskennlinie IC(VCE)|IB → Steigung =h22e.
    • Rückwirkungskennlinie VBE(VCE)|IB → Steigung =h12e.

    (3) Rechenbeispiel BC337-25 bei IC=5 mA, VCE=5 V (⟹ VBE=658 mV, IB=19,1 µA):

    gm=(5 mA)/(25,85 mV)=193 mS, h11e=(274·25,85 mV)/(5 mA)≈ 1,42 kΩ,
    h21e≈ 274, h22e=(5 mA)/(146 V+5 V)≈ 33 µS (ro≈ 30 kΩ), h12e≈ 0.

    Warum das Programm 1,45 kΩ ausgibt. Die kompakte Formel h11e=β nVT/IC enthält den Basisbahnwiderstand nicht. bjt_hparam.py leitet dieselbe Größe aus dem gefitteten Modell ab, in dem RB,int=60 Ω steckt, und kommt deshalb auf h11e=1452,7 Ω und h21e=279,8 — rund 2 % über dem Wert der kompakten Formel. Von Hand nachgerechnet: nVT/IB + RB,int = 1396,7 Ω + 60 Ω = 1456,7 Ω.

    Abbildung
    h-Parameter als Tangentensteigungen. In jedem Kennfeld ist der Arbeitspunkt (roter Punkt) mit der Tangente markiert; deren Steigung liefert den jeweiligen h-Parameter. Rechts das Ergebnis samt Kleinsignal-Ersatzwerten und Arbeitspunkt.

    5.7 Vom Messwert zum h-Parameter — das messungsbasierte Vierquadranten-Kennlinienfeld

    Die vier Kennfelder lassen sich zum klassischen Vierquadranten-Kennlinienfeld zusammenfügen, in dem ein Arbeitspunkt über alle vier Quadranten „durchgezogen" wird (Anordnung: Q2 Übertragung | Q1 Ausgang oben, Q3 Eingang | Q4 Rückwirkung unten; die Achsen IC, VCE, IB, VBE sind jeweils quadrantenübergreifend geteilt). Entscheidend für die Lehre ist die lückenlose Verankerung in den Messdaten — hier der Weg Messung → Fit → Tangente → h-Parameter in einem Bild.

    Datengrundlage je Quadrant (volle Transparenz):

    • Q1 (Ausgang, IC–VCE) und Q2 (Übertragung, IC–IB) sind direkt gemessen (Kurventracer-Dateien Ic_Vce, Ic_Ib).
    • Q3 (Eingang, VBE–IB) und Q4 (Rückwirkung, VBE–VCE) wurden nicht direkt aufgenommen, lassen sich aber aus den vorhandenen Messdatensätzen rekonstruieren — sie ruhen damit ebenfalls auf der Messung:
    • Q3: Bei gemeinsamem VCE werden IC–VBE und IC–IB über den gemeinsamen Kollektorstrom verknüpft. Für jeden Stützwert IC liefert die eine Messung VBE(IC), die andere IB(IC) — das ergibt das gesuchte Wertepaar (IB, VBE).
    • Q4: Für festes IB liefert IC–VCE den Verlauf IC(VCE); die Messung IC–VBE liefert dazu VBE(IC). Zusammengesetzt ergibt sich (VCE, VBE).

    Konstruktion und Ablesung. Die vier Konstruktionslinien IC=const, IB=const, VBE=const, VCE=const verbinden die vier Arbeitspunkte zu einem geschlossenen Zug. Die Tangente in jedem Quadranten ist die gesuchte Steigung und liefert unmittelbar den h-Parameter (Kap. 5.2/5.3). Die glatte Linie ist der Fit an genau diese Messpunkte; die Tangentensteigung ist damit die gemessene Steigung, kein freier Modellwert.

    Ehrliche Grenze. In Q4 liegen die (rekonstruierten) Messpunkte praktisch waagerecht: die Rückwirkung h12e ist so klein, dass sie unter der Messauflösung liegt — konsistent mit h12e≈ 0 des vereinfachten Modells (real sim 10-4). Das ist selbst eine lehrreiche Aussage: nicht jeder Parameter ist aus jedem Messaufbau ablesbar.

    Abbildung
    Messungsbasiertes Vierquadranten-Kennlinienfeld (BC337-25), Arbeitspunkt IC=5mA, VCE=5V. Direkte Messpunkte in Q1/Q2, aus den Messdaten rekonstruierte Punkte (Quadrate) in Q3/Q4; die durchgezogene Linie ist der Fit an diese Daten, die gestrichelten Tangenten liefern die h-Parameter (h11e≈1,42kΩ, h21e≈274, h22e≈33 µS, h12e≈0). So wird der Weg Messung → Fit → Tangente → h-Parameter in einem Bild sichtbar.

    6. Zusammenfassung

    1. Das verwendete Modell erweitert die ideale Kennlinie um Early-Effekt (VA), Hochinjektion (IKF) und den inneren Basiswiderstand (RB,int) — durchgehend in den Klemmenspannungen VBE, VCE.
    2. Aus fünf Kennlinienfeldern lassen sich IS, n, βF, VA direkt bestimmen; IKF und RB sind im üblichen Messbereich nicht identifizierbar und werden aus dem Datenblatt/als Default gesetzt — das macht die Identifizierbarkeitsanalyse transparent.
    3. Die h-Parameter folgen als Tangentensteigungen bzw. analytisch aus den Modell-Leitwerten; die kompakten Beziehungen h11e=β n VT/IC, h21e=β, h22e=IC/(VA+VCE) verbinden Kennlinie, Modell und Ersatzbild.

    Anhang A — Formelzusammenfassung

    VT=(kB T)/(q)=25,85 mV (300 K)
    IC = IS eVBE/(n VT)Big(1+(VCE)/(VA)Big), βeff=(βF)/(√(1+IC/IKF))
    IB=(IS)/(βeff)eVBE,eff/(n VT)Big(1+(VCE)/(VAB)Big), VBE,eff=VBE-IB RB
    h11e=(1)/(gπ), h12e=-(gµ)/(gπ), h21e=(gm)/(gπ), h22e=go-(gm gµ)/(gπ)

    Anhang B — Symbolverzeichnis

    SymbolBedeutung
    VTThermospannung kBT/q
    ISTransport-Sättigungsstrom
    nEmissionskoeffizient (ideal ≈ 1)
    βF,βeffideale / effektive Stromverstärkung
    VA,VABVorwärts- / Rückwärts-Early-Spannung
    IKFVorwärts-Kniestrom
    RBBasis-Bahnwiderstand
    gm,gπ,go,gµKleinsignal-Leitwerte
    h11e… h22eHybrid-Parameter (Emitterschaltung)
    rπ,roEingangs-/Ausgangswiderstand (Hybrid-π)

    Anhang C — Verwendete Werkzeuge und Reproduzierbarkeit

    Die Auswertung erfolgte mit eigenständigen Python-Programmen (nur numpy/matplotlib): bjt_gesamt.py/bjt_dashboard.py (Extraktion, globaler Fit, Bewertung), bjt_hparam.py (h-Parameter im Arbeitspunkt) und bjt_4quadrant.py (messungsbasiertes Vierquadranten-Kennlinienfeld, Kap. 5.7). Alle Programme verwenden die Messdaten als Grundlage — die Modellkurven sind der Fit an genau diese Messungen. Damit ist jeder Schritt nachvollziehbar und reproduzierbar.

    Anhang D — Literatur (Auswahl)

    • H. K. Gummel, H. C. Poon: An Integral Charge Control Model of Bipolar Transistors, Bell Syst. Tech. J., 1970.
    • G. Massobrio, P. Antognetti: Semiconductor Device Modeling with SPICE.
    • Tietze/Schenk: Halbleiter-Schaltungstechnik.
    • BC337-25 SPICE-Modell (Philips/NXP).

    Das Kleinsignal-Ersatzschaltbild und die h-Parameter

    Übertragen aus bjt_hparam.py: der Parametersatz (Z. 26–28), die Modellgleichungen ic_model und ib_model mit der 40-schrittigen Fixpunktiteration (Z. 45–55), vbe_from_ic (Z. 56–57), der Arbeitspunkt (Z. 64–65) und die vier h-Parameter als zentrale Differenzen mit ΔVBE = 0,1 mV und ΔVCE = 10 mV (Z. 68–77). Das Ersatzschaltbild daneben ist das, das er lehrt: der Transistor als Vierpol in Hybriddarstellung (MANUSKRIPT_Vierpol_Verstaerker.md, Abschnitt 5.1), mit seinen Formelzeichen. Kein π-Modell.

    Das Kleinsignal-Ersatzschaltbild — der h-Vierpol

    B E C E h11e — h12e·vce — h21e·ib — 1/h22e — ib → vbe ← ic vce Tor 1 · Basis–Emitter Tor 2 · Kollektor–Emitter
    ⎡ vbe ⎤ = ⎡ h11e h12e ⎤ · ⎡ ib ⎤ ; ⎡ ic ⎤ = ⎡ h21e h22e ⎤ · ⎡ vce ⎤
    Vier Zahlen beschreiben das Kleinsignalverhalten vollständig. h11e ist der Eingangswiderstand (dVBE/dIB bei festem VCE), h12e die Spannungsrückwirkung, h21e die Stromverstärkung, h22e der Ausgangsleitwert — die Definitionen aus Abschnitt 5.1 seines Vierpol-Manuskripts. Im Kleinsignalbild liegt die Versorgung an Masse und die idealen Koppelkondensatoren sind Kurzschlüsse; Rb und Rc kommen als Querwiderstände dazu (Reiter „Vierpol-Verstärker“).

    Der Arbeitspunkt und die vier Grundsteigungen

    Die h-Parameter, und was sein Programm ausgibt

    Die vier Kennfelder mit der Tangente im Arbeitspunkt

    Vierpol-Verstärker · Teilmanuskript 87_vierpol_verstaerker.md · Quelle: MANUSKRIPT_Vierpol_Verstaerker.md (Markdown-Quelle)
    ↓ zum rechnenden Teil
    Autor: Prof. Dr.-Ing. Ralph Wystup M.Sc. · Vorlesungsmanuskript zur Transistortechnik

    1. Überblick

    Dieses Manuskript beschreibt vollständig, wie das Programm bjt_verstaerker.py eine Transistor-Emitterschaltung berechnet – vom gemessenen Transistor bis zu Eingangswiderstand, Ausgangswiderstand und Verstärkung. Der Rechenweg folgt der klassischen Vierpoltheorie in fünf Schritten:

    1. Arbeitspunkt der Schaltung mit dem Newton-Raphson-Verfahren
    2. h-Parameter durch Ableiten der gefitteten Kennliniengleichungen
    3. Umrechnung aller Glieder in Kettenmatrizen (A-Parameter)
    4. Kettenschaltung: Matrixmultiplikation zu einem Gesamtvierpol
    5. Beschaltung mit Last R_L und Quelle R_i, daraus die Kenngrößen

    Jeder Schritt wird hergeleitet und anschließend mit den Zahlen eines konkreten Programmlaufs vorgerechnet, so dass sich jede Zeile mit dem Taschenrechner nachprüfen lässt. Kapitel 2 stellt vorab die benötigten Grundbegriffe der Vierpoltheorie zusammen; wer sie kennt, kann direkt bei Kapitel 3 einsteigen.

    1.1 Die Schaltung

                      +Vcc = 15 V
                       │        │
                      [Rb]     [Rc]          Rb = 510 kΩ (automatisch bestimmt)
                     510 kΩ    1 kΩ          Rc = 1 kΩ
                       │        │
                       │        ├────┤C├────o Ausgang ──[RL = 10 kΩ]── Masse
                       │        │ Koppel-C
                       │        │ C (Kollektor)
     ~ Uq ──[Ri]──┤C├──┴──── B ─┤   BC337-25
     Quelle 1 kΩ Koppel-C       │ E (Emitter)
                                │
                               Masse

    Der Koppelkondensator liegt zwischen Quelle und Basisknoten; R_b greift hinter dem Kondensator direkt am Basisknoten an. Nur so erreicht die Gleichvorspannung die Basis, und die Quelle bleibt gleichstromfrei.

    Der Emitter liegt direkt an Masse, die Basis wird über einen einzelnen Widerstand R_b aus V_cc vorgespannt, Quelle und Last sind über Koppelkondensatoren angeschlossen (für die Rechnung als ideal, d. h. unendlich groß angenommen).

    Für das Wechselsignal (Kleinsignal) gilt: Die Versorgung V_cc ist ein Knoten ohne Spannungsänderung, also wechselstrommäßig Masse. Deshalb wirken R_b und R_c im Kleinsignal-Ersatzbild als Querwiderstände von Basis bzw. Kollektor nach Masse.

    1.2 Vorgabewerte des Beispiellaufs

    GrößeWertBedeutung
    V_cc15 VVersorgungsspannung
    R_c1 kΩKollektorwiderstand
    R_b510 kΩBasiswiderstand (automatisch, siehe 4.6)
    R_L10 kΩLastwiderstand am Ausgang
    R_i1 kΩInnenwiderstand der Signalquelle
    V_BB= V_ccBasisspeisung aus V_cc

    2. Grundbegriffe der Vierpoltheorie

    2.1 Was ist ein Vierpol?

    Ein Vierpol (Zweitor) ist ein „schwarzer Kasten" mit zwei Klemmenpaaren: Tor 1 (Eingang) und Tor 2 (Ausgang). Sein elektrisches Verhalten bei kleinen Signalen ist vollständig durch vier Zahlen beschrieben, die angeben, wie die vier Klemmengrößen U1, I1, U2, I2 zusammenhängen. Welche zwei Größen man als „gegeben" und welche als „gesucht" auffasst, ist Geschmackssache – und genau daraus entstehen die verschiedenen Parameterdarstellungen.

    2.2 Zählpfeile

    Bei den symmetrischen Darstellungen (Y, Z, H) zeigen beide Ströme in den Vierpol hinein. Bei der Kettendarstellung (A) benutzt man den Kettenpfeil: I1 fließt in Tor 1 hinein, I2 fließt aus Tor 2 heraus – weiter zum nächsten Glied. Dieser kleine Unterschied ist der Grund für einige Minuszeichen bei den Umrechnungen; wer ihn übersieht, bekommt falsche Vorzeichen.

    2.3 Die wichtigsten Darstellungsformen

     Leitwertform (Y):        [I1]   [y11 y12] [U1]           beide Ströme aus
                              [I2] = [y21 y22]·[U2]           beiden Spannungen
    
     Hybridform (H):          [U1]   [h11 h12] [I1]           gemischt: I1 und U2
                              [I2] = [h21 h22]·[U2]           sind die Eingangsgrößen
    
     Kettenform (A):          [U1]   [A11 A12] [U2]           Eingangsgrößen aus
                              [I1] = [A21 A22]·[I2]           Ausgangsgrößen (I2 heraus!)

    Alle Formen beschreiben denselben Vierpol und lassen sich ineinander umrechnen (Standardtabellen; die hier benötigte Umrechnung H → A wird in Kapitel 6 vollständig hergeleitet).

    2.4 Welche Form für welche Zusammenschaltung?

    Der ganze Reiz der Parameterformen liegt darin, dass jede Art, zwei Vierpole zu verbinden, in genau einer Form trivial wird:

    ZusammenschaltungRegel
    Parallel-Parallel (beide Tore parallel)Y-Matrizen addieren
    Reihe-Reihe (beide Tore in Reihe)Z-Matrizen addieren
    Kette (Ausgang an Eingang des nächsten)A-Matrizen multiplizieren

    Unsere Verstärkerstufe ist eine Kette: Basiswiderstand → Transistor → Kollektorwiderstand. Deshalb wird alles in A-Parameter gewandelt und multipliziert. Der Transistor selbst wird traditionell in der Hybridform angegeben (h-Parameter, so stehen sie in Datenblättern und so misst man sie am Kennlinienfeld) – daher die Kombination: h messen, nach A umrechnen, Kette multiplizieren.

    3. Das Transistormodell aus der Messung

    Grundlage ist der mit dem Kurventracer vermessene BC337-25 (Dateien Ic_Vce.txt, Ic_Ib.txt, Ic_Vbe.txt). An diese Messpunkte wurden die Transistorgleichungen angepasst (Fit in bjt_dashboard.py); heraus kamen sechs Modellzahlen:

    ParameterWertBedeutung
    n1,004Emissionskoeffizient
    I_S4,726·10⁻¹⁴ ASättigungssperrstrom
    B_F249,9ideale Stromverstärkung
    V_A146 VEarly-Spannung
    I_KF0,9 AHochstrom-Knickpunkt
    R_BB60 ΩBasisbahnwiderstand

    Dazu die Temperaturspannung V_T = 25,852 mV (T = 300 K). Die gefitteten Kennliniengleichungen lauten:

     Ic(Vbe, Vce) = IS · exp( Vbe / (n·VT) ) · (1 + Vce/VA)               (Gl. 1)
    
     Ib(Vbe, Vce) = (IS/Beff) · exp( (Vbe − Ib·RBB) / (n·VT) )            (Gl. 2)
                    mit Beff = BF / sqrt(1 + Ic/IKF)

    Gl. 2 ist implizit (Ib steht auf beiden Seiten wegen des Spannungsabfalls am Basisbahnwiderstand) und wird im Programm durch wenige Fixpunkt-Iterationen gelöst. Diese beiden Gleichungen SIND die Kennlinien – nur als Formel statt als Punktetabelle. Die Messdateien werden im Programm nur noch geladen, um im Diagramm die Messpunkte zur Kontrolle neben die Modellkurve zu legen.

    4. Schritt 1: Arbeitspunkt mit Newton-Raphson

    4.1 Das Gleichungssystem

    Gesucht ist das Wertepaar (V_BE, V_CE), bei dem die äußere Beschaltung und der Transistor zusammenpassen. Zwei Maschengleichungen, jeweils gegen das Modell gestellt (wie in Transistor_20.py):

     eq1(VBE, VCE) = (VBB − VBE)/Rb − Ib(VBE, VCE) = 0         (Basismasche)
     eq2(VBE, VCE) = (Vcc − VCE)/Rc − Ic(VBE, VCE) = 0         (Kollektormasche)

    Anschaulich: eq1 vergleicht den Basisstrom, den der Widerstand R_b „liefern kann", mit dem, den der Transistor bei dieser Spannung „haben will" – im Arbeitspunkt sind beide gleich, der Fehler ist null. Ebenso eq2 für den Kollektorkreis.

    4.2 Die Idee des Newton-Raphson-Verfahrens

    In einer Dimension: Um die Nullstelle von f(x) zu finden, legt man im aktuellen Schätzpunkt die Tangente an und geht dorthin, wo die Tangente die Achse schneidet: x_neu = x − f(x)/f′(x). In zwei Dimensionen wird aus der einen Ableitung die Jacobi-Matrix J (die vier partiellen Ableitungen von eq1/eq2 nach V_BE und V_CE), und aus der Division wird das Lösen eines linearen 2×2-Systems:

     J · delta = −F          dann         (VBE, VCE) := (VBE, VCE) + delta

    F ist der Fehlervektor (eq1, eq2). Das wiederholt man, bis F praktisch null ist. In der Nähe der Lösung konvergiert Newton quadratisch: Die Zahl der richtigen Stellen verdoppelt sich etwa pro Schritt (in der Iterationstabelle unten gut zu sehen).

    4.3 Exkurs: zentrale Differenzen

    Die Jacobi-Matrix wird numerisch gebildet, weil Gl. 2 implizit ist und sich nicht bequem geschlossen ableiten lässt. Eine Ableitung wird dabei durch eine zentrale Differenz angenähert – Funktion ein kleines Stück links und rechts auswerten und die Sekantensteigung bilden:

     f'(x) ≈ [ f(x+d) − f(x−d) ] / (2d)

    Zentral (links UND rechts) statt einseitig, weil sich dabei die Krümmungsfehler beider Seiten wegheben – der Restfehler schrumpft mit d² statt mit d. Dieselbe Technik wird in Kapitel 5 für die h-Parameter benutzt (dort mit d = 0,1 mV bzw. 10 mV).

    4.4 Dämpfung

    Wegen der Exponentialfunktion in Gl. 1 kann ein voller Newton-Schritt weit übers Ziel hinausschießen (30 mV mehr V_BE bedeuten schon Faktor ~3 im Strom!). Deshalb wird der Schritt begrenzt: |ΔV_BE| ≤ 50 mV,

    ΔV_CE≤ 2 V. Das kostet im schlimmsten Fall ein paar Iterationen,

    verhindert aber Zahlenüberläufe und Pendeln.

    4.5 Die Iterationen des Beispiellaufs

    Startwert (V_BE, V_CE) = (0,65 V, V_cc/2 = 7,5 V). Die Fehler eq1/eq2 sind in Ampere angegeben:

    Iter.ΔV_BEΔV_CE→ V_BE→ V_CEeq1eq2
    Start––0,6500 V7,5000 V+1,4·10⁻⁵+3,8·10⁻³
    1+27,67 mV−0,212 V0,6777 V7,2883 V−1,0·10⁻⁵−3,1·10⁻³
    2−7,34 mV−0,055 V0,6703 V7,2330 V−1,1·10⁻⁶−4,0·10⁻⁴
    3−1,06 mV−0,060 V0,6693 V7,1734 V−2,0·10⁻⁸−6,8·10⁻⁶
    4−0,02 mV−0,001 V0,6693 V7,1726 V−6,7·10⁻¹²−2,3·10⁻⁹
    5≈ 0≈ 00,6693 V7,1726 V< 10⁻¹⁸< 10⁻¹⁵

    Man sieht die quadratische Konvergenz: Ab Iteration 2 fallen die Fehler pro Schritt um mehrere Zehnerpotenzen. Nach fünf Korrekturschritten ist Maschinengenauigkeit erreicht (das Programm zählt die abschließende Kontrolle mit und meldet „6 Iterationen").

    Rückfallebene: Konvergiert Newton nicht – das passiert genau dann, wenn kein Arbeitspunkt im aktiven Bereich existiert, z. B. wenn die Schaltung in die Sättigung geriete –, rechnet das Programm mit einer verschachtelten Bisektion weiter (Intervall immer halbieren; langsam, aber unfehlbar) und warnt, falls V_CE < 0,3 V herauskommt.

    4.6 Automatische Bestimmung von R_b

    Bei der Einstellung R_B = None legt das Programm den Arbeitspunkt auf V_CE = V_cc/2 (maximale symmetrische Aussteuerbarkeit) und rechnet die Kette einfach rückwärts – hier ist kein Gleichungssystem nötig, weil V_CE ja vorgegeben wird:

     VCE = 7,5 V   →   Ic = (15 − 7,5)/1 kΩ = 7,5 mA          (Kollektormasche)
                   →   VBE aus Gl. 1 auflösen: VBE = 668,1 mV
                   →   Ib aus Gl. 2:           Ib = 26,93 µA
                   →   Rb = (VBB − VBE)/Ib = (15 − 0,6681)/26,93 µA = 532,1 kΩ
                   →   nächster E24-Normwert: 510 kΩ

    Mit dem realen Normwert 510 kΩ (statt 532 kΩ) wird der Arbeitspunkt dann noch einmal exakt gelöst (das ist die Iterationstabelle oben). Ergebnis:

    GrößeWert
    V_BE669,3 mV
    I_B28,10 µA
    V_CE7,17 V
    I_C7,83 mA
    h_FE (Gleichstrom)279

    4.7 Kontrolle von Hand

    Beide Maschengleichungen lassen sich direkt nachrechnen:

     Basismasche:         Ib = (15 V − 0,6693 V) / 510 kΩ = 28,1 µA      ✓
     Kollektormasche:     Ic = (15 V − 7,17 V) / 1 kΩ     = 7,83 mA      ✓

    5. Schritt 2: h-Parameter durch Ableiten der Kennlinien

    5.1 Definition

    Der Transistor wird als Vierpol in Hybriddarstellung beschrieben (Tor 1 = Basis-Emitter, Tor 2 = Kollektor-Emitter; Kleinsignalgrößen):

     [vbe]   [h11e     h12e]   [ib ]
     [ic ] = [h21e     h22e] · [vce]
    ParameterDefinitionBedeutung
    h11edVbe/dIb bei Vce = konst.Eingangswiderstand
    h12edVbe/dVce bei Ib = konst.Spannungsrückwirkung
    h21edIc/dIb bei Vce = konst.Stromverstärkung
    h22edIc/dVce bei Ib = konst.Ausgangsleitwert

    5.2 Die vier Grundsteigungen

    Die Modellgleichungen Gl. 1/Gl. 2 haben (Vbe, Vce) als unabhängige Variablen. Zuerst werden deshalb die vier Grundsteigungen im Arbeitspunkt gebildet – numerisch als zentrale Differenzen (Kapitel 4.3) mit den Schrittweiten ΔVbe = 0,1 mV und ΔVce = 10 mV, z. B.:

     dIc/dVbe = [ Ic(VBE+0,1 mV, VCE) − Ic(VBE−0,1 mV, VCE) ] / 0,2 mV

    Werte des Beispiellaufs:

     S1 = dIc/dVbe = 301,6 mS          S2 = dIc/dVce = 51,10 µS
     S3 = dIb/dVbe = 1,0210 mS         S4 = dIb/dVce = 0,769 nS

    (Kontrolle: S1 ≈ Ic/(n·VT) = 7,83 mA / 25,96 mV = 301,6 mS ✓ und S2 ≈ Ic/(VA + VCE) = 7,83 mA / 153,2 V = 51,1 µS ✓.)

    5.3 Vom Spannungspaar zum h-Parameter: der Variablenwechsel

    Nun der Übergang auf die h-Parameter. Das Problem: Die Modellgleichungen liefern beide Ströme als Funktion der beiden Spannungen (Vbe, Vce). Die h-Parameter sind aber andersherum definiert – dort sind ib und vce die Eingangsgrößen und vbe, ic die Ergebnisse (erste Hybridgleichung: vbe = h11·ib + h12·vce). Wir müssen also die Rollen tauschen; das ist mit „Variablenwechsel" gemeint. Das geht in drei kleinen Schritten.

    Schritt A – Linearisieren. Für kleine Abweichungen vom Arbeitspunkt ist jede Stromänderung „Steigung mal Spannungsänderung", und die Beiträge beider Spannungen addieren sich (nichts anderes besagt das totale Differential):

     dIc = S1·dVbe + S2·dVce
     dIb = S3·dVbe + S4·dVce

    Schritt B – die zweite Zeile nach dVbe auflösen:

     dVbe = (dIb − S4·dVce) / S3

    Damit ist vbe durch ib und vce ausgedrückt – der Variablenwechsel ist geschafft. Aus dieser Zeile lassen sich zwei h-Parameter direkt ablesen:

    • h11e = dVbe/dIb bei festem vce (dVce = 0): dVbe = dIb/S3 → h11e = 1/S3
    • h12e = dVbe/dVce bei festem ib (dIb = 0): dVbe = −(S4/S3)·dVce → h12e = −S4/S3

    Schritt C – dVbe in die erste Zeile einsetzen:

     dIc = S1·(dIb − S4·dVce)/S3 + S2·dVce
         = (S1/S3)·dIb + (S2 − S1·S4/S3)·dVce

    Ablesen wie oben: h21e = S1/S3 und h22e = S2 − S1·S4/S3.

    Der Abzugsterm in h22e, mit Zahlen durchgespielt. h22e fragt: Um wie viel steigt Ic, wenn Vce um 1 V erhöht wird und Ib dabei festgehalten wird?

    1. Erhöht man Vce um 1 V, würde Ib von allein um S4·1 V = 0,769 nA steigen.
    2. Ib soll konstant bleiben – also muss Vbe geringfügig sinken, um

    0,769 nA / 1,021 mS = 0,753 µV. (Das ist genau h12e = −0,753 µV/V.)

    1. Dieses Absenken von Vbe kostet Kollektorstrom:

    S1 · 0,753 µV = 301,6 mS · 0,753 µV = 0,23 µA.

    1. Netto: dIc = 51,10 µA (direkter Early-Effekt) − 0,23 µA (Vbe-Korrektur)

    = 50,87 µA je Volt → h22e = 50,87 µS.

    Der Abzugsterm ist also die Buchhaltung dafür, dass „Ib festhalten" ein kleines Nachregeln von Vbe erzwingt, das auf Ic zurückwirkt.

    5.4 Ergebnis

     h11e = 1/1,0210 mS                        = 979,5 Ω
     h21e = 301,6 mS / 1,0210 mS               = 295,4
     h12e = −0,769 nS / 1,0210 mS              = −7,53·10⁻⁷
     h22e = 51,10 µS − 301,6 mS·0,769 nS/1,0210 mS
          = 51,10 µS − 0,23 µS                 = 50,87 µS

    Zusätzlich wird die Determinante der Hybridmatrix gebraucht:

     Dh = h11e·h22e − h12e·h21e
        = 979,5 · 50,87·10⁻⁶ − (−7,53·10⁻⁷)·295,4
        = 0,04983 + 0,00022 = 0,05005 ≈ 0,0501

    Plausibilität: h11e ≈ n·VT/IB + RBB = 25,96 mV/28,1 µA + 60 Ω ≈ 984 Ω – passt zur exakten Rechnung (979,5 Ω).

    6. Schritt 3: Umrechnung in Kettenmatrizen (A-Parameter)

    6.1 Definition der Kettenmatrix

     [U1]   [A11   A12]   [U2]
     [I1] = [A21   A22] · [I2]        I2 in Kettenpfeilrichtung (aus Tor 2 heraus)

    Die Einheiten der vier Elemente sind verschieden: A11 und A22 sind dimensionslos, A12 ist ein Widerstand (V/A), A21 ein Leitwert (A/V).

    6.2 Vollständige Herleitung der Umrechnung h → A

    Ausgangspunkt sind die beiden Hybridgleichungen des Transistors. Die Zuordnung der Klemmengrößen: u1 = vbe, i1 = ib, u2 = vce. Beim Strom am Tor 2 ist Vorsicht geboten: In der Hybridform fließt ic in den Kollektor hinein, in der Kettenform fließt I2 heraus – also gilt ic = −I2. Damit lauten die Hybridgleichungen:

     (H1)    u1 = h11·i1 + h12·u2
     (H2)   −I2 = h21·i1 + h22·u2

    Ziel: u1 und i1 durch u2 und I2 ausdrücken – denn genau das tut die Kettenmatrix.

    Aus (H2) den Eingangsstrom i1 freistellen:

     h21·i1 = −I2 − h22·u2
         i1 = −(h22/h21)·u2 − (1/h21)·I2

    Vergleich mit der zweiten Kettenzeile i1 = A21·u2 + A22·I2 liefert sofort:

     A21 = −h22/h21                 A22 = −1/h21

    i1 in (H1) einsetzen:

     u1 = h11·[ −(h22/h21)·u2 − (1/h21)·I2 ] + h12·u2
        = (h12 − h11·h22/h21)·u2 − (h11/h21)·I2

    Der Klammerausdruck lässt sich mit der Determinante Dh = h11·h22 − h12·h21 kompakt schreiben: h12 − h11·h22/h21 = −(h11·h22 − h12·h21)/h21 = −Dh/h21. Vergleich mit der ersten Kettenzeile u1 = A11·u2 + A12·I2:

     A11 = −Dh/h21                  A12 = −h11/h21

    Zusammengefasst (die Standard-Umrechnungstabelle):

             1    [ −Dh     −h11 ]
     A_T = ───── ·[                 ]
            h21   [ −h22    −1   ]

    Mit den Zahlen aus Kapitel 5, Element für Element:

     A11 = −0,0501 / 295,4              = −1,6945·10⁻⁴     (dimensionslos)
     A12 = −979,5 Ω / 295,4             = −3,3159 Ω
     A21 = −50,87·10⁻⁶ S / 295,4        = −1,7223·10⁻⁷ S
     A22 = −1 / 295,4                   = −3,3854·10⁻³     (dimensionslos)

    Die durchweg negativen Einträge sind kein Fehler – sie stammen aus dem Vorzeichenwechsel ic = −I2 und tragen die Signalinvertierung der Emitterschaltung durch die ganze weitere Rechnung.

    6.3 Herleitung: Querwiderstand als reduzierter Vierpol

    Ein Querwiderstand R liegt quer vom Signalknoten nach Masse; der Längszweig ist einfach durchverbunden:

      Tor 1 o────────┬────────o Tor 2
                     │
                    [R]
                     │
      Masse o────────┴────────o Masse

    Die beiden Klemmengleichungen folgen direkt aus Maschen- und Knotenregel:

    • Spannung: Beide Tore liegen am selben Knoten → u1 = u2.
    • Strom (Knotenregel am oberen Knoten): Was bei Tor 1 hineinfließt,

    teilt sich auf in den Widerstandszweig (u2/R nach Masse) und den Weiterfluss zu Tor 2 → i1 = u2/R + I2.

    In Matrixform, durch Vergleich mit der Kettendefinition:

     u1 = 1·u2 + 0·I2                     [ 1         0 ]
     i1 = (1/R)·u2 + 1·I2          →      [ 1/R       1 ]

    Da V_cc wechselstrommäßig Masse ist (Kapitel 1.1), sind R_b (Basis→Vcc) und R_c (Kollektor→Vcc) genau solche Querwiderstände – R_b am Eingangstor, R_c am Ausgangstor:

     1/Rb = 1/510 kΩ = 1,961·10⁻⁶ S                   1/Rc = 1/1 kΩ = 1,000·10⁻³ S

    Zum Vergleich – die kleine Werkzeugkiste der Ketten-Vierpole:

    ElementKettenmatrixHerleitung in Kurzform
    Querwiderstand R[1 0; 1/R 1]u1=u2; i1 = u2/R + I2
    Längswiderstand R[1 R; 0 1]i1=I2; u1 = u2 + R·I2
    Koppelkondensator C (längs)[1 1/(jωC); 0 1]wie Längswiderstand mit Z = 1/(jωC)

    Ideale Koppelkondensatoren (C → ∞) haben Z → 0, ihre Matrix wird zur Einheitsmatrix – deshalb tauchen sie in unserer Kette nicht auf.

    7. Schritt 4: Kettenschaltung – warum multiplizieren, und die Rechnung

    7.1 Warum ist die Kette ein Matrixprodukt?

    Zwei Vierpole in Kette: Der Ausgang des ersten ist der Eingang des zweiten. Genau dafür ist der Kettenpfeil gemacht: Die Ausgangsgrößen (u2, I2) des ersten Glieds sind identisch mit den Eingangsgrößen (u1, i1) des zweiten – gleiche Spannung am Verbindungsknoten, und der herausfließende Strom des einen ist der hineinfließende des anderen. Deshalb kann man einfach einsetzen:

     [u1]          [u2]          [u2]           [u_aus]
     [i1] = A¹ ·   [I2] = A¹ ·   [i1]' = A¹·A² ·[I_aus]
                   (Glied 1)     (= Eingang Glied 2)

    Die Gesamtmatrix ist das Produkt der Einzelmatrizen in Signalrichtung. Achtung: Matrixmultiplikation ist nicht vertauschbar – die Reihenfolge muss der physischen Reihenfolge der Glieder entsprechen.

    7.2 Die Rechnung von Hand

    Die Kette in Signalrichtung: Basiswiderstand → Transistor → Kollektorwiderstand.

     A_ges = A_Rb · A_T · A_Rc

    Erste Multiplikation M = A_T · A_Rc (Regel: Zeile mal Spalte):

     M11 = A11·1 + A12·(1/Rc) = −1,6945·10⁻⁴ + (−3,3159)·10⁻³ = −3,4854·10⁻³
     M12 = A11·0 + A12·1      = −3,3159
     M21 = A21·1 + A22·(1/Rc) = −1,7223·10⁻⁷ + (−3,3854·10⁻⁶) = −3,5576·10⁻⁶
     M22 = A21·0 + A22·1      = −3,3854·10⁻³

    Zweite Multiplikation A_ges = A_Rb · M:

     A11' = 1·M11 + 0·M21 = −3,4854·10⁻³
     A12' = 1·M12 + 0·M22 = −3,3159
     A21' = (1/Rb)·M11 + M21 = 1,961·10⁻⁶·(−3,4854·10⁻³) + (−3,5576·10⁻⁶)
          = −6,8·10⁻⁹ − 3,5576·10⁻⁶ = −3,5645·10⁻⁶
     A22' = (1/Rb)·M12 + M22 = 1,961·10⁻⁶·(−3,3159) + (−3,3854·10⁻³)
          = −6,50·10⁻⁶ − 3,3854·10⁻³ = −3,3919·10⁻³

    Der zusammengefasste Vierpol der ganzen Verstärkerstufe:

               [ −3,4854·10⁻³    −3,3159    ]
     A_ges =   [                            ]
               [ −3,5645·10⁻⁶    −3,3919·10⁻³ ]

    Man sieht schön, wie klein der Einfluss von R_b ist: Er ändert nur die zweite Zeile, und dort nur in der dritten bzw. zweiten Stelle.

    8. Schritt 5: Beschaltung mit R_L und R_i – die Kenngrößen

    Der Gesamtvierpol wird jetzt am Ausgang mit R_L = 10 kΩ belastet, am Eingang speist eine Quelle mit Innenwiderstand R_i = 1 kΩ.

    8.1 Herleitung: Eingangswiderstand, Spannungs- und Stromverstärkung

    Der Lastwiderstand erzwingt am Tor 2 die Bedingung u2 = R_L·I2 (I2 fließt aus dem Tor heraus durch R_L nach Masse; Ohmsches Gesetz). In die Kettendefinition eingesetzt:

     u1 = A11·RL·I2 + A12·I2 = (A11·RL + A12)·I2
     i1 = A21·RL·I2 + A22·I2 = (A21·RL + A22)·I2

    Alle Klemmengrößen sind jetzt Vielfache von I2 – die Verhältnisse folgen durch einfaches Teilen:

     r_ein = u1/i1 = (A11·RL + A12) / (A21·RL + A22)
     A_v   = u2/u1 = RL·I2 / [(A11·RL + A12)·I2] = RL / (A11·RL + A12)
     A_i   = I2/i1 = 1 / (A21·RL + A22)

    8.2 Herleitung: Ausgangswiderstand

    Definition: Quelle „totlegen" (u_q = 0, ihr Innenwiderstand R_i bleibt in der Schaltung), dann vom Ausgang hineinschauen: Testspannung u2 anlegen, den hineinfließenden Strom messen. Der Strom, der in Tor 2 hinein fließt, ist in Kettenpfeilrichtung −I2.

    Am Eingangstor hängt jetzt nur noch R_i: Die Torspannung u1 treibt den Strom u1/R_i durch den Widerstand nach Masse, und dieser Strom muss aus dem Tor herauskommen – also i1 = −u1/R_i, umgestellt:

     u1 = −Ri·i1

    Einsetzen der beiden Kettenzeilen:

     A11·u2 + A12·I2 = −Ri·(A21·u2 + A22·I2)
     u2·(A11 + Ri·A21) = −I2·(A12 + Ri·A22)

    und damit:

     r_aus = u2/(−I2) = (A22·Ri + A12) / (A21·Ri + A11)

    8.3 Gesamtverstärkung von der Quelle aus

    Zwischen Leerlauf-Quellspannung u_q und Torspannung u1 liegt der Spannungsteiler aus R_i und r_ein:

     u1 = u_q · r_ein/(r_ein + Ri)          →        A_vs = A_v · r_ein/(r_ein + Ri)

    (Gleichwertig könnte man R_i als Längs-Vierpol [1 Ri; 0 1] vorn an die Kette multiplizieren und A_vs direkt aus der erweiterten Matrix ablesen – Ergebnis identisch.)

    8.4 Einsetzen der Zahlen

     Zähler    Z = A11·RL + A12 = (−3,4854·10⁻³)(10⁴) + (−3,3159)
                 = −34,854 − 3,316                     = −38,170
     Nenner    N = A21·RL + A22 = (−3,5645·10⁻⁶)(10⁴) + (−3,3919·10⁻³)
                 = −35,645·10⁻³ − 3,392·10⁻³           = −39,037·10⁻³
    
     r_ein = Z/N = (−38,170)/(−0,039037)               = 977,8 Ω
     A_v   = RL/Z = 10⁴/(−38,170)                      = −262,0       (48,4 dB)
     A_i   = 1/N = 1/(−0,039037)                       = −25,6
    
     r_aus: Zähler    = A22·Ri + A12 = (−3,3919·10⁻³)(10³) − 3,3159 = −6,7078
            Nenner    = A21·Ri + A11 = (−3,5645·10⁻⁶)(10³) − 3,4854·10⁻³
                                     = −7,0499·10⁻³
              r_aus   = (−6,7078)/(−7,0499·10⁻³)       = 951,5 Ω
    
     A_vs = −262,0 · 977,8/(977,8 + 1000)              = −129,5       (42,2 dB)

    8.5 Ergebnisübersicht und Deutung

    KenngrößeWertDeutung
    r_ein978 Ωrecht niederohmig – typisch für die Emitterschaltung; wird fast ganz vom Transistoreingang h11e bestimmt (R_b = 510 kΩ spielt parallel dazu kaum eine Rolle)
    r_aus951 Ωknapp unter R_c = 1 kΩ; der Kollektor selbst ist mit 1/h22e ≈ 20 kΩ viel hochohmiger, R_c dominiert die Parallelschaltung
    A_v−262Verstärkung von Basis zu Ausgang; das Minuszeichen ist die Signalinvertierung der Emitterschaltung
    A_i−25,6Stromverstärkung der ganzen Stufe; deutlich kleiner als h21e = 295, weil sich der Ausgangsstrom zwischen R_c und R_L teilt
    A_vs−129,5von der Quelle aus: an R_i = 1 kΩ geht gut die Hälfte der Quellspannung verloren, weil r_ein ähnlich groß ist

    8.6 Querkontrolle über die h-Parameter

    Dieselben Größen lassen sich (mühsamer) auch direkt aus den h-Parametern mit der Ersatzlast R_L' = R_c ∥ R_L = 909,1 Ω rechnen, z. B.:

     A_v = −h21e·RL' / (h11e + Dh·RL')
         = −295,4·909,1 / (979,5 + 0,0501·909,1)
         = −268 548 / 1025,0 = −262,0     ✓

    Beide Wege liefern auf vier Stellen dasselbe – die Kettenrechnung ist also konsistent.

    9. Das Verfahren als Rezept (für beliebige Stufen)

    So lässt sich jede lineare Verstärkerstufe von Hand rechnen:

    1. Arbeitspunkt der Gleichstromschaltung bestimmen (Maschengleichungen

    gegen die Transistorgleichungen; Newton-Raphson oder Bisektion).

    1. Die vier Grundsteigungen S1–S4 der Kennlinien im Arbeitspunkt bilden

    (analytisch oder als zentrale Differenzen).

    1. Daraus die h-Parameter: h11 = 1/S3, h21 = S1/S3, h12 = −S4/S3,

    h22 = S2 − S1·S4/S3; Determinante Dh mitnotieren.

    1. Kleinsignal-Ersatzschaltbild zeichnen: Versorgungsknoten zu Masse

    machen, ideale Koppel-C durch Kurzschlüsse ersetzen.

    1. Jedes Glied als Kettenmatrix schreiben: Transistor mit der

    Umrechnung A = (1/h21)·[−Dh −h11; −h22 −1], Querwiderstand [1 0; 1/R 1], Längswiderstand [1 R; 0 1].

    1. Matrizen in Signalrichtung multiplizieren → ein Gesamtvierpol A_ges.
    2. Beschaltung ansetzen: r_ein = (A11·RL+A12)/(A21·RL+A22),

    r_aus = (A22·Ri+A12)/(A21·Ri+A11), A_v = RL/(A11·RL+A12), A_i = 1/(A21·RL+A22), A_vs = A_v·r_ein/(r_ein+Ri).

    1. Plausibilität prüfen (z. B. Querrechnung über die h-Formeln mit RL' = Rc ∥ RL, Vorzeichen, Größenordnungen).

    10. Zusammenfassung des Rechenwegs

      Messung (Kurventracer)          einmalig:
      Ic_Vce.txt, Ic_Ib.txt   ──Fit──► Modell P = (n, IS, BF, VA, IKF, RBB)
                                                │
      Schaltung Vcc, Rb, Rc   ──Newton-Raphson─┤ Arbeitspunkt (VBE, VCE, IB, IC)
                                                │
                             Ableiten (zentrale Differenzen) im Arbeitspunkt
                                                │
                                   h-Vierpol [h11e h12e; h21e h22e]
                                                │
                                         h → A umrechnen
                                                │
                         A_ges = A_Rb · A_T · A_Rc    (Matrixprodukt)
                                                │
                   Beschaltung: RL am Ausgang, Quelle mit Ri am Eingang
                                                │
                         r_ein, r_aus, A_v, A_i, A_vs

    11. Programme und Dateien

    DateiRolle
    bjt_verstaerker.pydas hier beschriebene Programm; Vorgaben V_CC, R_C, R_B (None = automatisch), R_L, R_I oben im Skript; erzeugt Konsolenprotokoll aller Schritte und das Dashboard bjt_verstaerker.png
    Transistor_20.pyUrsprung des Newton-Raphson-Arbeitspunkts (vereinfachtes Modell)
    bjt_hparam.pyUrsprung der h-Parameter-Bestimmung mit Tangenten-Diagrammen
    bjt_dashboard.pyder Modell-Fit an die Kurventracer-Messungen (Quelle des Parametersatzes P)
    Ic_Vce.txt, Ic_Ib.txt, Ic_Vbe.txtKurventracer-Rohdaten des BC337-25

    Erweiterungen sind im Kettenbild einfach: Ein Basisspannungsteiler ersetzt R_b durch R1 ∥ R2 (gleiche Quermatrix), ein Längswiderstand im Signalweg bekommt die Matrix [1 R; 0 1], ein endlicher Koppelkondensator [1 1/(jωC); 0 1] (dann wird komplex gerechnet), und eine zweite Stufe wird als weitere Matrizen hinten anmultipliziert – die fünf Schritte bleiben dieselben.


    Die Emitterschaltung als Vierpol-Kette

    Übertragen aus bjt_verstaerker.py, Zeile für Zeile: die Vorgaben (Z. 51–56), der Parametersatz (Z. 61–62), die Modellgleichungen (Z. 67–77), das Residuensystem (Z. 95–97), die numerische Jacobi-Matrix als zentrale Differenzen mit hb = 10−6 und hc = 10−4 (Z. 99–105), Newton-Raphson mit Dämpfung auf 0,05 V und 2 V und Begrenzung auf physikalisch sinnvolle Werte (Z. 107–122), die automatische Bestimmung von RB mit dem nächsten E24-Normwert (Z. 140–160), die vier Grundsteigungen und h-Parameter (Z. 174–184), die Umrechnung h → A und die Querwiderstände (Z. 187–199), das Matrixprodukt in Signalrichtung (Z. 202) und die fünf Kenngrößen (Z. 205–209).

    1) Arbeitspunkt der Schaltung

    2) Der h-Vierpol des Transistors

    3)–4) Die Kettenmatrizen und ihr Produkt

    Ages = ARb · AT · ARc ; AT = (1/h21)·⎡ −Dh −h11 ⎤ ⎡ −h22 −1 ⎤ ; Querwiderstand: ⎡ 1 0 ⎤ ⎡ 1/R 1 ⎤

    5) Die Kenngrößen des belasteten Vierpols

    |Av| über der Last RL

    Messvorschrift · Teilmanuskript 90_messvorschrift.md · Quelle: Messvorschrift_SPICE_Parameter_Transistor.docx
    ↓ zum rechnenden Teil

    Praxisleitfaden / Laborunterlage

    Einfache Messvorschrift

    SPICE-Parameter aus Transistorkennlinien

    (allgemeingültig für beliebige bipolare Kleinsignal-Transistoren, npn und pnp)

    Benötigte Messungen: ▸ Gummel-Plot (I_C, I_B vs. V_BE) ▸ Ausgangskennfeld (I_C vs. V_CE) ▸ Eingangskennlinie (V_BE vs. I_B)Ergebnis: ▸ I_S, NF (n) ▸ BF (beta_F) ▸ VAF (V_A) ▸ IKF ▸ RBM (R_B,int)

    Lehrstuhl Halbleiterelektronik | Hochschule | 2026

    0 Vorbereitung

    ⚠Wichtig vor Beginn: - Transistor-Pinout (E, B, C) im Datenblatt prüfen -- Verpolung zerstört das Bauteil. - Bei npn: alle Spannungen positiv. Bei pnp: alle Vorzeichen umkehren (Messverfahren identisch). - Strombegrenzung am Kennlinienschreiber aktivieren (I_C,max laut Datenblatt nicht überschreiten). - Kurze Messpulse oder Pausen zwischen Messpunkten verwenden -- Selbsterwärmung verfälscht I_S. - Raumtemperatur notieren (alle folgenden Formeln gelten für T ≈ 300 K / 25-27°C).

    Benötigte Werte vorab

    Notieren Sie folgende Konstante, sie wird in allen Auswertungen gebraucht:


    V_T = 25.86 mV (Temperaturspannung bei T = 300 K, fest)


    1 Messung: Gummel-Plot aufnehmen

    1Gummel-Plot messen Ziel: I_C und I_B in Abhängigkeit von V_BE bei konstantem V_CE aufzeichnen. ☐ V_CE fest einstellen (z. B. 5 V -- Wert im aktiven Bereich, weit weg von Sättigung). ☐ V_BE von ca. 0.4 V in kleinen Schritten (5-10 mV) bis zur Strombegrenzung hochfahren. ☐ Bei jedem Schritt I_C UND I_B notieren (Kennlinienschreiber zeigt meist beide gleichzeitig). ☐ Mindestens 15-20 Messpunkte über den gesamten Spannungsbereich aufnehmen. ☐ Werte tabellarisch notieren: V_BE | I_C | I_B

    Falls der Kennlinienschreiber kein direktes Gummel-Plot-Display besitzt, kann diese Messung auch als normale Eingangskennlinie I_C(V_BE) bei festem V_CE aufgenommen werden -- der Basisstrom I_B wird dann separat mit einem Amperemeter im Basiszweig mitgemessen.

    2 Messung: Ausgangskennfeld aufnehmen

    2Ausgangskennfeld messen Ziel: I_C in Abhängigkeit von V_CE bei mehreren festen I_B-Stufen. ☐ 3-5 verschiedene Basisstrom-Stufen wählen (z. B. 10, 20, 40, 80 µA), gleichmäßig verteilt. ☐ Für jede I_B-Stufe: V_CE von 0 V bis zur gewünschten Maximalspannung durchfahren. ☐ Besonders im Bereich V_CE = 0...1 V (Sättigung) und V_CE \> 2 V (aktiver Bereich) Punkte aufnehmen. ☐ Pro Stufe mindestens 8-10 Punkte, davon mind. 2 Punkte bei hohem V_CE (z. B. 5V und 20V) für spätere Extrapolation. ☐ Werte tabellarisch notieren: I_B-Stufe | V_CE | I_C

    3 Messung: Eingangskennlinie bei hohem Strom

    3Eingangskennlinie im Hochstrombereich messen Ziel: V_BE bei möglichst hohem I_B genau erfassen (für R_B,int später). ☐ V_CE fest einstellen (gleicher Wert wie in Schritt 1, z. B. 5 V). ☐ I_B möglichst nah an die zulässige Strombegrenzung des Transistors heranfahren. ☐ V_BE bei diesem hohen I_B-Wert genau ablesen und notieren. ☐ Zusätzlich einen Punkt bei niedrigem I_B (z. B. 1/10 des Maximalwerts) notieren -- dient als Referenz.

    Damit ist die Messphase abgeschlossen. Alle folgenden Schritte sind reine Auswertung der notierten Zahlenwerte am Schreibtisch -- kein weiterer Gerätekontakt nötig.

    4 Auswertung: Sättigungsstrom I_S und Idealfaktor n

    4I_S und n aus Gummel-Plot berechnen Aus der Gummel-Plot-Tabelle (Schritt 1) zwei Punkte im mittleren, geraden Bereich wählen. Auswahlregel: Punkte meiden, bei denen I_C sehr klein ist (\< 1 µA, Leckströme) oder sehr groß (nahe Strombegrenzung, Hochinjektion). Mittelbereich verwenden.

    Zwei Punkte: (V_BE1, I_C1) und (V_BE2, I_C2) mit I_C2 \> I_C1

    Schritt A: n = (V_BE2 - V_BE1) / ( V_T * ln(I_C2/I_C1) )

    Schritt B: I_S = I_C1 / exp( V_BE1 / (n*V_T) ) -----------------------------------------------------------------------

    Plausibilitätscheck: n sollte für Si-Transistoren zwischen 1.0 und 1.1 liegen. Werte deutlich darüber oder darunter deuten auf einen Ablesefehler oder ungeeignete Messpunkte hin.

    5 Auswertung: Stromverstärkung beta_F

    5beta_F aus dem Plateau bestimmen Für jeden Messpunkt aus Schritt 1 beta = I_C / I_B berechnen und über I_C auftragen (oder einfach als Tabellenspalte).

    beta(I_C) = I_C / I_B (für jeden Messpunkt einzeln berechnen)

    beta_F = Maximalwert von beta im mittleren Strombereich (Plateau) -----------------------------------------------------------------------

    Der höchste stabile Wert über mehrere benachbarte Messpunkte (nicht der absolute Einzelmaximalwert, der durch Messrauschen verfälscht sein kann) wird als BF in SPICE eingetragen.

    6 Auswertung: Early-Spannung V_A

    6V_A aus dem Ausgangskennfeld extrapolieren Eine I_B-Kurve aus Schritt 2 auswählen. Die beiden Messpunkte bei hohem V_CE verwenden (mindestens 10V auseinander für geringen Fehler).

    Zwei Punkte derselben I_B-Kurve: (V_CE1, I_C1) und (V_CE2, I_C2)

    V_A = ( V_CE2 I_C1 - V_CE1 I_C2 ) / ( I_C2 - I_C1 ) -----------------------------------------------------------------------

    Diese Berechnung für 2-3 verschiedene I_B-Stufen wiederholen und die Ergebnisse mitteln -- das erhöht die Genauigkeit, da die Extrapolation empfindlich auf Ablesefehler reagiert.

    7 Auswertung: Knickstrom I_KF

    7I_KF aus dem beta-Abfall bestimmen Die beta(I_C)-Werte aus Schritt 5 bei hohen Strömen betrachten.

    Schritt A: Zielwert berechnen: beta_Ziel = 0.707 * beta_F

    Schritt B: In der beta(I_C)-Tabelle den I_C-Wert suchen, bei dem

    beta auf beta_Ziel gefallen ist.

    Dieser Strom ist I_KF. -----------------------------------------------------------------------

    Falls kein Messpunkt genau auf beta_Ziel fällt, zwischen den zwei nächstgelegenen Messpunkten linear interpolieren.

    8 Auswertung: Interner Basiswiderstand R_B,int

    8R_B,int aus dem Hochstrom-Messpunkt berechnen Den Hochstrom-Messpunkt aus Schritt 3 (V_BE bei hohem I_B) verwenden, sowie I_S und beta_F aus Schritt 4/5.

    Schritt A: Idealen V_BE-Wert berechnen (ohne Widerstandseffekt):

    V_BE,ideal = n V_T ln( beta_F * I_B / I_S )

    Schritt B: Mit dem TATSÄCHLICH gemessenen V_BE vergleichen:

    R_B,int = ( V_BE,gemessen - V_BE,ideal ) / I_B -----------------------------------------------------------------------

    Diese Berechnung nur bei möglichst hohem I_B durchführen, da der Effekt bei kleinem Strom im Messrauschen untergeht (Spannungsabfall I_B·R_B,int ist dann zu klein zum sicheren Erfassen).

    9 Ergebnis-Checkliste

    Am Ende sollten folgende sieben Werte vorliegen:


    Parameter SPICE-Name Aus Schritt Ihr Wert --------------- ---------------- ----------------- ------------------------------ I_S IS 4

    n NF 4

    beta_F BF 5

    V_A VAF 6

    I_KF IKF 7

    R_B,int RBM 8 ---------------------------------------------------------------------------------

    Die Basis-Early-Spannung VAR/V_AB ist messtechnisch aufwendiger zu bestimmen und wird in der Praxis häufig per Faustregel mit V_AB ≈ 2 · V_A abgeschätzt, falls keine separate Messung erfolgt.

    10 Plausibilitätsbereiche für Kleinsignal-Si-Transistoren

    Liegt Ihr Ergebnis weit außerhalb dieser Bereiche, prüfen Sie Messpunkte und Rechnung auf Fehler:


    Parameter Typischer Bereich Hinweis bei Abweichung --------------- ----------------------- ------------------------------------------------------------------ n 1.00 - 1.10 deutlich höher: ungeeignete Messpunkte (zu kleiner/großer Strom)

    I_S 1e-15 - 1e-12 A stark temperaturabhängig, Messtemperatur prüfen

    beta_F 50 - 800 Datenblatt-Klassengrenzen des Transistors beachten

    V_A 30 - 200 V negativer Wert: Punkte vertauscht oder Ablesefehler

    I_KF 10 mA - 1 A abhängig vom Bauteil, vgl. I_C,max im Datenblatt

    R_B,int 1 - 50 Ω negativer Wert: Hochstrompunkt nicht hoch genug gewählt ----------------------------------------------------------------------------------------------------------


    Zur Messvorschrift wird hier nichts gerechnet

    Dieses Teilmanuskript ist eine Arbeitsanweisung für den Messplatz: welche Kennlinie in welcher Reihenfolge aufzunehmen ist, damit hinterher jeder SPICE-Parameter bestimmbar wird. Es beschreibt kein Rechenverfahren, und in seinem Bestand gibt es dazu kein Programm. Was aus den so gewonnenen Daten abgelesen wird, steht im Reiter Parameterextraktion; welcher Parameter aus diesen Daten nicht bestimmbar ist, steht dort in derselben Tafel.