Need help to solve and plot implicit diode equation

16 ビュー (過去 30 日間)
Abhi
Abhi 2014 年 6 月 16 日
回答済み: Han 2022 年 11 月 17 日
Hey everyone!
I need some help trying to solve the following equation for I, given different values of V.
I = Il - Io * exp(q * (V + IR) / (n * k * T)) - (V + I*R) / S
This is the equation of a diode with a constant photo-current (Il) and injection current moving through it. The circuit has a series and a shunt resistance.
The trouble with this equation is that current depends on the voltage drop across components (V is the applied forward bias) and to evaluate that I need to use the relation V = IR (Ohm's Law).
This makes it a recursive equation of sorts. Can someone please help me understand how to plot I as a function of V? I'm new to this so it is possible that the solution is straightforward.
Thanks! :D

回答 (4 件)

Mischa Kim
Mischa Kim 2014 年 6 月 16 日
編集済み: Mischa Kim 2014 年 6 月 17 日
Abhi, turn this into a zero-finding problem and use fsolve to get the solution.
Something like
V = 0:0.1:10;
% define function you want to solve for: fun = 0
fun = @(I) Il - Io * exp((V + I*R)/(n*kT_q)) - (V + I*R)/S - I;
% get solution for all V
I_sol = fsolve(fun, Il*ones(size(V)));
plot(V,I_sol)
  3 件のコメント
Tanmay
Tanmay 2014 年 8 月 27 日
Hi Rosemarie, I am also working on similar problem as yours. I have some doubt in building the equations for infinite diode ladder equation. Could you please, show me your circuit ?
Rosemarie
Rosemarie 2014 年 8 月 27 日
Hi Tanmay. I used the single diode circuit for my solar cell J-V data fitting just like the one on this link:

サインインしてコメントする。


Roger Stafford
Roger Stafford 2014 年 6 月 17 日
An explicit solution for I as a function of V can be found using matlab's 'solve'. The solution involves the 'lambertw' function.
  1 件のコメント
lloyd mukunza
lloyd mukunza 2014 年 9 月 20 日
everytime I try to use the solve fuction it gives [sysm empty] and says the explicit solution can not be found. I noticed the moment I introduce the + in the exp component that's when this error occurs. so I have tried this simple equation to solve for x: take for example x = exp(x+y) and try to solve for x using
syms x y
solve('x = exp(x+y)',x)
it gives
[sym empty].
How then do I solve for x in this simple equation.

サインインしてコメントする。


Roger Stafford
Roger Stafford 2014 年 9 月 21 日
@Abhi. The explicit solution for I in the equation
Il-Io+exp(q*(V+I*R)/(n*k*T))-(V+I*R)/S = I
which I obtained using my (ancient) 'solve' function is:
I = ((Il-Io)*S-V)/(R+S) - ...
n*k*T/q/R*lambertw(-exp(S*q*(V+R*(Il-Io))/n/k/T/(R+S))*S*q*R/n/k/T/(R+S))
The 'lambertw' function in this should be a part of your Symbolic Toolbox or MuPad. Note that for some values of its argument there are two possible real answers. The function provides a flag for selecting which of these answers (which "branch") you wish to use.
  2 件のコメント
lloyd mukunza
lloyd mukunza 2014 年 9 月 23 日
Abhi can you explain to me how you used the solve function. help me with the code. I have tried it som many times but I get [syms empty]
lozkane
lozkane 2016 年 9 月 26 日
Roger, I am interested in the explicit Lambert solution. When I test this, however, I find the solution for the Lambert part of the equation fails with any voltage value above ~ 1. This appears to be the case regardless of which branch is used. I am testing with a module (Munchen MSP290AS-36.EU) at STC ratings. Can you offer any further information to assist in debugging this?

サインインしてコメントする。


Han
Han 2022 年 11 月 17 日
current-voltage and capacitance-voltage characteristics of Au/n-GaAs and Au/GaN/n-GaAs Schottky diodes in wide temperature rang (Need solve and plot diod equation - MATLAB ANSWERES)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by