Cara menggunakan .step param dengan lebih dari dua parameter di LTSpiceIV


12

Saya perlu melakukan tiga simulasi sementara dengan nilai yang berbeda dari resistor tertentu (masing-masing disebut R1 dan R2). Yang ingin saya lakukan adalah ini:

  • Sim. 1: R1 = 1 k , R2 = 10 k ΩΩΩ
  • Sim. 2: R1 = 1 M , R2 = 10 M ΩΩΩ
  • Sim. 3: R1 = 1 k , R2 = 1 M ΩΩΩ

Jika hanya ada satu resistor yang resistannya bervariasi, maka saya hanya akan mengatur resistansi ke "{r1}" (Saya menggunakan huruf kecil untuk membuatnya menjadi variabel / parameter yang berbeda dari R1) dan menggunakan perintah seperti:

.step param r1 list 1k 1meg 1k

Namun, karena saya harus mengubah dua parameter (bersama-sama) dua kali masing-masing, saya telah membaca di sini bahwa (setidaknya pada LTSpiceIV) bahwa solusi untuk masalah saya dapat menggunakan sesuatu seperti ini:

.step param X list 1 2 3

.param r1 = table(X, 1k, 1meg, 1k)

.param r2 = table(X, 10k, 1meg, 10meg)

Setelah melakukan simulasi, saya mendapatkan peringatan berikut:

WARNING: Can´t resolve .param r2 = table(X, 10k, 1meg, 10meg)
Select OK to continue the simulation with the default model or Cancel to quit now.

Hal yang sama berlaku untuk r1.

Untuk beberapa alasan, simulasi tidak "pecah" jika saya menambahkan satu elemen tambahan ke tabel. Dalam hal ini, simulasi membutuhkan waktu terlalu lama, maju lebih lambat setiap waktu, karena tidak akan pernah berakhir. Saya telah mencoba menetapkan X ke 0 1 2 bukannya 1 2 3, tetapi itu tidak berhasil.

Ini beberapa gambar:

Perintah sirkuit +

Pesan eror

Bantuan Anda akan sangat dihargai.


Saya bingung, apakah Anda ingin mensimulasikan 3 situasi atau lebih? Jika Anda hanya ingin mensimulasikan 3 skenario saya tidak akan repot melakukannya dengan rempah-rempah.
ACD

Dan apa yang Anda inginkan dari sumbu X?
ACD

Saya ingin mensimulasikan ketiga situasi tersebut dan menyusunnya bersama. Saya tahu saya hanya bisa mengekspor file CSV dan memplotnya dengan Octave atau Excel, tetapi akan jauh lebih berguna untuk melakukannya secara langsung di LTSpice. Dalam posting ini ( electronics.stackexchange.com/questions/20811/... ) seseorang mengatakan bagaimana melakukannya tetapi tidak berhasil untuk saya. Dalam contoh ini saya meletakkan tiga skenario tapi saya mungkin perlu memasukkan lebih banyak.
sebascarra

Mengenai pertanyaan kedua Anda, X akan menjadi indeks yang berbeda yang memungkinkan saya mengakses nilai-nilai tabel. Karena (ternyata) LT hanya akan memungkinkan saya untuk menyapu melalui satu variabel pada satu waktu, saya menyapu melalui X dan kemudian saya mencoba mengakses nilai-nilai tabel sesuai dengan nilai yang telah diambil X dalam langkah itu. Saya harap saya jelas. Terima kasih.
sebascarra

Nah untuk satu perintah tabel menginginkan indeks, yaitu X, lalu satu set pasangan xy. Setiap param harus memiliki 3 pasang di dalamnya, bukan tiga nilai.
ACD

Jawaban:


17

Di LTSpice perintah tabel benar-benar membuat semacam kamus di mana Anda harus menentukan pasangan nilai kunci. Arahan yang tepat untuk kasus Anda adalah:

.step param Rx list 1 2 3
.param R1 table(Rx,1,1k,2,1Meg,3,1k)
.param R2 table(Rx,1,10k,2,1Meg,3,10Meg)

dan atur nilai resistor masing {R1}- {R2}masing.

Jika Anda ingin memiliki nilai-nilai resistor dekat dengan itu, Anda juga dapat memasukkan (bukan nilai, ketika mengklik kanan ke dalamnya)

R=table(Rx,1,10k,2,1Meg,3,10Meg)

ke dalam bidang nilai resistor. Ini bekerja dengan cara yang sama untuk semua jenis komponen dan dengan skrip eksternal untuk membuat file .asc dapat digunakan sebagai kruk untuk LTspices hilang fungsi monte carlo.


4

Satu sapuan / langkah parameter dapat mengontrol beberapa nilai komponen melalui ekspresi.

Variabel kontrol yang Anda langkahkan bisa berupa sudut fase atau waktu tunda atau serupa yang Anda masukkan dalam satu atau lebih rumus / ekspresi untuk mendapatkan nilai komponen atau parameter yang dihasilkan untuk diterapkan dalam desain sebagai {parameter}

Ini berguna jika Anda ingin mempertahankan relasi atau mengontrol beberapa properti fisik tidak langsung dari desain seperti properti saat ini atau filter.

Di editor perintah "op" Anda dapat memasukkan sesuatu seperti ini:

.STEP param Imax 0.1 0.3 0.1 
.PARAM Uin= 5
.PARAM R = (Uin-0.84954605)/Imax

Ini langkah Imax dari 0,1 ke 0,3 dalam langkah-langkah 0,1 dan menghitung nilai resistor R menggunakan parameter Imax, Uin, beberapa diasumsikan penurunan tegangan 0,85 .. dari suatu dioda.

PARAM R dapat dirujuk dalam nilai komponen menggunakan notasi {R}. Perhatikan Uin dapat digunakan sebagai {Uin} di sumber tegangan atau serupa dan seterusnya.

Untuk beberapa baris di jendela editor "op" gunakan CTRL + M untuk menjaga semua params di kotak teks yang sama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.