diff --git a/docs/bom/current.csv b/docs/bom/current.csv new file mode 100644 index 0000000..1d4c6bf --- /dev/null +++ b/docs/bom/current.csv @@ -0,0 +1,7 @@ +Farnell,, +Article, Ordercode, Min. Quantity +Differential Amp,1827398,1 +Opamp,2305612,1 +100 Ohm, 2504961RL,5 +Opamp,9425845,1 +2N3904,2295749,2 diff --git a/docs/bom/first_experiment.csv b/docs/bom/first_experiment.csv deleted file mode 100644 index eb591c4..0000000 --- a/docs/bom/first_experiment.csv +++ /dev/null @@ -1,5 +0,0 @@ -Farnell, -BPW34FA,1212740 -BPW34,1045425 -UV LED,1057106 -Opamp,2305615 diff --git a/docs/bom/transimp.csv b/docs/bom/transimp.csv new file mode 100644 index 0000000..1e1be0d --- /dev/null +++ b/docs/bom/transimp.csv @@ -0,0 +1,17 @@ +Farnell, +Article, Ordercode, Min. Quantity +BPW34FA,1212740, 5 +BPW34,1045425, 5 +UV LED,1057106, 5 +Opamp,2305615, 5 +Jumper,2396303, 10 +R 10k, 1160359, 3 +R 100k, 2447551, 3 +R 1M, 1576507, 3 +R 10M, 9238115, 3 +R 100M, 1605131, 3 +C 10n, 2445369, 3 +C 1n, 2496935, 3 +C 100p, 2332782, 10 +C 10p, 1759191, 10 +C 1p, 1759179, 10 diff --git a/ltspice/transimpedance amplifier/001transimpedance_ac_sweep_100k.asc b/ltspice/transimpedance amplifier/001transimpedance_ac_sweep_100k.asc index f2e1401..06354c4 100644 --- a/ltspice/transimpedance amplifier/001transimpedance_ac_sweep_100k.asc +++ b/ltspice/transimpedance amplifier/001transimpedance_ac_sweep_100k.asc @@ -82,6 +82,6 @@ WINDOW 3 24 8 Left 2 SYMATTR InstName C2 SYMATTR Value {C} TEXT -40 464 Left 2 !.include ad8616.cir -TEXT -40 488 Left 2 !.ac dec 100 1 10000000 -TEXT -40 512 Left 2 !.param R = 100K -TEXT -40 536 Left 2 !.param C 1n +TEXT -40 488 Left 2 !.ac dec 1000 1 10000000 +TEXT -40 512 Left 2 !.param R = 100k +TEXT -40 536 Left 2 !.param C = 1n diff --git a/ltspice/transimpedance amplifier/002transimpedance_ac_sweep_1M.asc b/ltspice/transimpedance amplifier/002transimpedance_ac_sweep_1M.asc deleted file mode 100644 index b6b8c9e..0000000 --- a/ltspice/transimpedance amplifier/002transimpedance_ac_sweep_1M.asc +++ /dev/null @@ -1,87 +0,0 @@ -Version 4 -SHEET 1 1124 680 -WIRE 176 -80 64 -80 -WIRE 320 -80 240 -80 -WIRE 64 16 64 -80 -WIRE 160 16 64 16 -WIRE 320 16 320 -80 -WIRE 320 16 240 16 -WIRE 192 128 192 112 -WIRE 320 128 320 16 -WIRE 64 144 64 16 -WIRE 64 144 -48 144 -WIRE 160 144 64 144 -WIRE 448 144 448 128 -WIRE -48 160 -48 144 -WIRE 320 160 320 128 -WIRE 320 160 224 160 -WIRE 160 176 128 176 -WIRE 192 208 192 192 -WIRE 128 240 128 176 -WIRE 128 240 80 240 -WIRE 176 240 128 240 -WIRE 448 240 448 224 -WIRE 448 240 368 240 -WIRE 368 256 368 240 -WIRE -48 288 -48 240 -WIRE 80 288 80 240 -WIRE 176 288 176 240 -WIRE 448 288 448 240 -WIRE 80 400 80 368 -WIRE 128 400 80 400 -WIRE 176 400 176 352 -WIRE 176 400 128 400 -WIRE 448 400 448 368 -WIRE 128 416 128 400 -FLAG 192 112 V+ -FLAG 448 128 V+ -FLAG 448 400 V- -FLAG 368 256 0 -FLAG 320 128 OUT -FLAG -48 288 0 -FLAG -48 144 IN -FLAG 128 416 0 -FLAG 192 208 V- -SYMBOL Opamps\\opamp2 192 96 R0 -SYMATTR InstName U1 -SYMATTR Value AD8615 -SYMBOL res 256 0 R90 -WINDOW 0 0 56 VBottom 2 -WINDOW 3 32 56 VTop 2 -SYMATTR InstName R1 -SYMATTR Value {R} -SYMBOL voltage 448 128 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V2 -SYMATTR Value 5V -SYMBOL voltage 448 272 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V3 -SYMATTR Value 5V -SYMBOL current -48 160 R0 -WINDOW 123 24 108 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR Value2 AC 1u -SYMATTR InstName I1 -SYMATTR Value "" -SYMBOL cap 240 -96 R90 -WINDOW 0 0 32 VBottom 2 -WINDOW 3 32 32 VTop 2 -SYMATTR InstName C1 -SYMATTR Value {C} -SYMBOL res 96 384 R180 -WINDOW 0 36 76 Left 2 -WINDOW 3 36 40 Left 2 -SYMATTR InstName R2 -SYMATTR Value {R} -SYMBOL cap 192 352 R180 -WINDOW 0 24 56 Left 2 -WINDOW 3 24 8 Left 2 -SYMATTR InstName C2 -SYMATTR Value {C} -TEXT -56 504 Left 2 !.include ad8615.cir -TEXT -56 528 Left 2 !.ac dec 100 1 10000000 -TEXT -56 552 Left 2 !.param R=1000K -TEXT -56 576 Left 2 !.param C=100p diff --git a/ltspice/transimpedance amplifier/002transimpedance_current_step_1M.asc b/ltspice/transimpedance amplifier/002transimpedance_current_step_1M.asc deleted file mode 100644 index ee04206..0000000 --- a/ltspice/transimpedance amplifier/002transimpedance_current_step_1M.asc +++ /dev/null @@ -1,87 +0,0 @@ -Version 4 -SHEET 1 1124 680 -WIRE 176 -80 64 -80 -WIRE 320 -80 240 -80 -WIRE 64 16 64 -80 -WIRE 160 16 64 16 -WIRE 320 16 320 -80 -WIRE 320 16 240 16 -WIRE 192 128 192 112 -WIRE 320 128 320 16 -WIRE 64 144 64 16 -WIRE 64 144 -48 144 -WIRE 160 144 64 144 -WIRE 448 144 448 128 -WIRE -48 160 -48 144 -WIRE 320 160 320 128 -WIRE 320 160 224 160 -WIRE 160 176 128 176 -WIRE 192 208 192 192 -WIRE 128 240 128 176 -WIRE 128 240 80 240 -WIRE 176 240 128 240 -WIRE 448 240 448 224 -WIRE 448 240 368 240 -WIRE 368 256 368 240 -WIRE -48 288 -48 240 -WIRE 80 288 80 240 -WIRE 176 288 176 240 -WIRE 448 288 448 240 -WIRE 80 400 80 368 -WIRE 128 400 80 400 -WIRE 176 400 176 352 -WIRE 176 400 128 400 -WIRE 448 400 448 368 -WIRE 128 416 128 400 -FLAG 192 112 V+ -FLAG 448 128 V+ -FLAG 448 400 V- -FLAG 368 256 0 -FLAG 320 128 OUT -FLAG -48 288 0 -FLAG -48 144 IN -FLAG 128 416 0 -FLAG 192 208 V- -SYMBOL Opamps\\opamp2 192 96 R0 -SYMATTR InstName U1 -SYMATTR Value AD8615 -SYMBOL res 256 0 R90 -WINDOW 0 0 56 VBottom 2 -WINDOW 3 32 56 VTop 2 -SYMATTR InstName R1 -SYMATTR Value {R} -SYMBOL voltage 448 128 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V2 -SYMATTR Value 5V -SYMBOL voltage 448 272 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V3 -SYMATTR Value 5V -SYMBOL current -48 160 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName I1 -SYMATTR Value {I} -SYMBOL cap 240 -96 R90 -WINDOW 0 0 32 VBottom 2 -WINDOW 3 32 32 VTop 2 -SYMATTR InstName C1 -SYMATTR Value {C} -SYMBOL res 96 384 R180 -WINDOW 0 36 76 Left 2 -WINDOW 3 36 40 Left 2 -SYMATTR InstName R2 -SYMATTR Value {R} -SYMBOL cap 192 352 R180 -WINDOW 0 24 56 Left 2 -WINDOW 3 24 8 Left 2 -SYMATTR InstName C2 -SYMATTR Value {C} -TEXT -456 112 Left 2 !.include ad8615.cir -TEXT -456 136 Left 2 !.step param I 0u 1u 0.1u -TEXT -456 160 Left 2 !.tran 0 1ms 0 100us -TEXT -456 184 Left 2 !.param R = 1000k -TEXT -456 208 Left 2 !.param C = 100n diff --git a/ltspice/transimpedance amplifier/003transimpedance_ac_sweep_10k.asc b/ltspice/transimpedance amplifier/003transimpedance_ac_sweep_10k.asc deleted file mode 100644 index f53a79e..0000000 --- a/ltspice/transimpedance amplifier/003transimpedance_ac_sweep_10k.asc +++ /dev/null @@ -1,87 +0,0 @@ -Version 4 -SHEET 1 1124 680 -WIRE 176 -80 64 -80 -WIRE 320 -80 240 -80 -WIRE 64 16 64 -80 -WIRE 160 16 64 16 -WIRE 320 16 320 -80 -WIRE 320 16 240 16 -WIRE 192 128 192 112 -WIRE 320 128 320 16 -WIRE 64 144 64 16 -WIRE 64 144 -48 144 -WIRE 160 144 64 144 -WIRE 448 144 448 128 -WIRE -48 160 -48 144 -WIRE 320 160 320 128 -WIRE 320 160 224 160 -WIRE 160 176 128 176 -WIRE 192 208 192 192 -WIRE 128 240 128 176 -WIRE 128 240 80 240 -WIRE 176 240 128 240 -WIRE 448 240 448 224 -WIRE 448 240 368 240 -WIRE 368 256 368 240 -WIRE -48 288 -48 240 -WIRE 80 288 80 240 -WIRE 176 288 176 240 -WIRE 448 288 448 240 -WIRE 80 400 80 368 -WIRE 128 400 80 400 -WIRE 176 400 176 352 -WIRE 176 400 128 400 -WIRE 448 400 448 368 -WIRE 128 416 128 400 -FLAG 192 112 V+ -FLAG 448 128 V+ -FLAG 448 400 V- -FLAG 368 256 0 -FLAG 320 128 OUT -FLAG -48 288 0 -FLAG -48 144 IN -FLAG 128 416 0 -FLAG 192 208 V- -SYMBOL Opamps\\opamp2 192 96 R0 -SYMATTR InstName U1 -SYMATTR Value AD8615 -SYMBOL res 256 0 R90 -WINDOW 0 0 56 VBottom 2 -WINDOW 3 32 56 VTop 2 -SYMATTR InstName R1 -SYMATTR Value {R} -SYMBOL voltage 448 128 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V2 -SYMATTR Value 5V -SYMBOL voltage 448 272 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V3 -SYMATTR Value 5V -SYMBOL current -48 160 R0 -WINDOW 123 24 108 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR Value2 AC 100u -SYMATTR InstName I1 -SYMATTR Value "" -SYMBOL cap 240 -96 R90 -WINDOW 0 0 32 VBottom 2 -WINDOW 3 32 32 VTop 2 -SYMATTR InstName C1 -SYMATTR Value {C} -SYMBOL res 96 384 R180 -WINDOW 0 36 76 Left 2 -WINDOW 3 36 40 Left 2 -SYMATTR InstName R2 -SYMATTR Value {R} -SYMBOL cap 192 352 R180 -WINDOW 0 24 56 Left 2 -WINDOW 3 24 8 Left 2 -SYMATTR InstName C2 -SYMATTR Value {C} -TEXT -72 464 Left 2 !.include ad8615.cir -TEXT -72 488 Left 2 !.ac dec 100 1 10000000 -TEXT -72 512 Left 2 !.param R = 10K -TEXT -72 536 Left 2 !.param C=1n diff --git a/ltspice/transimpedance amplifier/003transimpedance_current_step_10k.asc b/ltspice/transimpedance amplifier/003transimpedance_current_step_10k.asc deleted file mode 100644 index f8f63c0..0000000 --- a/ltspice/transimpedance amplifier/003transimpedance_current_step_10k.asc +++ /dev/null @@ -1,87 +0,0 @@ -Version 4 -SHEET 1 1124 680 -WIRE 176 -80 64 -80 -WIRE 320 -80 240 -80 -WIRE 64 16 64 -80 -WIRE 160 16 64 16 -WIRE 320 16 320 -80 -WIRE 320 16 240 16 -WIRE 192 128 192 112 -WIRE 320 128 320 16 -WIRE 64 144 64 16 -WIRE 64 144 -48 144 -WIRE 160 144 64 144 -WIRE 448 144 448 128 -WIRE -48 160 -48 144 -WIRE 320 160 320 128 -WIRE 320 160 224 160 -WIRE 160 176 128 176 -WIRE 192 208 192 192 -WIRE 128 240 128 176 -WIRE 128 240 80 240 -WIRE 176 240 128 240 -WIRE 448 240 448 224 -WIRE 448 240 368 240 -WIRE 368 256 368 240 -WIRE -48 288 -48 240 -WIRE 80 288 80 240 -WIRE 176 288 176 240 -WIRE 448 288 448 240 -WIRE 80 400 80 368 -WIRE 128 400 80 400 -WIRE 176 400 176 352 -WIRE 176 400 128 400 -WIRE 448 400 448 368 -WIRE 128 416 128 400 -FLAG 192 112 V+ -FLAG 448 128 V+ -FLAG 448 400 V- -FLAG 368 256 0 -FLAG 320 128 OUT -FLAG -48 288 0 -FLAG -48 144 IN -FLAG 128 416 0 -FLAG 192 208 V- -SYMBOL Opamps\\opamp2 192 96 R0 -SYMATTR InstName U1 -SYMATTR Value AD8615 -SYMBOL res 256 0 R90 -WINDOW 0 0 56 VBottom 2 -WINDOW 3 32 56 VTop 2 -SYMATTR InstName R1 -SYMATTR Value {R} -SYMBOL voltage 448 128 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V2 -SYMATTR Value 5V -SYMBOL voltage 448 272 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName V3 -SYMATTR Value 5V -SYMBOL current -48 160 R0 -WINDOW 123 0 0 Left 2 -WINDOW 39 0 0 Left 2 -SYMATTR InstName I1 -SYMATTR Value {I} -SYMBOL cap 240 -96 R90 -WINDOW 0 0 32 VBottom 2 -WINDOW 3 32 32 VTop 2 -SYMATTR InstName C1 -SYMATTR Value {C} -SYMBOL res 96 384 R180 -WINDOW 0 36 76 Left 2 -WINDOW 3 36 40 Left 2 -SYMATTR InstName R2 -SYMATTR Value {R} -SYMBOL cap 192 352 R180 -WINDOW 0 24 56 Left 2 -WINDOW 3 24 8 Left 2 -SYMATTR InstName C2 -SYMATTR Value {C} -TEXT -40 512 Left 2 !.include ad8615.cir -TEXT -40 536 Left 2 !.step param I 0u 100u 10u -TEXT -40 560 Left 2 !.tran 0 1ms 0 1us -TEXT -40 584 Left 2 !.param R = 10K -TEXT -40 608 Left 2 !.param C = 100n diff --git a/ltspice/transimpedance amplifier/clean.sh b/ltspice/transimpedance amplifier/clean.sh index 6352ac8..2f9fb7b 100755 --- a/ltspice/transimpedance amplifier/clean.sh +++ b/ltspice/transimpedance amplifier/clean.sh @@ -1,2 +1,2 @@ #!/bin/bash -rm *.log *.raw *.plt +rm *.net *.log *.raw *.plt diff --git a/ltspice/transimpedance amplifier/raw_rc.asc b/ltspice/transimpedance amplifier/raw_rc.asc new file mode 100644 index 0000000..70dd182 --- /dev/null +++ b/ltspice/transimpedance amplifier/raw_rc.asc @@ -0,0 +1,35 @@ +Version 4 +SHEET 1 880 680 +WIRE 240 0 48 0 +WIRE 240 32 240 0 +WIRE 240 32 192 32 +WIRE 288 32 240 32 +WIRE 192 80 192 32 +WIRE 48 96 48 0 +WIRE 288 96 288 32 +WIRE 192 224 192 160 +WIRE 240 224 192 224 +WIRE 288 224 288 160 +WIRE 288 224 240 224 +WIRE 48 240 48 176 +WIRE 240 240 240 224 +WIRE 240 240 48 240 +WIRE 48 272 48 240 +FLAG 48 272 0 +SYMBOL cap 304 160 R180 +WINDOW 0 24 56 Left 2 +WINDOW 3 24 8 Left 2 +SYMATTR InstName C1 +SYMATTR Value 1n +SYMBOL res 208 176 R180 +WINDOW 0 36 76 Left 2 +WINDOW 3 36 40 Left 2 +SYMATTR InstName R1 +SYMATTR Value 100k +SYMBOL current 48 96 R0 +WINDOW 123 24 108 Left 2 +WINDOW 39 0 0 Left 2 +SYMATTR InstName I1 +SYMATTR Value "" +SYMATTR Value2 AC 10mA +TEXT -16 320 Left 2 !.ac dec 1000 1 10e6 diff --git a/octave/rc_filter.m b/octave/rc_filter.m new file mode 100644 index 0000000..c39af65 --- /dev/null +++ b/octave/rc_filter.m @@ -0,0 +1,46 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Author: Max +% Date: 13.04.2017 +% File: rc_filter.m +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + clear; + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Vars + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + R = 100e3; + C = 1e-9; + f = linspace(1,10e6,300e3); + omega = 2*pi*f; + marg = 0.1; + fontsz = 30; + linewd = 5; + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Filter equations + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + I = 1 ./ ( i*omega*R*C + 1); + Iabs = abs(I); + Iabslog = 20*log10(Iabs); + Imax = max(Iabslog); + Iabslog = Iabslog - Imax; % Normalize + I3dB(1:length(f)) = -3; + f3dB = 1/(R*C*2*pi) + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Plot + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + p=semilogx(f,Iabslog,f,I3dB); + set(p, 'linewidth', linewd); + set(gca, 'fontsize', fontsz); + t = text(log10(f(length(f)/2)),-10, ['f3dB = ' num2str(f3dB/1000) ' kHz'] ); + set(t, 'fontsize', fontsz); + ylabel('Normalized Resistance Magnitude/dB'); + xlabel('f/Hz'); + title('Frequency Response RC Filter'); + grid on; +