Application Center - Maplesoft

App Preview:

Solution Analytique Exacte dans un Circuit Eléctronique contenant une Résistance et une Diode

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application




 

Exact Analytical Solution in electronic circuit containing a resistor and a diode

Influence of: resistance,  saturation current, ideality factor, temperature.

first case: sinusoidal signal

second case:a sawtooth signal

 

Solution Analytique Exacte dans un Circuit Eléctronique contenant une Résistance et une Diode

Influence de la résistance, le courant de saturation, le facteur d'idéalité et la température.

Premier cas :  signal sinusoidal

Deuxiéme cas : signal en dents de scie

by Professor EL Aydi mhamed (a), (b), R.Bendaoud (a) ,,H.Amiri (a) , S.Yadir (a) ,Professeur  M.Benhmida (a)  

(a) Laboratoire d'Electronique ,Instrumentation et Energitique

Département de Physique, Faculté des Sciences, Université Chouaïb Doukkali à El Jadida, Royaume du Maroc

(b) Département de Mathématiques, Centre  Régional des métiers d'Education et de Formation , El Jadida, Royaume du Maroc   

, © 2014 EL Aydi Mhamed

 

ABSTRACT : In this application worksheet, we use Maple software to determine exact analytical solutions for the current flows through the different branches of the élèctronique circuit . Then, we derive analytical expressions for the voltages at the terminals of all elements in the circuit. Finally, we calculate the dynamical resistances the diode in the circuit. The proposed analytical solutions are all expressed as functions of the Lambert W function.

Finally, we study the influance of resistance on the expression of the electric current through the electronic circuit and the expressions of the potential differences across all elements of the assembly by facilitating solutions to vary the resistance on an interval.

Similarly , we studie  the influance of: saturation current, the ideality factor and temperature.

 

 

SUBJECTS : Electronics, Semiconductor Physics.

 

KEYWORDS : Diodes , Lambert W function.

 

RESUME : Dans cette feuille d'application, nous utilisons le logiciel de calcul formel Maple dans la résolution analytique exacte des courants électriques traversant les différentes branches d'un circuit élèctronique. Puis, nous déterminons les expressions analytiques exactes des différences de potentiel aux bornes de tous les éléments du montage. puis nous calculons la résistance dynamique du diode du circuit. Les solutions analytiques proposées sont toutes exprimées en fonction de la fonction de lambert W.

Enfin , nous étudions l'influance de la résistance sur l'expression du courant électrique traversant le circuit élèctronique et sur les expressions des différences de potentiel aux bornes de tous les éléments du montage en faisant animer les solutions en variant la résistance sur un interval .

De la mème manière On étudie l'influance du : courant de saturation,le facteur d'idéalité et la température.

 

SUJETS : Electronique, Physique des semi-conducteurs.

 

 

 

PROBLEM

PROBLEME

 

 

restart

scoring:

R: resistance;  D: diode; Is: the saturation current of the diode;IR: current through the resistance equal to the current through the diode. q: Kettle load; eta: ideality factor of the diode; KB: Boltzmann constant; T is the absolute temperature; "a=q/(eta.kB.T)."

V:voltage source ; VAB: the voltage across resistance ;VBC: voltage across the diode;Rd:dynamical résistance of the diode.

 

 

eq1 := VAB = R*IR

VAB = R*IR

(1)

eq2 := IR = Is*(exp(a*VBC)-1)

IR = Is*(exp(a*VBC)-1)

(2)

``

 

eq3 := V = VAB+VBC

V = VAB+VBC

(3)

eq4 := subs(eq1, eq3)

V = IR*R+VBC

(4)

NULL

 

eq5 := VBC = solve(eq4, VBC)

VBC = -IR*R+V

(5)

eq6 := subs(eq5, eq2)

IR = Is*(exp(a*(-IR*R+V))-1)

(6)

NULL

 

eq7 := i = Is*(exp(a*v)-1)

i = Is*(exp(a*v)-1)

(7)

v := solve(eq7, v)

ln((Is+i)/Is)/a

(8)

Rd := diff(v, i)

1/((Is+i)*a)

(9)

NULL

 

IR := solve(eq6, IR)

-(Is*R*a-LambertW(Is*R*a*exp(Is*R*a+V*a)))/(R*a)

(10)

IR := simplify(IR)

-(Is*R*a-LambertW(Is*R*a*exp(a*(Is*R+V))))/(R*a)

(11)

``

 

IR := expand(IR)

-Is+LambertW(Is*R*a*exp(a*(Is*R+V)))/(R*a)

(12)

``

NULL

NULL

first case:the sinusoidal signal  V := proc (t) options operator, arrow; Vm*sin(omega*t) end proc

 

((GRAPHS*OF*CURRENT*FLOWS*AND*VOLTAGES*OF)*THE*CIRCUIT*AGAINST*TIME*TRACES*DES*COURANTS*ET*TENSIONS*DU*CIRCUIT)*EN*FONCTION*DU*TEMPS

 

restart; with(plots)

 

V := proc (t) options operator, arrow; Vm*sin(omega*t) end proc

proc (t) options operator, arrow; Vm*sin(omega*t) end proc

(13)

a := q/(eta.kB.T)

q/(`.`(eta, kB, T))

(14)

NULL

NULL

 

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(15)

NULL

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(16)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(17)

NULL

 

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(18)

NULL

NULL

 

R := 1000; T := 300

1000

300

(19)

Is := 10^(-9)

1/1000000000

(20)

NULL

 

q := 1.60219*10^(-19)

0.1602190000e-18

(21)

kB := 1.38062*10^(-23)

0.1380620000e-22

(22)

NULL

 

eta := 1.8; Vm := 3

1.8

3

(23)

omega := 2*Pi*60

120*Pi

(24)

NULL

``

(25)

"IR(t);VAB(t);VBC(t);Rd(t):=1/((Is+IR(t))*a);"

0.4653223400e-2*LambertW(0.2149047905e-6*exp(64.47143715*sin(120*Pi*t)+0.2149047905e-6))-1/1000000000

0.4653223400e-1*LambertW(0.2149047905e-6*exp(64.47143715*sin(120*Pi*t)+0.2149047905e-6))-1/100000000

3*sin(120*Pi*t)-0.4653223400e-1*LambertW(0.2149047905e-6*exp(64.47143715*sin(120*Pi*t)+0.2149047905e-6))+1/100000000

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(26)

NULL

 

plot(Rd(t), t = 0 .. 4*Pi/omega)

NULL

NULL

 

 

plot([V(t), VAB(t), VBC(t)], t = 0 .. 4*Pi/omega, color = [black, blue, green])

NULL

NULL

 

 

plot(IR(t), t = 0 .. 2*Pi/omega)

NULL

 

plot(IR(t), t = Pi/omega .. 2.*Pi/omega)

NULL

 

"Influance of: resistance,"the saturation current,temperature,ideality factor.

NULL

"Influance of: resistance."

restart; with(plots)

V := proc (t) options operator, arrow; Vm*sin(omega*t) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*sin(omega*t) end proc

q/(`.`(eta, kB, T))

(27)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(28)

``

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(29)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(30)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(31)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(32)

 

T := 300; q := 1.60219*10^(-19)

300

0.1602190000e-18

(33)

Is := 10^(-9); kB := 1.38062*10^(-23)

1/1000000000

0.1380620000e-22

(34)

eta := 1.8; Vm := 6; omega := 2*Pi*60

1.8

6

120*Pi

(35)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for an input voltage amplitude lying in the range 0 to 10 Volts.

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour une amplitude de la tension d'entrée comprise entre 0 et 10 Volts.

#animate({V(t),VAB(t),VBC(t),IR(t))},t=0..4*Pi/omega,R=0.1..100);

 

animate(V(t),t=0..4*Pi/omega,R=0.1..100,color=red):F:=%:

animate(VAB(t),t=0..4*Pi/omega,R=0.1..100,color=green):G:=%:

animate(VBC(t),t=0..4*Pi/omega,R=0.1..100,color=blue):H:=%:

NULL

 

 

display({F, G, H}, title = "circuit a single diode\nAnimation of V(t),VAB(t),VBC(t)")

animate(IR(t), t = 0 .. 4*Pi/omega, R = .1 .. 100, color = BLACK, title = courant*(I)(t))

animate(Rd(t), t = 0 .. 4*Pi/omega, R = .1 .. 100, color = BLACK, title = Résistence*dynamique*R*d(t))

NULL

 

Conclusion :

Influance of:  the saturation current.

restart; with(plots)

V := proc (t) options operator, arrow; Vm*sin(omega*t) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*sin(omega*t) end proc

q/(`.`(eta, kB, T))

(36)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(37)

NULL

``

 

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(38)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(39)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(40)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(41)

 

R := 10; T := 300; q := 1.60219*10^(-19)

10

300

0.1602190000e-18

(42)

kB := 1.38062*10^(-23)

0.1380620000e-22

(43)

eta := 1.8; Vm := 3; omega := 2*Pi*60

1.8

3

120*Pi

(44)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for an input voltage amplitude lying in the range 0 to 10 Volts.

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour une amplitude de la tension d'entrée comprise entre 0 et 10 Volts.

#animate({V(t),VAB(t),VBC(t)},t=0..4*Pi/omega,Is=10^(-9)..10^(-7));

animate(V(t),t=0..4*Pi/omega,Is=10^(-9)..10^(-7),color=red):F:=%:;

animate(VAB(t),t=0..4*Pi/omega,Is=10^(-9)..10^(-7),color=green):G:=%:

animate(VBC(t),t=0..4*Pi/omega,Is=10^(-9)..10^(-7),color=blue):H:=%:

NULL

 

 

 

 

display({F, G, H}, title = "circuit a single diode\nAnimation of V,VAB,VBC")

animate(IR(t), t = 0 .. 4*Pi/omega, Is = 10^(-9) .. 10^(-7), color = BLACK, title = courant*(I)(t))

 

animate(Rd(t), t = 0 .. 4*Pi/omega, Is = 10^(-9) .. 10^(-7), color = BLACK, title = Résistence*dynamique*R*d(t))

NULL

 

Conclusion :

Influance of:  temperature

 

restart; with(plots)

V := proc (t) options operator, arrow; Vm*sin(omega*t) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*sin(omega*t) end proc

q/(`.`(eta, kB, T))

(45)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(46)

NULL

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(47)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(48)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(49)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(50)

 

R := 10; q := 1.60219*10^(-19)

10

0.1602190000e-18

(51)

Is := 10^(-9); kB := 1.38062*10^(-23)

1/1000000000

0.1380620000e-22

(52)

eta := 1.8; Vm := 3; omega := 2*Pi*60

1.8

3

120*Pi

(53)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for an input voltage amplitude lying in the range 0 to 10 Volts.

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour une amplitude de la tension d'entrée comprise entre 0 et 10 Volts.

#animate({V(t),VAB(t),VBC(t),IR(t))},t=0..4*Pi/omega,300..400);

animate(V(t),t=0..4*Pi/omega,T=300..370,color=red):F:=%:

animate(VAB(t),t=0..4*Pi/omega,T=300..370,color=green):G:=%:

animate(VBC(t),t=0..4*Pi/omega,T=300..370,color=blue):H:=%:

NULL

 

 

display({F, G, H}, title = "circuit a single diode\nAnimation of V,VAB,VBC")

animate(IR(t), t = 0 .. 4*Pi/omega, T = 300 .. 370, color = BLACK, title = courant*(I)(t))

animate(Rd(t), t = 0 .. 4*Pi/omega, T = 300 .. 370, color = BLACK, title = Résistence*dynamique*R*d(t))

NULL

 

 

 

Influance of:ideality factor.

 

restart

with(plots)

V := proc (t) options operator, arrow; Vm*sin(omega*t) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*sin(omega*t) end proc

q/(`.`(eta, kB, T))

(54)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(55)

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(56)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(57)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(58)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(59)

 

R := 10; T := 300; q := 1.60219*10^(-19)

10

300

0.1602190000e-18

(60)

kB := 1.38062*10^(-23)

0.1380620000e-22

(61)

Is := 10^(-9); Vm := 3; omega := 2*Pi*60

1/1000000000

3

120*Pi

(62)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for an input voltage amplitude lying in the range 0 to 10 Volts.

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour une amplitude de la tension d'entrée comprise entre 0 et 10 Volts.

#animate({V(t),VAB(t),VBC(t)},t=0..4*Pi/omega,eta=0.8..2);

animate(V(t),t=0..4*Pi/omega,eta=0.8..2,color=red):F:=%:;

animate(VAB(t),t=0..4*Pi/omega,eta=0.8..2,color=green):G:=%:

animate(VBC(t),t=0..4*Pi/omega,eta=0.8..2,color=blue):H:=%:

``

 

 

 

 

display({F, G, H}, title = "circuit a single diode\nAnimation of V,VAB,VBC")

animate(IR(t), t = 0 .. 4*Pi/omega, eta = .8 .. 2, color = BLACK, title = courant*(I)(t))

 

animate(Rd(t), t = 0 .. 4*Pi/omega, eta = .8 .. 2, color = BLACK, title = Résistence*dynamique*R*d(t))

NULL

 

 

``

second case:a sawtooth signalV := proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc; t = 0 .. P; P*is*the*Périod*(Vm = 0 .. 580)

 

((GRAPHS*OF*CURRENT*FLOWS*AND*VOLTAGES*OF)*THE*CIRCUIT*AGAINST*TIME*TRACES*DES*COURANTS*ET*TENSIONS*DU*CIRCUIT)*EN*FONCTION*DU*TEMPS

 

restart; with(plots)

 

V := proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc

proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc

(63)

a := q/(eta.kB.T)

q/(`.`(eta, kB, T))

(64)

NULL

``

 

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(65)

``

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(66)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(67)

``

 

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(68)

``

``

 

R := 10; T := 300

10

300

(69)

Is := 10^(-9)

1/1000000000

(70)

``

 

q := 1.60219*10^(-19)

0.1602190000e-18

(71)

kB := 1.38062*10^(-23)

0.1380620000e-22

(72)

``

 

eta := 1.8; Vm := 400

1.8

400

(73)

P := 0.17e-1

0.17e-1

(74)

``

``

(75)

"IR(t);VAB(t);VBC(t);Rd(t):=1/((Is+IR(t))*a);"

0.4653223400e-2*LambertW(0.2149047905e-6*exp(8596.191620*t-73.06762856))-1/1000000000

0.4653223400e-1*LambertW(0.2149047905e-6*exp(8596.191620*t-73.06762856))-1/100000000

400*t-3.399999990-0.4653223400e-1*LambertW(0.2149047905e-6*exp(8596.191620*t-73.06762856))

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(76)

``

 

 

plot(Rd(t), t = 0 .. P)

``

``

 

 

plot([V(t), VAB(t), VBC(t)], t = 0 .. P, color = [black, blue, green])

``

``

 

 

plot(IR(t), t = 0 .. (1/2)*P)

``

 

plot(IR(t), t = (1/2)*P .. P)

``

 

"Influance of: resistance,"the saturation current,temperature,ideality factor.

``

"Influance of: resistance."

restart

with(plots)

V := proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc

q/(`.`(eta, kB, T))

(77)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(78)

NULL

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(79)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(80)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(81)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(82)

 

T := 300; q := 1.60219*10^(-19)

300

0.1602190000e-18

(83)

Is := 10^(-9); kB := 1.38062*10^(-23)

1/1000000000

0.1380620000e-22

(84)

eta := 1.8; Vm := 400; P := 0.17e-1

1.8

400

0.17e-1

(85)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for R=0.1..100

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour R=0.1..100

#animate({V(t),VAB(t),VBC(t),IR(t))},t=0..0.017,R=0.1..100);

 

animate(V(t),t=0..P,R=0.1..100,color=red):F:=%:

animate(VAB(t),t=0..P,R=0.1..100,color=green):G:=%:

animate(VBC(t),t=0..P,R=0.1..100,color=blue):H:=%:

``

 

 

 

display({F, G, H})

animate(IR(t), t = 0 .. P, R = .1 .. 100, color = BLACK)

 

animate(Rd(t), t = 0 .. P, R = .1 .. 100, color = BLACK)

``

``

``

 

 

Influance of:  the saturation current.

restart; with(plots)

V := proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc

q/(`.`(eta, kB, T))

(86)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(87)

``

NULL

 

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(88)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(89)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(90)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(91)

 

R := 8; T := 300; q := 1.60219*10^(-19)

8

300

0.1602190000e-18

(92)

kB := 1.38062*10^(-23)

0.1380620000e-22

(93)

eta := 1.8; Vm := 400; P := 0.17e-1

1.8

400

0.17e-1

(94)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for  Is=10^(-9)..10^(-1)

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour Is=10^(-9)..10^(-1)

#animate({V(t),VAB(t),VBC(t)},t=0..P,Is=10^(-9)..10^(-1));

animate(V(t),t=0..P,Is=10^(-9)..10^(-6),color=red):F:=%:

animate(VAB(t),t=0..P,Is=10^(-9)..10^(-6),color=green):G:=%:

animate(VBC(t),t=0..P,Is=10^(-9)..10^(-6),color=blue):H:=%:

``

 

 

 

 

 

display({F, G, H})

animate(IR(t), t = 0 .. P, Is = 10^(-9) .. 10^(-6), color = BLACK)

animate(Rd(t), t = 0 .. P, Is = 10^(-9) .. 10^(-6), color = BLACK)

 

``

 

``

 

Influance of:  temperature

 

restart; with(plots)

V := proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc

q/(`.`(eta, kB, T))

(95)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(96)

``

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(97)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(98)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(99)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(100)

 

R := 10; q := 1.60219*10^(-19)

10

0.1602190000e-18

(101)

Is := 10^(-9); kB := 1.38062*10^(-23)

1/1000000000

0.1380620000e-22

(102)

eta := 1.8; Vm := 400; P := 0.17e-1

1.8

400

0.17e-1

(103)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for T=300..400)

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour T=300..400);

#animate({V(t),VAB(t),VBC(t),IR(t))},t=0..P,T=300..400);

animate(V(t),t=0..P,T=300..400,color=red):F:=%:

animate(VAB(t),t=0..P,T=300..400,color=green):G:=%:

animate(VBC(t),t=0..P,T=300..400,color=blue):H:=%:

``

 

 

 

display({F, G, H})

animate(IR(t), t = 0 .. P, T = 300 .. 400, color = BLACK)

 

animate(Rd(t), t = 0 .. P, T = 300 .. 400, color = BLACK)

``

 

 

 

Influance of:ideality factor.

 

restart

with(plots)

V := proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc; a := q/(eta.kB.T)

proc (t) options operator, arrow; Vm*(t-(1/2)*P) end proc

q/(`.`(eta, kB, T))

(104)

A := proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

proc (t) options operator, arrow; LambertW(a*R*Is*exp(a*(V(t)+R*Is)))/(a*R)-Is end proc

(105)

 

IR := proc (t) options operator, arrow; A(t) end proc

proc (t) options operator, arrow; A(t) end proc

(106)

VAB := proc (t) options operator, arrow; R*IR(t) end proc

proc (t) options operator, arrow; R*IR(t) end proc

(107)

VBC := proc (t) options operator, arrow; V(t)-VAB(t) end proc

proc (t) options operator, arrow; V(t)-VAB(t) end proc

(108)

"Rd(t):=1/((Is+IR(t))*a);"

proc (t) options operator, arrow; 1/((Is+IR(t))*a) end proc

(109)

 

R := 8; T := 300; q := 1.60219*10^(-19)

8

300

0.1602190000e-18

(110)

kB := 1.38062*10^(-23)

0.1380620000e-22

(111)

Is := 10^(-9); Vm := 400; P := 0.17e-1

1/1000000000

400

0.17e-1

(112)

In the following figure, we present an animation of the voltages V(t), VAB(t), VBC(t) for  eta=0.8..2.

Dans la figure suivante, nous présentons une animation des tensions V(t), V[R](t), V[AB](t) et V[AC](t) pour eta=0.8..2.

#animate({V(t),VAB(t),VBC(t)},t=0..P,eta=1..2);

animate(V(t),t=0..P,eta=0.8..2,color=red):F:=%:;

animate(VAB(t),t=0..P,eta=0.8..2,color=green):G:=%:

animate(VBC(t),t=0..P,eta=0.8..2,color=blue):H:=%:

``

 

 

 

 

 

display({F, G, H})

animate(IR(t), t = 0 .. P, eta = .8 .. 2, color = BLACK)

 

animate(Rd(t), t = 0 .. P, eta = .8 .. 2, color = BLACK)

``