Simulácia KiCAD 5 a Spice: Rozdiel medzi revíziami
Zo stránky SensorWiki
Vytvorená stránka „'''PSPICE - simulácia obvodov.''' V tomto materiáli sa stručne oboznámite so základnými príkazmi simulačného programu SPICE (<span>'''S'''</span>imulation <spa…“ |
Bez shrnutí editace |
||
(4 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.) | |||
Riadok 1: | Riadok 1: | ||
Príklady pre KiCAD8 (2024) - aj digitálna simulácia(!): | |||
* https://forum.kicad.info/t/simulation-examples-for-kicad-eeschema-ngspice/34443 | |||
* https://forum.kicad.info/t/more-simulation-examples-for-kicad-eeschema-ngspice/45546 | |||
* https://ngspice.sourceforge.io/ngspice-eeschema.html | |||
* https://www.youtube.com/@holger8105 | |||
'''PSPICE - simulácia obvodov.''' | '''PSPICE - simulácia obvodov.''' | ||
Riadok 6: | Riadok 13: | ||
Až na výnimky však budeme používať priamo KiCAD a jeho zabudovaný simulátor. | 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 | |||
== <span>Úloha č.1.</span> Lineárny obvod == | == <span>Úloha č.1.</span> Lineárny obvod == | ||
Riadok 39: | Riadok 48: | ||
''Úloha:'' Určte veľkosti napätí v obvode podľa obrázku. | ''Úloha:'' Určte veľkosti napätí v obvode podľa obrázku. | ||
== <span>Príklad č.2:</span> 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: | 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: | ||
<source lang="lisp"> | <source lang="lisp"> | ||
Riadok 60: | Riadok 63: | ||
.model KZZ74 D (Is=0.1uA N=1 Rs=12 Bv=9.7 Ibv=5mA) | .model KZZ74 D (Is=0.1uA N=1 Rs=12 Bv=9.7 Ibv=5mA) | ||
</source> | </source> | ||
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 | 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 | ||
Riadok 101: | Riadok 76: | ||
Vin 1 0 sin (18 2 50) | Vin 1 0 sin (18 2 50) | ||
R0 1 2 500 | R0 1 2 500 | ||
Rz 2 0 2k | |||
D1 0 2 KZZ74 ;v zavernom smere! | D1 0 2 KZZ74 ;v zavernom smere! | ||
.model KZZ74 D (Is=0.1uA N=1 Rs=12 Bv=9.7 Ibv=5mA)</pre> | .model KZZ74 D (Is=0.1uA N=1 Rs=12 Bv=9.7 Ibv=5mA)</pre> | ||
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 <span>.TRAN</span> (transient - prechodová) a zavoláme grafický postprocesor: | Zaujíma nás časový priebeh výstupného napätia, preto zadáme typ analýzy <span>.TRAN</span> (transient - prechodová) a zavoláme grafický postprocesor: | ||
<pre> .tran 1ms 0.1s ;od 0 po 0.1s po 1ms | <pre> .tran 1ms 0.1s ;od 0 po 0.1s po 1ms | ||
.end</pre> | .end</pre> | ||
<span>''Úloha:''</span> 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ží). | <span>''Úloha:''</span> 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ží). | ||
== <span>Príklad č.4:</span> Operačný zosilňovač. == | == <span>Príklad č.4:</span> Operačný zosilňovač. == | ||
Riadok 152: | Riadok 131: | ||
* http://stffrdhrn.github.io/electronics/2015/04/28/simulating_kicad_schematics_in_spice.html | * http://stffrdhrn.github.io/electronics/2015/04/28/simulating_kicad_schematics_in_spice.html | ||
* https://github.com/stffrdhrn/kicad-spice-demo | * https://github.com/stffrdhrn/kicad-spice-demo | ||
Nove linky 2023: | |||
* https://blog.mbedded.ninja/electronics/general/kicad/kicad-tips-and-tricks/#_windows (vela dobrych info!) | |||
* https://www.woolseyworkshop.com/2019/07/01/performing-a-circuit-simulation-in-kicad/ | |||
* https://ngspice.sourceforge.io/ngspice-eeschema.html#BipAmp | |||
* https://forum.kicad.info/t/simulation-examples-for-kicad-eeschema-ngspice/34443/43 |
Aktuálna revízia z 10:29, 8. marec 2024
Príklady pre KiCAD8 (2024) - aj digitálna simulácia(!):
- https://forum.kicad.info/t/simulation-examples-for-kicad-eeschema-ngspice/34443
- https://forum.kicad.info/t/more-simulation-examples-for-kicad-eeschema-ngspice/45546
- https://ngspice.sourceforge.io/ngspice-eeschema.html
- https://www.youtube.com/@holger8105
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
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
Kolísanie napätia na vstupe nasimulujeme pomocou zdroja harmonického napätia s offsetom: t.j. 182V 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.
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:
- http://mithatkonar.com/wiki/doku.php/kicad/kicad_spice_quick_guide
- http://stffrdhrn.github.io/electronics/2015/04/28/simulating_kicad_schematics_in_spice.html
- https://github.com/stffrdhrn/kicad-spice-demo
Nove linky 2023:
- https://blog.mbedded.ninja/electronics/general/kicad/kicad-tips-and-tricks/#_windows (vela dobrych info!)
- https://www.woolseyworkshop.com/2019/07/01/performing-a-circuit-simulation-in-kicad/
- https://ngspice.sourceforge.io/ngspice-eeschema.html#BipAmp
- https://forum.kicad.info/t/simulation-examples-for-kicad-eeschema-ngspice/34443/43