Find Vd across diode

Thread Starter

Heylow

Joined Dec 21, 2010
3
Me and my friends have been working on this for days, and none of us are even close to the answer.

We are supposed to calculate the voltage drop (Vd) across the diode, while the saturation current is equal to 3x10^-16 A.
R1 = 1kΩ and
Is = 1 mA

The circuit can be found at:


Any help would be appreciated.
 

Thread Starter

Heylow

Joined Dec 21, 2010
3
But shouldn't Vs = (Ir + Id) * R
where Ir is resistor current and Id is diode current.

Let me clarify, in my image, Io is the current supply, while Is is meant as saturation current.
Does your method apply under these conditions?
 

Jony130

Joined Feb 17, 2009
5,488
But shouldn't Vs = (Ir + Id) * R
where Ir is resistor current and Id is diode current.

Let me clarify, in my image, Io is the current supply, while Is is meant as saturation current.
Does your method apply under these conditions?
No, Vs = 1mA * 1K Thévenin's equivalent circuit
 

Georacer

Joined Nov 25, 2009
5,182
This is a diode specific problem, so simple circuit equations aren't enough. You need to take into account that \(V_d=n\cdot V_{\small{T}}\cdot ln\left(\frac{i_d}{I_{sat}}\right)\)
That way you have that equation and \(V_d=V_r\\I_s=I_r+I_d\)

You can solve that system with some recursions starting from an initial value. The solution will be approximate.
 

Thread Starter

Heylow

Joined Dec 21, 2010
3
I understand now :), I just did not get the Vs part, but that now I get it.
I answered my own question when I said Vs = (Ir + Id) * R, which is exactly what you did, but with the equivalent circuit.
I guess I have to read up on my Thévenin's theorem.

Again thank you very very very much!!! :D
 

Jony130

Joined Feb 17, 2009
5,488
i cant seem to get this exact number i keep getting 0.699
even when i use goole calculator instead of my own.
and when i increase the source current, Vd becomes greater than 0.7

can anyone think of what im doing wrong?
Well very strange
When I put this on google
Rich (BB code):
(ln( (1 - 0.6)/300E-15) -1 )) * 0.026
I get
0.699886283 (1)
0.692416403 (2)
0.693055624 (3)
0.693001535 (4)
Later on I check this with hand + calculator.
 

Ron H

Joined Apr 14, 2005
7,063
Interesting. I wrote a little Basic program to do the iterative calculation, and got VD=0.71689909. It checked out on my HP15C calculator.
Rich (BB code):
Vt=.026
Vs=1
Is=3e-16
R=1e3
Vdnew=.6
Do
    Vd=Vdnew
    Vdnew=Vt*log((Vs-Vd)/(R*Is)-1)
    Print "vd=";Vd
Print "Vdnew=";Vdnew
Loop until Vdnew=Vd

end
Note that "log" is the natural logarithm, at least in Just BASIC v1.01.
What did I do wrong? Or what did you guys do wrong?
 

Jony130

Joined Feb 17, 2009
5,488
Well I think I know where I made the error.
I forget one bracket in the google code

Rich (BB code):
(ln(( (1 - 0.6)/300E-15) -1 )) * 0.026
VD = 0.716899093V

And I also use Mathematica software and I get this solution

Vd = 0.7168990929699331
 

JoeJester

Joined Apr 26, 2005
4,390
with the corrected bracket

I got 0.725886 in excel
In google ... the result is (ln(( (1 - 0.6)/300E-15) -1 )) * 0.026 = 0.725886283


The constant e in excel is 2.71828182845904

I'll be checking it again later ... with my TI-83.
 

Georacer

Joined Nov 25, 2009
5,182
Take care not to mix the decical logarithm (log) with the natural logarithm (ln). I think the formula calls for the natural logarithm.
 

JoeJester

Joined Apr 26, 2005
4,390
"log" in basic is the natural log. Log10 in basic is the decimal log.

Log10 is also used in excel for decimal log.

Much to my surprise, the TI-83 agreed with google and excel at approximately 0.7258862829

The TI-83 uses 2.718281828459 for e.

I am at a loss for the error at this moment.
 
Last edited:

Ron H

Joined Apr 14, 2005
7,063
"log" in basic is the natural log. Log10 in basic is the decimal log.

Log10 is also used in excel for decimal log.

Much to my surprise, the TI-83 agreed with google and excel at approximately 0.7258862829

The TI-83 uses 2.718281828459 for e.

I am at a loss for the error at this moment.
You didn't run the iterations. The answer you got, 0.7258862829, is the first step in the iteration, and you only get that if you use VD=0.6 as your first guess. You need to plug that number into VD in the right side of the equation, and re-evaluate. Plug the new answer into VD and evaluate again, ad nauseum, until the evaluated value doesn't change. See my Basic program in post #14,
Rich (BB code):
Vt=.026
Vs=1
Is=3e-16
R=1e3
Vdnew=.6
Do
    Vd=Vdnew
    Vdnew=Vt*log((Vs-Vd)/(R*Is)-1)
    Print "vd=";Vd
Print "Vdnew=";Vdnew
Loop until Vdnew=Vd

end
and the link posted by Jony130 in post #7.
 
Top