Schottky diode IV characteristics plot error

19 vues (au cours des 30 derniers jours)
Ranjan Kandasamy
Ranjan Kandasamy le 9 Sep 2021
I am trying to plot the current density vs voltage characteristics for a Schottky diode using the following equations:
Current density, J = I/A.
I have to plot V against ln{J/[1−exp((−qV)/(KT)]}. The plot should look something like this:
My code gives me a wrong plot and also wrong values. I tried testing if my expressions are generating correct answer. To my knowledge they are, so I do not know what the problem is. This is my code:
clc
clear all
n = 1.02; %Ideality factor
A = 110; %Richardson constant
q = 1.602e-19; % electron charge
K = 1.38e-23; %Boltzmann constant
T = 298; % Absolute temperature
phi_b = 0.57; %Barrier Height
J_0 = A* (T* T)* exp((-q* phi_b)/(K* T))
V = linspace(-2, 2);
J = J_0.* exp((q * V) ./ (n * K * T)) .* (1 - (exp(-q * V) ./ (K * T)));
J(V <= 0) = -J_0;
plot(V, log(J ./(1 - exp(-q* V)/(K *T))));
This is for Si and I am taking A* = 110, barrier height = 0.57 eV, T = 300K, ideality factor = 1.02.
My plot:
  2 commentaires
DGM
DGM le 10 Sep 2021
I don't see how you're going to get that plot from the given equations. The expression for current you're using for V<0 is a constant. It's not going to give you anything other than a straight line.
There was a minor error on one line. I don't know about the rest of it.
n = 1.02; %Ideality factor
A = 110; %Richardson constant
q = 1.602e-19; % electron charge
K = 1.38e-23; %Boltzmann constant
T = 298; % Absolute temperature
phi_b = 0.57; %Barrier Height
V = linspace(-2, 2);
J_0 = A* (T* T)* exp((-q* phi_b)/(K* T));
J = J_0.* exp((q * V) ./ (n * K * T)) .* (1 - exp((-q * V) ./ (K * T)));
% moved a parenthesis ^--^
% idk about this part
%J(V <= 0) = -J_0; % this is just going to be a straight line
%plot(V, log(J ./(1 - exp(-q* V)/(K *T))));
semilogy(V,abs(J)) % at least this looks like the abs of a diode IV curve
grid on;
Ranjan Kandasamy
Ranjan Kandasamy le 10 Sep 2021
Modifié(e) : Ranjan Kandasamy le 10 Sep 2021
Yes, I should be getting a straight line for V < 0. The resulting plot should resemble the orange curve from the example I provided, I should have mentioned that.
Two questions, was the error I got because of the misplaced parenthesis? and why did you opt for semilogy and abs?

Connectez-vous pour commenter.

Réponses (1)

Tanmay Das
Tanmay Das le 14 Sep 2021
Hi,
The expression inside the exp function should be enclosed within braces/parenthesis in order to avoid error due to operator precedence.
I-V Characteristic
It should be noted that the above graph is an I-V Characteric of Schottky diode and is plotted with Voltage as x-axis and ln(Current) as y-axis. The following code may be helpful:
clc
clear all
n = 1.02; %Ideality factor
A = 110; %Richardson constant
q = 1.602e-19; % electron charge
K = 1.38e-23; %Boltzmann constant
T = 298; % Absolute temperature
phi_b = 0.57; %Barrier Height
V = linspace(-2, 2);
J_0 = A* (T* T)* exp((-q* phi_b)/(K* T));
J = J_0.* exp((q * V) ./ (n * K * T)) .* (1 - exp((-q * V) ./ (K * T))); %corrected the paranthesis
J(V <= 0) = J_0; % For reverse bias
plot(V, log(J/A)); % Graph of ln(Current) vs Voltage i.e., I-V Characteristic of diode
The blue line for V<0 occurs only for non ideal cases when the parameters in J_0 varies slighly with change in voltage. For ideal case, J_0 is independent of V, so the graph for V<0 will be a flat line like the orange line. A graph similar to the image below should be generated using the above code:
Graph snapshot

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by