diode calculations
Download source: diodes.zip
Contents
Diode equation
IS = 3e-15; VT = .026; vd = linspace(0,0.79,201); id = IS*(exp(vd/VT)-1)*1e3; plot(vd,id,'k','LineWidth',2); xlabel('V_d (volts)'); ylabel('I_d (mA)'); axis([0 1 0 30]); grid;
Solve example 1
Von = 0.7; Vs = 4; Rs = 500; id = (Vs - Von)/Rs; vd = fzero(@diode_fcn,Von); fprintf('approximate id %g mA\n',id*1e3); fprintf('exact id %g mA\n',(Vs-vd)/Rs*1e3);
approximate id 6.6 mA exact id 6.5228 mA
load line
Vs = 4; Rs = 500; Ix = Vs/Rs*1e3; vd = linspace(0,0.79,201); id = IS*(exp(vd/VT)-1)*1e3; plot(vd,id,'k','LineWidth',2); hold on; plot([0 Vs],[Ix 0],'r','LineWidth',2); hold off; xlabel('V_d (volts)'); ylabel('I_d (mA)'); axis([0 5 0 10]); grid;
Example 2 - assume diode conducts.
R = [5 10 10]; Rp = 1/sum(1./R); Vs = 14; Vb = 9; v1 = Rp*(Vs/R(1)+(Vb+0.7)/R(3)); fprintf('v1 %g V\n',v1); i3 = (v1-Vb-0.7)/R(3); fprintf('i3 %g A\n',i3); if (i3<0) fprintf('diode is not conducting\n'); end
v1 9.425 V i3 -0.0275 A diode is not conducting
assume diode does not conduct
v1 = R(2)/(R(1)+R(2))*Vs; v2 = Vb; vd = v1 - v2; fprintf('vd %g V\n',vd); if (vd<0.7) fprintf('diode is not conducting\n'); end
vd 0.333333 V diode is not conducting