BJTTest

clear
ao = analogoutput('mcc');
cout = addchannel(ao,1);
set(ao,'TriggerType','Immediate');

ai = analoginput('mcc');
cin = addchannel(ai,0);
set(ai,'SamplesPerTrigger',10);
% collect one data set

vi = linspace(0,4,41);
vo = zeros(size(vi));

for k = 1:length(vi);
    putdata(ao,vi(k));
    start(ao);
    wait(ao,0.1);
    start(ai);
    v = getdata(ai);
    vo(k) = mean(v);
end
plot(vi,vo);
grid
xlabel('VBB (Volts)');
ylabel('Vout (Volts)');

component measurements

VCC = 8.348
RB = 990;
RC = 99.48;

save test3 vi vo RB RC VCC
VCC =

    8.3480

ib = (vi-0.7)/RB*1e3;
ic = vo/RC*1e3;
plot(ib,ic);
grid
xlabel('base current (mA)');
ylabel('collector current (mA)')
idx = find(and(ic>5,ic<40));
c = polyfit(ib(idx),ic(idx),1);
beta = c(1);
fprintf('beta = %g\n',beta);
beta = 92.951
daqstop;