¿Qué modificadores de diodo se usan en la práctica para modelar LED con SPICE (Berkeley v.3f5)? Estos están disponibles para mí:
# Name Parameter Units Default Example Area
1 IS Saturation current A 1e-14 1e-14 *
2 RS Ohmic resistance Ω 0 10 *
3 N Emission coefficient - 1 1.0
4 TT Transit-time s 0 0.1ns
5 CJO Zero-bias junction capacitance F 0 2pF *
6 VJ Junction potential V 1 0.6
7 M Grading coefficient - 0.5 0.5
8 EG Activation energy eV 1.11 1.11 Si
0.69 Sbd
0.67 Ge
9 XTI Saturation-current temperature exponent 3.0 3.0 jn
2.0 Sbd
10 KF Flicker noise coefficient - 0
11 AF Flicker noise exponent - 1
12 FC Coeff. for for.-bias dep. cap. formula 0.5
13 BV Reverse breakdown voltage V ∞ 40.0
14 IBV Current at breakdown voltage A 1.0e-3
15 TNOM Parameter measurement temp. °C 27 50
3.4.2 Modelo de diodo (D)
Las características de cd del diodo están determinadas por los parámetros IS y N. Se incluye una resistencia óhmica, RS. Los efectos de almacenamiento de carga se modelan mediante un tiempo de tránsito, TT, y una capacitancia de capa de agotamiento no lineal que se determina mediante los parámetros CJO, VJ y M. La dependencia de la temperatura de la corriente de saturación se define mediante los parámetros EG, la energía y XTI, el exponente de temperatura de la corriente de saturación. La temperatura nominal a la que se midieron estos parámetros es TNOM, que por defecto es el valor de todo el circuito especificado en la línea de control .OPTIONS. La ruptura inversa se modela mediante un aumento exponencial en la corriente del diodo inverso y está determinada por los parámetros BV e IBV (ambos son números positivos).
Por ejemplo, usando este rojo básico y barato:
No me importan mucho las características de alta frecuencia, solo me gustaría poder igualar su curva IV dentro de sus especificaciones operativas (-10uA/-5V de fuga a +100mA/+2.2 'ish V adelante):
Como dijiste, hay 3 parámetros que dictan la respuesta de CC de un diodo. Esos son la corriente de saturación ( IS ), el coeficiente de emisión ( N ) y la resistencia óhmica ( RS ). Pude ajustar la curva con una precisión bastante alta, así que documentaré el procedimiento de mi modelo.
El modelo SPICE para el diodo coincide estrechamente con la ecuación del diodo de Schokley:
If = IS(e^(Vf/(N*Vt)) - 1)
donde Vt = kT/q = 26mV
a temperatura ambiente.
Obtenga valores reales de los gráficos proporcionados en la hoja de datos para usarlos como comparación. Cuantos más puntos, mejor, y cuanto más preciso, mejor. A continuación se muestra una tabla que calculé a partir de la cifra que proporcionó:
Vf If (mA)
1.3 0.001
1.4 0.010
1.5 0.080
1.6 0.700
1.7 5.000
1.8 20.000
1.9 40.000
2.0 65.000
2.1 80.000
Introduzca los valores en Excel y cambie el eje y a una escala logarítmica. Debería obtener un gráfico que se vea idéntico al gráfico original de la hoja de datos. Agregue otra columna para su gráfico, con If calculado a partir del voltaje directo y las constantes IS y N. Podemos usar esta configuración para encontrar iterativamente IS y N .
Resuelva para IS y N . Estamos tratando de igualar la parte lineal del gráfico (1.3 <= Vf <= 1.7). Ajustar IS moverá la curva en el eje y. Obtenga el gráfico calculado en el mismo orden de magnitud. El siguiente paso es encontrar el coeficiente de emisión ( N ). N afecta tanto a la amplitud como a la pendiente, por lo que puede ser necesario algún ajuste de IS para mantener la curva en el mismo estadio. Una vez que las pendientes coincidan (las líneas sean paralelas), recorte IS para que los datos calculados coincidan con los valores de la hoja de datos. Lo obtuve IS = 1e-18
, y N=1.8
para el diodo que enumeró.
Identifica RS . Esto es un poco complicado. RS es responsable de la curvatura de la corriente de 1,7 V y superior. Considere modelar la resistencia óhmica como una resistencia en serie con el diodo. A medida que aumenta la corriente a través del diodo, la caída de voltaje en la resistencia óhmica hace que el voltaje directo Vf del diodo aumente más lentamente. A corrientes pequeñas, este efecto es insignificante.
Lo primero que debe hacer es obtener una estimación aproximada de RS para usar en las soluciones más precisas. Puede calcular el valor efectivo de RS a partir de los valores de la hoja de datos retrocalculando para Vf usando el If medido . La diferencia de voltaje entre el valor de entrada y el Vf calculado se puede usar con la corriente directa para generar una resistencia. En las corrientes más altas, este será un buen valor inicial.
Para trazar la corriente del diodo usando RS , primero debe calcular el diodo Vf dado un voltaje para la combinación de la serie de resistencia-diodo. Wikipedia enumera una función iterativa : converge fácilmente si la caída de voltaje de la resistencia es significativa. Esta función fue bastante fácil de configurar en Excel. Para valores de Vf por debajo de 1.8, codifiqué el valor de entrada porque la función iterativa no convergió. Luego tome este valor de Vf para calcular el If del diodo ideal. Tracé esto con el gráfico original de la hoja de datos.
Usando prueba y error, debería poder obtener un valor de RS que se superponga bastante bien con los valores de la hoja de datos. Todo lo que queda es juntar el modelo en SPICE para verificar su trabajo.
A continuación se muestra mi modelo de diodo que verifiqué usando HSPICE. Los datos de simulación son casi una superposición perfecta para el gráfico de la hoja de datos.
.model Dled_test D (IS=1a RS=3.3 N=1.8)
Utilicé este artículo , que me ayudó mucho con los parámetros de especias del diodo.
Limpié mi hoja de cálculo y tyblu la puso a disposición para descargarla aquí . Úselo bajo su propio riesgo, resultados no garantizados, etc... etc...
He creado un programa de Python que modelará las características de polarización directa de un diodo en función de las características de la hoja de datos IV.
http://leicesterraspberrypi.wordpress.com/projects/modeling-a-diode-for-use-in-spice-simulations/
Siéntete libre de probarlo y comentar.
Primero, señalaría que puede leer parámetros de diodo adicionales BV , Ibv y Cjo directamente desde la hoja de datos del LED como "Corriente inversa" Ir en Vr y como "Capacitancia" C.
Agregando a la gran respuesta de W5VO, simplifiqué un poco el proceso para mí de la siguiente manera:
Usé el tipo de gráfico de diagrama de dispersión XY como líneas solo en OpenOffice (YMMV con Excel, etc.) y establecí los mínimos y máximos de los ejes manualmente, por ejemplo, (X,Y)=(1.4-4.0, 0.01-50.0), para evitar que el rango automático quede fuera del alcance de mis datos muestreados.
Después de las tres primeras columnas de puntos muestreados Vf_sampled , If_sampled y If_estimate usando la ecuación de diodo de Schokley, agregué una cuarta para un Vf_estimate calculado . Recuerde, que Rs es una resistencia en serie (vea la imagen en la parte inferior) y If_estimate en realidad nos da la corriente para usar aquí, por lo que uno puede simplemente calcular las celdas de la columna como:
Vf_estimate = Vf_sampled + (If_estimate * Rs) .
Ahora podría agregar una tercera curva, en la que usé la nueva cuarta columna ( Vf_estimate ) como la coordenada X y la tercera columna ( If_estimate ) como la coordenada Y, y que ahora podría comparar fácilmente con la primera curva (los datos muestreados del gráfico en la hoja de datos). Tenga en cuenta que no quería simplemente reemplazar la segunda curva ya que la línea recta fue muy útil en mis estimaciones.
Estoy seguro de que estoy repitiendo un poco W5VO aquí, pero recuerda el papel de las constantes Is , Rs y N en términos de la forma de la curva (en nuestra escala log-lin ):
Cosas que encontré que pueden ser de utilidad:
AFAIK, nuestro modelo para el LED es esencialmente una resistencia Rs y un diodo de estimación Is / N en serie: (-R->-D-)
simular este circuito : esquema creado con CircuitLab
Aquí están los que yo usaría
# Name Parameter Units Default Example Area
2 RS Ohmic resistance Ω 0 10 *
6 VJ Junction potential V 1 0.6
13 BV Reverse breakdown voltage V ∞ 40.0
14 IBV Current at breakdown voltage A 1.0e-3
Para su tipo VJ=1.8, BV=5. Eso te lleva la mayor parte del camino allí.
Si alguien se pregunta por qué su hoja de datos de una sola página no tiene una curva If/Vf, probablemente sea porque no tiene la hoja de datos completa. Sé que, por ejemplo, Optosupply solo publica los resúmenes de la primera página en su sitio web, pero le enviarán las especificaciones completas (con todas las curvas de If/Vf, intensidad relativa y espectro, etc.) si las solicita.
Probablemente también pueda obtener cifras utilizables para todos los valores utilizando una hoja de datos de otro LED del mismo color con la misma química (del mismo fabricante). Solo verifique que las características básicas (como corrientes, voltajes y longitudes de onda) coincidan.
Excelentes respuestas, pero es fácil resolver algebraicamente la ecuación del diodo de Shockley. Solo tenga en cuenta que el "menos 1" en la fórmula es muy irrelevante para las corrientes directas que son un orden de magnitud mayor que Is, que es muy pequeño, digamos, 1E-12 A. Encuentre solo dos puntos en el gráfico con fácil lectura. valores I y V, e inclúyalos en la fórmula. Dividir ambas fórmulas elimina Is, por lo que N es fácil de calcular. Luego complete N en una fórmula para encontrar Is.
Aquí están mis macros de LibreOffice Calc en Basic:
Const Q as double = 1.6E-19
Const K as double = 1.38E-22
Const T as double = 300
rem The Shockley diode equation, to build the graph Id(Vd) for hardcoded values of Is and N
Function shockley(Vd as double) as double
Const Is1 as double = 5.94463E-18
rem Note that 'Is' is a reserved word and cannot be the name of a variable
Const N as double = 0.191367
shockley = Is1 * (exp(Vd * Q / (N * K * T )) - 1)
End Function
rem Step 1 in solving the diode equation for N using values from a graph
Function ComputeN(V1 as double, V2 as double, I1 as double, I2 as double) as double
ComputeN = (Q / (K * T)) * (V1 - V2) / (log(I1) - log(I2))
End Function
rem Step 2 in solving the diode equation for Is
Function ComputeIS(V as double, I as double, N as double) as double
ComputeIS = I / (exp(Q * V / (N * K * T)))
End Function
rem for debugging
sub Test
dim N as double
N = ComputeN(1.85, 1.3, 0.1, 1.5E-6)
dim Is1 as double
Is1 = ComputeIs(1.85, 0.1, N)
end sub
Si observa las fórmulas, es posible que reconozca simplemente la descripción de una línea recta con una pendiente de q/NkT pero también delta Log(Id) / delta Vd.
Obtengo un valor algo similar para Is: 5.94E-18 = 5.94 atto-ampere (W5VO encontró 1 aA), pero muy diferente N = 0.19 (W5VO encontró 1.8, error tipográfico?), Aún así, los datos también se calculan en el mismo gráfico :
La columna Vd son los voltajes, Id es la corriente del diodo según la fórmula real, Id0 es la corriente con la fórmula simplificada donde el "menos 1" se cambia por "menos cero". Como Id0 es una verdadera curva exponencial, puede tomar el logaritmo en la columna Id0_log. (No puede tomar el logaritmo de una curva que se vuelve cero y negativa como Id) La gráfica es de Id0_Log versus Vd. En este gráfico, hice la parte más baja con puntos, porque ya NO está la corriente real del diodo, pero muestra el valor de Is en la intersección con el eje Y.
Seguir la curva exponencial hacia la izquierda te lleva asintóticamente a cero. Pero el "menos 1" resta una cantidad de Is, de modo que la curva real del diodo pasa por el origen y, con voltajes negativos, muestra una corriente de fuga inversa de cantidad Is.
Si la curva del fabricante original hubiera estado en un diagrama logarítmico realmente grande, simplemente podríamos haber usado una regla para extender la línea recta hacia abajo para encontrar fácilmente Is en Vd=0 y luego calcular N, en lugar de calcular primero N y luego Is con el encima de las macros. El método de la regla ha sido descrito en "The Spice Book" por Andrei Vladimirescu (1994).
tiblu