Как мне моделировать светодиод со SPICE?

36

Какие диодные модификаторы используются на практике для моделирования светодиодов с помощью SPICE (Berkeley v.3f5)? Это доступно для меня:

#       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 Модель диода (D)
Характеристики постоянного тока диода определяются параметрами IS и N. Включено омическое сопротивление RS. Эффекты накопления заряда моделируются временем прохождения, TT и емкостью нелинейного обедненного слоя, которая определяется параметрами CJO, VJ и M. Температурная зависимость тока насыщения определяется параметрами EG, энергией и XTI, показатель температуры тока насыщения. Номинальная температура, при которой были измерены эти параметры, равна TNOM, по умолчанию это значение для всей цепи указано в строке управления .OPTIONS. Обратный пробой моделируется экспоненциальным увеличением тока обратного диода и определяется параметрами BV и IBV (оба из которых являются положительными числами).

Например, используя этот простой, дешевый красный:

Меня не волнуют высокочастотные характеристики - я просто хотел бы иметь возможность сопоставить его кривую IV в пределах своих рабочих характеристик (утечка от -10uA / -5V до + 100 мА / + 2,2 'иш V вперед): введите описание изображения здесь

tyblu
источник

Ответы:

47

Как вы заявили, есть 3 параметра, которые определяют постоянный отклик диода. Это ток насыщения ( IS ), коэффициент излучения ( N ) и омическое сопротивление ( RS ). Я смог подогнать кривую с довольно высокой точностью, поэтому я задокументирую процедуру моей модели.

Модель SPICE для диода близко соответствует уравнению диода Шокли:

If = IS(e^(Vf/(N*Vt)) - 1)

где Vt = kT/q = 26mVпри комнатной температуре.

  1. Получить фактические значения из графиков, представленных в таблице данных, чтобы использовать для сравнения. Чем больше очков, тем лучше, и чем точнее, тем лучше. Ниже приведена таблица, которую я оценил по приведенной вами цифре:

    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
    
  2. Вставьте значения в Excel и измените ось Y на масштаб журнала. Вы должны получить график, который выглядит идентично исходному графику из таблицы. Добавьте еще один столбец для вашего графика, с Если рассчитывается из прямого напряжения и констант IS и N . Мы можем использовать эту конфигурацию , чтобы итеративно найти IS и N .

  3. Решите для IS и N . Мы пытаемся сопоставить линейную часть графика (1.3 <= Vf <= 1.7). Регулировка IS переместит кривую по оси Y. Получите рассчитанный график в том же порядке. Следующим шагом является определение коэффициента выбросов ( N ). N влияет как на амплитуду, так и на наклон, поэтому некоторая регулировка может потребоваться IS , чтобы сохранить кривую на одном уровне. Как только уклоны совпадают (линии параллельны), подрежьте IS так, чтобы вычисленные данные соответствовали значениям таблицы. Я получил IS = 1e-18, и N=1.8для диода вы перечислили. введите описание изображения здесь

  4. Определить РС . Это немного сложно. РС отвечает за изгиб тока от 1,7 В и выше. Рассмотрим моделирование омического сопротивления в качестве резистора, включенного последовательно с диодом. Когда ток через диод увеличивается, падение напряжения на омическом сопротивлении приводит к более медленному увеличению прямого напряжения диода Vf . При малых токах этот эффект незначителен.

Первое, что нужно сделать, это получить приблизительную оценку RS для использования в более точных решениях. Вы можете рассчитать эффективное значение RS из значений таблицы данных путем обратного расчета Vf с использованием измеренного If . Разница напряжения между входным значением и рассчитанным значением Vf может использоваться с прямым током для создания сопротивления. При более высоких токах это будет хорошим начальным значением.

Чтобы построить график тока диода с использованием RS , необходимо сначала рассчитать Vf диода с учетом напряжения для комбинации последовательностей резистор-диод. Википедия перечисляет итерационные функции - они легко сходятся, если падение напряжения на резисторе является значительным. Эту функцию было достаточно легко настроить в Excel. Для значений Vf ниже 1,8 я жестко закодировал входное значение, потому что итерационная функция не сходилась. Затем возьмите это значение Vf для расчета If идеального диода. Я нанес это на график с оригинальной таблицей.

Используя метод проб и ошибок, вы сможете получить значение RS, которое довольно хорошо перекрывается со значениями таблицы. Осталось только собрать модель в SPICE, чтобы проверить вашу работу.

Ниже моя диодная модель, которую я проверил, используя HSPICE. Данные моделирования являются почти идеальным наложением графика данных.

.model Dled_test D (IS=1a RS=3.3 N=1.8)

я использовал эту статью , которая очень помогла с параметрами специй диода.

Я очистил свою таблицу, и tyblu сделал ее доступной для скачивания здесь . Используйте на свой страх и риск, результаты не гарантированы и т. Д.

W5VO
источник
2
Это потрясающий ответ. + ∞
Тыблу
8

Во- первых, я хотел бы отметить, что вы можете прочитать дополнительные параметры диодных BV , ИБК и CJO непосредственно из светодиода таблицы , как «обратный ток» Ir на Vr и как «Емкость» C .


Добавляя к отличному ответу W5VO, я несколько упростил процесс для себя следующим образом:

  1. Я использовал тип диаграммы XY рассеяния в виде только линий в OpenOffice (YMMV с Excel и т. Д.) И вручную устанавливал минимумы и максимумы осей, например (X, Y) = (1.4-4.0, 0.01-50.0), чтобы избежать его автоматического выбора за пределами моих выборочных данных.

  2. После первых трех столбцов точек выборки Vf_sampled , If_sampled, а также If_estimate с использованием уравнения диодов Шокли я добавил четвертый столбец для вычисленного Vf_estimate . Помните, что Rs является последовательным сопротивлением (см. Изображение внизу), и If_estimate фактически дает нам ток для использования здесь, поэтому можно просто вычислить ячейки столбца следующим образом:
    Vf_estimate = Vf_sampled + (If_estimate * Rs) .

  3. Теперь я могу добавить третью кривую, в которой я использовал новый четвертый столбец ( Vf_estimate ) в качестве координаты X и третий столбец ( If_estimate) ) в качестве координаты Y, и который я теперь мог легко сопоставить с первой кривой (выборка данных из графика в таблице). Обратите внимание, что я не хотел просто заменять вторую кривую, поскольку прямая линия была очень полезна в моих оценках.

  4. Я уверен, что я несколько повторяю здесь W5VO, но это напоминает о роли констант Is , Rs и N с точки зрения формы кривой (в нашей логарифмической шкале):

    • Является влияет только на положение кривых (вверх / влево или вниз / вправо).
    • N влияет на наклоны кривой, а также на позиции (поскольку это линейный коэффициент, а кривые всегда проходят через начало координат, которое всегда находится за пределами шкалы).
    • Rs определяет кривизну (прогрессивный размах вправо) новой третьей кривой (поскольку это линейный член в другом направлении).
  5. Вещи, которые я нашел, которые могут быть полезны:

    • Вы можете обнаружить, что вторая кривая (прямая линия) должна быть немного круче и вверх / влево, чем это может показаться из выборочных данных, потому что кривизна из-за Rs начинается в начале координат.
    • Вы можете получить довольно точную выборку, увеличив масштаб до таблицы данных (предположим, PDF), взяв скриншот и открыв его в вашей любимой программе для рисования. Затем вы можете использовать, например, инструмент выделения или прямую линию, чтобы измерить расстояние в пикселях между линиями интервала и расстояние от точки до линии интервала с более низким значением. Для линейных осей эта доля переводится в простые значения данных.
    • Диаграмма рассеяния XY позволяет использовать произвольные точки данных. Вы можете получить меньше образцов, чем при эквидистантном. Вы можете выбрать выборку данных только в тех местах, где это проще всего и где это строго необходимо. Например, в полулоговой шкале вы можете производить выборку в интервальных линиях логарифмической шкалы. Если вам нужно, вы можете иметь больше точек (рядов) для оценочных кривых. (По крайней мере диаграммы OpenOffice, кажется, игнорируют точки, для которых нет соответствующей Y-координаты.)
      Обратите внимание, что значения X ( Vf_sampled ) все еще должны быть в порядке возрастания (или убывания). В противном случае линии становятся беспорядком.
    • Обратите внимание на масштаб единиц, которые вы оцениваете / строите / пытаетесь найти (например, миллиамперы) и помните, что SPICE обычно использует голые единицы (амперы).
    • Обратите внимание , что W5VO в Vt в милли вольт. Если вы используете вольт, используйте значение 0.026 .
    • Проверьте, какие метрические префиксы (m, p, u и т. Д.) Принимает ваш симулятор SPICE. Использование обозначения экспоненты (например, 12E-34) может быть проще.
    • Редактирование диапазона ячеек для диаграммы, казалось, всегда сбрасывало (новую) третью кривую, так что мне пришлось заново добавить диапазон данных к координатам X и изменить третий столбец как его диапазон Y. Учитывайте это при добавлении большего количества точек или моделировании нескольких светодиодов на одном графике - делайте такие изменения сразу. (Изменение данных в ячейках, очевидно, не привело к сбросу.)
    • Изогнутая интерполяция на графике может сбить вас с толку из-за перерегулирования или недостаточного выстрела и не показать вам, почему, то есть где находятся действительные точки данных.
    • Сегменты прямой линии также могут вводить в заблуждение, поскольку соответствующие точки оказываются в разных местах, и линейная интерполяция не отслеживает логарифмический характер кривой. (Все точки данных выбранной кривой и новой третьей кривой должны быть вне (вверх / влево) отрезков прямой другой линии.)

AFAIK, наша модель для светодиода, по сути, является резистором Rs и последовательно оценивает диод Is / N : (-R -> - D-)

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

ppiper
источник
6

Я собрал программу Python, которая будет моделировать характеристики прямого смещения диода на основе характеристик таблицы IV.

http://leicesterraspberrypi.wordpress.com/projects/modelling-a-diode-for-use-in-spice-simulations/

Не стесняйтесь дать ему попытку и комментарий.

Мартын Уилер
источник
5
Хотя ваш код выглядит очень полезным, ответы только на ссылки не приветствуются, поскольку в будущем они могут стать бесполезными, если ссылка исчезнет. Возможно, вы могли бы включить более подробную информацию об алгоритме / коде в свой ответ, чтобы убедиться, что он по-прежнему будет полезным, если это когда-нибудь произойдет.
PeterJ
Это довольно полезно, на самом деле. Использование WebPlotDigitizer сделало это довольно легко.
andy.holmes
2

Вот те, которые я бы использовал

#       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

Для вашего VJ = 1,8 тип, BV = 5. Это дает вам большую часть пути туда.

Брайан Карлтон
источник
1
На самом деле, VJ используется для расчета емкости перехода на основе приложенного напряжения. Изменение этого и обратного пробивного напряжения не будет устанавливать общие характеристики постоянного тока. Окончательный результат должен быть практически идентичен модели диода по умолчанию.
W5VO
1

Если кому-то интересно, почему его / ее одностраничная таблица данных не имеет кривой If / Vf, возможно, потому, что у него / нее нет полной таблицы данных. Я знаю, что, например, Optosupply публикует сводки на первой странице только на своем веб-сайте, но они отправят вам полные спецификации (со всеми кривыми If / Vf, относительной интенсивности и спектра и т. Д.) По запросу.

Вы также можете получить пригодные для использования значения для всех значений, используя таблицу из другого светодиода того же цвета с тем же химическим составом (того же производителя). Просто убедитесь, что основные характеристики (такие как токи, напряжения и длины волн) совпадают.

ppiper
источник
0

Отличные ответы, но легко решить уравнение диода Шокли алгебраически. Просто отметьте, что «минус 1» в формуле очень не имеет значения для прямых токов, которые на порядок больше, чем Is, что очень мало, скажем, 1E-12 A. Найдите только две точки на графике с легко читаемым Значения I и V и включите их в формулу. Разделение обеих формул исключает Is, поэтому N легко вычислить. Затем заполните N в формуле, чтобы найти Is.

Вот мои макросы LibreOffice Calc в 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

Если вы посмотрите на формулы, вы можете узнать просто описание прямой линии с наклоном q / NkT, а также дельта-лог (Id) / дельта-Vd.

Я получаю несколько похожее значение для Is: 5,94E-18 = 5,94 ато-ампер (W5VO найдено 1 аА), но сильно отличается N = 0,19 (W5VO найдено 1,8, опечатка?), Тем не менее данные также вычисляются обратно на тот же график :

скриншот моего LibreOffice Calc

Столбец Vd - это напряжения, Id - ток диода в соответствии с реальной формулой, Id0 - ток с упрощенной формулой, где «минус 1» изменяется на «минус ноль». Поскольку Id0 является истинной экспоненциальной кривой, вы можете взять логарифм в столбце Id0_log. (Вы не можете взять лог кривой, которая становится нулевой и отрицательной, как Id). График зависимости Id0_Log от Vd. На этом графике я сделал самую нижнюю часть пунктирной, потому что там уже нет фактического тока диода, но он показывает значение Is на пересечении с осью Y.

Следуя по экспоненте влево, вы асимптотически приближаетесь к нулю. Но «минус 1» вычитает величину Is, так что реальная диодная кривая проходит через начало координат и, при отрицательных напряжениях, показывает обратный ток утечки величины Is.

Если бы исходная кривая производителей была бы на очень большом каротажном графике, мы могли бы просто использовать линейку, чтобы удлинить прямую линию вниз, чтобы легко найти Is при Vd = 0, а затем вычислить N, вместо того, чтобы сначала вычислять N, затем Is с выше макроса. Метод линейки был описан в «Книге специй» Андрея Владимиреску (1994).

Roland
источник