Mam zasilany bateryjnie przetwornik podwyższający napięcie i próbuję zmierzyć spadek napięcia maksymalnego na wejściu (akumulator) w różnych warunkach obciążenia przy dużym poborze prądu (różne cykle pracy / okresy) oprócz kilku różnych typów akumulatorów (różne napięcia / rezystancje wewnętrzne). Ponieważ symuluję tak (stosunkowo) duży czas pracy, pliki symulacji stają się dość znaczne, nie wspominając o tym, że zajmują trochę czasu. Chciałbym zautomatyzować LTSpice, aby móc programowo zmieniać wartości składników oraz ponownie przeprowadzać symulacje i rejestrować dane (wartości takich jak napięcie lub prąd). Wiem to:
- Pliki WAV można wykorzystać do wprowadzania / wyprowadzania danych z programu
- Program można uruchomić z wiersza poleceń
Jak dotąd moja najlepsza opcja wydaje się wykorzystywać kombinację tych dwóch opcji wraz z własnym kodem / skryptem w sposób, który osiąga moje cele, ale zastanawiam się, czy istnieje już lepsza droga.
Czy ktoś zautomatyzował LTSpice lub wiedział, czy został napisany dla niego jakikolwiek interfejs API automatyzacji (przez producenta lub osoby trzecie)?
Idealnie chciałbym mieć solver, taki, który podałem mu pożądane parametry i wypróbowałem różne wartości składników, aż znalazłem „optymalne” rozwiązanie moich ograniczeń.
źródło
Odpowiedzi:
Uruchamianie symulacji wiele razy i zmiana wielu wartości składników jest nieco bardziej zaangażowana niż tylko zmiana jednej (co nie jest takie złe)
Oto koncepcja zmiany jednej wartości:
.param X=R
.step param X 100 500 50
Do stopniowania wartości między 100 a 500 w krokach co 50.Przykład:
Wynik:
W przypadku wielu wartości jedynym sposobem, w jaki znalazłem działanie, było użycie listy wartości dla X i użycie instrukcji table. Prawdopodobnie najlepiej to wyjaśnić za pomocą przykładu (tutaj prawdopodobnie pomocne będzie przeczytanie pomocy dla używanych poleceń). Należy jednak pamiętać, że składnia polecenia tabeli ma postać tabeli (indeks, x1, y1, x2, y2, .... xn, yn), przyjmuje indeks jako dane wejściowe i zwraca interpolowaną wartość x = indeks na podstawie dostarczonego x , y pary.
W jednej z moich symulacji musiałem wykonać 12 symulacji, zmieniając 3 różne wartości składników, oto polecenia:
Wynik:
Mam nadzieję, że wpadłeś na pomysł, że może uda ci się stworzyć skrypt, który wygeneruje niezbędne polecenia SPICE, gdy wypełnisz pożądane wartości. Lub po prostu stwórz szablon (np. Właśnie skopiowałem i wkleiłem powyższe do kilku różnych symulacji i zmieniłem wartości)
Jeśli powyższe nie robi tego, co chcesz, to może spójrz na coś takiego jak multisim NI (myślę, że ma kilka opcji symulacji wsadowej, chociaż nie jestem pewien, czy są one przydatne). Może być również pomocne zapytać na LTSPice forum i sprawdź, czy ktoś wie o lepszym sposobie robienia rzeczy.
źródło
Myślę, że tak naprawdę jest możliwe uruchomienie LTSpice z wiersza poleceń i uruchomienie symulacji przejściowej:
Podczas windoze:
W systemie Linux:
źródło
LTSpice można uruchomić w trybie wsadowym za pomocą
-b
przełącznika wiersza polecenia.Z pliku pomocy LTSpice:
Jak czytać i interpretować .raw wyjście jest pozostawione jako ćwiczenie dla czytelnika.
Zauważ też, że wśród przełączników wiersza poleceń:
źródło
Czy sprawdziłeś już w „ LTSpice Queue Manager ”? ( Link przekierowuje na moją własną stronę internetową, na której można pobrać oprogramowanie, ale nie jestem jego autorem, który pierwotnie udostępnił program na zamkniętym forum. Udostępnianie go za pośrednictwem mojej witryny jest sposobem na jego ożywienie ).
To narzędzie bardzo mi pomogło w przeszłości. Możesz przygotować wiele plików symulacji i uruchomić je w kolejce.
źródło
Jeśli to tylko LT Spice i nie można przejść przez GUI, poleciłbym program skryptowy AutoIt. Użyłem go do automatyzacji niektórych krytycznych aplikacji Windows, którym brakowało active-x-DDE-COM.dll-cokolwiek. Możesz ustawić go tak, aby oczekiwał na pliki, naciskał przyciski Windows, menu, programy wywołujące z argumentami itp.
Spójrz na:
http://www.autoitscript.com/site/
http://www.autoitscript.com/forum/
Wybrałbym Winbatch, jeśli chcesz zapłacić za program skryptowy.
źródło