From ca4e7fa4620e6a4a8522b81db7ac97352b1a3e0d Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Fri, 25 Sep 2020 19:13:48 -0700 Subject: [PATCH 1/3] model ignore --- simulation/.gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 simulation/.gitignore diff --git a/simulation/.gitignore b/simulation/.gitignore new file mode 100644 index 0000000..c6b3393 --- /dev/null +++ b/simulation/.gitignore @@ -0,0 +1,3 @@ +*.net +*.raw +*.log From 31cbbdd1e6eb5f9c74221b04ab5128ab14f82c3e Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 28 Sep 2020 02:15:28 -0700 Subject: [PATCH 2/3] add pump driver model --- simulation/PumpDriverModel.asc | 218 +++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 simulation/PumpDriverModel.asc diff --git a/simulation/PumpDriverModel.asc b/simulation/PumpDriverModel.asc new file mode 100644 index 0000000..06286f3 --- /dev/null +++ b/simulation/PumpDriverModel.asc @@ -0,0 +1,218 @@ +Version 4 +SHEET 1 1588 912 +WIRE -640 -192 -848 -192 +WIRE -368 -192 -400 -192 +WIRE -400 -176 -400 -192 +WIRE -400 -176 -576 -176 +WIRE -368 -176 -368 -192 +WIRE -256 -176 -368 -176 +WIRE -640 -160 -848 -160 +WIRE 96 -128 48 -128 +WIRE 208 -128 160 -128 +WIRE -848 -64 -848 -160 +WIRE 48 -32 48 -128 +WIRE 48 -32 16 -32 +WIRE 80 -32 48 -32 +WIRE 160 -32 144 -32 +WIRE 208 -32 208 -128 +WIRE 208 -32 160 -32 +WIRE 352 -32 208 -32 +WIRE -256 80 -256 -176 +WIRE -192 80 -256 80 +WIRE -80 80 -192 80 +WIRE 16 80 16 -32 +WIRE 16 80 0 80 +WIRE 16 112 16 80 +WIRE 96 112 16 112 +WIRE 352 128 352 -32 +WIRE 352 128 160 128 +WIRE 96 144 16 144 +WIRE 352 144 352 128 +WIRE 16 176 16 144 +WIRE 16 176 0 176 +WIRE 352 256 352 224 +WIRE 544 256 352 256 +WIRE 16 272 16 176 +WIRE 112 272 16 272 +WIRE 352 272 352 256 +WIRE 352 272 192 272 +WIRE 992 304 928 304 +WIRE 1152 304 1072 304 +WIRE -912 320 -976 320 +WIRE -400 320 -400 304 +WIRE -400 320 -832 320 +WIRE -368 320 -368 304 +WIRE -256 320 -256 80 +WIRE -256 320 -368 320 +WIRE 544 352 544 256 +WIRE 544 352 480 352 +WIRE 608 352 544 352 +WIRE 608 384 608 352 +WIRE 768 384 608 384 +WIRE 880 384 848 384 +WIRE 480 400 480 352 +WIRE 608 400 608 384 +WIRE 880 416 880 384 +WIRE 928 416 928 304 +WIRE 928 416 880 416 +WIRE 1008 416 928 416 +WIRE 1152 432 1152 304 +WIRE 1152 432 1072 432 +WIRE 1200 432 1152 432 +WIRE 1328 432 1280 432 +WIRE 1408 432 1328 432 +WIRE 912 448 880 448 +WIRE 1008 448 912 448 +WIRE 608 496 608 480 +WIRE 608 496 592 496 +WIRE 768 496 608 496 +WIRE 880 496 880 448 +WIRE 880 496 848 496 +WIRE 912 512 912 448 +WIRE 480 528 480 480 +WIRE 544 528 480 528 +WIRE 608 528 608 496 +WIRE 608 528 544 528 +WIRE 1328 528 1328 496 +WIRE 544 576 544 528 +WIRE 544 704 544 656 +FLAG 128 160 0 +FLAG -720 704 0 +FLAG -864 704 0 +FLAG -864 624 vcc +FLAG 128 96 vcc +FLAG -720 624 vm +FLAG 544 704 vm +FLAG -80 176 vm +FLAG -976 320 vm +FLAG 1040 464 0 +FLAG 912 592 vm +FLAG 1408 432 sense_out +FLAG 544 256 rtrim +FLAG 544 528 ip +FLAG 1040 400 vcc +FLAG -192 80 input +FLAG -848 16 vm +FLAG -928 -192 0 +FLAG -608 -208 0 +FLAG -608 -144 vcc +FLAG 1328 528 0 +SYMBOL Opamps\\AD822 128 64 R0 +SYMATTR InstName U1 +SYMBOL res 16 64 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R1 +SYMATTR Value 68k +SYMBOL res 16 160 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R2 +SYMATTR Value 68k +SYMBOL res 176 -48 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R3 +SYMATTR Value 10k +SYMBOL res 208 256 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R4 +SYMATTR Value 10k +SYMBOL res 368 240 R180 +WINDOW 0 36 76 Left 2 +WINDOW 3 36 40 Left 2 +SYMATTR InstName R5 +SYMATTR Value 47 +SYMBOL voltage -720 608 R0 +WINDOW 0 -32 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V1 +SYMATTR Value 1.65 +SYMBOL voltage -816 320 R90 +WINDOW 0 -16 56 Left 2 +WINDOW 3 96 -151 VRight 2 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V2 +SYMATTR Value "" +SYMATTR Value2 AC 1 +SYMBOL voltage -864 608 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V3 +SYMATTR Value 3.3 +SYMBOL res 592 384 R0 +SYMATTR InstName R8 +SYMATTR Value 61.9 +SYMBOL res 528 560 R0 +SYMATTR InstName R9 +SYMATTR Value 10 +SYMBOL cap 160 -144 R90 +WINDOW 0 0 32 VBottom 2 +WINDOW 3 32 32 VTop 2 +SYMATTR InstName C1 +SYMATTR Value 33n +SYMBOL Opamps\\AD822 1040 368 R0 +WINDOW 0 25 42 Left 2 +WINDOW 3 26 86 Left 2 +SYMATTR InstName U2 +SYMBOL res 864 368 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R10 +SYMATTR Value 10k +SYMBOL res 864 480 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R11 +SYMATTR Value 10k +SYMBOL res 896 496 R0 +SYMATTR InstName R12 +SYMATTR Value 100k +SYMBOL res 1088 288 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R13 +SYMATTR Value 100k +SYMBOL res 464 384 R0 +SYMATTR InstName R7 +SYMATTR Value 95 +SYMBOL Comparators\\LT1720 -608 -112 M180 +SYMATTR InstName U3 +SYMBOL voltage -848 -80 R0 +WINDOW 3 24 44 Left 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V4 +SYMATTR Value PULSE(-0.3 0.3 5m 30n 30n 5m 10m) +SYMBOL voltage -832 -192 R90 +WINDOW 0 -32 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V5 +SYMATTR Value PULSE(0 3.3 0 5u 0 100n 5u) +SYMBOL res 1296 416 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R6 +SYMATTR Value 3.3k +SYMBOL cap 1312 432 R0 +SYMATTR InstName C4 +SYMATTR Value 100n +TEXT -712 364 Left 2 !;.ac dec 400 10 1e7 +TEXT -824 -272 Left 2 ;PWM modulator - transient analysis +TEXT -960 232 Left 2 ;AC analysis +TEXT -642 -12 Left 2 !.tran 50m +TEXT -856 552 Left 2 ;Power Supply +TEXT 1320 256 Left 2 ;Pump Current Sense +TEXT 160 -176 Left 2 ;Pump Current Source +TEXT 512 184 Left 2 ;Sensor +RECTANGLE Normal -304 -320 -1104 96 2 +RECTANGLE Normal -304 416 -1072 176 2 +RECTANGLE Normal -608 528 -960 752 2 +RECTANGLE Normal 416 336 -144 -208 2 +RECTANGLE Normal 1584 704 720 208 2 +RECTANGLE Normal 688 784 432 144 2 From f1bfe6706a6ef9a8d8119e1c83b9dfd5e8a4f8d9 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 28 Sep 2020 02:17:36 -0700 Subject: [PATCH 3/3] add nernst model --- simulation/NernstSenseModel.asc | 263 ++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 simulation/NernstSenseModel.asc diff --git a/simulation/NernstSenseModel.asc b/simulation/NernstSenseModel.asc new file mode 100644 index 0000000..1ab9f4d --- /dev/null +++ b/simulation/NernstSenseModel.asc @@ -0,0 +1,263 @@ +Version 4 +SHEET 1 2244 772 +WIRE 352 -672 320 -672 +WIRE 464 -672 432 -672 +WIRE 576 -656 528 -656 +WIRE 880 -656 576 -656 +WIRE 464 -640 400 -640 +WIRE 400 -544 400 -640 +WIRE 448 -544 400 -544 +WIRE 576 -544 576 -656 +WIRE 576 -544 512 -544 +WIRE 400 -528 400 -544 +WIRE 688 -448 688 -480 +WIRE 688 -448 640 -448 +WIRE 720 -448 688 -448 +WIRE 880 -448 880 -656 +WIRE 880 -448 800 -448 +WIRE 400 -432 400 -448 +WIRE 496 -432 400 -432 +WIRE 576 -432 496 -432 +WIRE 704 -416 640 -416 +WIRE 1280 -416 1280 -448 +WIRE 496 -304 496 -432 +WIRE 560 -304 496 -304 +WIRE 704 -304 704 -416 +WIRE 704 -304 640 -304 +WIRE 880 -304 880 -448 +WIRE 944 -304 880 -304 +WIRE 1088 -304 1024 -304 +WIRE 1280 -304 1280 -336 +WIRE -352 -272 -400 -272 +WIRE -240 -272 -272 -272 +WIRE -64 -272 -64 -288 +WIRE -64 -272 -160 -272 +WIRE 704 -256 704 -304 +WIRE -240 -176 -240 -272 +WIRE -240 -176 -288 -176 +WIRE -400 -160 -400 -272 +WIRE -352 -160 -400 -160 +WIRE -256 -144 -288 -144 +WIRE -48 -144 -256 -144 +WIRE 704 -144 704 -176 +WIRE 704 -144 32 -144 +WIRE 800 -144 704 -144 +WIRE 1088 -144 1088 -304 +WIRE 1088 -144 960 -144 +WIRE 1280 -144 1280 -240 +WIRE 1280 -144 1088 -144 +WIRE 1392 -144 1280 -144 +WIRE 1616 -144 1392 -144 +WIRE 1824 -144 1696 -144 +WIRE 800 -128 800 -144 +WIRE 896 -128 800 -128 +WIRE 1008 -112 960 -112 +WIRE 1824 -80 1824 -144 +WIRE 800 -48 800 -128 +WIRE 1008 -48 1008 -112 +WIRE 1008 -48 800 -48 +WIRE 1824 32 1824 0 +WIRE 112 64 -48 64 +WIRE -48 144 -48 64 +WIRE -16 144 -48 144 +WIRE -128 160 -176 160 +WIRE 112 160 112 64 +WIRE 112 160 48 160 +WIRE 144 160 112 160 +WIRE 240 160 144 160 +WIRE 368 160 320 160 +WIRE 1616 160 368 160 +WIRE 1824 160 1824 112 +WIRE 1824 160 1696 160 +WIRE -128 176 -128 160 +WIRE -16 176 -128 176 +WIRE 368 192 368 160 +WIRE 1824 400 1824 160 +WIRE 1376 528 768 528 +WIRE 1616 528 1376 528 +WIRE 1824 528 1824 480 +WIRE 1824 528 1696 528 +WIRE 768 560 768 528 +WIRE 1824 560 1824 528 +WIRE 768 672 768 640 +WIRE 1616 672 768 672 +WIRE 1824 672 1824 640 +WIRE 1824 672 1696 672 +FLAG -256 160 0 +FLAG 1280 -528 0 +FLAG 1392 -144 Un +FLAG 1376 528 Ip +FLAG -64 -288 Vm +FLAG -256 -64 0 +FLAG -400 -160 nernst_sense +FLAG 1568 -656 0 +FLAG 1568 -736 vcc +FLAG 928 -96 vcc +FLAG 928 -160 0 +FLAG 496 -688 0 +FLAG 688 -560 0 +FLAG 240 -672 0 +FLAG 496 -624 vcc +FLAG 608 -400 vcc +FLAG 608 -464 0 +FLAG 144 160 Vm +FLAG 368 256 0 +FLAG 16 192 0 +FLAG 16 128 vcc +SYMBOL voltage -160 160 R90 +WINDOW 0 -32 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V1 +SYMATTR Value 1.65 +SYMBOL res 1808 384 R0 +SYMATTR InstName R1 +SYMATTR Value 150 +SYMBOL voltage 1824 16 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V2 +SYMATTR Value SINE(0.5 0.5 100) +SYMBOL res 1808 -96 R0 +SYMATTR InstName R2 +SYMATTR Value 300 +SYMBOL cap 1264 -304 R0 +SYMATTR InstName C1 +SYMATTR Value 100n +SYMBOL res 1264 -432 R0 +SYMATTR InstName R3 +SYMATTR Value 23k +SYMBOL voltage 1280 -432 R180 +WINDOW 0 24 96 Left 2 +WINDOW 3 -471 57 Left 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V4 +SYMATTR Value PULSE(0 3.3 10m 30n 30n 250u 500u) +SYMBOL res 1808 544 R0 +SYMATTR InstName R5 +SYMATTR Value 95 +SYMBOL res 752 544 R0 +SYMATTR InstName R6 +SYMATTR Value 61.9 +SYMBOL Opamps\\opamp -320 -224 M0 +SYMATTR InstName U1 +SYMBOL res 48 -160 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R4 +SYMATTR Value 10k +SYMBOL res -272 -160 R0 +WINDOW 3 -54 82 Left 2 +SYMATTR Value 30k +SYMATTR InstName R8 +SYMBOL res -256 -288 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R9 +SYMATTR Value 30k +SYMBOL res -144 -288 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R10 +SYMATTR Value 10k +SYMBOL ind 1712 144 R90 +WINDOW 0 5 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName L1 +SYMATTR Value 2µ +SYMBOL ind 1712 -160 R90 +WINDOW 0 5 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName L2 +SYMATTR Value 2µ +SYMBOL ind 1712 512 R90 +WINDOW 0 5 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName L3 +SYMATTR Value 2µ +SYMBOL ind 1712 656 R90 +WINDOW 0 5 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName L4 +SYMATTR Value 2µ +SYMBOL voltage 1568 -752 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V3 +SYMATTR Value 3.3 +SYMBOL Opamps\\AD822 928 -64 R180 +SYMATTR InstName U2 +SYMBOL res 1040 -320 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R7 +SYMATTR Value 10k +SYMBOL res 720 -160 R180 +WINDOW 0 36 76 Left 2 +WINDOW 3 36 40 Left 2 +SYMATTR InstName R11 +SYMATTR Value 10k +SYMBOL res 544 -288 R270 +WINDOW 0 32 56 VTop 2 +WINDOW 3 0 56 VBottom 2 +SYMATTR InstName R12 +SYMATTR Value 10k +SYMBOL Opamps\\AD822 608 -368 R180 +SYMATTR InstName U3 +SYMBOL res 816 -464 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R13 +SYMATTR Value 10k +SYMBOL res 704 -464 R180 +WINDOW 0 36 76 Left 2 +WINDOW 3 36 40 Left 2 +SYMATTR InstName R14 +SYMATTR Value 10k +SYMBOL Opamps\\AD822 496 -592 M180 +SYMATTR InstName U4 +SYMBOL cap 512 -560 R90 +WINDOW 0 0 32 VBottom 2 +WINDOW 3 32 32 VTop 2 +SYMATTR InstName C3 +SYMATTR Value 1n +SYMBOL res 384 -544 R0 +SYMATTR InstName R15 +SYMATTR Value 3.3k +SYMBOL voltage 336 -672 R90 +WINDOW 0 -32 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V5 +SYMATTR Value 0.2 +SYMBOL res 336 144 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R17 +SYMATTR Value 10 +SYMBOL res 448 -688 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R16 +SYMATTR Value 3.3k +SYMBOL cap 352 192 R0 +SYMATTR InstName C2 +SYMATTR Value 1µ +SYMBOL Opamps\\AD822 16 96 R0 +SYMATTR InstName U5 +TEXT -56 536 Left 2 !.tran 0 30m 0 100n +TEXT 72 -232 Left 2 !.lib opamp.sub +TEXT 2016 -136 Left 2 ;Sensor Model +LINE Normal 912 -240 832 -128 2 +LINE Normal 976 -240 912 -240 2 +LINE Normal 976 -368 976 -240 2 +LINE Normal 1120 -368 976 -368 2 +LINE Normal 1232 -272 1120 -368 2 +LINE Normal 1488 -272 1232 -272 2 +LINE Normal 1472 -16 1488 -272 2 +LINE Normal 848 0 1472 -16 2 +LINE Normal 832 -128 848 0 2 +RECTANGLE Normal 2240 768 1552 -208 2