Về SPICE: Tôi nên sử dụng phân tích thoáng qua hoặc phân tích tuyến tính DC?


7

Câu hỏi của tôi được liên kết cụ thể với một vấn đề thi trong đó tôi phải tìm một hàm theo thời gian cho dòng điện trên tụ điện và điện trở. Mạch rất đơn giản: Một nguồn dòng biến đổi theo thời gian hiện tại nối tiếp với 2 mạch con, mỗi mạch gồm một tụ điện và một điện trở được mắc song song. Xin vui lòng xem hình dưới đây:

Mạch

Vì vậy, nếu tôi muốn mô phỏng mạch này bằng phần mềm SPICE, tôi có nên chạy phân tích thoáng qua, phân tích tuyến tính DC hoặc một số loại phân tích khác không?

Nếu nguồn hiện tại là hình sin, tôi sẽ sử dụng phân tích AC, nhưng nguồn hiện tại chạy một số hiện tại tương đương với t (trong Amperes) trong đó t là thời gian (tính bằng giây) kể từ khi mạch bắt đầu hoạt động.

Dưới đây tôi đã viết tập tin netlist của tôi. Mặc dù nó không phải là một danh sách mạng SPICE hợp lệ, nhưng nó minh họa những gì tôi đang cố gắng thực hiện, tập trung vào nguồn Iin hiện tại :

CIRCUIT ANALYSIS
C2 0 2 20m
R2 0 2 3
Iin 0 1 {time}
R1 1 2 2
C1 1 2 50m

.TRAN 1us 100ms
.CONTROL
RUN
PLOT V(1)-V(2)
.ENDC

.END

Nếu bạn đã cố gắng mô phỏng danh sách mạng này, bạn sẽ nhận được một lỗi tương tự như sau (mà tôi đã nhận được bằng ngspice ):

Original line no.: 4, new internal line no.: 5:
Undefined number [TIME]
Original line no.: 4, new internal line no.: 5:
Cannot compute substitute
 Copies=9 Evals=9 Placeholders=1 Symbols=0 Errors=2

Làm thế nào tôi có thể đạt được loại phân tích này?

Câu trả lời:


4

Phân tích DC cung cấp cho bạn các điều kiện ban đầu Chỉ các giá trị trạng thái ổn định DC. Bạn phải làm một phân tích thoáng qua để xem các điện áp và dòng điện phát triển theo thời gian như thế nào . Phân tích AC chỉ dành cho trạng thái ổn định hình sin tín hiệu nhỏ; nó là một phân tích miền tần số.

Tôi tin rằng bạn sẽ cần sử dụng nguồn tuyến tính mảnh ( PWL ) cho đoạn đường nối hiện tại của mình.


Các điều kiện ban đầu có thể là bất cứ điều gì bạn hoặc trình giả lập muốn. Vì vậy, DC sẽ không là giá trị trạng thái ổn định?
Kellenjb

Bạn đã đúng, và tôi không biết tại sao tôi lại viết như vậy. Tất nhiên, giải pháp DC là trạng thái cuối cùng sau khi tất cả các quá độ đã phân rã. Đừng!
Alfred Centauri

Tuyệt quá! Phân tích PWL cho phép tôi làm chính xác những gì tôi đã lên kế hoạch. Và vâng, từ những gì tôi nhận thấy phân tích tuyến tính DC dường như vẽ đồ thị trạng thái cuối cùng của mạch trong mỗi điểm.
Severo Raz

5

Bạn sẽ là tốt nhất để sử dụng một phân tích thoáng qua. Thay vì sử dụng tham số thời gian, bạn có thể thiết lập nguồn hiện tại bằng thuộc tính xung, sau đó chỉ định thời gian tăng / giảm tương ứng nếu sử dụng nguồn hiện tại tiêu chuẩn (Ix). Hoặc sử dụng một nguồn tùy ý (Bx) và biểu thị tín hiệu bằng toán học bằng cách sử dụng thời gian làm tham số.

Ví dụ, đây là danh sách mạng cho mạch của bạn trong LTSPice bằng cách sử dụng nguồn hiện tại tùy ý:

* C:\Program Files\LTC\LTspiceIV\current rc.asc
R1 N002 N001 2
C1 N002 N001 50mF
R2 N002 0 3
C2 N002 0 20mF
B1 0 N001 I=time
.tran 0 15 1m uic
.backanno
.end

Dưới đây là mô phỏng với âm mưu V1 - V2:

âm mưu


Không phải B là một refdes cho một loại bóng bán dẫn?
Severo Raz

Chà, sau khi thực hiện một số điều chỉnh cho netlist mà bạn cung cấp, tôi đã có thể sử dụng thành công, có vẻ như .backannolệnh và .trancú pháp khác nhau giữa LTSpice và ngspice. Tôi cũng sẽ đánh dấu giải pháp của bạn là câu trả lời nhưng tôi đã chấp nhận một câu trả lời: /
Severo Raz

4

Dựa trên mô tả của bạn về vấn đề thi, tôi nghĩ rằng một phân tích thoáng qua vẫn là những gì bạn đang tìm kiếm. Trong CircuitLab, bạn chỉ có thể xác định nguồn hiện tại là có "T" hiện tại để tạo ra một đường nối dòng tuyến tính tỷ lệ với thời gian mô phỏng: (bấm vào đây để xem mạch và mô phỏng)

đoạn đường nối hiện tại

Mở và chạy mô phỏng nhất thời:

cốt truyện hiện tại

Bạn cũng có thể kiểm tra các dòng điện vào từng yếu tố. Như bạn có thể mong đợi, dòng điện vào C1 và C2 là không đổi, trong khi dòng điện vào R1 và R2 tăng trưởng tuyến tính theo thời gian.

Theo như câu hỏi ngspice / netlist, tôi tin rằng các từ khóa cần tìm là "nguồn hành vi". Xem trang này để biết một số ví dụ (một gần cuối sử dụng TIME làm biến).


Hừm, thật đáng buồn là không thể chạy ví dụ đó bằng cách sử dụng TIMEnhư một tham số. Tôi nhận được cùng một lỗi tôi bao gồm trong câu hỏi của tôi, nó rất đáng tiếc.
Severo Raz

1
Và tôi gần như quên mất, cảm ơn vì đã cho tôi xem CircuitLab! Tôi có thể sử dụng nó trong tương lai.
Severo Raz
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.