LTSpiceIV'de .step parametresinin ikiden fazla parametreyle kullanılması


13

Her birinde belirli dirençlerin (uygun olarak R1 ve R2 olarak adlandırılır) farklı değerlerine sahip üç geçici simülasyon yapmam gerekiyor. Tam olarak yapmak istediğim şu:

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

Direnci değişebilen sadece bir direnç olsaydı, direncini "{r1}" olarak ayarlardım (R1'den farklı bir değişken / parametre yapmak için küçük harfler kullanırım) ve şöyle bir komut kullanırım:

.step param r1 list 1k 1meg 1k

Ancak, her iki kez (birlikte) iki parametre değiştirmek zorunda olduğundan, burada (en azından LTSpiceIV üzerinde) benim sorunum için bir çözüm böyle bir şey kullanıyor olabilir okudum:

.step param X list 1 2 3

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

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

Simülasyonu yaptıktan sonra, aşağıdaki uyarıları alırım:

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.

Aynısı r1 için de geçerlidir.

Herhangi bir nedenle, tabloya fazladan bir öğe eklersem simülasyon "kırılmaz". Bu durumda, simülasyon çok uzun sürer ve asla bitmeyeceği için her seferinde daha yavaş ilerler. X ayarı 1 2 3 yerine 0 1 2 olarak ayarlamayı denedim, ancak bu da çalışmıyor.

İşte bazı resimler:

Devre + komutları

Hata mesajı

Yardımınız çok takdir edilecektir.


Kafam karıştı, 3 veya daha fazla durumu simüle etmek ister misiniz? Sadece 3 senaryoyu simüle etmek istiyorsanız, baharatla yapmaktan rahatsız olmazdım.
ACD

Ve X ekseninin ne olmasını istiyorsunuz?
ACD

Bu üç durumu simüle etmek ve birlikte planlamak istiyorum. Bir CSV dosyasını dışa aktarabildiğimi ve Octave veya Excel ile çizebileceğimi biliyorum, ancak doğrudan LTSpice'de yapmak çok daha yararlı olacaktır. Bu yazıda ( electronics.stackexchange.com/questions/20811/… ) birisi bunu nasıl yapacağını söyledi ama benim için çalışmıyor. Bu örnekte üç senaryo hazırladım, ancak daha fazlasını da koymam gerekebilir.
sebascarra

İkinci sorunuzla ilgili olarak, X tablonun değerlerine erişmeme izin veren farklı dizinler olacaktır. (Görünüşe göre) LT, bir kerede yalnızca bir değişkeni taramama izin vereceğinden, X'i süpürüyorum ve sonra X'in bu adımda aldığı değere göre tablonun değerlerine erişmeye çalışıyorum. Umarım net olurum. Teşekkür ederim.
sebascarra

Birincisi için tablo komutu X, sonra bir dizi xy çifti olan bir dizin ister. Her parametrenin içinde üç değer olmamak kaydıyla 3 çift olmalıdır.
ACD

Yanıtlar:


17

LTSpice'de table komutu gerçekten anahtar / değer çiftlerini belirtmeniz gereken bir tür sözlük oluşturur. Davanız için uygun direktif şu şekilde olacaktır:

.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)

ve dirençlerin değerini sırasıyla {R1}ve {R2}olarak ayarlayın.

Bir direncin değerlerinin yanında olmasını istiyorsanız, ayrıca girebilirsiniz (üzerine sağ tıkladığınızda değer yerine)

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

direnç değeri alanına. Bu, her türlü bileşen için aynı şekilde çalışır ve harici bir komut dosyası ile .asc dosyaları oluşturmak için monte carlo işlevini eksik LTspices için bir koltuk değneği olarak kullanılabilir.


4

Bir parametre taraması / adımı, ifadeler aracılığıyla birden çok bileşen değerini kontrol edebilir.

Bastığınız kontrol değişkeniniz, tasarımda {parametre} olarak uygulanacak sonuç bileşen değerlerini veya parametrelerini elde etmek için bir veya daha fazla formül / ifadeye girdiğiniz bir faz açısı veya zaman gecikmesi veya benzeri olabilir.

Bir ilişkiyi korumak veya tasarımın geçerli veya filtre özelliği gibi bazı dolaylı fiziksel özelliklerini kontrol etmek istiyorsanız bu yararlıdır.

"Op" komut düzenleyicisine şöyle bir şey girebilirsiniz:

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

0.1 adımlarında Imax 0.1'den 0.3'e adım atar ve bir diyotun varsayılan voltaj düşüşü 0.85 .. parametresini kullanarak Imax, Uin parametresini kullanarak bir direnç değeri R'yi hesaplar.

PARAM R, {R} notasyonu kullanılarak bir bileşen değeri ile referans gösterilebilir. Uyarı Uin, bir voltaj kaynağında veya benzerlerinde {Uin} olarak kullanılabilir.

"Op" düzenleyici penceresindeki birden çok satır için, tüm parametreleri aynı metin kutusunda tutmak için CTRL + M tuşlarını kullanın.


2

Bu benim devre için çalışıyor

. adım parametre listesi 2 3 4

.param Rf = tablo (n, 1,1.3k, 2,1.1k, 3,1.2k, 4,1k)

.param Cf = tablo (n, 1,54p, 1,64p, 2,64pF, 4,64pF)

Böylece Rf, (.step yönergesinde tanımlanan) geçerli dizinin değerini alır. Bu nedenle, değerler tablosu dizin tanımlayıcısıyla (burada n) başlar, sonra çiftler dizinini, değeri izler. Tablolarda dizini kullanmazsam, ilk gönderide belirtilenle aynı hatayı alıyorum

Çalışma çözümü LTspice tablosu işlevi okunduktan sonra bulundu

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.