Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

MES Mariusz 12 Paź 2017 12:07 513 13
  • #1 12 Paź 2017 12:07
    MES Mariusz
    Poziom 36  

    Witam.

    Chciałbym zaproponować i zapoczątkować wątek poświęcony programom Orcad Pspice / LTspice.
    Marzy mi się, by działał na tych samych zasadach co wątek KiCad - dla początkujących w pytaniach i odpowiedziach . Byłoby miło, gdyby moderator przykleił temat, i sprawdził możliwość zorganizowania tematu w taki sposób, by działał podobnie jak wątek, na którym się wzoruję.

    Początkujący załącza plik symulacji, zadaje pytanie, a doświadczona społeczność (która przepracowała wiele godzin w podobnym sofcie) odpowiada, i również załącza poprawioną symulację.

    Zalety:

    - wszystko w jednym miejscu (brak bałaganu na forum),
    - każdy początkujący może prześledzić dziesiątki problemów innych początkujących,
    zapewniając sobie dobry start w specyficzne i nierzadko "kapryśne" środowiska z rodziny Spice
    - początkujący powoli stają się ekspertami i zaczynają pomagać nowym początkującym.

    Wiem po sobie - w temacie początkowo zadawałem sporo pytań w temacie KiCad - dla początkujących w pytaniach i odpowiedziach .
    Teraz sam podpowiadam nowym osobom.


    Wrzucam pierwszy temat i załączam swoje symulacje.

    Generator_NAND_1.asc - działająca (symulacja rysuje wykres w przeciągu sekundy)
    Generator_NAND_2.asc - nie działająca (symulacja strasznie długo rysuje wykres)

    Oba schematy różnią się zaledwie jednym połączeniem:

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach


    Kolega jarek_lnx w innym temacie napisał:

    Cytat:
    Po ustawieniu sensownych parametrów w układzie z bramką A - czas propagacji 100ns, czasy narastania/opadania 50ns symulacja liczy się w sekundę i nie ma oscylacji przy przełączaniu.


    Po skonfigurowaniu bramek zgodnie z sugestią, mimo wszystko nie mogę wciąż doczekać się końca symulacji.

    Proszę doświadczonych kolegów o sprawdzenie przypadku, i wklejenie działającej (poprawionej) symulacji Generator_NAND_2.asc

    Dziękuję.

    0 13
  • Pomocny post
    #2 13 Paź 2017 12:04
    Marek2006
    Poziom 29  

    Widzę, że odzew nie jest zbyt duży. Spróbuję coś odpowiedzieć, chociaż na układach cyfrowych się nie znam.
    Moim zdaniem to nie jest temat dla początkujących (jak sugeruje tytuł). Elementy cyfrowe były w LTSpice dość długo ukryte. Teraz są one opisane w Pomocy (LTSpice->Circuit Elements->A. Special Functions). Ale ten opis nie jest zbyt obszerny. Być może w implementacji bramek jest jakiś błąd i moim zdaniem to jest pytanie na listę LTSpice na yahoo. Może jakiś parametr trzeba jeszcze ustawić. Chyba będziesz musiał się tam zapytać.
    Natomiast w pewien sposób "pomagasz" aby ta symulacja nie działała.
    Po pierwsze widzę, że skopiowałeś moją symulację z parametrem V aby sprawdzić włączanie i wyłączanie generatora. Wiemy, że to działa poprawnie więc zastanawiam się czemu nadal masz ten parametr (w postaci listy). Przecież wiemy, że dla wartości 0 generator jest wyłączony. Program próbuje wyliczyć napięcia dla wartości 0 ale już wiemy, że wtym przypadku będzie 0V na wyjściu (a sam program nie potrafi tego efektywnie wyliczyć). Więc pierwszy krok to opuszczenie listy wartości dla napięcia V. Wystarczy wstawić dyrektywę ".param V 5" a poprzednią dyrektywę zakomentować albo usunąć.
    Po drugie, jeśli symulacja się długo liczy dla 1 sekundy, to jak bym spróbował ją policzyć dla 0.1s lub nawet 0.01s (aby dostać jakiekolwiek wyniki).
    Po trzecia, jeśli w dyrektywie określającej symulację określisz "Maximium Timestep" jako powiedzmy 10n, to symulacja liczy się bardzo szybko.
    Tym niemniej, wysłałbym ten schemat na listę LTSpice i spytał się jak ją poprawić. Helmut z listy rozwala takie tematy i sam jestem ciekaw co w tym przypadku odpowie. Zapisałeś się już tam?

    Marek

    0
  • #3 13 Paź 2017 13:25
    jarek_lnx
    Poziom 43  

    ->MES Mariusz Trochę dociekliwości i spostrzegawczość jest wszystkim czego ci potrzeba, obejrzyj przebiegi i pomyśl.
    Zauważyłeś że "nie działająca" symulacja - Generator_NAND_2.asc ślimaczy sie kiedy V1=0 czyli teoretycznie nie powinno być żadnych oscylacji?
    Oba układy nie są równoważne i zablokowanie bramki A2 nie blokuje oscylatora na R1 C1 A1 - kojarzysz schemat oscylatora na jednym negatorze Schmitta? - to właśnie ten układ, gdyby bramka miała małe wzmocnienie, układ by się nie wzbudził, tylko pozostał z wyjściem w pobliżu Vcc/2, po bliższym zbadaniu bramka w LTSpice okazuje sie mieć niewielką histerezę albo opóźnienie i niezawodnie się wzbudza niezależnie od nastaw.

    Cytat:
    Widzę, że odzew nie jest zbyt duży. Spróbuję coś odpowiedzieć, chociaż na układach cyfrowych się nie znam.
    Każdy układ cyfrowy, jest również układem analogowym :)

    0
  • #4 13 Paź 2017 20:11
    MES Mariusz
    Poziom 36  

    Marek2006 napisał:
    Natomiast w pewien sposób "pomagasz" aby ta symulacja nie działała.
    Po pierwsze widzę, że skopiowałeś moją symulację z parametrem V aby sprawdzić włączanie i wyłączanie generatora. Wiemy, że to działa poprawnie więc zastanawiam się czemu nadal masz ten parametr (w postaci listy). Przecież wiemy, że dla wartości 0 generator jest wyłączony. Program próbuje wyliczyć napięcia dla wartości 0 ale już wiemy, że wtym przypadku będzie 0V na wyjściu (a sam program nie potrafi tego efektywnie wyliczyć). Więc pierwszy krok to opuszczenie listy wartości dla napięcia V. Wystarczy wstawić dyrektywę ".param V 5" a poprzednią dyrektywę zakomentować albo usunąć.


    Kurcze, wystarczyło usunąć parametr, i na stałe wpisać 5V. Teraz symulacja działa :-)

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Ponadto symulacja pokazuje, że przebieg jest identyczny zarówno na OUT1 jak i na OUT2:

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Co z drugiej strony nie pokrywa się z tym, co pokazuje symulacja kolegi jony

    U mnie wykresy pokrywają się (nakładają się na siebie). Kolega jakoś pokazał to na dwóch oddzielnych wykresach, w dodatku, w drugim przypadku sygnał wygląda na zanegowany.

    0
  • #5 13 Paź 2017 20:29
    Marek2006
    Poziom 29  

    Nadal jest coś do poprawy: podałeś napięcie bezpośrednio ale jednocześnie zostawiłeś dyrektywę z listą dla parametru V. To powoduje, że symulacja liczy się dwa razy. Kliknij na tej dyrektywie i wybierz opcję "Comment". Całość będzie się robić dwa razy szybciej :).

    0
  • #6 13 Paź 2017 20:40
    MES Mariusz
    Poziom 36  

    Marek2006 napisał:
    Nadal jest coś do poprawy: podałeś napięcie bezpośrednio ale jednocześnie zostawiłeś dyrektywę z listą dla parametru V. To powoduje, że symulacja liczy się dwa razy. Kliknij na tej dyrektywie i wybierz opcję "Comment". Całość będzie się robić dwa razy szybciej :).


    Zakładam, że to powoduje zakomentowanie instrukcji (przestaje ona być brana pod uwagę).

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Działa.

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Zastanawia mnie tylko to, że symulacja pokazuje, że przebieg jest identyczny zarówno na OUT1 jak i na OUT2:

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Co z drugiej strony nie pokrywa się z tym, co pokazuje symulacja kolegi jony.

    U mnie wykresy pokrywają się (nakładają się na siebie). Kolega jakoś pokazał to na dwóch oddzielnych wykresach, w dodatku, w drugim przypadku sygnał wygląda na zanegowany.

    0
  • #8 14 Paź 2017 23:58
    MES Mariusz
    Poziom 36  

    jony napisał:
    A teraz pasuje?


    Tak, teraz jest podobnie, jak w poprzednim poście. Sprawidziłem ze źródłem PULSE, jak i zwykłym 5V, i sytuację zmienia nie tyle typ źródła, co opcja "startup" w komendzie symulacji.

    Sprawdźmy więc znaczenie startup:

    http://ltwiki.org/index.php5?title=Simulation_Command

    Cytat:
    startup: Solve the initial operating point with independent voltage and current sources turned off (but using any constraints specified by a .ic directive). Then start the transient analysis and linearly ramp on these sources during the first 20 us of the simulation.

    0
  • Pomocny post
    #9 15 Paź 2017 09:15
    Marek2006
    Poziom 29  

    A podwójny wykres uzyskuje się nie "jakoś" tylko poprzez wybranie z menu kontekstowego "Add Plot Pane". Wtedy na każdym z paneli można wyświetlić różne sygnały i widzieć ich wzajemne zależności czasowe.
    Na przykład:
    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach
    Mariusz, zakładam, że czytałeś jakiś User Guide dla LTSpice :D . Jest ich bardzo dużo. Chociażby tu: http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice.htm

    0
  • #10 15 Paź 2017 15:36
    MES Mariusz
    Poziom 36  

    Dzięki, zarówno za informację, jak i link do tutoriala.
    Faktycznie działa :-)

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Mam natomiast kolejne pytanie :-)

    Pobrałem i załadowałem zewnętrzną bibliotekę dla układu 4011 zgodnie z manualem:
    http://www.zen22142.zen.co.uk/ltspice/addnewparts.htm

    Biblioteka pobrana stąd:

    http://www.amarketplaceofideas.com/adding-series-4000-cmos-library-to-ltspice.htm

    Jest już u mnie widoczna, jednak przy próbie symulacji dostaję następujący komunikat o błędach:

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    Czy oprócz dodania biblioteki powinienem wykonać jeszcze jakąś czynność, zanim możliwe będą symulacje z jej użyciem?

    0
  • Pomocny post
    #11 15 Paź 2017 16:57
    Marek2006
    Poziom 29  

    A co to znaczy, że "załadowałeś" bibliotekę? W jaki sposób? Na tamtej stronie jest jedno niepozorne zdanie: "Once created remember to add the include statement.". Zrobiłeś to?
    Ogólnie uważam, że dodawanie nowych komponentów do katalogów instalacyjnych LTSpice to zły pomysł. W przypadku reinstalacji lub aktualizacji wszystkie te komponenty mogą zniknąć. Ja trzymam takie komponenty w katalogu danej symulacji (poza katalogiem instalacyjnym LTspice). Wtedy mam nad nimi pełną kontrolę.

    0
  • #13 16 Paź 2017 19:48
    Marek2006
    Poziom 29  

    Wydaje mi się, że Mariusz ma tę bibliotekę natomiast nie umieścił w symulacji klauzuli "include", a jest to kilkakrotnie wspomniane na tej stronie (i pokazane w przykładzie).

    0
  • #14 18 Paź 2017 13:05
    MES Mariusz
    Poziom 36  

    Marek2006 napisał:
    Wydaje mi się, że Mariusz ma tę bibliotekę natomiast nie umieścił w symulacji klauzuli "include", a jest to kilkakrotnie wspomniane na tej stronie (i pokazane w przykładzie).


    Dziękuję panowie, to było to.

    Symulacje Pspice / LTspice - dla początkujących w pytaniach i odpowiedziach

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo