diff --git a/buck_ics.ods b/buck_ics.ods deleted file mode 100644 index a11edb0..0000000 Binary files a/buck_ics.ods and /dev/null differ diff --git a/doc/buck_ics.ods b/doc/buck_ics.ods new file mode 100644 index 0000000..8b5c779 Binary files /dev/null and b/doc/buck_ics.ods differ diff --git a/sim/.gitignore b/sim/.gitignore new file mode 100644 index 0000000..2c6a079 --- /dev/null +++ b/sim/.gitignore @@ -0,0 +1,4 @@ +*.raw +*.log +*.op.raw +*.net diff --git a/sim/chopper.asc b/sim/chopper.asc new file mode 100644 index 0000000..45c6b66 --- /dev/null +++ b/sim/chopper.asc @@ -0,0 +1,114 @@ +Version 4.1 +SHEET 1 880 704 +WIRE -368 48 -432 48 +WIRE 336 48 256 48 +WIRE -368 64 -368 48 +WIRE 336 64 336 48 +WIRE -496 112 -864 112 +WIRE -384 112 -496 112 +WIRE -240 112 -288 112 +WIRE -208 112 -240 112 +WIRE -16 112 -128 112 +WIRE 160 112 -16 112 +WIRE 320 112 160 112 +WIRE 480 112 416 112 +WIRE 160 128 160 112 +WIRE -864 160 -864 112 +WIRE 480 160 480 112 +WIRE -496 176 -496 112 +WIRE -16 176 -16 112 +WIRE -240 224 -240 112 +WIRE 160 256 160 224 +WIRE 256 256 256 48 +WIRE 256 256 160 256 +WIRE -16 272 -16 240 +WIRE 160 272 160 256 +WIRE 480 272 480 240 +WIRE -864 288 -864 240 +WIRE -496 288 -496 272 +WIRE -432 288 -432 48 +WIRE -432 288 -496 288 +WIRE -496 320 -496 288 +WIRE 96 320 96 176 +WIRE 96 320 -48 320 +WIRE -240 352 -240 288 +WIRE -560 368 -560 224 +WIRE -560 368 -672 368 +WIRE -48 368 -48 320 +WIRE 160 400 160 368 +WIRE -496 448 -496 416 +WIRE -672 480 -672 368 +WIRE -48 480 -48 448 +WIRE -672 592 -672 560 +FLAG -864 288 0 +FLAG -16 272 0 +FLAG 480 272 0 +FLAG 160 400 0 +FLAG -48 480 0 +FLAG 480 112 out +FLAG -864 112 in +FLAG -16 112 mid +FLAG -496 448 0 +FLAG -672 592 0 +FLAG -240 352 0 +SYMBOL ind -224 128 R270 +WINDOW 0 32 56 VTop 2 +WINDOW 3 5 56 VBottom 2 +SYMATTR InstName L1 +SYMATTR Value 1.5µ +SYMATTR SpiceLine Ipk=10 Rser=20m Cpar=10p +SYMBOL voltage -864 144 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 24 124 Left 2 +SYMATTR InstName V1 +SYMATTR Value 28 +SYMATTR SpiceLine Rser=1m +SYMBOL cap -32 176 R0 +SYMATTR InstName C1 +SYMATTR Value 100µ +SYMATTR SpiceLine Rser=5m +SYMBOL pmos 416 64 R90 +SYMATTR InstName M1 +SYMATTR Value Si4427DY +SYMBOL res 464 144 R0 +SYMATTR InstName R1 +SYMATTR Value 2.5 +SYMBOL voltage -48 352 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V2 +SYMATTR Value PULSE(0 10 0 10n 10n {ton} {t} 1k) +SYMBOL npn 96 272 R0 +SYMATTR InstName Q1 +SYMATTR Value 2N2222 +SYMBOL pnp 96 128 R0 +SYMATTR InstName Q2 +SYMATTR Value 2N2907 +SYMBOL pmos -288 64 R90 +SYMATTR InstName M2 +SYMATTR Value Si4427DY +SYMBOL npn -560 320 R0 +SYMATTR InstName Q3 +SYMATTR Value 2N2222 +SYMBOL pnp -560 176 R0 +SYMATTR InstName Q4 +SYMATTR Value 2N2907 +SYMBOL voltage -672 464 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V3 +SYMATTR Value PULSE(0 10 {twait} 100n 100n {toff} {t} 1k) +SYMBOL diode -224 288 R180 +WINDOW 0 24 64 Left 2 +WINDOW 3 24 0 Left 2 +SYMATTR InstName D1 +SYMATTR Value MBR745 +SYMATTR Description Diode +SYMATTR Type diode +TEXT -384 504 Left 2 !.tran 3m uic +TEXT -32 -80 Left 2 !.ic V(C1)=0 I(L1)=0 +TEXT -40 552 Left 2 !.param freq=50k d=0.42 +TEXT -32 584 Left 2 !.param ton={d}/{freq} +TEXT -24 616 Left 2 !.param t=1/{freq} +TEXT -32 648 Left 2 !.param toff=(((1-{d})/{freq})*0.9) +TEXT -32 688 Left 2 !.param twait={toff}-((1-{d})*t - {toff}) diff --git a/sim/pi_filter.asc b/sim/pi_filter.asc new file mode 100644 index 0000000..c70d62c --- /dev/null +++ b/sim/pi_filter.asc @@ -0,0 +1,100 @@ +Version 4.1 +SHEET 1 880 680 +WIRE -128 -448 -368 -448 +WIRE -80 -448 -128 -448 +WIRE 32 -448 0 -448 +WIRE 320 -448 32 -448 +WIRE -368 -416 -368 -448 +WIRE -128 -416 -128 -448 +WIRE 32 -416 32 -448 +WIRE 320 -352 320 -448 +WIRE -128 -336 -128 -352 +WIRE 32 -336 32 -352 +WIRE 128 -288 -208 -288 +WIRE 272 -272 160 -272 +WIRE -272 -224 -272 -288 +WIRE -272 -224 -400 -224 +WIRE -192 -224 -272 -224 +WIRE 128 -224 128 -288 +WIRE 128 -224 96 -224 +WIRE 224 -224 128 -224 +WIRE -400 -208 -400 -224 +WIRE 224 -176 224 -224 +WIRE -192 -144 -272 -144 +WIRE 128 -144 96 -144 +WIRE 128 -112 128 -144 +WIRE 160 -112 160 -272 +WIRE 160 -112 128 -112 +WIRE -272 -64 -272 -144 +WIRE -272 -64 -784 -64 +WIRE -192 -64 -224 -64 +WIRE 128 -64 128 -112 +WIRE 128 -64 96 -64 +WIRE 224 -64 224 -112 +WIRE 320 -64 320 -256 +WIRE 320 -64 224 -64 +WIRE -784 -32 -784 -64 +WIRE -224 16 -224 -64 +WIRE -192 16 -224 16 +WIRE 320 16 320 -64 +WIRE 320 16 96 16 +WIRE -224 80 -224 16 +WIRE -48 80 -48 64 +WIRE -48 80 -224 80 +WIRE 320 80 320 16 +WIRE -48 96 -48 80 +WIRE 320 240 320 160 +FLAG 320 240 0 +FLAG 32 -336 0 +FLAG -128 -336 0 +FLAG -368 -336 0 +FLAG -48 96 0 +FLAG -400 -128 0 +FLAG -784 48 0 +SYMBOL nmos 272 -352 R0 +SYMATTR InstName M1 +SYMATTR Value BSB012N03LX3 +SYMBOL res 304 64 R0 +SYMATTR InstName R1 +SYMATTR Value 2.5 +SYMBOL cap 16 -416 R0 +SYMATTR InstName C1 +SYMATTR Value 44µ +SYMATTR SpiceLine Rser=5m +SYMBOL cap -144 -416 R0 +SYMATTR InstName C2 +SYMATTR Value 44µ +SYMATTR SpiceLine Rser=5m +SYMBOL ind -96 -432 R270 +WINDOW 0 32 56 VTop 2 +WINDOW 3 5 56 VBottom 2 +SYMATTR InstName L1 +SYMATTR Value 10µ +SYMATTR SpiceLine Rser=20m +SYMBOL voltage -368 -432 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 24 44 Left 2 +SYMATTR InstName V1 +SYMATTR Value 28 +SYMATTR SpiceLine Rser=1m +SYMBOL PowerProducts\\LTC7004 -48 -96 R0 +SYMATTR InstName U1 +SYMBOL voltage -400 -224 R0 +SYMATTR InstName V2 +SYMATTR Value 5 +SYMBOL voltage -784 -48 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V3 +SYMATTR Value PULSE(0 5 0 100n 100n 4.5u 10u 1k) +SYMBOL cap 208 -176 R0 +SYMATTR InstName C3 +SYMATTR Value 100n +SYMBOL diode -272 -272 R270 +WINDOW 0 32 32 VTop 2 +WINDOW 3 0 32 VBottom 2 +SYMATTR InstName D1 +SYMATTR Value 1N5817 +SYMATTR Description Diode +SYMATTR Type diode +TEXT -816 264 Left 2 !.tran 30m diff --git a/sim/two_phase_buck.asc b/sim/two_phase_buck.asc new file mode 100644 index 0000000..364961f --- /dev/null +++ b/sim/two_phase_buck.asc @@ -0,0 +1,192 @@ +Version 4.1 +SHEET 1 948 1128 +WIRE -336 -176 -368 -176 +WIRE -208 -176 -272 -176 +WIRE -160 -176 -208 -176 +WIRE -32 -176 -96 -176 +WIRE 160 -128 160 -224 +WIRE -208 -48 -208 -176 +WIRE 112 -48 16 -48 +WIRE -1232 -32 -1376 -32 +WIRE -1168 -32 -1232 -32 +WIRE -1376 0 -1376 -32 +WIRE -1232 0 -1232 -32 +WIRE -368 16 -368 -176 +WIRE -368 16 -432 16 +WIRE -336 16 -368 16 +WIRE 16 16 16 -48 +WIRE 16 16 -80 16 +WIRE -368 96 -368 16 +WIRE -336 96 -368 96 +WIRE -32 96 -32 -176 +WIRE -32 96 -80 96 +WIRE 160 96 160 -32 +WIRE 160 96 -32 96 +WIRE 240 96 160 96 +WIRE 384 96 320 96 +WIRE 544 96 384 96 +WIRE 384 128 384 96 +WIRE -1376 144 -1376 80 +WIRE -1232 144 -1232 64 +WIRE -1232 144 -1376 144 +WIRE -1376 176 -1376 144 +WIRE -336 176 -432 176 +WIRE 16 176 -80 176 +WIRE 384 224 384 192 +WIRE 160 240 160 96 +WIRE -208 256 -208 240 +WIRE 16 320 16 176 +WIRE 112 320 16 320 +WIRE 160 352 160 336 +WIRE 544 480 544 96 +WIRE 880 480 544 480 +WIRE -336 560 -368 560 +WIRE -208 560 -272 560 +WIRE -160 560 -208 560 +WIRE -32 560 -96 560 +WIRE 880 560 880 480 +WIRE 160 608 160 512 +WIRE 880 656 880 640 +WIRE -208 688 -208 560 +WIRE 112 688 16 688 +WIRE -368 752 -368 560 +WIRE -368 752 -432 752 +WIRE -336 752 -368 752 +WIRE 16 752 16 688 +WIRE 16 752 -80 752 +WIRE -368 832 -368 752 +WIRE -336 832 -368 832 +WIRE -32 832 -32 560 +WIRE -32 832 -80 832 +WIRE 160 832 160 704 +WIRE 160 832 -32 832 +WIRE 240 832 160 832 +WIRE 384 832 320 832 +WIRE 544 832 544 480 +WIRE 544 832 384 832 +WIRE 384 864 384 832 +WIRE -336 912 -432 912 +WIRE 16 912 -80 912 +WIRE 384 960 384 928 +WIRE 160 976 160 832 +WIRE -208 992 -208 976 +WIRE 16 1056 16 912 +WIRE 112 1056 16 1056 +WIRE 160 1088 160 1072 +FLAG 160 352 0 +FLAG 384 224 0 +FLAG -432 16 vcc +FLAG -208 256 0 +FLAG 160 -224 vbus +FLAG -432 176 pwm1 +FLAG 160 1088 0 +FLAG 384 960 0 +FLAG 160 512 vbus +FLAG 880 656 0 +FLAG -1376 176 0 +FLAG -1168 -32 vbus +FLAG -1376 288 vcc +FLAG -1376 368 0 +FLAG -1376 608 0 +FLAG -1376 848 0 +FLAG -1376 528 pwm1 +FLAG -1376 768 pwm2 +FLAG -432 752 vcc +FLAG -208 992 0 +FLAG -432 912 pwm2 +FLAG 880 480 out +SYMBOL ind 224 112 R270 +WINDOW 0 32 56 VTop 2 +WINDOW 3 5 56 VBottom 2 +SYMATTR InstName L1 +SYMATTR Value {L} +SYMATTR SpiceLine Rser=10m +SYMBOL cap 368 128 R0 +SYMATTR InstName C1 +SYMATTR Value {C} +SYMATTR SpiceLine Rser=5m +SYMBOL nmos 112 -128 R0 +SYMATTR InstName M1 +SYMATTR Value AONP36336_Q1 +SYMBOL nmos 112 240 R0 +SYMATTR InstName M2 +SYMATTR Value AONP36336_Q2 +SYMBOL cap -96 -192 R90 +WINDOW 0 0 32 VBottom 2 +WINDOW 3 32 32 VTop 2 +SYMATTR InstName C2 +SYMATTR Value 100n +SYMBOL diode -336 -160 R270 +WINDOW 0 32 32 VTop 2 +WINDOW 3 0 32 VBottom 2 +SYMATTR InstName D1 +SYMATTR Value 1N5819 +SYMATTR Description Diode +SYMATTR Type diode +SYMBOL ind 224 848 R270 +WINDOW 0 32 56 VTop 2 +WINDOW 3 5 56 VBottom 2 +SYMATTR InstName L2 +SYMATTR Value {L} +SYMATTR SpiceLine Rser=10m +SYMBOL cap 368 864 R0 +SYMATTR InstName C3 +SYMATTR Value {C} +SYMATTR SpiceLine Rser=5m +SYMBOL nmos 112 608 R0 +SYMATTR InstName M3 +SYMATTR Value AONP36336_Q1 +SYMBOL nmos 112 976 R0 +SYMATTR InstName M4 +SYMATTR Value AONP36336_Q2 +SYMBOL res 864 544 R0 +SYMATTR InstName R1 +SYMATTR Value 100 +SYMBOL voltage -1376 -16 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 24 124 Left 2 +SYMATTR InstName V1 +SYMATTR Value 28 +SYMATTR SpiceLine Rser=1m +SYMBOL cap -1248 0 R0 +SYMATTR InstName C5 +SYMATTR Value 10000µ +SYMBOL voltage -1376 272 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V2 +SYMATTR Value 5 +SYMBOL voltage -1376 512 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V3 +SYMATTR Value PULSE(0 5 0 10n 10n {ton} {tsw} 1k) +SYMBOL voltage -1376 752 R0 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR InstName V4 +SYMATTR Value PULSE(0 5 {td} 10n 10n {ton} {tsw} 1k) +SYMBOL PowerProducts\\LTC4442 -208 96 R0 +SYMATTR InstName U3 +SYMBOL cap -96 544 R90 +WINDOW 0 0 32 VBottom 2 +WINDOW 3 32 32 VTop 2 +SYMATTR InstName C4 +SYMATTR Value 100n +SYMBOL diode -336 576 R270 +WINDOW 0 32 32 VTop 2 +WINDOW 3 0 32 VBottom 2 +SYMATTR InstName D2 +SYMATTR Value 1N5819 +SYMATTR Description Diode +SYMATTR Type diode +SYMBOL PowerProducts\\LTC4442 -208 832 R0 +SYMATTR InstName U1 +TEXT -1528 -264 Left 2 !.param fsw=1000k +TEXT -1528 -328 Left 2 !.param L=1u C=22u +TEXT -1296 -264 Left 2 !.param tsw=1/{fsw} +TEXT -1528 -232 Left 2 !.param d=0.32 +TEXT -1296 -232 Left 2 !.param ton={tsw}*{d} +TEXT -1528 1112 Left 2 !.tran 1m +TEXT -1528 -296 Left 2 !.param trf=10n +TEXT -1528 -200 Left 2 !.param td={tsw}/2