Forum: Analoge Elektronik und Schaltungstechnik Simulationsproblem mit Spice: AC und TRAN passen nicht zusammen


von M. K. (sylaina)



Lesenswert?

Hallo Freunde der numerischen Berechnungen,

ich hab da ein kleines Problem mit Spice. Und zwar passen die Ergebnisse 
von der AC und TRAN Analyse nicht zusammen. Erklären kann ich mir das 
aber nicht wirklich. Wie man sehen kann kommt bei der AC-Analyse heraus, 
dass von 1V nur 0.56V am Ausgang ankommen (Spannungsfolger), auch im 
Milliherz-Bereich. Ein 5 Hz, 2 V Signal wird aber praktisch ungedämpft 
durchgereicht (bis etwa 50 kHz klappt das was auch zum Datenblatt des 
LM358 passt, vgl. Large Signal Frequency Responce Diagramm).
Hat da jemand eine Idee warum die AC-Analyse nicht passt? Ich vermute 
den Fehler erstmal da.
1
* OPV_Test 2014-12-19 19:52:12 +0100
2
.options gmin = 1e-25
3
.ac dec 1k 1 100meg
4
.print ac v(outLM358)
5
.tran 100u 1 0
6
.print tran v(outLM358)
7
Vdc1 1 0 DC 15.0
8
RiVcc 1 Vcc 100m
9
Vdc2 2 0 DC SIN(1 1 5) AC 1
10
RiSig 2 Sig 100m
11
X1 Sig 0 outLM358 Vcc outLM358 LM358
12
* 2006-07-18 12:19:45 +0200
13
.SUBCKT LM358 1 50 28 99 2
14
15
16
*//////////////////////////////////////////////////////////////////////
17
* (C) National Semiconductor, Inc.
18
* Models developed and under copyright by:
19
* National Semiconductor, Inc.  
20
21
*/////////////////////////////////////////////////////////////////////
22
* Legal Notice: This material is intended for free software support.
23
* The file may be copied, and distributed; however, reselling the 
24
*  material is illegal
25
26
*////////////////////////////////////////////////////////////////////
27
* For ordering or technical information on these models, contact:
28
* National Semiconductor's Customer Response Center
29
*                 7:00 A.M.--7:00 P.M.  U.S. Central Time
30
*                                (800) 272-9959
31
* For Applications support, contact the Internet address:
32
*  amps-apps@galaxy.nsc.com
33
34
*//////////////////////////////////////////////////////////
35
*LM358 DUAL OPERATIONAL AMPLIFIER MACRO-MODEL
36
*//////////////////////////////////////////////////////////
37
*
38
* connections:      non-inverting input
39
*                   |   inverting input
40
*                   |   |   positive power supply
41
*                   |   |   |   negative power supply
42
*                   |   |   |   |   output
43
*                   |   |   |   |   |
44
*                   |   |   |   |   |
45
*.SUBCKT LM358   1   2  99  50  28
46
*
47
*Features:
48
*Eliminates need for dual supplies
49
*Large DC voltage gain =             100dB
50
*High bandwidth =                     1MHz
51
*Low input offset voltage =            2mV
52
*Wide supply range =       +-1.5V to +-16V
53
*
54
*NOTE: Model is for single device only and simulated
55
*      supply current is 1/2 of total device current.
56
*      Output crossover distortion with dual supplies
57
*      is not modeled.
58
*
59
****************INPUT STAGE**************
60
*
61
IOS 2 1 5N
62
*^Input offset current
63
R1 1 3 500K
64
R2 3 2 500K
65
I1 99 4 100U
66
R3 5 50 517
67
R4 6 50 517
68
Q1 5 2 4 QX
69
Q2 6 7 4 QX
70
*Fp2=1.2 MHz
71
C4 5 6 128.27P
72
*
73
***********COMMON MODE EFFECT***********
74
*
75
I2 99 50 75U
76
*^Quiescent supply current
77
*EOS 7 1 POLY(1) 16 49 2E-3 1
78
BOS 7 1 V=2e-3+V(16)-V(49)
79
*Input offset voltage.^
80
R8 99 49 60K
81
R9 49 50 60K
82
*
83
*********OUTPUT VOLTAGE LIMITING********
84
V2 99 8 1.63
85
D1 9 8 DX
86
D2 10 9 DX
87
V3 10 50 .635
88
*
89
**************SECOND STAGE**************
90
*
91
EH 99 98 99 49 1
92
*G1 98 9 POLY(1) 5 6 0 9.8772E-4 0 .3459
93
BG1 98 9 I=9.8772e-4*(V(5)-V(6))
94
*Fp1=7.86 Hz
95
R5 98 9 101.2433MEG
96
C3 98 9 200P
97
*
98
***************POLE STAGE***************
99
*
100
*Fp=2 MHz
101
G3 98 15 9 49 1E-6
102
R12 98 15 1MEG
103
C5 98 15 7.9577E-14
104
*
105
*********COMMON-MODE ZERO STAGE*********
106
*
107
*Fpcm=10 KHz
108
G4 98 16 3 49 5.6234E-8               
109
L2 98 17 15.9M
110
R13 17 16 1K
111
*
112
**************OUTPUT STAGE**************
113
*
114
*F6 50 99 POLY(1) V6 300U 1
115
BF6 50 99 I=300U+I(V6) 
116
E1 99 23 99 15 1
117
R16 24 23 17.5
118
D5 26 24 DX
119
V6 26 22 .63V
120
R17 23 25 17.5
121
D6 25 27 DX
122
V7 22 27 .63V
123
V5 22 21 0.27V
124
D4 21 15 DX
125
V4 20 22 0.27V
126
D3 15 20 DX
127
L3 22 28 500P
128
RL3 22 28 100K
129
*
130
***************MODELS USED**************
131
*
132
.MODEL DX D(IS=1E-15)
133
.MODEL QX PNP(BF=1.111E3)
134
.ENDS LM358
135
136
.end

von analogspiceman (Gast)


Lesenswert?

Es sieht so aus, als ob die Pins auf dem LM358 falsch angeschlossen sind 
(sie sind nicht in der richtigen Reihenfolge). Bitte achtest du genau 
auf ihre Beschreibung in der Teilschaltung Text: nicht-invertierenden 
Eingang, invertierenden Eingang, Vcc, Erde, Ausgang.

von Helmut S. (helmuts)


Lesenswert?

Vdc2 2 0 DC SIN(1 1 5) AC 1

Ein Eingangssignal sollte in deiner Schaltung nicht bis 0V gehen, da der 
Ausgang gar nicht besser 0V kann. Ein Blick ins Datenblatt lohnt sich 
immer.

Vdc2 2 0 DC SIN(2 1 5) AC 1

Man sollte den Opamp so anschließen wie er in der .subckt Zeile 
definiert ist.

X1 Sig outLM358 1 0 outLM358 LM358

von M. K. (sylaina)


Lesenswert?

analogspiceman schrieb:
> (sie sind nicht in der richtigen Reihenfolge)

Hast du vielleicht in die Zeile
1
*.SUBCKT LM358   1   2  99  50  28

geschaut? Das ist eine Kommentarzeile ;)

Du musst die Zeilen
1

2
X1 Sig 0 outLM358 Vcc outLM358 LM358
3

4
.SUBCKT LM358 1 50 28 99 2
5


vergleichen und da sieht man, er ist richtig angeschlossen.

Sig ist an Pin 1 und das ist der Nicht-Invertierende Eingang
0 (Bezugspotential/GND) ist an Pin 50 und das ist der Pin für die 
negative Versorgungsspannung
outLM358 ist an Pin 28 und das ist der Ausgang des OPVs
Vcc ist an Pin 99 und das ist der Pin für die positive 
Versorgungsspannung
outLM358 ist an Pin 2, das ist der invertierende Eingang, also die 
Rückkopplung für den Spannungsfolger

von M. K. (sylaina)


Lesenswert?

Helmut S. schrieb:
> Vdc2 2 0 DC SIN(1 1 5) AC 1
>
> Ein Eingangssignal sollte in deiner Schaltung nicht bis 0V gehen, da der
> Ausgang gar nicht besser 0V kann. Ein Blick ins Datenblatt lohnt sich
> immer.

Das erklärt aber nicht warum die TRAN-Analyse nicht zur AC-Analyse 
passt. Ich kann auch statt
1
Vdc2 2 0 DC SIN(1 1 5) AC 1
1
Vdc2 2 0 DC SIN(1 0.5 5) AC 1
eingeben, dann hab ich im TRAN zwar ein Signal das zwischen  0,5 V bis 
1,5V schwankt aber im AC-Teil hab ich dann immer noch 0,56 bei z.B. 5 Hz

von Achim S. (Gast)


Lesenswert?

Michael Köhler schrieb:
> ie man sehen kann kommt bei der AC-Analyse heraus,
> dass von 1V nur 0.56V am Ausgang ankommen (Spannungsfolger)

Bist du sicher, dass das nicht 0,56dB sind (also ungfähr Faktor 1)?

von M. K. (sylaina)


Lesenswert?

Achim S. schrieb:
> Bist du sicher, dass das nicht 0,56dB sind (also ungfähr Faktor 1)?

Ja, da bin ich sicher. Die Y-Achse ist bei diesen Einstellungen in Volt. 
0,56db als 1 zu werten ist recht gewagt, das sind doch irgend etwas um 
die 3 dann.

von RoJoe (Gast)


Lesenswert?

Michael Köhler schrieb:
> dass von 1V nur 0.56V am Ausgang ankommen

Die Kurve verläuft deutlich oberhalb der 0.56V-Linie.
Ändere mal manuell den MassStab.

von Achim S. (Gast)


Lesenswert?

Michael Köhler schrieb:
> 0,56db als 1 zu werten ist recht gewagt, das sind doch irgend etwas um
> die 3 dann.

????

10^(0,56/20)=1,066

von M. K. (sylaina)


Lesenswert?

RoJoe schrieb:
> Die Kurve verläuft deutlich oberhalb der 0.56V-Linie.
> Ändere mal manuell den MassStab.

Mein Fehler: Erklärung zu den Diagrammen: Die Zahlenwerte am Rand 
beschreiben den dargestellten Ausschnitt und keine Linien im Diagramm 
selbst.

Beispiel Transientenplot:

Ober Kante des Diagramms enstpricht dem Potential von 0.56V, untere 
Kante des Diagramms entspricht dem Potential 7.1e-5 V, linke Kante des 
Diagramms entspricht der Frequenz 1 Hz, rechte Kante des Diagramms 
entspricht der Frequenz 1e8 Hz, also 100 MHz

von M. K. (sylaina)


Lesenswert?

Achim S. schrieb:
> Michael Köhler schrieb:
>> 0,56db als 1 zu werten ist recht gewagt, das sind doch irgend etwas um
>> die 3 dann.
>
> ????
>
> 10^(0,56/20)=1,066

OK, durch 20 hab ich nicht geteilt (liegt am 
Programm/MachtDerGewohnheit). Aber wenn ich
1
Vdc1 1 0 DC 12.0 AC 1
2
R1 1 out 1k
3
.ac dec 1k 1 1e6
4
.print ac v(out)

bekomm ich auch 1 raus wie erwartet und nicht 0. Der Wert 0.56 ist also 
in Volt. ;)

von ArnoR (Gast)


Lesenswert?

Michael Köhler schrieb:
> Ich kann auch statt
> Vdc2 2 0 DC SIN(1 1 5) AC 1
> Vdc2 2 0 DC SIN(1 0.5 5) AC 1eingeben, dann
> hab ich im TRAN zwar ein Signal das zwischen  0,5 V bis
> 1,5V schwankt aber im AC-Teil hab ich dann immer noch 0,56 bei z.B. 5 Hz

Was eindeutig zeigt, dass es sich im AC-Diagramm um einen relativen 
Pegel (dB) handeln muss. Und die 0,56dB beziehen sich auch nicht auf den 
flachen geraden Teil der Kurve, sondern auf die Überhöhung bei hohen 
Frequenzen. Bei niedrigen Frequenzen ist der Pegel=0dB, also alles 
korrekt.

von analogspiceman (Gast)


Lesenswert?

Ich habe nicht gut genau an der Pin reihenfolge geachtet.  Die ist ein 
bisschen durcheinander, aber wenn die netliste ins LTspice kopiert ist, 
dann läuft sie problemlos.  Beide Analysen miteinander übereinstimmen.

von M. K. (sylaina)


Angehängte Dateien:

Lesenswert?

ArnoR schrieb:
> Was eindeutig zeigt, dass es sich im AC-Diagramm um einen relativen
> Pegel (dB) handeln muss. Und die 0,56dB beziehen sich auch nicht auf den
> flachen geraden Teil der Kurve, sondern auf die Überhöhung bei hohen
> Frequenzen. Bei niedrigen Frequenzen ist der Pegel=0dB, also alles
> korrekt.

Öhm, die Linie direkt unter dem graden Teil des Graphen ist die 0.5er 
Linie. Das jetzt mit 0 dB gleich zu setzen halte ich für gewagt. 
Gegenprobe zeigte außerdem, dass das Ergebnis nicht in dB ist, siehe 
oben.

 Anderes Spiceprogramm, gleiche Simulation, ähnliches (aber nicht 
gleiches) Ergebnis. Unterschied kommt höchstwahrscheinlich daher weil 
beide Programme auf unterschiedliche Spice-Versionen basieren (andere 
Lösungsstrategien usw.)

von M. K. (sylaina)


Lesenswert?

analogspiceman schrieb:
> Ich habe nicht gut genau an der Pin reihenfolge geachtet.  Die ist ein
> bisschen durcheinander, aber wenn die netliste ins LTspice kopiert ist,
> dann läuft sie problemlos.  Beide Analysen miteinander übereinstimmen.

Danke dir für diesen Check, dann liegt es wohl an den Programmen.

von Helmut S. (helmuts)


Lesenswert?

Das von die verwendete Modell ist falsch. Wo hast du das her?

von M. K. (sylaina)


Lesenswert?

Michael Köhler schrieb:
> analogspiceman schrieb:
>> Ich habe nicht gut genau an der Pin reihenfolge geachtet.  Die ist ein
>> bisschen durcheinander, aber wenn die netliste ins LTspice kopiert ist,
>> dann läuft sie problemlos.  Beide Analysen miteinander übereinstimmen.
>
> Danke dir für diesen Check, dann liegt es wohl an den Programmen.

Da hab ich mich wohl zu früh bedankt: Auch in LTSpice passen die 
Analysen nicht zusammen. AC gibt bei mir ca. - 5 dB aus als Maximum 
(siehe oben), das entspricht den 0.56 V

von M. K. (sylaina)


Lesenswert?

Helmut S. schrieb:
> Das von die verwendete Modell ist falsch. Wo hast du das her?

Von TI mein ich, ist schon einige Zeit her. Was ist denn daran falsch? 
Ich versteh aber nicht, selbst wenn es falsch ist, warum das Ergebnis 
aus der TRAN und AC Analyse nicht zusammen passt. Liegt das wirklich nur 
am Modell?

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

Das aktuelle Modell von TI sieht aber ganz anders aus.

von Achim S. (Gast)


Lesenswert?

Michael Köhler schrieb:
> Aber wenn ich
> Vdc1 1 0 DC 12.0 AC 1
> R1 1 out 1k
> .ac dec 1k 1 1e6
> .print ac v(out)
> bekomm ich auch 1 raus wie erwartet und nicht 0. Der Wert 0.56 ist also
> in Volt. ;)

Ok, dann sind es wohl wirklich 0,56V.

Ich bin nicht gerade geübt darin, Netzlisten im Textformat als Schaltung 
zu sehen. Ein Schaltbild hast du wohl nicht zur Hand?

Ansonsten rate ich mal: kannst du neben der Ausgangsspannung des lm358 
auch mal ausdrucken, welchen DC-Arbeitspunkt sein Eingang bei der 
AC-Analyse hat? Falls die AC-Analyse um 0V herum durchgeführt wird, 
könnte das die zu geringe Verstärkung erklären.

von M. K. (sylaina)


Angehängte Dateien:

Lesenswert?

Helmut S. schrieb:
> Das aktuelle Modell von TI sieht aber ganz anders aus.

Das mag ja sein aber wie erklärt es das Problem?

Achim S. schrieb:
> Ein Schaltbild hast du wohl nicht zur Hand?

Ich dachte das ist beim Spannungsfolger nicht erforderlich aber bitte 
schön, ich das Schaltbild dazu.

von Achim S. (Gast)


Lesenswert?

Michael Köhler schrieb:
> Ich dachte das ist beim Spannungsfolger nicht erforderlich aber bitte
> schön, ich das Schaltbild dazu.

wie ein Spannungsfolger aussieht, weiß ich schon. Aber was du an seinen 
Eingang angeschlossen hast sehe ich dem Schaltbild schneller an als dem 
Text.

Jetzt zu der zweiten Frage: kannst du den Arbeitspunkt (DC-Spannung) von 
Sig angeben, der während der AC-Analyse verwendet wird? Ich sehe zwar in 
deinem Text, dass ein Sinus mit 1V Offset eingestellt ist. Aber ich weiß 
nicht sicher, ob der Momentanwert von t=0 des Sinus für den Arbeitspunkt 
der DC-Analyse verwendet wird.

von Helmut S. (helmuts)


Lesenswert?

Jetzt sehe ich deinen Fehler.

Warum hast du die Reihenfolge vertauscht?

.SUBCKT LM358 1 50 28 99 2


*.SUBCKT LM358   1   2  99  50  28

So wäre es richtig mit diesem Aufruf

X1 Sig outLM358 Vcc 0 outLM358 LM358

.SUBCKT LM358   1   2  99  50  28



Noch eine kleine Korrektur

*G1 98 9 POLY(1) 5 6 0 9.8772E-4 0 .3459
BG1 98 9 
I=9.8772e-4*(V(5)-V(6))+0.3459*(V(5)-V(6))*(V(5)-V(6))*(V(5)-V(6))

von analogspiceman (Gast)


Lesenswert?

Der Fehler liegt hierbei:

Vdc2 2 0 SIN(1 1 5) AC 1

Ohne das Textchen "DC" läuft es treu (Ich hatte es als unnötig 
gelöscht).

Damit ist die Gleichstrombetriebspunkt falsch gefunden (Null statt genau 
ein Volt).

von Yalu X. (yalu) (Moderator)


Lesenswert?

Michael Köhler schrieb:
> Vdc2 2 0 DC SIN(1 1 5) AC 1

Das DC hier ist zuviel. Entweder DC oder SIN, aber nicht beides. Die
Kombination aus DC und SIN wird in der AC-Analyse von Spice
offensichtlich als DC 0 interpretiert. Warum das in der TRAN-Analyse
trotzdem funktioniert, hängt wohl irgendwie mit der unterschiedlichen
Auswertungsreihenfolge der einzelnen Parameter in den beiden Analysen
zusammen.

Edit:

analogspiceman war 1 Sekunde schneller :)

Das DC Schlüsselwort braucht man eigentlich nie, da es auch bei
DC-Quellen optional ist.

: Bearbeitet durch Moderator
von M. K. (sylaina)


Lesenswert?

Helmut S. schrieb:
> Jetzt sehe ich deinen Fehler.
>
> Warum hast du die Reihenfolge vertauscht?

Die Reihenfolge wurde vom Programm festgelegt als ich das Subcir mit dem 
Bildchen für den OPV verknüpfte. Das ist vielleicht nicht schön aber auf 
jeden Fall auch nicht falsch. Siehe auch mein Post von heute morgen um 
8:25 Uhr.

Helmut S. schrieb:
> Noch eine kleine Korrektur

Hab ich zugefügt, hebt die Kurve etwa um 0,1 V an. Hast du das aus dem 
aktuellen Modell?

von M. K. (sylaina)


Lesenswert?

Yalu X. schrieb:
> Das DC hier ist zuviel. Entweder DC oder SIN, aber nicht beides. Die
> Kombination aus DC und SIN wird in der AC-Analyse von Spice

…

Ach verdammt, jetzt wo ihr es sagt seh ich es auch. Wie konnte das denn 
passieren? Aber ihr habt recht, jetzt passt es auch ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.