Operácie

Simulácia KiCAD 5 a Spice

Z SensorWiki

PSPICE - simulácia obvodov.

V tomto materiáli sa stručne oboznámite so základnými príkazmi simulačného programu SPICE (Simulation Program with Integrated Circuits Emphasis). Tento program je jedným z najrozšírenejších na svete a má za sebou pomerne dlhú históriu. Vznikol r.1975 (!) na University of California v Berkeley. Umožňuje simulovať obvody v ustálenom stave (metódou uzlových napätí), prechodovú analýzu, frekvenčnú analýzu, citlivostnú analýzu (aj teplotnú) a mnoho ďalších. Samotný program je ovládaný príkazovo, užívateľské rozhranie je veľmi strohé, vidno, že pôvod programu je v UNIXe. Dnes však existuje veľa nastavbových programov - posledným z nich je kompletný vývojový balík bežiaci pod W95 obsahujúci schematický editor, systém na návrh plošných spojov, na návrh programovateľných (PLD) obvodov a samozrejme aj simuláciu.

Budeme používať program ngSpice, ktorý je zadarmo dostupný a integrovaný od verzie 5 v programe KiCAD. Samostatne si ho však treba nainštalovať tiež, pretože niektoré analýzy sa nedajú spúšťať priamo. Program si môžete nainštalovať odtiaľto: http://sourceforge.net/projects/ngspice/files/ng-spice-rework/30/ngspice-30_64.zip

Až na výnimky však budeme používať priamo KiCAD a jeho zabudovaný simulátor.

Podrobnejší návod je tu: http://ngspice.sourceforge.net/ngspice-eeschema.html

Úloha č.1. Lineárny obvod

Spice01.png

Na prvom riadku je vždy názov simulovaného obvodu:

 Simulacia linearneho obvodu - Jozko Mrkvicka

Potom nasledujú jednotlivé prvky, začneme odpormi:

 R1 1 2 1k  ;za bodkociarkou moze byt komentar
 R2 2 0 4k7

Prvé je označenie prvku, potom prvý uzol a druhý uzol a napokon hodnota. Označenie i uzly môžu byť ľubovolné, ale aspoň jeden z uzlov sa musí volať 0. Potom vložíme napäťový zdroj:

 Vin 1 0 10V ;kladný pól 1, záporný 0, veľkosť 10V

A napokon vložime riadiace príkazy (začínajú bodkou):

 .OP
 .END

To znamená, že chceme len vypočítať veľkosti napätí v obvode (.OP - operating point) a skončiť (.END)

Súbor uložíme napr. pod názvom priklad1.cir a spustíme program Spice s parametrom:

ngspice_con.exe < priklad1.cir > priklad1.out

Ak je všetko v poriadku, vytvorí sa súbor priklad1.out, v ktorom sú výsledky simulácie.

Úloha: Určte veľkosti napätí v obvode podľa obrázku.



Príklad č.2: Stabilizátor so Zenerovou diódou.

Použijeme zapojenie podľa obrázku, parametre podľa vašej domácej úlohy. Ak budeme schému kresliť v programe KiCAD tak ako zdroj môžeme použiť ľubovoľnú schematickú značku, podstatné je označenie a hodnota, z ktorej si simulátor vezme potrebné parametre. Obrázok samotný pre simuláciu nie je podstatný. V našom prípade sme použili značku voltmetra.

Diódu zadáme podobne ako ostatné prvky, ale pretože je to nelineárny prvok, musíme zadať aj jej správanie a parametre. Tie udáva príslušný model. Niektorí výrobcovia poskytujú konštruktérom modely konkrétnych typov súčiastok, takže program nemusí pracovať len s ideálnymi prvkami. V našom prípade:

 D1 1 0 KZZ74
 .model KZZ74 D (Is=0.1uA N=1 Rs=12 Bv=9.7 Ibv=5mA)

Pozor, dióda môže mať v KiCADe prehodené poradie vývodov a potom na výstupe uvidíte len napätie 0,7 V (t.j. dióda v priepustnom smere). V takom prípade treba buď prekresliť symbol, alebo súčiastke priradiť nové (User Field) pole s názvom [Spice_Node_Sequence] and define sequence: 2,1,0

SpiceSim04.png

Kolísanie napätia na vstupe nasimulujeme pomocou zdroja harmonického napätia s offsetom: U_{in} =  18 + 2 \cdot sin (2 \pi 50 ) \qquad  [V] t.j. 18\pm2V s frekvenciou 50Hz.


    Stabilizator so zenerovou diodou - Jozko Mrkvicka
    Vin 1 0 sin (18 2 50)
    R0  1 2 500
    Rz  2 0 2k
    D1  0 2 KZZ74               ;v zavernom smere!
    .model KZZ74 D (Is=0.1uA N=1 Rs=12 Bv=9.7 Ibv=5mA)

Záťaž predstavuje rezistor Rz s hodnotou, ktorá sa mení od 1k až po 10k. Ako prvý odhad zadáme 2k a potom budeme používať nástroj Tune v KiCADe.


Zaujíma nás časový priebeh výstupného napätia, preto zadáme typ analýzy .TRAN (transient - prechodová) a zavoláme grafický postprocesor:

    .tran 1ms 0.1s                ;od 0 po 0.1s po 1ms
    .end

Úloha: Aké je maximálne zvlnenie výstupného napätia (v %) pre najhorší možný prípad? (t.j. max povolený rozptyl vstupného napätia a najhorší prípad zo simulovaných záťaží).



Príklad č.4: Operačný zosilňovač.

Použijeme zapojenie a parametre podľa obrázku.

SpiceSim07.png

Medzi príkazmi pre simulátor je viacero analýz súčasne, preto treba niektorú z nich zakomentovať napr. znakom *

Aby vám to fungovalo, musíte si vytvoriť vlastnú značku pre operačný zosilňvač, takú, ktorá bude korešpondovať s poradím vývodov v modeli. Model operačného zosilňovača nájdete na stránkach výrobcu, alebo si ho stiahnete dočasne tu Médiá:TL074.mod

Literatúra:

Návod pre začiatočníkov aj s príkladmi nájdete napr. na počítači University of Pennsylvania na adrese
http://www.seas.upenn.edu/ jan/spice/spice.overview.html
Alebo na http://www.coe.uncc.edu/project_posaic/mosaic_help/ecad/pspice

Samotný program si môžete nahrať na ftp://ftp.microsim.com/
alebo http://www.microsim.com/

Existujú aj tlačené učebnice, tie si ale treba kúpiť:

P.Tuinenga: SPICE. A Guide to Circuit Simulation and Analysis Using PSpice, 3rd Ed., Prentice Hall, Upper Saddle River, NJ, 1995

F.Monssen: MicroSim PSpice with Circuit Analysis, 2nd Ed., Prentice Hall, Upper Saddle River, NJ, 1998


Az potialto to bol text z cviceni ES, dalej nove odkazy:

Spice a KiCAD: