Làm cách nào để tạo mô hình đèn LED với SPICE?


36

Những bộ biến đổi diode nào được sử dụng trong thực tế để mô hình đèn LED với SPICE (Berkeley v.3f5)? Đây là có sẵn cho tôi:

#       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 Mô hình
điốt (D) Các đặc tính dc của diode được xác định bởi các tham số IS và N. Một điện trở ohmic, RS, được bao gồm. Hiệu ứng lưu trữ điện tích được mô hình hóa theo thời gian vận chuyển, TT và điện dung của lớp suy giảm phi tuyến được xác định bởi các tham số CJO, VJ và M. Sự phụ thuộc nhiệt độ của dòng bão hòa được xác định bởi các tham số EG, năng lượng và XTI, số mũ nhiệt độ bão hòa hiện tại. Nhiệt độ danh nghĩa mà tại đó các tham số này được đo là TNOM, mặc định là giá trị toàn mạch được chỉ định trên dòng điều khiển .OPTION. Sự cố ngược được mô hình hóa bằng sự gia tăng theo cấp số nhân của dòng diode ngược và được xác định bởi các tham số BV và IBV (cả hai đều là số dương).

Ví dụ: sử dụng màu đỏ cơ bản, giá rẻ này:

Tôi không quan tâm nhiều đến các đặc tính tần số cao - chỉ muốn có thể khớp đường cong IV của nó trong thông số kỹ thuật vận hành của nó (rò rỉ -10uA / -5V đến + 100mA / + 2.2 'ish V về phía trước): nhập mô tả hình ảnh ở đây

Câu trả lời:


47

Như bạn đã nêu, có 3 tham số chỉ ra phản ứng DC của một diode. Đó là các dòng bão hòa ( IS ), hệ số phát xạ ( N ) và điện trở ohmic ( RS ). Tôi đã có thể điều chỉnh đường cong với độ chính xác khá cao, vì vậy tôi sẽ ghi lại quy trình mô hình của mình.

Mô hình SPICE cho diode phù hợp chặt chẽ với phương trình diode Schokley:

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

nơi Vt = kT/q = 26mVở nhiệt độ phòng.

  1. Lấy các giá trị thực tế từ các biểu đồ được cung cấp trong biểu dữ liệu để sử dụng để so sánh. Càng nhiều điểm càng tốt, và càng chính xác thì càng tốt. Dưới đây là bảng mà tôi ước tính từ con số bạn cung cấp:

    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. Cắm các giá trị vào Excel và thay đổi trục y thành thang đo nhật ký. Bạn sẽ nhận được một biểu đồ trông giống hệt với biểu đồ ban đầu từ biểu dữ liệu. Thêm một cột nữa cho đồ thị của bạn, với Nếu tính từ chuyển tiếp điện áp và hằng N . Chúng ta có thể sử dụng cấu hình này để lặp đi lặp lại tìm ISN .

  3. Giải quyết cho ISN . Chúng tôi đang cố gắng khớp phần tuyến tính của đồ thị (1.3 <= Vf <= 1.7). Điều chỉnh IS sẽ di chuyển đường cong theo trục y. Lấy đồ thị tính toán theo cùng một thứ tự cường độ. Bước tiếp theo là tìm hệ số phát xạ ( N ). N ảnh hưởng đến cả biên độ và độ dốc, do đó có thể cần phải điều chỉnh IS để giữ đường cong trong cùng một sân bóng. Khi các sườn khớp với nhau (các đường thẳng song song), hãy cắt IS sao cho dữ liệu được tính toán khớp với các giá trị của biểu dữ liệu. Tôi đã nhận IS = 1e-18, và N=1.8cho các diode bạn liệt kê. nhập mô tả hình ảnh ở đây

  4. Xác định RS . Đây là một chút khó khăn. RS chịu trách nhiệm cho đường cong của dòng điện từ 1.7V trở lên. Xem xét mô hình điện trở ohmic như một điện trở nối tiếp với diode. Khi dòng điện qua diode tăng, điện áp rơi trên điện trở ohmic làm cho điện áp diode phía trước Vf tăng chậm hơn. Ở dòng điện nhỏ, hiệu ứng này không đáng kể.

Điều đầu tiên cần làm là lấy ước tính RS trên sân bóng để sử dụng trong các giải pháp chính xác hơn. Bạn có thể tính giá trị hiệu quả của RS từ các giá trị biểu dữ liệu bằng cách tính ngược lại cho Vf bằng cách sử dụng If được đo . Chênh lệch điện áp giữa giá trị đầu vào và Vf tính toán có thể được sử dụng với dòng điện phía trước để tạo ra điện trở. Ở các dòng cao hơn, đây sẽ là một giá trị khởi đầu tốt.

Để vẽ sơ đồ dòng diode bằng RS , trước tiên bạn cần tính toán diode Vf được cung cấp điện áp cho tổ hợp dãy điện trở-diode. Wikipedia liệt kê một hàm lặp - nó hội tụ dễ dàng nếu điện áp rơi là đáng kể. Hàm này đủ dễ để thiết lập trong Excel. Đối với các giá trị Vf dưới 1.8, tôi đã mã hóa cứng giá trị đầu vào vì hàm lặp không hội tụ. Sau đó lấy giá trị Vf này để tính toán If của diode lý tưởng. Tôi đã vẽ sơ đồ này với biểu đồ biểu dữ liệu gốc.

Sử dụng thử và lỗi, bạn sẽ có thể nhận được giá trị RS có sự trùng lặp khá tốt với các giá trị biểu dữ liệu. Tất cả những gì còn lại là kết hợp mô hình với nhau trong SPICE để xác minh công việc của bạn.

Dưới đây là mô hình diode của tôi mà tôi đã xác minh bằng HSPICE. Dữ liệu mô phỏng gần như là một lớp phủ hoàn hảo cho biểu đồ biểu dữ liệu.

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

Tôi đã sử dụng bài viết này , nó đã giúp rất nhiều với các thông số gia vị diode.

Tôi đã dọn sạch bảng tính của mình và tyblu đã làm cho nó có sẵn để tải xuống ở đây . Sử dụng có nguy cơ của riêng bạn, kết quả không được bảo đảm, vv ... vv ...


2
Đây là một câu trả lời tuyệt vời. +
tyblu

8

Trước tiên, tôi sẽ chỉ ra rằng bạn có thể đọc các thông số diode thêm BV , IBVCjo trực tiếp từ datasheet LED là "Xếp hiện tại" Ir tại Vr và là "dung" C .


Thêm vào câu trả lời tuyệt vời của W5VO, tôi phần nào sắp xếp hợp lý quá trình cho mình theo cách sau:

  1. Tôi đã sử dụng loại biểu đồ của biểu đồ phân tán XY làm các dòng chỉ trên OpenOffice (YMMV với Excel, v.v.) và đặt cực tiểu và cực đại của các trục theo cách thủ công, ví dụ: (X, Y) = (1.4-4.0, 0.01-50.0), để phổ biến nó từ autoranging ra ngoài phạm vi dữ liệu được lấy mẫu của tôi.

  2. Sau ba cột đầu tiên của các điểm được lấy mẫu Vf_sampling , If_sampling cũng như If_estimate bằng phương trình diode Schokley, tôi đã thêm một cột thứ tư cho Vf_estimate được tính toán . Hãy nhớ rằng, đó Rs là một loạt kháng (xem hình ảnh ở phía dưới) và If_estimate thực sự cho chúng ta hiện tại để sử dụng ở đây, vì vậy người ta có thể dễ dàng tính toán các tế bào cột như:
    Vf_estimate = Vf_sampled + (If_estimate * Rs) .

  3. Bây giờ tôi có thể thêm đường cong thứ ba, trong đó tôi đã sử dụng cột thứ tư mới ( Vf_estimate ) làm tọa độ X và cột thứ ba ( If_estimate ) làm tọa độ Y và giờ đây tôi có thể dễ dàng khớp với đường cong thứ nhất (dữ liệu được lấy mẫu từ biểu đồ trên biểu dữ liệu). Lưu ý rằng tôi không muốn đơn giản thay thế đường cong thứ hai vì đường thẳng khá hữu ích trong ước tính của tôi.

  4. Tôi chắc chắn rằng tôi phần nào lặp lại W5VO ở đây, nhưng nó nhắc nhở về vai trò của các hằng số Is , RN về hình dạng đường cong (theo tỷ lệ log-lin của chúng tôi ):

    • chỉ ảnh hưởng đến vị trí của các đường cong (lên / trái hoặc xuống / phải).
    • N ảnh hưởng đến độ dốc đường cong cũng như các vị trí (vì đó là hệ số tuyến tính và các đường cong luôn đi qua điểm gốc, luôn nằm ngoài thang đo).
    • RL xác định độ cong (quét phải tiến dần) của đường cong thứ ba mới (vì đó là một thuật ngữ tuyến tính theo hướng khác).
  5. Những thứ tôi tìm thấy có thể được sử dụng:

    • Bạn có thể thấy rằng đường cong thứ hai (đường thẳng) cần phải dốc hơn một chút và hướng lên / trái so với dữ liệu được lấy mẫu, bởi vì độ cong do R bắt đầu từ điểm gốc.
    • Bạn có thể lấy mẫu khá chính xác bằng cách phóng to biểu dữ liệu (giả sử PDF), chụp ảnh màn hình và mở nó trong chương trình vẽ yêu thích của bạn. Sau đó, bạn có thể sử dụng ví dụ: công cụ lựa chọn hoặc đường thẳng để đo khoảng cách tính bằng pixel giữa các đường khoảng và khoảng cách của điểm đến đường khoảng giá trị thấp hơn. Đối với các trục tuyến tính, phân số đó chuyển thành các giá trị dữ liệu dễ dàng.
    • Biểu đồ phân tán XY cho phép bạn sử dụng các điểm dữ liệu tùy ý. Bạn có thể lấy đi với ít mẫu hơn so với lấy mẫu bằng nhau. Bạn có thể chọn chỉ lấy mẫu dữ liệu tại các điểm dễ nhất và nơi cần thiết. Ví dụ, trên thang điểm bán kết, bạn có thể lấy mẫu ở các dòng khoảng của thang đo logarit. Nếu bạn cần, bạn vẫn có thể có nhiều điểm (hàng) cho các đường cong ước tính. (Ít nhất là các biểu đồ OpenOffice dường như bỏ qua các điểm không có tọa độ Y tương ứng.)
      Lưu ý rằng các giá trị X ( Vf_sampling ) vẫn cần phải theo thứ tự tăng dần (hoặc giảm dần). Nếu không thì các dòng trở thành một mớ hỗn độn.
    • Lưu ý tỷ lệ của các đơn vị bạn đang ước tính / biểu đồ / cố gắng tìm (ví dụ milliamperes) và hãy nhớ rằng SPICE thường sử dụng các đơn vị trần (ampe).
    • Lưu ý rằng Vt của W5VO tính bằng milli volt. Nếu bạn đang sử dụng vôn, hãy sử dụng giá trị 0,026 .
    • Kiểm tra các tiền tố số liệu (m, p, u, v.v.) giả lập SPICE của bạn chấp nhận. Sử dụng ký hiệu số mũ (ví dụ 12E-34) có thể đơn giản hơn.
    • Chỉnh sửa phạm vi ô cho biểu đồ dường như luôn đặt lại đường cong thứ ba (mới) để tôi phải thêm lại phạm vi dữ liệu vào tọa độ X và thay đổi lại cột thứ ba thành phạm vi Y của nó. Hãy xem xét điều đó khi thêm nhiều điểm hoặc mô hình hóa nhiều đèn LED trên cùng một biểu đồ - thực hiện tất cả các thay đổi như vậy cùng một lúc. (Thay đổi dữ liệu trong các ô rõ ràng không kích hoạt thiết lập lại.)
    • Nội suy cong trên biểu đồ có thể khiến bạn lạc lối do quá mức hoặc không khởi động và không cho bạn thấy lý do tại sao các điểm dữ liệu thực tế nằm ở đâu.
    • Các đoạn thẳng cũng có thể gây hiểu lầm, vì các điểm tương ứng kết thúc ở các vị trí khác nhau và phép nội suy tuyến tính không theo dõi bản chất logarit của đường cong. (Tất cả các điểm dữ liệu của đường cong được lấy mẫu và đường cong thứ ba mới phải nằm ngoài (lên / trái) của các đoạn thẳng của đường kia.)

AFAIK, mô hình của chúng tôi cho đèn LED về cơ bản là một điện trở R và diode ước tính Is / N nối tiếp: (-R -> - D-)

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab


6

Tôi đã kết hợp một chương trình Python sẽ mô hình hóa các đặc tính phân cực thuận của một diode dựa trên các đặc điểm của biểu dữ liệu IV.

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

Hãy thử và nhận xét.


5
Mặc dù mã của bạn trông rất hữu ích, các câu trả lời chỉ liên kết không được khuyến khích vì chúng có thể trở nên vô dụng trong tương lai nếu liên kết chết. Có lẽ bạn có thể bao gồm nhiều chi tiết hơn về thuật toán / mã trong câu trả lời của bạn để đảm bảo nó tiếp tục hữu ích nếu điều đó xảy ra.
PeterJ

Điều này khá hữu ích, trên thực tế. Sử dụng WebPlotDigitizer thực hiện điều này khá dễ dàng.
andy.holmes

2

Đây là những cái tôi sẽ sử dụng

#       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

Đối với kiểu VJ = 1,8 của bạn, BV = 5. Điều đó giúp bạn có được hầu hết các cách đó.


1
Trên thực tế, VJ được sử dụng để tính toán điện dung đường giao nhau dựa trên điện áp được áp dụng. Sửa đổi điều này và điện áp đánh thủng ngược sẽ không thực sự thiết lập các đặc tính DC tổng. Kết quả cuối cùng phải gần giống với mô hình diode mặc định.
W5VO

1

Nếu bất cứ ai thắc mắc tại sao biểu dữ liệu một trang của anh ấy / cô ấy không có đường cong If / Vf, thì có lẽ vì anh ấy / cô ấy không có biểu dữ liệu hoàn chỉnh. Tôi biết rằng, ví dụ Optosupply chỉ xuất bản các bản tóm tắt trang đầu tiên trên trang web của họ, nhưng họ sẽ gửi cho bạn thông số kỹ thuật đầy đủ (với tất cả các đường cong If / Vf, cường độ tương đối và phổ, v.v.) theo yêu cầu.

Bạn cũng có thể có được các số liệu có thể sử dụng cho tất cả các giá trị bằng cách sử dụng biểu dữ liệu từ một đèn LED khác có cùng màu với cùng một hóa học (của cùng một nhà sản xuất). Chỉ cần kiểm tra xem các đặc tính cơ bản (như dòng điện, điện áp và bước sóng) có khớp với nhau không.


0

Câu trả lời tuyệt vời, nhưng thật dễ dàng để giải phương trình diode Shockley đại số. Chỉ cần lưu ý rằng "trừ 1" trong công thức rất không liên quan đến các dòng điện phía trước có độ lớn hơn Is, rất nhỏ, giả sử, 1E-12 A. Tìm chỉ hai điểm trong biểu đồ dễ đọc Giá trị I và V, và cắm chúng vào công thức. Chia cả hai công thức loại bỏ Is, vì vậy N rất dễ tính toán. Sau đó điền N vào một công thức để tìm Is.

Dưới đây là macro LibreScript Calc của tôi trong 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

Nếu bạn nhìn vào công thức, bạn có thể nhận ra chỉ đơn giản là mô tả của một đường thẳng có độ dốc q / NkT mà còn của Nhật ký delta (Id) / delta Vd.

Tôi nhận được một giá trị tương tự cho Is: 5.94E-18 = 5.94 atto-ampere (W5VO tìm thấy 1 aA), nhưng N = 0.19 khác nhau (W5VO tìm thấy 1.8, lỗi đánh máy?), Tuy nhiên, dữ liệu cũng tính lại cùng một biểu đồ :

ảnh chụp màn hình LibreOffice Calc của tôi

Cột Vd là các điện áp, Id là dòng diode theo công thức thực, Id0 là dòng có công thức đơn giản hóa trong đó "trừ 1" được đổi thành "trừ 0". Vì Id0 là một đường cong hàm mũ thực sự, bạn có thể lấy logarit trong cột Id0_log. (Bạn không thể lấy nhật ký của một đường cong trở thành 0 và âm như Id) Cốt truyện là từ Id0_Log so với Vd. Trong sơ đồ này, tôi đã tạo ra phần thấp nhất rải rác, bởi vì nó KHÔNG còn là dòng diode thực tế nữa, nhưng không hiển thị giá trị của Is tại giao điểm với trục Y.

Theo đường cong hàm mũ bên trái mang lại cho bạn không có triệu chứng về không. Nhưng "trừ 1" trừ đi một lượng Is, để đường cong diode thực đi qua gốc tọa độ và, với điện áp âm, cho thấy dòng rò ngược của lượng Is.

Nếu đường cong của nhà sản xuất ban đầu sẽ nằm trên một biểu đồ log thực sự lớn, chúng ta có thể chỉ cần sử dụng một thước kẻ để kéo dài đường thẳng xuống dưới để dễ dàng tìm thấy Is tại Vd = 0 và sau đó tính N, thay vì tính N trước trên vĩ mô. Phương pháp thước kẻ đã được mô tả trong "Cuốn sách gia vị" của Andrei Vladimirescu (1994).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.