LTspice: Variasikan nilai resistor dari waktu ke waktu

24

Saya ingin mensimulasikan pengaturan beban catu daya. Saya yakin saya ingat dapat memvariasikan nilai resistor selama simulasi di LTspice, tapi saya tidak ingat caranya. Siapa saja?

berlari
sumber

Jawaban:

12

Gunakan komponen SpecialFunctions / Varistor.asy dengan sumber tegangan yang bervariasi waktu

Tangkapan layar

Kevin Vermeer
sumber
+1 Terima kasih, ini bukan bagaimana saya ingat melakukannya tetapi harus melakukan trik. Saya tidak akan menandai ini disetujui dulu. Saya ingin melihat apakah ada yang punya alternatif .. (walaupun sepertinya tidak mungkin ...)
volting
2
Ada banyak alternatif - Anda bisa menggunakan transistor dengan karakteristik RDS yang dikenal, dan mengubah tegangan gerbang dari 0 menjadi saturasi, atau cukup masukkan sumber tegangan atau arus dan ramp melalui tegangan atau rentang arus yang ingin Anda buat di seluruh resistor Anda. Varistor, bagaimanapun, adalah resistor yang dapat dikontrol yang Anda minta.
Kevin Vermeer
Tentu .. tetapi jika ingatan saya benar (yang mungkin tidak) saya dapat melakukannya dengan resistor reguler + beberapa perintah simulasi, yang akan lebih intuitif dan lurus ke depan. Lagi pula Terima kasih lagi atas sarannya
volting
Gunakan sumbernya, Luke! Buka definisi model varistor dan subcircuit, dan cari tahu apa fungsinya - Perintah SPICE harus ada di sana di suatu tempat. Dokumen ini: ltspice.linear.com/software/scad3.pdf akan membantu Anda.
Kevin Vermeer
Poin diambil! Itu datang kepada saya ... apa yang saya gunakan sebelumnya adalah sapuan parametrik
volting
28

Sayangnya menggunakan varistor tidak akan berfungsi, karena varistor itu sendiri memiliki ketergantungan pada tegangan yang melewatinya. Jauh lebih sederhana adalah dengan mengklik kanan pada resistor yang ada, dan untuk memasukkan formula. Misalnya

R=11-100*time

secara linear akan mengurangi resistensi dari 11Ohm ke 1Ohm selama 100ms. Anda dapat menggunakan hampir semua fungsi yang tersedia untuk sumber tegangan b (sumber tegangan perilaku sewenang-wenang), serta semua jenis pengukuran misalnya tegangan dari node lain.

PlasmaHH
sumber
18

Ada cara lain. Atur sumber Tegangan dan pilih output yang Anda inginkan. Beri label pada net output VResistance. Volt pada sumber akan persis seperti apa resistensi itu. Yaitu 10KV akan sama dengan 10K ohm. Kemudian gunakan resistor standar dengan penugasan R = V (Vresistance). Saat sumber tegangan berubah, resistor berganti dengannya. Yang menyenangkan tentang ini adalah file PWL sekarang dapat digunakan untuk mengontrol resistensi. Terutama bagus saat menjalankan sesuatu dari Mathematica atau Matlab.

Paul McHale
sumber
Paul yang baik, itulah tepatnya yang saya cari. Bahkan mencoba "R = PWL (...)" sebagai nilainya.
rdtsc
Saya harus google "file PWL" , tetapi sekarang saya melihat potensi keuntungan dari metode ini ketika berinteraksi dengan program eksternal. Ngomong-ngomong, saya pikir di bawah kap ini berfungsi juga sebagai perilaku (ekspresi) untuk resistor.
Fizz
Ini adalah solusi favorit saya. Tulis lengkap di sini: electronicspoint.com/resources/…
Frederick
1

Menggunakan saran McHale, saya menghasilkan xLoad Dummy Terkini untuk menguji catu daya dan sirkuit daya. Berdasarkan urutan PWL, beban menghisap arus dari catu daya, tidak peduli tegangan pada catu daya.

Urutan PWL menentukan profil ramp & shake yang melatih pasokan, sehingga orang dapat menganalisis perilaku pasokan tersebut, jika memantul, berosilasi, cincin, waktu pemulihan tegangan, dll.

File xLoad .asy dapat berupa apa saja dengan dua koneksi, karena berperilaku seperti resistor dinamis yang mengubah nilainya berdasarkan nilai PWL DAN tegangan yang diterapkan pada input Load. Anda dapat menerapkan 10Vdc dengan riak 9V dan Load akan menyesuaikan resistor dinamisnya sehingga mengikuti profil saat ini dari PWL.

XLoad hanya memiliki satu parameter, "mult". Parameter ini memungkinkan pengguna untuk mengubah arus maksimum dari profil PWL, jadi, mult = 1 akan menggunakan profil yang akan menyedot maksimum 1A dari suplai, mult = 4.2 akan menyedot maksimum 4.2A. Xload.asy Anda harus memiliki atribut yang terlihat "mult = 1", sehingga xLoad akan berfungsi, dan Anda akan dapat mengubah atribut kapan saja.

XLoad menggunakan kapasitor kecil untuk membulatkan tepi yang sangat tajam yang dapat mensimulasikan frekuensi dan cincin yang sangat tinggi, apa yang tidak terjadi dalam kehidupan nyata, sehingga semua sudut sedikit membulat. Jika Anda ingin mengubah atau menghilangkan fitur ini, cukup ubah nilai C1 dari 10n atau bahkan hilangkan garis itu. Fitur ini hanya filter RC, R2 dan C1, cara lain untuk mengubah filter adalah mengubah nilai atau R2, hanya saja jangan menghapus baris tersebut, xLoad tidak akan berfungsi tanpa R2, Anda dapat mengubah nilainya menjadi nol ohm untuk menghilangkan sepenuhnya filter, meski begitu saya tidak tahu mengapa Anda ingin memiliki sudut tajam MegaHertz.

Buat nama file teks XLOAD.SUB ke direktori LTSPICE / LIB / SUB Anda, dengan konten berikut (baris "v1" panjang, tidak rusak):

    * xLOAD
    * PWL Current Profile
    * By Wagner Lipnharski Nov/2015
    *
    *              Positive (Input)
    *              |  Negative (Output)
    *              |  |
    .SUBCKT XLOAD  1  2

    V1 3 2 PWL(0 0 +100m 0 +0.1m 0.2 +5m 0.2 +.1m 0.5 +5m 0.5 +.1m 1 +5m 1 +.1m 1.5 +5m 1.5 +.1m 2 +5m 2 +.1m 2.5 +5m 2.5 +.1m 3 +5m 3 +.1m 3.5 +5m 3.5 +.1m 4 +10m 4 +1m 3.5 +8m 3.5 +1m 4 +10m 4 +2m 2.5 +8m 2.5 +2m 4 +10m 4 +2m 1.5 +8m 1.5 +2m 4 +3m 4 +2m 0.2 +3m 0.2 +2m 4 +10m 4 +3m 0.2 +8m 0)

    R1 1 2 R=V(1,2)*4/(mult*V(4,2)+1n)

    R2 3 4 1k

    C1 4 2 10n

    .ENDS XLOAD

Simulasi .asc sederhana dengan simbol yang saya buat, dan bidang plot menunjukkan arus dan pasokan tegangan beriak di bawah. Perhatikan bahwa berdasarkan penentuan waktu PWL, xLoad mulai berjalan pada 100ms dan selesai pada 235ms. Anda dapat mengubah pengaturan waktu tersebut pada nilai PWL di dalam SUB.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Wagner Lipnharski
sumber
0

Jika Anda ingin melangkah melalui nilai untuk nilai resistor (contoh R):

  1. Tetapkan nilai resistor yang ingin Anda variabel, menjadi {R}(jangan lupa tanda kurung keriting!)
  2. Klik pada .op(paling kanan pada bilah alat)
  3. Ketik: .step param R 1 10k 1k(langkah dari 1 hingga 10K dalam penambahan 1k)

Jika Anda ingin menyapu nilai R dalam waktu, maka itu tidak mungkin karena simulator akan memiliki masalah konvergensi!

Jimbolayo
sumber
Saya tidak berpikir inilah yang dicari OP, dan jawaban lain menunjukkan itu mungkin.
Null