Procházet zdrojové kódy

Add potentiometer to simulation

Jonatan Gezelius před 2 roky
rodič
revize
854384820c

+ 25 - 0
Simulations/VCA/Potentiometer.asy

@@ -0,0 +1,25 @@
+Version 4
+SymbolType CELL
+LINE Normal 0 -32 0 -16
+LINE Normal 0 32 0 16
+LINE Normal 32 0 5 0
+LINE Normal 5 0 9 -4
+LINE Normal 9 4 5 0
+RECTANGLE Normal 5 16 -5 -16
+WINDOW 0 14 -27 Left 0
+WINDOW 3 14 17 Left 0
+WINDOW 123 12 27 Left 0
+SYMATTR Value rpot=100k
+SYMATTR Value2 wiper=0.5
+SYMATTR ModelFile potentiometers.lib
+SYMATTR Prefix X
+SYMATTR SpiceModel simple_potentiometer
+PIN 0 -32 NONE 8
+PINATTR PinName 1
+PINATTR SpiceOrder 1
+PIN 32 0 NONE 8
+PINATTR PinName 2
+PINATTR SpiceOrder 2
+PIN 0 32 NONE 8
+PINATTR PinName 3
+PINATTR SpiceOrder 3

+ 91 - 48
Simulations/VCA/Vc-summing.asc

@@ -1,48 +1,63 @@
 Version 4
-SHEET 1 880 896
+SHEET 1 2088 896
+WIRE -144 -208 -288 -208
+WIRE 176 -208 -64 -208
+WIRE -288 -144 -288 -208
 WIRE -960 -32 -960 -64
 WIRE -960 -32 -1040 -32
 WIRE -1040 0 -1040 -32
 WIRE -960 0 -960 -32
-WIRE 224 0 192 0
-WIRE 256 0 224 0
-WIRE 256 96 256 0
-WIRE -304 144 -592 144
-WIRE -112 144 -304 144
-WIRE 160 144 -32 144
-WIRE 624 144 352 144
-WIRE -592 176 -592 144
-WIRE 624 176 624 144
-WIRE 320 464 192 464
-WIRE 320 512 320 464
-WIRE 192 576 192 464
-WIRE 144 592 80 592
-WIRE -304 656 -304 144
-WIRE 80 656 80 592
-WIRE 80 656 -304 656
-WIRE 144 656 80 656
-WIRE 192 800 192 672
-WIRE 256 800 192 800
-WIRE 432 800 336 800
-WIRE 464 800 432 800
-FLAG 624 256 0
-FLAG -592 256 0
-FLAG 224 0 RightAtt
+WIRE 1664 48 1232 48
+WIRE 1664 144 1664 48
+WIRE 176 176 176 -208
+WIRE 240 176 176 176
+WIRE 352 176 320 176
+WIRE 1232 192 1232 48
+WIRE 1296 192 1232 192
+WIRE 1568 192 1376 192
+WIRE 2032 192 1760 192
+WIRE 496 208 432 208
+WIRE 656 208 576 208
+WIRE -288 224 -288 192
+WIRE 2032 224 2032 192
+WIRE -288 320 -288 304
+WIRE -32 320 -288 320
+WIRE 240 320 144 320
+WIRE 352 320 352 176
+WIRE 352 320 320 320
+WIRE 432 320 432 208
+WIRE 432 320 352 320
+WIRE 496 320 432 320
+WIRE -288 336 -288 320
+WIRE 656 336 656 208
+WIRE 656 336 560 336
+WIRE 736 336 656 336
+WIRE 496 352 448 352
+WIRE 1232 352 1232 192
+WIRE 448 400 448 352
+WIRE -288 448 -288 416
+WIRE -64 640 -256 640
+WIRE 144 640 144 320
+WIRE 144 640 -64 640
+FLAG 2032 304 0
 FLAG -1040 0 0
 FLAG -960 -144 V+
 FLAG -960 80 V-
-FLAG 320 592 0
-FLAG 432 800 RightAtt
-SYMBOL voltage 624 160 R0
+FLAG 1232 352 0
+FLAG -288 -64 0
+FLAG -288 192 V+
+FLAG -32 320 ManualCV
+FLAG -288 448 V-
+FLAG 528 304 V+
+FLAG 528 368 V-
+FLAG 448 400 0
+FLAG -288 672 V-
+FLAG -288 608 V+
+FLAG -64 640 AnotherCV
+SYMBOL voltage 2032 208 R0
 SYMATTR InstName V1
 SYMATTR Value 0
-SYMBOL voltage -592 160 R0
-WINDOW 123 24 124 Left 2
-WINDOW 39 0 0 Left 0
-SYMATTR Value2 AC 5
-SYMATTR InstName V2
-SYMATTR Value SINE(0 5 5 0)
-SYMBOL res -128 160 R270
+SYMBOL res 1280 208 R270
 WINDOW 0 32 56 VTop 2
 WINDOW 3 0 56 VBottom 2
 SYMATTR InstName R1
@@ -53,17 +68,45 @@ SYMATTR Value 12
 SYMBOL voltage -960 -16 R0
 SYMATTR InstName V4
 SYMATTR Value 12
-SYMBOL voltage 320 496 R0
-SYMATTR InstName V5
-SYMATTR Value 3.3
-SYMBOL res 240 816 R270
-WINDOW 0 32 56 VTop 2
-WINDOW 3 0 56 VBottom 2
-SYMATTR InstName R3
-SYMATTR Value 100
-SYMBOL pmos 144 672 M180
-SYMATTR InstName M1
-SYMATTR Value BSS84
-SYMBOL SSI2161 240 144 R0
+SYMBOL SSI2161 1648 192 R0
 SYMATTR InstName U1
-TEXT -384 -296 Left 2 !.tran 1
+SYMBOL res -304 208 R0
+SYMATTR InstName R2
+SYMATTR Value {PotUpper}
+SYMBOL res -304 320 R0
+SYMATTR InstName R3
+SYMATTR Value {PotLower}
+SYMBOL voltage -288 -160 R0
+SYMATTR InstName V2
+SYMATTR Value {CVin}
+SYMBOL res -48 -224 R90
+WINDOW 0 0 56 VBottom 2
+WINDOW 3 32 56 VTop 2
+SYMATTR InstName R4
+SYMATTR Value 1k
+SYMBOL res 336 304 R90
+WINDOW 0 0 56 VBottom 2
+WINDOW 3 32 56 VTop 2
+SYMATTR InstName R5
+SYMATTR Value 100k
+SYMBOL res 336 160 R90
+WINDOW 0 0 56 VBottom 2
+WINDOW 3 32 56 VTop 2
+SYMATTR InstName R6
+SYMATTR Value 50k
+SYMBOL res 592 192 R90
+WINDOW 0 0 56 VBottom 2
+WINDOW 3 32 56 VTop 2
+SYMATTR InstName R7
+SYMATTR Value 50k
+SYMBOL Opamps\\UniversalOpamp2 528 336 R0
+SYMATTR InstName U2
+SYMBOL Potentiometer -288 640 R0
+SYMATTR InstName U3
+SYMATTR Value2 wiper={PotSlider}
+TEXT -928 480 Left 2 !.op 1
+TEXT -1136 256 Left 2 !.param PotSlider=0\n.param PotResistance=100k\n.param PotUpper={PotResistance*PotSlider+1m}\n.param PotLower={PotResistance*(1-PotSlider)+1m}
+TEXT -1120 408 Left 2 !.meas Rtop param PotUpper
+TEXT -1128 440 Left 2 !.meas Rbot param PotLower
+TEXT -600 -24 Left 2 !.param cvin 0
+TEXT -744 160 Left 2 !.step param PotSlider 0 1 0.1

+ 7 - 0
Simulations/VCA/potentiometers.lib

@@ -0,0 +1,7 @@
+.subckt simple_potentiometer 1 2 3
+R1 1 2 {(Rpot*wiper)+1m}
+R2 2 3 {(Rpot*(1-wiper))+1m}
+
+.param Rpot=100k
+.param wiper=0.5
+.ends