Upload
ngoanh
View
226
Download
0
Embed Size (px)
Citation preview
1
Profesor Leopoldo Silva Bijit. 25/09/2006
Algoritmos para análisis de redes no lineales.
SPICE es una aplicación muy útil para el análisis de redes no lineales dinámicas.
Se desarrolla a continuación los procedimientos matemáticos que están en el interior de SPICE, para resolver sistemas simultáneos de ecuaciones no lineales, esto se muestra a través de programas simplificados Maple.
Formulación de ecuaciones no lineales.
Vin +
0
D1
2
R
1
Figura 1. Diodo no lineal con resistencia serie.
La ecuación no lineal de equilibrio del diodo es:
/( 1)v Vtd si I e= −
Vt es el voltaje térmico del diodo. Vt = KT/q, donde K es la
constante de Boltmann, T es la temperatura absoluta (300 grados Kelvin temperatura ambiente), y q es la carga de un electrón. Vt toma valor cercano a 0.026 Volts a temperatura ambiente. Is es la corriente inversa de saturación y un valor típico para este parámetros es 10-14 A.
2 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
El modelo del diodo es simplificado. En la formulación del modelo matemático, basado en consideraciones de la física de semiconductores, no se representan, entre otros, los efectos capacitivos ni el voltaje inverso de ruptura.
Aplicando método nodal, a la red de la Figura 1, se obtiene:
in dV Ri v− = Dados ,inV R , y los parámetros ,s tI V del diodo, se requiere
calcular v . Eliminando di de las ecuaciones anteriores, se obtiene la
ecuación no lineal, en términos del voltaje de nodo.
/( ) ( 1) 0v Vtin sf v V RI e v= − − − =
La solución de ( ) 0f v = , puede ser difícil de encontrar
analíticamente, pero como veremos es sencilla de resolver iterativamente.
Método de Newton-Raphson.
Para resolver ( ) 0f x = , se parte de un valor 0x y se genera
una serie de iteraciones ix que se acerquen a la solución sx ,
donde ( ) 0sf x = . En cursos de análisis numérico se responden las preguntas:
¿Cuándo la secuencia ix converge a la solución correcta? ¿Cuán rápido se converge? ¿La convergencia depende del intento inicial 0x ? ¿Cuándo detener las iteraciones?.
El método de Newton-Raphson consiste en reemplazar,
mediante la expansión de Taylor, la función por su versión lineal, en torno a la solución:
( ) ( ) ( )( )s s sdff x f x x x xdx
= + −
Teoría de Redes Eléctricas 3
Profesor Leopoldo Silva Bijit. 25/09/2006
Para un punto cualquiera se obtiene:
1 1( ) ( ) ( )( )k k k k kdff x f x x x xdx+ += + −
Efectuando: 1( ) 0kf x + = , se obtiene la fórmula de la iteración
de Newton-Raphson, despejando 1kx + :
1
1 ( ) ( )k k k kdfx x x f xdx
−
+⎡ ⎤= − ⎢ ⎥⎣ ⎦
Podemos interpretar la fórmula de la iteración, planteando la
relación anterior en 0x , y calculando 1x . Situación que se ilustra en la Figura 2.
x0 x1
f(x)
x2
f(x0)
xs θ0
f(x1)
Figura 2. Iteración Newton-Raphson.
Resulta, de la interpretación gráfica de la derivada en 0x : Despejando 1x , se obtiene el primer valor de aproximación
del método de Newton-Raphson: Nótese que 1( )f x no es cero, lo cual implica que 1x es una
aproximación de sx . También debe notarse que para calcular la
00 0
0 1
( )( ) ( ) f xdftg xdx x x
θ ⎡ ⎤= =⎢ ⎥ −⎣ ⎦
1
1 0 0 0( ) ( )dfx x x f xdx
−⎡ ⎤= − ⎢ ⎥⎣ ⎦
4 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
siguiente aproximación deben calcularse la función y la derivada en el punto anterior.
El proceso debe repetirse hasta que: 1k kx x tolerancia+ − < Donde el valor de tolerancia debe ser un valor lo
suficientemente pequeño, para que la solución se considere aceptable. Con números reales de precisión simple (float en C), un valor razonable de tolerancia es 10-6, que es el valor del número real más pequeño representable, en el formato interno normalizado IEEE754.
Si el valor inicial es adecuado conviene limitar el número
máximo de iteraciones, de este modo si no existe convergencia se asegura que el algoritmo termine.
También puede verificarse que la ordenada en los puntos
sucesivos esté dentro de cierto rango:
1( )kf x tolerancia+ < Emplearemos el método anterior para calcular, usando
Maple, el punto de operación para el circuito de la Figura 1.
Implementación Maple de Newton-Raphson.
Se definen los parámetros de la red no lineal: > restart; with(plots): > Vin:=2: R:=100: Is:=1e-14: Vt:=.026: id:=Is*(exp(v/Vt)-1): Se calcula la función f(v)=0 y la derivada de f respecto a v. > f:=Vin-R*id-v: df:=diff(f,v): La característica del diodo, con la ordenada en mA, se
obtiene con: > plot(1000*id, v=0.6..0.8, thickness=2);
Teoría de Redes Eléctricas 5
Profesor Leopoldo Silva Bijit. 25/09/2006
Figura 3. Característica diodo no lineal.
Los valores que da el comando .op, de SPICE, que calcula el punto de operación, son: V(2) = 0,7211 e I(D1)= 1.279E-02 = 12,8 mA.
Se efectúa un gráfico detallado de f(v), en la zona de solución,
mediante: > plot(f,v=0.72..0.73,thickness=2);
Se obtiene:
Figura 4. Punto de operación.
Se procede ahora a implementar el algoritmo de Newton-Raphson. Se ha puesto un límite de 100 iteraciones y una tolerancia de 10-8.
> v[0]:=2: nmax:=100: tolerancia:=1e-8: Se repite desde n igual 0 hasta nmax lo que está entre do y
od, mediante el comando for. El break, dentro del if, detiene las iteraciones. Note el uso del
then, y del fi, con que termina el if.
6 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
> for n from 0 to nmax do v[n+1]:=v[n]-subs(v=v[n],f)/subs(v=v[n],df); if abs( v[n+1] - v[n] ) < tolerancia then # solución dentro de la tolerancia break ; fi ; od: Al salir del lazo for, v[n+1] contiene el valor de la última
iteración, siendo la solución buscada. La secuencia de valores de v, para acercarse a la solución,
pueden visualizarse colocando un punto y coma en lugar de los dos puntos, en la secuencia: > S:=[seq([k,v[k]],k=0..n+1)]:
Una gráfica de los valores de v calculados en cada paso de la iteración, se logra con: > pointplot(S,symbol=circle);
Figura 5. Convergencia hacia la solución.
Punto de operación. El valor de la solución obtenida, se despliega mostrando el
voltaje y la corriente en el diodo, mediante:
> v[n+1];eval(id,v=v[n+1]);
.7247286818
Teoría de Redes Eléctricas 7
Profesor Leopoldo Silva Bijit. 25/09/2006
.01275271318
Valor de voltaje que coincide con el cruce por cero de la gráfica de la Figura 4; y también con el punto de operación obtenido con .op en SPICE.
El método de Newton-Raphson está incorporado en Maple,
mediante el comando fsolve, se obtiene prácticamente igual solución a la anterior, ejecutando simplemente:
> fsolve(f);
.7247286819
El algoritmo fsolve de Maple considera refinaciones del algoritmo anterior que se ha descrito en forma simplificada.
El análisis DC repite el cálculo anterior para diferentes
valores de Vin.
Análisis DC. Se implementa el comando de Spice: .DC Vi 0V 2.5V 25mV Empleando el comando fsolve, el algoritmo para efectuar un
barrido DC, calculando los puntos de V(2) y la corriente en el diodo Id, para los voltajes Vin desde 0 a 2.5V, en incrementos de 25 mV, se logra con:
> restart;with(plots): > R:=100:Is:=1e-14:Vt:=.026:id:=Is*(exp(v/Vt)-1): > f:=Vini-R*id-v: > Vin[0]:=0:DeltaV:=0.025:nmax:=2.5/DeltaV: > for n from 0 to nmax do V2[n]:=fsolve(subs(Vini=Vin[n],f)): Id[n]:=eval(id,v=V2[n]): Vin[n+1]:=Vin[n]+DeltaV; od:
Las trazas se confeccionan mediante las secuencias: > S1:=[seq([Vin[k],1000*Id[k]],k=0..nmax)]: S2:=[seq([Vin[k],V2[k]],k=0..nmax)]: > p1:=pointplot(S1,symbol=circle,color=red): p2:=pointplot(S2,symbol=circle,color=blue): display(p1);display(p2);
8 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
Nótese que se almacenan los puntos Vin, y que la gráfica de la corriente se expresa en miliamperes.
Figura 6. Corriente en el diodo en [mA] versus Vin.
Figura 7. Voltaje en el diodo versus Vin.
Esta es la forma en que SPICE realiza los cálculos en forma interna, pero con algoritmos más eficientes.
Generalización para sistemas de ecuaciones no lineales.
Para un sistema de ecuaciones no lineales, se emplea la expansión de Taylor para varias variables.
La expansión es una linealización en torno a la solución:
( ) ( ) ( )( )s s sF x F x J x x x= + −
Teoría de Redes Eléctricas 9
Profesor Leopoldo Silva Bijit. 25/09/2006
Las cantidades ( )F x y ( )sx x− se expresan como vectores, y
( )sJ x como una matriz, denominada Jacobiano. Para un punto cualquiera, con aproximación de primer
orden, se tiene:
1 1( ) ( ) ( )( )k k k k kF x F x J x x x+ += + − Para entender la relación anterior se ilustra la forma que ella
toma para dos funciones de dos variables x1 y x2, se tiene:
1 1
1 1 1 1 1
2 1 1 2 12 2
( 1 , 2 ) ( 1 , 2 )( 1 , 2 ) ( 1 , 2 ) 1 11 2
( 1 , 2 ) ( 1 , 2 ) 2 2( 1 , 2 ) ( 1 , 2 )
1 2
k k k k
k k k k k k
k k k k k kk k k k
F x x F x xF x x F x x x xx x
F x x F x x x xF x x F x x
x x
+ + +
+ + +
∂ ∂
−∂ ∂= +
−∂ ∂
∂ ∂
⎡ ⎤⎢ ⎥⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎢ ⎥⎢ ⎥⎣ ⎦
Una explicación del cambio de la función de dos variables,
puede efectuarse considerando el plano tangente a la superficie en el punto (x10, x20) que pasa también por el punto (x11, x21).
Donde el punto 0 es el inicial, y el punto 1, se obtiene pasando un plano tangente a la superficie en el punto 0.
x10
x11
x20
x21 θx1 θx2
ΔF1x1
ΔF1x2
Figura 8. Interpretación del Jacobiano de dos variables.
Aplicando la interpretación geométrica de las derivadas parciales, se tienen:
10 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
1 0 0 1 11
0 1
1 0 0 1 22
0 1
( 1 , 2 )( ) 1 1 1
( 1 , 2 )( ) 2 2 2
xx
xx
F x x Ftgx x x
F x x Ftgx x x
θ
θ
∂ Δ= =
∂ −
∂ Δ= =
∂ −
El cambio total de la función, resulta:
1 0 0 1 0 01 1 1 2 0 1 0 1
( 1 , 2 ) ( 1 , 2 )( 1 1 ) ( 2 2 )1 2x x
F x x F x xF F x x x xx x
∂ ∂Δ + Δ = − + −
∂ ∂
Aplicando el método de Newton-Raphson, que consiste en
asumir que el plano tangente pasa por el punto que es una aproximación a la solución. Esto equivale a efectuar:
1 1 1
2 1 1
( 1 , 2 )( 1 , 2 )
0k k
k k
F x xF x x
+ +
+ +
⎡ ⎤⎢ ⎥⎣ ⎦
=
Entonces la fórmula de iteración, resulta:
1 1
1 1
1 22 2
( 1 , 2 ) ( 1 , 2 )1 1 ( 1 , 2 )1 22 2 ( 1 , 2 )( 1 , 2 ) ( 1 , 2 )
1 2
k k k k
k k k k
k k k kk k k k
F x x F x xx x F x xx xx x F x xF x x F x x
x x
+
+
∂ ∂−∂ ∂
= −−∂ ∂
∂ ∂
⎡ ⎤⎢ ⎥⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎢ ⎥⎢ ⎥⎣ ⎦
Finalmente, despejando el nuevo punto:
1 1
1 1
1 22 2
1( 1 , 2 ) ( 1 , 2 )1 1 ( 1 , 2 )1 22 2 ( 1 , 2 )( 1 , 2 ) ( 1 , 2 )
1 2
k k k k
k k k k
k k k kk k k k
F x x F x xx x F x xx xx x F x xF x x F x x
x x
+
+
−∂ ∂
∂ ∂= −∂ ∂
∂ ∂
⎡ ⎤⎢ ⎥⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎢ ⎥⎢ ⎥⎣ ⎦
La que expresada en términos de vectores y la matriz inversa
del Jacobiano, resulta en general, para n variables:
11 ( ) ( ) k k k kx x J x F x−
+ = −
Teoría de Redes Eléctricas 11
Profesor Leopoldo Silva Bijit. 25/09/2006
Una mejor visualización de la suma de los incrementos, se logra observando los triángulos semejantes en la Figura 8a. Por el punto inicial (2, 2, 10) se pasa el plano z=2x+3y que también pasa por el punto (0, 0, 0). Se han dibujado además los planos de z constante, z=4 y z=6.
2, 3z zx y
∂ ∂= =
∂ ∂ , 64z zx y
x y∂ ∂
Δ = Δ =∂ ∂
Figura 8a. Variación total de función de dos variables.
Volviendo al caso de dos variables, considerando el álgebra de matrices, se tiene:
1 1a b x by dxc d y cx ayad bc
− −⎡ ⎤ ⎡ ⎤ ⎡ ⎤− =⎢ ⎥ ⎢ ⎥ ⎢ ⎥−−⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Entonces las fórmulas de iteración de Newton-Raphson para
un sistema de ecuaciones no lineales de dos variables:
1 22 1
11 2 1 2
( ) ( )( ( ) ( ))2 21 1 ( ) ( ) ( ) ( )
1 2 2 1
k k
F k F kF k F kx xx x F k F k F k F k
x x x x
+
∂ ∂−
∂ ∂= +∂ ∂ ∂ ∂
−∂ ∂ ∂ ∂
2 1
1 2
11 2 1 2
( ) ( )( ( ) ( ))2 12 2 ( ) ( ) ( ) ( )
1 2 2 1
k k
F k F kF k F kx xx x F k F k F k F k
x x x x
+
∂ ∂−
∂ ∂= +∂ ∂ ∂ ∂
−∂ ∂ ∂ ∂
12 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
En caso de mayores órdenes debe invertirse el Jacobiano, o alternativamente resolverse el sistema lineal de ecuaciones, para las incógnitas 1kx + :
1( )( ) ( ) k k k kJ x x x F x+ − = −
Sistema no lineal de dos ecuaciones.
Vin +
0
D1
2
R 3
E1
D2
E2 4
i1 i2
v1 v2
1
Figura 9. Red no lineal con dos diodos.
Se tienen: 1 1
2 2
1 2
in
in
V Ri E vV Ri E vi i i
− = +− = −
= −
Las ecuaciones exponenciales de los diodos, que se asumen
iguales son: 1
2
/1
/2
( 1)
( 1)
v Vts
v Vts
i I e
i I e
= −
= −
Eliminando las corrientes, se obtiene el sistema de
ecuaciones no lineales:
1 2
1 2
/ /1 1 2 1 1
/ /2 1 2 2 2
( , ) ( ) 0
( , ) ( ) 0
t t
t t
v V v Vin s
v V v Vin s
F v v V RI e e E v
F v v V RI e e E v
= − − − − =
= − − − + =
Definiendo los valores de los parámetros, se tiene:
> restart;with(plots): > datos:={R=1,Is=1e-14,Vt=.026,E1=10,E2=10,Vin=10.2}:
Teoría de Redes Eléctricas 13
Profesor Leopoldo Silva Bijit. 25/09/2006
> F1:=Vin-R*Is*(exp(v1/Vt)-exp(v2/Vt))-E1-v1;
:= F1 − − − 11 R Is⎛⎝⎜⎜
⎞⎠⎟⎟ − e
⎛⎝⎜⎜
⎞⎠⎟⎟
v1Vt e
⎛⎝⎜⎜
⎞⎠⎟⎟
v2Vt E1 v1
> F2:=Vin-R*Is*(exp(v1/Vt)-exp(v2/Vt))-E2+v2;
:= F2 − − + 11 R Is⎛⎝⎜⎜
⎞⎠⎟⎟ − e
⎛⎝⎜⎜
⎞⎠⎟⎟
v1Vt e
⎛⎝⎜⎜
⎞⎠⎟⎟
v2Vt E2 v2
Pueden obtenerse las gráficas de las funciones F1 y F2 en términos de v1 y v2, mediante:
> rangos:= v1=-1..1,v2=-1..1: p1:=implicitplot(eval(F1,datos),rangos,numpoints=10000,color=red,thickness=2):p2:=implicitplot(eval(F2,datos),rangos,numpoints=10000,color=blue,thickness=2): display(p1,p2);
Se obtienen, para Vin =10.2 V:
Figura 10. Vin>10. D1 conduce, D2 no conduce.
Nótese que la solución se encuentra en el cuarto cuadrante, debido a que el Vin es mayor que 10.
Cambiando el parámetro Vin a 9,8 V, se obtiene una
solución en el segundo cuadrante, como se muestra en la Figura 11.
14 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
Figura 11. Vin<10. D1 no conduce, D2 conduce.
Punto de operación. La implementación de Newton-Raphson, para un sistema de
dos ecuaciones simultáneas de dos variables se logra mediante: Se dan valores a los parámetros:
> Vin:=11: > datos:={R=1,Is=1e-14,Vt=.026,E1=10,E2=10}:
Se calcula el Jacobiano:
> a:=diff(F1,v1):b:=diff(F1,v2): c:=diff(F2,v1):d:=diff(F2,v2): > det:=a*d-b*c:det1:=b*F2-d*F1:det2:=c*F1-a*F2: > df1:=eval(det1/det,datos):df2:=eval(det2/det,datos):
Elección de punto de inicio. > if Vin>10 then v1p[0]:=1: v2p[0]:=-1: else v1p[0]:=-1: v2p[0]:=1: fi: De las Figuras 11 y 12, el punto para iniciar el proceso de
aproximación se elige adecuadamente, en puntos del segundo o cuarto cuadrante.
Se repite desde n igual 1 hasta nmax lo que está entre do y
od, mediante el comando for. El break, dentro del if, detiene las iteraciones. Note el uso del then, y del fi, con que termina el if.
> nmax:=100: tolerancia:=1e-8:
Teoría de Redes Eléctricas 15
Profesor Leopoldo Silva Bijit. 25/09/2006
> for n from 0 to nmax do v1p[n+1]:=v1p[n]+ eval(df1,{v1=v1p[n],v2=v2p[n]}); v2p[n+1]:=v2p[n]+ eval(df2,{v1=v1p[n],v2=v2p[n]}); if (abs(v1p[n+1]-v1p[n])<tolerancia) and (abs(v2p[n+1]-v2p[n])<tolerancia) then # solución dentro de la tolerancia break; fi; #printf("%f %f \n",v1p[n+1],v2p[n+1]); od: La solución para Vin dado, se obtiene con: > v1p[n+1];v2p[n+1]; Repitiendo esta iteración para diferentes valores de Vin, se
obtienen similares curvas de v1 y v2, a las generadas por SPICE.
Figura 12. Solución SPICE. Barrido DC 0<Vin<15.
Barrido DC. Puede emplearse el siguiente segmento para obtener las
trazas de v1 y v2 en función de diferentes valores de Vin. Se emplea fsolve, para resolver el sistema no lineal
simultáneo de ecuaciones. Debido a que este comando entrega el resultado como un conjunto se requiere, antes de almacenar los puntos, identificar la variable y su valor en cada conjunto;
v1(Vin)
v2(Vin)
16 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
para esto se emplean los operadores lhs y rhs (por left y right hand side)
Se implementa el comando de SPICE: .DC Vi 0V 15V 75mV
> Vin[0]:=0: DeltaV:=0.2: nmax:=15/DeltaV: datosDC:={R=1,Is=1e-14,Vt=.026,E1=10,E2=10,Vin=Vin[n]}: > for n from 0 to nmax do Cp[n]:=fsolve({eval(F1,datosDC),eval(F2,datosDC)}, {v1=0, v2=0}); if lhs(Cp[n][1])=v1 then V1[n]:=rhs(Cp[n][1]) else V2[n]:=rhs(Cp[n][1]) fi; if lhs(Cp[n][2])=v2 then V2[n]:=rhs(Cp[n][2]) else V1[n]:=rhs(Cp[n][2]) fi; Vin[n+1]:=Vin[n]+DeltaV; od:
Los siguientes comados generan las secuencias de puntos,
generan los gráficos en base a puntos y finalmente se despliegan.
> S1:=[seq([Vin[k],V1[k]],k=0..nmax)]: S2:=[seq([Vin[k],V2[k]],k=0..nmax)]: > p1:=pointplot(S1,symbol=circle,color=red): p2:=pointplot(S2,symbol=circle,color=blue): display(p1,p2);
Figura 13. Solución Maple. Barrido DC 0<Vin<15.
Que es comparable con la Figura 12.
v1(Vin)
v2(Vin)
Teoría de Redes Eléctricas 17
Profesor Leopoldo Silva Bijit. 25/09/2006
Transistor.
Las ecuaciones de Ebers-Moll para un transistor npn consideran corrientes exponenciales en los diodos.
E
DF
B αRIc
DR αFIe
C Ic
Ib
Ie
C
B
E
Figura 14. Modelo de Ebers-Moll.
0
0
/
/
( 1)
( 1)e EB R c
c CB F e
tbe
tbc
v V
v V
I I I
I I I
e
e
α
α
− = − +
− = − +
Las siguientes relaciones se tienen entre los coeficientes, del
modelo de Ebers-Moll: 0
0
0 0
(1 )(1 )
1
EB SE R F
CB SC R F
F EB R CB
Ffe
F
I II I
I I
h
α αα α
α αα
α
= −= −
=
=−
Spice emplea el modelo de Gummel-Poon que considera
parámetros adicionales que permiten ajustar el modelo a cualquier transistor.
Parámetros del transistor. Se planteará el modelo de Eber-Moll, empleando Maple, y se
ajustarán los parámetros para tener igual modelo en SPICE.
18 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
Planteando las ecuaciones de Ebers-Moll: > restart;with(plots): > ecs:={-ib-ic=-Iebo*(exp((vbe)/Vt)-1)-ar*ic, ic=-Icbo*(exp(((vbe)-vce)/Vt)-1)+af*(ib+ic)}: > ecs1:=solve(ecs,{ib,ic}): > datos:={Icbo=0.19733360e-15, af=0.990099,ar=0.90,Vt=25.8e-3}: hf:= eval(af/(1-af),datos);Iebo:=eval(ar*Icbo/af,datos): Ise:=eval(Iebo/(1-ar*af),datos):Isc:=eval(Icbo/(1-ar*af),datos);
:= hf 99.99989900
:= Isc .1811881088 10-14
El modelo SPICE tiene los parámetros Is y BF, para describir Isc y hfe.
Las curvas características del transistor se obtienen con:
> sol:=eval(ecs1,datos):assign(sol): > plot({eval(ic,vbe=0.65),eval(ic,vbe=0.75)},vce=0.0..1, color=[red,blue]); > plot({eval(ib*1e6,vce=.1),eval(ib*1e6,vce=10)}, vbe=0.5..0.7,color=[red,blue]);
Figura 15. Características de salida.
Nótese que la unidad de la corriente de base es μA, en la Figura 16.
Vbe=0,65
Vbe=0,70
Teoría de Redes Eléctricas 19
Profesor Leopoldo Silva Bijit. 25/09/2006
Figura 16. Características de entrada.
Para comprobar el ajuste de los parámetros, la corriente de base, en microamperes cuando vce=10 y vbe=0,68, resulta:
> eval(ib*1e6,{vce=10,vbe=0.68});
4.559254875 Obteniendo la corriente de base y colector en el siguiente
modelo SPICE, en el cual se han ajustado los parámetros de la corriente inversa de saturación y la ganancia del transistor BF, que equivale a hfe. Se obtiene la gráfica que se ilustra en la Figura 17.
Características Ib(Vbe) en BJT Vce 1 0 DC 10V Vbe 2 0 DC 0; * C B E Q1 1 2 0 transistor .model transistor NPN (Is=.18111881088e-14A BF=100) * Análisis DC Vbe varía desde 1 a 10 V en incrementos de 100mV .DC Vbe 500mV 700mV 10mV .probe .end
Vce=0,1
Vce=10
20 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
Figura 17. Corrientes en SPICE.
Nótese que ajustando sólo los valores de Is y BF, las corrientes de colector y base tienen la misma forma. Mostrando una ganancia constante de 100; esto observando las diferentes escalas para las corrientes, en la Figura 17.
Los valores de los parámetros son de fundamental
importancia en el ajuste del modelo.
Punto de operación. Agregando redes de polarización se deja al transistor
trabajando en un punto (ib, vbe) de la característica de entrada, y en un punto (ic, vce) de la característica de salida. Los valores pueden obtenerse aplicando método nodal, a la red de la Figura 18, calculando los voltajes vbe, vce. Mediante éstos pueden calcularse ib e ic.
Resolveremos el problema no lineal, empleando SPICE, que
entrega los resultados; y empleando Maple para resolver las ecuaciones no lineales. Mediante este proceder intentamos ilustrar la forma de cálculos que están incorporados en SPICE.
Para poder comparar los resultados los parámetros del
transistor Maple y SPICE deben modelar la misma componente. Esto se explicó en el punto anterior.
ib=4,7μA
Teoría de Redes Eléctricas 21
Profesor Leopoldo Silva Bijit. 25/09/2006
NPNRb
Vc
+Vcc
Rc
3
2
0
1
4
Vin
Figura 18. Redes de polarización.
Emplearemos los siguientes valores para las mallas de polarización: Rb=10K, Rc=2K, Vcc=5, Vin=0,8.
El siguiente netlist representa la red de la Figura 18. Punto de Operación de transistor * Rb 1 2 10k Rc 4 3 2k * C B E Q1 3 2 0 transistor Vcc 4 0 5V Vin 1 0 0.8 .model transistor NPN (Is=.1811881088e-14A BF=100 ) .op .probe .end Los resultados quedan en un archivo con extensión .out,
resultan: SMALL SIGNAL BIAS SOLUTION TEMPERATURE = 27.000 DEG C **************************************************************** NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) .8000 (2) .6994 (3) 2.9886 (4) 5.0000 Donde V(2) es el voltaje base-emisor, y V(3) es el voltaje
collector-emisor. Las siguientes líneas, describen en Maple, las funciones no
lineales de las redes de polarización. El comando fsolve, encuentra, empleando el método de Newton-Raphson, la solución del sistema no lineal simultáneo de ecuaciones.
22 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
> F1:=vce+Rc*ic-Vcc:F2:=vbe+Rb*ib-Vin: > datospol:={Vcc=5,Rb=10e3,Rc=2e3,Vin=.8}: > fsolve({eval(F1,datospol),eval(F2,datospol)},{vbe,vce});
{ }, = vce 3.004198067 = vbe .7002098022 Los cuales son comparables a la solución obtenida por
SPICE. 2.9886, 0.6994ce bev v= =
Empleando Maple, pueden graficarse las características no
lineales de las mallas de polarización: > rangos:= vbe=0..0.8,vce=0..5: p1:=implicitplot(eval(F1,datospol),rangos, numpoints=10000,color=red): p2:=implicitplot(eval(F2,datospol),rangos, numpoints=1000,color=blue): display(p1,p2);
Se obtiene la gráfica de la Figura 19.
Figura 19. Redes de polarización.
Característica de transferencia. En el programa SPICE, basta agregar el comando para
efectuar un barrido DC, variando el voltaje de entrada y obteniendo el voltaje de salida.
Variaremos desde 0,4 hasta 1,4 el voltaje de entrada, en intervalos de 10 mV:
.dc Vin 0.4 1.4 0.010
F1(vbe, vce)
F2(vbe, vce)
Teoría de Redes Eléctricas 23
Profesor Leopoldo Silva Bijit. 25/09/2006
Se obtiene la gráfica de la Figura 20.
Figura 20. Vout/Vin mediante SPICE.
En Maple es preciso repetir el cálculo anterior, para el punto de operación, variando el voltaje de entrada y almacenando los valores del punto de operación correspondiente en el arreglo Cp[n].
> Vin[0]:=0.4:DeltaV:=0.05:nmax:=1/DeltaV: datosDC:={Vcc=5,Rb=10e3,Rc=2e3,Vin=Vin[n]}: > for n from 0 to nmax do Cp[n]:=fsolve({eval(F1,datosDC),eval(F2,datosDC)}, {vbe,vce}); if lhs(Cp[n][1])=vbe then Vbe[n]:=rhs(Cp[n][1]) else Vce[n]:=rhs(Cp[n][1]) fi; if lhs(Cp[n][2])=vce then Vce[n]:=rhs(Cp[n][2]) else Vbe[n]:=rhs(Cp[n][2]) fi; Vin[n+1]:=Vin[n]+DeltaV; #printf(" %f %f %f \n",Vin[n] ,Vbe[n],Vce[n]); od:
Mediante los puntos generados, se generan gráficos, y se
obtiene la Figura 21.
> S1:=[seq([Vin[k],Vbe[k]],k=0..nmax)]: S2:=[seq([Vin[k],Vce[k]],k=0..nmax)]:
24 Redes no lineales
Profesor Leopoldo Silva Bijit. 25/09/2006
> p1:=pointplot(S1,symbol=diamond,color=red): p2:=pointplot(S2,symbol=circle,color=blue): display(p1,p2);
Figura 21. Transferencia Vout/Vin mediante Maple.
La cual puede compararse con la Figura 20.
Resumen.
Mediante Maple se muestra cómo se efectúan cálculos en redes no lineales. Estos algoritmos, pero más avanzados, se encuentran incorporados internamente en la aplicación SPICE.
Debe considerarse a SPICE como un analizador de redes no
lineales dinámicas. En un ambiente de diseño electrónico interesa cambiar el
valor de alguna componente o estudiar el efecto de agregar o quitar una componente, con miras a posteriormente armar el sistema para pruebas de laboratorio. Dependiendo de la habilidad y experiencia del diseñador, pueden someterse a análisis determinadas interconexiones de componentes, considerando precisas definiciones de los modelos de cada una (modelado). A este proceso suele denominarse simulación.
Mientras mayor sea la experiencia del diseñador, más
cercanos serán los resultados obtenidos por simulación a los medidos experimentalmente en el laboratorio. Las diferencias en los resultados se deben a modelos incompletos.