Für die Schaltung in der Abbildung (sowohl in Altium Designer 16 als auch in Proteus 8) hatte ich durch die Verwendung des Standard-NPN-Spice-Modells wirklich Schwierigkeiten, die Simulation zu konvergieren.
Ich habe Trapezoid und Gear von Ordnung 2 bis 6 ausprobiert und versucht, den GMIN-Parameter zu erhöhen, Toleranzen, minimalen Zeitschritt usw. zu ändern. Ich war nicht in der Lage, diesen Oszillator mit dem Standard-NPN-Spice-Modell zum Laufen zu bringen.
Beim Wechsel des NPN in ein 2N3904-Modell konvergierte die Lösung ohne Probleme in beiden Softwares.
Meine Frage ist, warum dies passiert? Welche Modellkomponenten befinden sich im 2N3904, die nicht im NPN-Modell enthalten sind? ... Ich dachte, beide Modelle wären gleich (derselbe Gummel und Poon), nur die Werte der Parameter geändert. Oder sind die Parameterwerte im 2N3904 "sanfter", um den Oszillator laufen zu lassen?
Vielen Dank im Voraus.
NPN verwendet einen Standardparameter BF=100. Ihre Schaltung zeigt einen Kollektorwiderstand, der 100-mal kleiner ist als Ihr Basiswiderstand, und er muss die nächste Stufe durch einen Kondensator treiben. Diese Dinge deuten stark darauf hin, dass Ihr Kollektorwiderstand einen zu niedrigen Wert hat (oder dass Ihr Basiswiderstand niedriger sein sollte). Wenn Sie den Standardwert BF = 100 mit dem NPN-Modell nicht ändern, würde ich empfehlen, entweder zu erhöhen die Kollektorwiderstandswerte oder aber die Basiswiderstandswerte verringern. Oder einfach erhöhen durch Setzen von BF=200 oder so.
Der andere Aspekt ist die Ladungsspeicherung innerhalb des BJT. Die beiden Parameter, die ich ändern möchte, wären entweder TF oder TR oder beides. TF wird aus der Einheitsverstärkungsbandbreite des BJT berechnet, und TR wird aus der Sättigungszeitkonstante berechnet. Im NPN-Modell sind diese beiden Werte auf 0 gesetzt, was überhaupt nicht realistisch ist und in einer Schaltung wie dieser Probleme verursachen wird.
TF ist in einem echten BJT nicht wirklich konstant, aber die einfacheren Modelle gehen davon aus, dass dies der Fall ist. (In Wirklichkeit variiert es mit dem Kollektorstrom.) Es wird verwendet, um die überschüssige Ladung zu modellieren, die im BJT gespeichert ist, wenn sein Emitter-Basis-Übergang in Vorwärtsrichtung vorgespannt ist, und wird verwendet, um die Emitterdiffusionskapazität des BJT zu berechnen. (Sie können den Wert mit einem Netzteil, einer kleinen Signalquelle und einem Oszilloskop ermitteln.) Wenn Sie keine Ahnung haben, verwenden Sie einfach TF=300p. Bei RF BJTs wird es jedoch kleiner sein.
TR ist komplizierter zu messen und modelliert die überschüssige Ladung, die im BJT gespeichert ist, wenn sein Kollektor-Basis-Übergang in Vorwärtsrichtung vorgespannt ist. Es berechnet die Kollektordiffusionskapazität des BJT. Wenn Sie keine Ahnung über den Wert haben, verwenden Sie einfach TR=20n.
Also würde ich wahrscheinlich nur das NPN-Modell akzeptieren, aber die Dinge so einrichten:
.model MYNPN ako:NPN NPN(TR=20n TF=300p BF=200)
Oder etwas ähnliches. Vielleicht kommst du mit einem niedrigeren BF davon. Aber angesichts Ihrer Widerstandswerte würde ich der Versuchung widerstehen und bei einem höheren Wert für BF als dem Standard bleiben.
jonk
Brethlosze
jonk
Tony Stewart EE75
Brethlosze