LTspice: Zmieniaj wartość rezystora w czasie


24

Chcę symulować regulację obciążenia zasilacza. Jestem pewien, że pamiętam, że mogłem zmieniać wartość rezystora w trakcie symulacji w LTspice, ale nie pamiętam, jak to zrobić. Ktoś?

Odpowiedzi:


12

Użyj komponentu SpecialFunctions / Varistor.asy ze zmiennym w czasie źródłem napięcia

Screenshot


+1 Dzięki, nie pamiętam tego, ale powinienem załatwić sprawę. Jeszcze nie oznaczę tego jako zatwierdzonego. Chciałbym zobaczyć, czy ktoś ma jakieś alternatywy ... (chociaż nie wygląda to na prawdopodobne ...)
volting

2
Istnieje wiele alternatyw - możesz użyć tranzystora o znanej charakterystyce Rds i zmienić napięcie bramki z 0 na nasycenie lub po prostu umieścić źródło napięcia lub prądu i rampę przez zakres napięcia lub prądu, który chcesz ustalić twój rezystor. Warystor to jednak kontrolowany rezystor, o który prosiłeś.
Kevin Vermeer

Jasne ... ale jeśli moja pamięć służy mi poprawnie (co prawdopodobnie nie działa), można to zrobić za pomocą zwykłego rezystora + polecenia symulacji, co byłoby bardziej intuicyjne i proste. W każdym razie jeszcze raz dziękuję za sugestie
wolting

Użyj źródła, Luke! Otwórz definicję i obwód obwodu modelu warystora i dowiedz się, co robi - Komendy SPICE powinny gdzieś tam być. Ten dokument: ltspice.linear.com/software/scad3.pdf powinien ci pomóc.
Kevin Vermeer

Punkt zajęty! Przyszło mi do głowy ... tym, czego wcześniej użyłem, był
pomiar

28

Niestety użycie warystora nie zadziała, ponieważ sam warystor zależy od napięcia na nim. Znacznie prostsze jest kliknięcie prawym przyciskiem myszy na istniejący rezystor i wprowadzenie wzoru. Na przykład

R=11-100*time

zmniejszy liniowo opór z 11Ohm do 1Ohm w czasie 100ms. Możesz użyć prawie wszystkich funkcji dostępnych dla źródeł napięcia b (dowolne behawioralne źródło napięcia), a także wszelkiego rodzaju pomiarów, np. Napięć innych węzłów.


18

Jest inny sposób. Skonfiguruj źródło napięcia i wybierz żądane wyjście. Oznacz wyjściową wartość VResistance. Napięcie na źródle będzie dokładnie takie, jak rezystancja. Tj. 10KV będzie takie samo jak 10 kiloomów. Następnie użyj standardowego rezystora z przyporządkowaniem R = V (Vresistance). Gdy zmienia się źródło napięcia, zmienia się wraz z nim rezystor. Zaletą jest to, że plik PWL może być teraz używany do kontrolowania rezystancji. Szczególnie fajnie, gdy uruchamiasz rzeczy z Mathematica lub Matlab.


Miły Paul, właśnie tego szukałem. Próbowałem nawet „R = PWL (...)” jako wartości.
rdtsc,

Musiałem google „plik PWL” , ale teraz widzę potencjalną zaletę tej metody podczas interakcji z programami zewnętrznymi. Nawiasem mówiąc, myślę, że pod maską działa to również jako zachowanie (ekspresja) dla rezystora.
Fizz,

To było moje ulubione rozwiązanie. Pełny tekst tutaj: electronicspoint.com/resources/…
Frederick

1

Korzystając z sugestii McHale'a, stworzyłem Current Dummy xLoad do testowania zasilaczy i obwodów zasilania. W oparciu o sekwencję PWL obciążenie pobiera prąd z zasilacza, bez względu na napięcie na zasilaniu.

Sekwencja PWL określa profil rampy i wstrząsu, który ćwiczy zasilanie, więc można przeanalizować zachowanie takiego zasilania, jeśli odbije się ono, oscyluje, zadzwoni, wyłączy napięcie itd.

Plik .asy xLoad może być dowolny z dwoma połączeniami, ponieważ zachowuje się jak rezystor dynamiczny, który zmienia swoją wartość na podstawie wartości PWL ORAZ napięcia przyłożonego na wejściach obciążenia. Możesz zastosować 10 V DC z tętnieniem 9 V, a Obciążenie dostosuje swój rezystor dynamiczny, aby podążał za bieżącym profilem z PWL.

XLoad ma tylko jeden parametr, „mult”. Ten parametr pozwala użytkownikowi zmienić maksymalny prąd z profilu PWL, więc mult = 1 użyje profilu, który będzie pobierał maksymalnie 1A z zasilania, mult = 4.2 będzie pobierał maksymalnie 4,2A. Twój xload.asy musi mieć widoczny atrybut „mult = 1”, więc xLoad będzie działał i będziesz mógł go zmienić w dowolnym momencie.

XLoad używa małego kondensatora do zaokrąglania bardzo ostrych krawędzi, które mogą symulować bardzo wysokie częstotliwości i pierścienie, co nie dzieje się w prawdziwym życiu, więc wszystkie rogi są trochę zaokrąglone. Jeśli chcesz zmienić lub wyeliminować tę funkcję, po prostu zmień wartość C1 z 10n lub nawet wyeliminuj tę linię. Cechą jest tylko filtr RC, R2 i C1, innym sposobem zmiany filtra jest zmiana wartości lub R2, po prostu nie usuwaj takiej linii, xLoad nie będzie działać bez R2, możesz zmienić jego wartość na zero omów, aby wyeliminować całkowicie filtr, ale nie wiem, dlaczego chcesz mieć ostre rogi MegaHertz.

Utwórz tekstową nazwę pliku XLOAD.SUB w swoim katalogu LTSPICE / LIB / SUB z następującą zawartością (linia „v1” jest długa, niełamana):

    * 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

Prostą symulację .asc z wykonanym przeze mnie symbolem, a płaszczyzny wykresu pokazujące prąd i napięcie pulsujące poniżej. Zauważ, że w oparciu o czasy PWL, xLoad zaczyna działać przy 100 ms, a kończy przy 235 ms. Możesz zmienić te czasy przy wartościach PWL wewnątrz SUB.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


0

Jeśli chcesz przejść przez wartości rezystora (przykład R):

  1. Ustaw wartość rezystora, który ma być zmienny, aby być {R}(nie zapomnij o nawiasach klamrowych!)
  2. Kliknij .op(po prawej stronie paska narzędzi)
  3. Rodzaj: .step param R 1 10k 1k (kroki od 1 do 10 K w krokach co 1 k)

Jeśli chcesz zmieść wartość R w czasie, nie jest to możliwe, ponieważ symulatory będą miały problemy z konwergencją!


Nie sądzę jednak, żeby tego szukał PO, a inne odpowiedzi sugerują, że jest to możliwe.
Null
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.