C
Chris Carlen
Hi:
I have LTSpice 05/24/04 version. The circuit attached won't .op with
the 2-pole op-amp as shown.
Any idea how to make it more amenable to converging?
I stuck the B source in so I could use an ideal opamp in place of U4 and
still get the clipping. So the B is redundant with the 2-pole opamp
installed.
Cut out the 2-pole and install an ideal amp, and the circuit converges
in .op just fine.
Anything can be done about this?
I have this trouble a lot when using the parametrized opamps. Bummer
because I like them when modeling systems when I don't yet want to think
about component specs.
Thanks.
Good day!
--
_____________________
Christopher R. Carlen
[email protected]
Suse 8.1 Linux 2.4.19
Version 4
SHEET 1 1812 680
WIRE -352 -128 -352 -192
WIRE -352 -272 -352 -336
WIRE 240 -736 208 -736
WIRE 208 -736 208 -656
WIRE 208 -656 240 -656
WIRE 208 -656 176 -656
WIRE 304 -736 336 -736
WIRE 336 -736 336 -640
WIRE 336 -640 304 -640
WIRE 96 -656 -32 -656
WIRE 208 -592 208 -624
WIRE 208 -624 240 -624
WIRE 208 -176 208 -208
WIRE 208 -208 240 -208
WIRE 176 -240 208 -240
WIRE 224 -320 208 -320
WIRE 208 -320 208 -240
WIRE 208 -240 240 -240
WIRE 304 -320 336 -320
WIRE 336 -320 336 -224
WIRE 336 -224 304 -224
WIRE 0 -240 -32 -240
WIRE -176 -336 -352 -336
WIRE -176 -288 -240 -288
WIRE -128 -352 -128 -480
WIRE -32 -480 -32 -656
WIRE -32 -480 -32 -448
WIRE -128 -272 -128 -224
WIRE 688 -416 768 -416
WIRE 1376 -112 -240 -112
WIRE -240 -112 -240 -288
WIRE -128 -480 -32 -480
WIRE 336 -640 384 -640
WIRE 336 -224 384 -224
WIRE 976 -416 1024 -416
WIRE 1024 -416 1024 -368
WIRE 1024 -416 1072 -416
WIRE 1200 -368 1200 -416
WIRE 1200 -416 1152 -416
WIRE 1200 -416 1376 -416
WIRE 1024 -256 1024 -304
WIRE 1200 -304 1200 -256
WIRE 1376 -304 1376 -416
WIRE 1376 -224 1376 -112
WIRE 64 -240 96 -240
WIRE 208 -384 208 -416
WIRE 208 -416 240 -416
WIRE 96 -448 -32 -448
WIRE -32 -448 -32 -240
WIRE 176 -448 208 -448
WIRE 240 -528 208 -528
WIRE 208 -528 208 -448
WIRE 208 -448 240 -448
WIRE 320 -528 352 -528
WIRE 304 -432 352 -432
WIRE 352 -432 352 -528
WIRE 656 -384 656 -352
WIRE 656 -352 688 -352
WIRE 656 -448 656 -480
WIRE 656 -480 688 -480
WIRE 704 -528 768 -528
WIRE 768 -528 768 -416
WIRE 624 -528 544 -528
WIRE 544 -528 544 -432
WIRE 544 -432 624 -432
WIRE 544 -432 496 -432
WIRE 496 -640 544 -640
WIRE 544 -640 544 -528
WIRE 544 -432 544 -224
WIRE 544 -224 496 -224
WIRE 416 -224 384 -224
WIRE 416 -432 384 -432
WIRE 416 -640 384 -640
WIRE 592 -368 592 -400
WIRE 592 -400 624 -400
WIRE 384 -432 352 -432
WIRE 1568 -464 1568 -512
WIRE 1680 -512 1680 -464
WIRE 1568 -592 1568 -656
WIRE 1680 -592 1680 -656
WIRE 816 -368 816 -416
WIRE 816 -416 768 -416
WIRE 864 -384 864 -416
WIRE 864 -416 896 -416
WIRE 864 -256 864 -304
WIRE 816 -368 832 -368
FLAG -352 -128 0
FLAG 208 -592 0
FLAG 208 -176 0
FLAG -128 -224 0
FLAG -352 -336 Vref
FLAG -240 -288 Vp2
FLAG 384 -640 Vi
FLAG 384 -224 Vd
FLAG -240 -48 0
FLAG 1024 -256 0
FLAG 1200 -256 0
FLAG 208 -384 0
FLAG -128 -480 Verr
FLAG 688 -480 Vdd
FLAG 688 -352 Vss
FLAG 592 -368 0
FLAG 384 -432 Vp
FLAG 768 -416 Vc
FLAG 1568 -464 0
FLAG 1680 -464 0
FLAG 1568 -656 Vdd
FLAG 1680 -656 Vss
FLAG 864 -256 0
SYMBOL voltage -352 -288 R0
WINDOW 3 -325 56 Left 0
WINDOW 123 -325 84 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(5 5.1 0.1 1u 1u 2 4)
SYMATTR Value2 AC 1
SYMATTR InstName V1
SYMBOL Opamps\\opamp 272 -704 R0
SYMATTR InstName U1
SYMBOL Opamps\\opamp 272 -288 R0
SYMATTR InstName U3
SYMBOL e -128 -368 R0
SYMATTR InstName E1
SYMATTR Value 1
SYMBOL res 80 -640 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R1
SYMATTR Value {1/Ki}
SYMBOL cap 240 -720 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName C1
SYMATTR Value 1
SYMBOL res 208 -304 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R2
SYMATTR Value {Kd}
SYMBOL cap 0 -224 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName C2
SYMATTR Value 1
SYMBOL res 880 -400 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 95 56 VBottom 0
SYMATTR InstName R4
SYMATTR Value 1
SYMBOL res 1056 -400 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 95 59 VBottom 0
SYMATTR InstName R5
SYMATTR Value {Km}
SYMBOL cap 1008 -368 R0
SYMATTR InstName C3
SYMATTR Value {1/Kf}
SYMBOL cap 1184 -368 R0
SYMATTR InstName C4
SYMATTR Value {1/(Km*Kf)}
SYMBOL res 1360 -320 R0
SYMATTR InstName R3
SYMATTR Value {1000*Km}
SYMBOL res 80 -224 R270
WINDOW 0 64 54 VTop 0
WINDOW 3 63 58 VBottom 0
SYMATTR InstName R6
SYMATTR Value {Kd/(f1*10)}
SYMBOL Opamps\\opamp 272 -496 R0
SYMATTR InstName U2
SYMBOL res 80 -432 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R7
SYMATTR Value 1
SYMBOL res 224 -512 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R8
SYMATTR Value {Kp}
SYMBOL res 400 -624 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R9
SYMATTR Value 10k
SYMBOL res 400 -416 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R10
SYMATTR Value 10k
SYMBOL res 400 -208 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R11
SYMATTR Value 10k
SYMBOL res 608 -512 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R12
SYMATTR Value 10k
SYMBOL voltage 1568 -608 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value {Vdriver}
SYMBOL voltage 1680 -496 M180
WINDOW 0 24 104 Left 0
WINDOW 3 24 16 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value {Vdriver}
SYMBOL bv 864 -400 R0
WINDOW 3 -132 189 Left 0
SYMATTR Value V=limit(v(Vc),v(Vss),v(Vdd))
SYMATTR InstName B1
SYMBOL Opamps\\2pole 656 -416 R0
SYMATTR InstName U4
TEXT 120 0 Left 0 !.params Kp={0.204871*2*pi*f1} Ki={1*2*pi*f1} Kd={0.0104926*2*pi*f1} f1=10
TEXT 122 58 Left 0 !.op
TEXT 120 -56 Left 0 !.lib opamp.sub
TEXT 968 -600 Left 0 !.param fc=1
TEXT 968 -552 Left 0 !.params Km=1000 Kf={2*pi*fc/0.643594}
TEXT 968 -648 Left 0 ;For 2-pole cascade low-pass:
TEXT 1016 -56 Left 0 ;These PID parameters have been calculated\nso that they produce a numerator polynomial\nfor the compensator Hc(s) that cancels the numerator\nand denominator polynomials of the plant Hp(s).\n The parameter f1 sets the unity gain frequency in Hz for\nthe open loop transfer function which is just 2*pi*f1/s.\nIf you change the 2-pole filter fc, you must recompute the\nPID parameters by hand.
TEXT -720 -680 Left 0 ;Slight modification to original PID includes a high-frequency\nrolloff to the differentiator response, to avoid it producing very\nhigh voltage spikes in response to fast step input changes. \nThis additional pole is far enough above f1 of the open-loop \nresponse that it has negligible effect on the behavior compared\nto a straight differentiator.
TEXT 1520 -384 Left 0 !.param Vdriver=15
TEXT -720 104 Left 0 ;Copyright (C) 2004 by Christopher R. Carlen
I have LTSpice 05/24/04 version. The circuit attached won't .op with
the 2-pole op-amp as shown.
Any idea how to make it more amenable to converging?
I stuck the B source in so I could use an ideal opamp in place of U4 and
still get the clipping. So the B is redundant with the 2-pole opamp
installed.
Cut out the 2-pole and install an ideal amp, and the circuit converges
in .op just fine.
Anything can be done about this?
I have this trouble a lot when using the parametrized opamps. Bummer
because I like them when modeling systems when I don't yet want to think
about component specs.
Thanks.
Good day!
--
_____________________
Christopher R. Carlen
[email protected]
Suse 8.1 Linux 2.4.19
Version 4
SHEET 1 1812 680
WIRE -352 -128 -352 -192
WIRE -352 -272 -352 -336
WIRE 240 -736 208 -736
WIRE 208 -736 208 -656
WIRE 208 -656 240 -656
WIRE 208 -656 176 -656
WIRE 304 -736 336 -736
WIRE 336 -736 336 -640
WIRE 336 -640 304 -640
WIRE 96 -656 -32 -656
WIRE 208 -592 208 -624
WIRE 208 -624 240 -624
WIRE 208 -176 208 -208
WIRE 208 -208 240 -208
WIRE 176 -240 208 -240
WIRE 224 -320 208 -320
WIRE 208 -320 208 -240
WIRE 208 -240 240 -240
WIRE 304 -320 336 -320
WIRE 336 -320 336 -224
WIRE 336 -224 304 -224
WIRE 0 -240 -32 -240
WIRE -176 -336 -352 -336
WIRE -176 -288 -240 -288
WIRE -128 -352 -128 -480
WIRE -32 -480 -32 -656
WIRE -32 -480 -32 -448
WIRE -128 -272 -128 -224
WIRE 688 -416 768 -416
WIRE 1376 -112 -240 -112
WIRE -240 -112 -240 -288
WIRE -128 -480 -32 -480
WIRE 336 -640 384 -640
WIRE 336 -224 384 -224
WIRE 976 -416 1024 -416
WIRE 1024 -416 1024 -368
WIRE 1024 -416 1072 -416
WIRE 1200 -368 1200 -416
WIRE 1200 -416 1152 -416
WIRE 1200 -416 1376 -416
WIRE 1024 -256 1024 -304
WIRE 1200 -304 1200 -256
WIRE 1376 -304 1376 -416
WIRE 1376 -224 1376 -112
WIRE 64 -240 96 -240
WIRE 208 -384 208 -416
WIRE 208 -416 240 -416
WIRE 96 -448 -32 -448
WIRE -32 -448 -32 -240
WIRE 176 -448 208 -448
WIRE 240 -528 208 -528
WIRE 208 -528 208 -448
WIRE 208 -448 240 -448
WIRE 320 -528 352 -528
WIRE 304 -432 352 -432
WIRE 352 -432 352 -528
WIRE 656 -384 656 -352
WIRE 656 -352 688 -352
WIRE 656 -448 656 -480
WIRE 656 -480 688 -480
WIRE 704 -528 768 -528
WIRE 768 -528 768 -416
WIRE 624 -528 544 -528
WIRE 544 -528 544 -432
WIRE 544 -432 624 -432
WIRE 544 -432 496 -432
WIRE 496 -640 544 -640
WIRE 544 -640 544 -528
WIRE 544 -432 544 -224
WIRE 544 -224 496 -224
WIRE 416 -224 384 -224
WIRE 416 -432 384 -432
WIRE 416 -640 384 -640
WIRE 592 -368 592 -400
WIRE 592 -400 624 -400
WIRE 384 -432 352 -432
WIRE 1568 -464 1568 -512
WIRE 1680 -512 1680 -464
WIRE 1568 -592 1568 -656
WIRE 1680 -592 1680 -656
WIRE 816 -368 816 -416
WIRE 816 -416 768 -416
WIRE 864 -384 864 -416
WIRE 864 -416 896 -416
WIRE 864 -256 864 -304
WIRE 816 -368 832 -368
FLAG -352 -128 0
FLAG 208 -592 0
FLAG 208 -176 0
FLAG -128 -224 0
FLAG -352 -336 Vref
FLAG -240 -288 Vp2
FLAG 384 -640 Vi
FLAG 384 -224 Vd
FLAG -240 -48 0
FLAG 1024 -256 0
FLAG 1200 -256 0
FLAG 208 -384 0
FLAG -128 -480 Verr
FLAG 688 -480 Vdd
FLAG 688 -352 Vss
FLAG 592 -368 0
FLAG 384 -432 Vp
FLAG 768 -416 Vc
FLAG 1568 -464 0
FLAG 1680 -464 0
FLAG 1568 -656 Vdd
FLAG 1680 -656 Vss
FLAG 864 -256 0
SYMBOL voltage -352 -288 R0
WINDOW 3 -325 56 Left 0
WINDOW 123 -325 84 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(5 5.1 0.1 1u 1u 2 4)
SYMATTR Value2 AC 1
SYMATTR InstName V1
SYMBOL Opamps\\opamp 272 -704 R0
SYMATTR InstName U1
SYMBOL Opamps\\opamp 272 -288 R0
SYMATTR InstName U3
SYMBOL e -128 -368 R0
SYMATTR InstName E1
SYMATTR Value 1
SYMBOL res 80 -640 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R1
SYMATTR Value {1/Ki}
SYMBOL cap 240 -720 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName C1
SYMATTR Value 1
SYMBOL res 208 -304 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R2
SYMATTR Value {Kd}
SYMBOL cap 0 -224 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName C2
SYMATTR Value 1
SYMBOL res 880 -400 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 95 56 VBottom 0
SYMATTR InstName R4
SYMATTR Value 1
SYMBOL res 1056 -400 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 95 59 VBottom 0
SYMATTR InstName R5
SYMATTR Value {Km}
SYMBOL cap 1008 -368 R0
SYMATTR InstName C3
SYMATTR Value {1/Kf}
SYMBOL cap 1184 -368 R0
SYMATTR InstName C4
SYMATTR Value {1/(Km*Kf)}
SYMBOL res 1360 -320 R0
SYMATTR InstName R3
SYMATTR Value {1000*Km}
SYMBOL res 80 -224 R270
WINDOW 0 64 54 VTop 0
WINDOW 3 63 58 VBottom 0
SYMATTR InstName R6
SYMATTR Value {Kd/(f1*10)}
SYMBOL Opamps\\opamp 272 -496 R0
SYMATTR InstName U2
SYMBOL res 80 -432 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R7
SYMATTR Value 1
SYMBOL res 224 -512 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R8
SYMATTR Value {Kp}
SYMBOL res 400 -624 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R9
SYMATTR Value 10k
SYMBOL res 400 -416 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R10
SYMATTR Value 10k
SYMBOL res 400 -208 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R11
SYMATTR Value 10k
SYMBOL res 608 -512 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R12
SYMATTR Value 10k
SYMBOL voltage 1568 -608 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value {Vdriver}
SYMBOL voltage 1680 -496 M180
WINDOW 0 24 104 Left 0
WINDOW 3 24 16 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value {Vdriver}
SYMBOL bv 864 -400 R0
WINDOW 3 -132 189 Left 0
SYMATTR Value V=limit(v(Vc),v(Vss),v(Vdd))
SYMATTR InstName B1
SYMBOL Opamps\\2pole 656 -416 R0
SYMATTR InstName U4
TEXT 120 0 Left 0 !.params Kp={0.204871*2*pi*f1} Ki={1*2*pi*f1} Kd={0.0104926*2*pi*f1} f1=10
TEXT 122 58 Left 0 !.op
TEXT 120 -56 Left 0 !.lib opamp.sub
TEXT 968 -600 Left 0 !.param fc=1
TEXT 968 -552 Left 0 !.params Km=1000 Kf={2*pi*fc/0.643594}
TEXT 968 -648 Left 0 ;For 2-pole cascade low-pass:
TEXT 1016 -56 Left 0 ;These PID parameters have been calculated\nso that they produce a numerator polynomial\nfor the compensator Hc(s) that cancels the numerator\nand denominator polynomials of the plant Hp(s).\n The parameter f1 sets the unity gain frequency in Hz for\nthe open loop transfer function which is just 2*pi*f1/s.\nIf you change the 2-pole filter fc, you must recompute the\nPID parameters by hand.
TEXT -720 -680 Left 0 ;Slight modification to original PID includes a high-frequency\nrolloff to the differentiator response, to avoid it producing very\nhigh voltage spikes in response to fast step input changes. \nThis additional pole is far enough above f1 of the open-loop \nresponse that it has negligible effect on the behavior compared\nto a straight differentiator.
TEXT 1520 -384 Left 0 !.param Vdriver=15
TEXT -720 104 Left 0 ;Copyright (C) 2004 by Christopher R. Carlen