Wprowadzenie do elektroniki/Symulacja Spice/Filtr aktywny dolnoprzepustowy


Z Spice na Linux jest kilka problemów, które sprawiają, że proste symulacje mogą sprawić kłopoty. Sporym problemem okazał się dla mnie dopasowanie modelów elementów z symbolami w edytorze graficznym.

Budowanie środowiska

edytuj
sudo apt-get install geda
sudo apt-get install ngspice

Alternatywny symulator.

sudo apt-get install gnucap

Pierwsza symulacja. Aktywny filtr dolnoprzepustowy

edytuj

Symulacja filtru dolnoprzepustowego, który to filtr posłuży do zamiany sygnału prostokątnego PWM na analogowy.

Rysujemy Schemat w programie Geda

edytuj
 

Jak widać na schemacie wykorzystamy wzmacniacz operacyjny LM741. O ile symbol graficzny wzmacniacza jest mniej istotny (wstawiłem dowolny) o tyle model do symulacji jest już istotny. W Googlach szukamy modelu:

https://www.google.pl/search?client=ubuntu&channel=fs&q=lm741+pspice&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=UN9kVNeXEqWI8QfyuIH4CA

Pierwszy link z góry dostarcza nam wymaganego modelu (tu link szczegółowy http://www.ti.com/lit/zip/snom211). W edytorze Geda dodajemy element typu A? Spice Model i wypełniamy pola:

  • Model name:LM741
  • File: /LM741.mod (Jeśli model jest w tym samym katalogu co schemat)

Nie wolno zapomnieć o atrybucie model-name przy symbolu wzmacniacza operacyjnego !!!!


Sygnał prostokątny reprezentowany jest przez element:

 

Źródło VPulse parametryzuje się w następujący sposób.

PULSE ( V1 V2 TD TR TF PW PER )
PULSE ( 0 10 0 0 0 50m 100m )
  • V1 - napięcie niskie (u nas 0)
  • V2 - napięcie impulsu (u nas 10 Voltów)
  • TD - opóźnienie startu impulsów
  • TR - czas narastania
  • TF - czas opadania
  • PW - czas trwania impulsu (u nas 50ms)
  • PER - Okres Czas po którym impuls się powtórzy (u nas 100 ms)

Uwaga!!!!

edytuj

Poniżej fragment (lekko zedytowany aby pokazać mapowanie) pobranego pliku modelu układu LM741. W pliku modelu znajduje się mała pomoc odnośnie wyprowadzeń.

* connections:      non-inverting input
*                   |   inverting input
*                   |   |   positive power supply
*                   |   |   |   negative power supply
*                   |   |   |   |   output
*                   |   |   |   |   |
*                   |   |   |   |   |
.SUBCKT LM741       1   2  99  50  28
*[...]              |   |   |   |   | 
*               XU5 2  out Vcc -Vcc out LM741  *tak będzie zmapowany układ z modelem - dwie ostatnie linijki nie znajdują się w modelu 

Inaczej. Pobrany plik modelu zawiera pewien opis wyprowadzeń a w wygenerowanej netliście (rozdział niżej) znajduje się taka linijka

XU5 2 out Vcc -Vcc out LM741

Układ U5 zostaje zmapowany następująco

  • Wejście nieodwracające modelu - do etykiety oznaczonej nr 2 w liście połączeń
  • Wejście odwracające do etykiety out
  • + zasilania modelu do Vcc na schemacie
  • - zasilania modelu do -Vcc na schemacie
  • wyjście modelu do etykiety "out" na schemacie

Zawsze to mapowanie lepiej sprawdzić przed symulacją bo będzie boleć

Aby przystosować schemat do symulacji konieczne są jeszcze dwa kroki.

  1. Musimy jeden punkt (najczęściej masę układu) opatrzyć etykietą. Na linii połączeń klikamy ppm i wybieramy: dodaj_atrybut->netname ustawiamy wartość 0
  2. Punkt obserwacji musimy opatrzyć dowolną etykietą (PPM->Dodaj_atrybut->netname ustawiamy na "out").

Generowanie Net-listy

edytuj
gnetlist -g spice-sdb -o spice.net fdp.sch

gdzie fdp.sch to plik schematu a spice.net to plik wynikowy polecenia.

następnym krokiem jest uruchomienie symulatora

ngspice

w powłoce ngspice wczytujemy netlistę

ngspice 1 -> source spice.net

wykonanie symulacji w dziedzinie czasu

ngspice 2 -> tran 1us 3s

Symulacja będzie wykonywana z krokiem mikro sekundy, a czas symulacji wyniesie 3 sekundy. Po wykonaniu symulacji rysujemy wykres

ngspice 3 -> plot out

out to punkt dla którego rysujemy wykres.

 
Wynik symulacji


Podsumowanie symulacji

edytuj

Ponieważ na wejściu filtra jest sygnał prostokątny o amplitudzie 10 [V] i wypełnieniu 50% Napięcie na wyjściu filtra ustabilizuje się na poziomie 5V po czasie około 1,6 [s] Cały projekt do pobrania http://chomikuj.pl/mysiadziura/www.marekk.dreamhosters.com/filt+dolnoprzepustowy,4367917128.zip(archive)