Jste zde

Návrh elektroniky v programu KiCAD (12. poslední díl)

V tomto závěrečném díle si ukážeme přechod z jiných návrhových systémů k open source KiCAD. Současně zveřejňuji knihovny, moduly a 3D tvary součástek, které jsem posbíral z různých zdrojů a z části také vytvořil. Tato kapitola také obsahuje odkazy související s celým seriálem a také samotný seriál v PDF (bez některých nových věcí, které jsem zjistil při psaní tohoto seriálu).

12 Import z jiných návrhových systémů

Pokud užíváme jistý návrhový systém, jsme zvyklí na jejich knihovny. Mnohdy máme rovněž vytvořeny vlastní knihovny, ať už pro schématické značky nebo tvary součástek. Existují různé nástroje pro KiCAD, které nám dovolují úplný, nebo alespoň částečný import knihoven, schématu nebo DPS. Mnoho pomocných programů můžeme najít na [25].

12.1 Program TTConv

Program TTConv [29] slouží pro konverzi z/do programu KiCAD. Umí:

  • Konvertovat bitmapové obrázky do PCB (to zvládne i KiCAD samotný).

  • Importovat DXF (omezeně) do knihovny nebo PCB.

  • Exportovat DXF z PCB

  • Přidávat oblast mědi

  • Sloučit PCB

  • Měnit rozměr PCB

  • Vytvořit vylepšený seznam součástek

  • Importovat OrCAD layout do KiCAD PCB

Převod však není dokonalý a výsledek je mnohdy nutno upravit. Program pro svůj běh vyžaduje přítomnost jazyka Python, Python Image Library (PIL) a knihovny wxPython. Vše musí být stejné verze, například já používám verze 2.7: python-2.7.2.amd64.msi, PIL-1.1.7.win-amd64-py2.7.exe a wxPython2.8-win64-unicode-2.8.12.1-py27.exe. [30]

12.2 Eagle

Pro Eagle je možno si stáhnout ULP skript [22], který převádí schémata a knihovny schématických značek. Knihovny schématických značek však není nutno převádět, jsou ke stažení již převedené v [21]. Soubory PCB verze Eagle 6 používající XML ukládání umí KiCAD NewPcb otevřít přímo. Také lze použít program RSMegl2kicad [33].

12.3 Tango

Pro konverzi slouží program ToKicad.exe pro windows od Renie S. Marquet, napsaný v Delphi. Umí konvertovat schéma i DPS.

12.4 PCAD

Pro konverzi slouží program PcadToKiCAD.exe [34] od autorů Lubo Racko a Alexander Lunev. Konverttuje ASCII knihovny, schémata i DPS.

12.5 PCB123

Pro import slouží program XML4PCB [36].

12.6 EDIF

EDIF není program, ale formát [26]. Mnohé lepší programy umožňují exportovat schéma do tohoto formátu. Pro konverzi slouží edif2kicad [27].

12.7 OrCAD

S programem OrCAD jsem dělal dlouho, a nerad jsem ho opouštěl. Ale protože jsem přecházel pod Linux, a OrCAD rozhodně není zdarma, tak jsem se snažil alespoň převést množství knihoven, co jsem různě postahoval z internetu, vytvořil sám, nebo vytvořili moji studenti v předmětu Technologie elektronických zařízení. Pro konverzi knihoven používám Edif2KiCad [27]. Pro konverzi PCB používám program TTConv, dále doporučuji stáhnout nejnovější verzi programu OrKi [29].

Instalace Edif2kicad je v linuxu jednoduchá. Potřebujeme gcc, automake, glibc-devel a glibc-static, které si nainstalujeme z repozitářů. Pak už jen zkompilujeme příkazem make a vytvořené soubory nativně používáme.

Pro windows doproučuji nainstalovat CYGWIN a vybrat že bude obsahovat GCC, Automake a Bison. Po instalaci spustíme cygwin a zde provedeme make. Vytvoří se EXE soubory, ale ty jednou jenom pod CYGWIN. Takže pokud chceme konvertovat, musíme mít nainstalovyný CYGWIN.

V OrCADu uložíme knihovny do EDIF, a jako konfiguraci zvolíme CAP2EDI. Tím se vytvoří *.edf soubor. Nyní můžeme spustit například e2sch knihovna.edf. Vytvoří se knihovna.lib, kterou můžeme používat v KiCADu. Blbý je, že OrCAD nejede pod linuxem. Dále v KiCADu připojíme knihovnu a opravíme mnohé chyby.

TTConv má daleko méně chyb, ale importuje některé vrstvy do kreseb, do vrstvy ECO1, kde je nutné knihovnu smazat. Pokud chceme importovat DPS, nepotřebujeme ani spouštět OrCAD. Ale pokud chceme importovat knihovnu, čeká nás mnohem více práce. V programu OrCAD vytvoříme DPS, která bude obsahovat všechny prvky z knihovny. Tuto DPS importujeme programem TTConv a vytvoří se BRD soubor. Ten jde otevřít pomocí PcbNew. Obsahuje všechny součástky.

Nejdříve hromadně změníme velikost všech textů v PCB a potom jednotlivé součástky upravíme pomocí editoru knihoven. Většinou stačí smazat kresby a ECO1, umístit popisky. Co je důležité jsou vývody. Ty bývají většinou nastaveny špatně. Proto klikneme na vývod a vybereme správný typ (SMD, nebo Through hole) i když je nastaven správně. KiCAD nyní správně nastaví použití jednotlivých vrstev pro daný vývod. Vývody lze měnit i hromadně (viz. kapitola Další užitečné funkce).

 

13 Literatura a odkazy

 

[1] Manuál KiCADu, http://www.kicad-pcb.org/display/KICAD/KiCad+Documentation

[2] Libre Office, cs.libreoffice.org/

[3] Inkscape, http://inkscape.org/?lang=cs

[4] TS5A1066, Analogový spínač, IC, Texas Instruments, www.ti.com/lit/ds/symlink/ts5a1066.pdf

[5] LCD30, displej z TME, http://www.tme.eu/cz/details/lcd3.0-13/digitalni-lcd-displeje/raystar-optronics/3-digit-lcd/#

[6] Gerbv, prohlížeč gerber souborů s možností exportu do jiných vektorových formátů, http://gerbv.sourceforge.net/

[7] Wings 3D, program pro tvorbu trojrozměrné grafiky, http://www.wings3d.com/

[8] OrCAD Pspice, simulační program pro elektroniku s GUI, http://www.cadence.com/products/orcad/pspice_simulation/pages/default.aspx

[9] LTSpice, simulační program pro elektroniku s GUI, http://www.linear.com/designtools/software/

[10] Gnucap, řádkový simulační program pro elektroniku, http://www.gnu.org/software/gnucap/

[11] Ngspice, řádkový simulační program pro elektroniku, http://ngspice.sourceforge.net/

[12] Qucs, Quite Universal Circuit Simulator, simulační program pro elektroniku s GUI, http://qucs.sourceforge.net/

[13] Oregano, grafická nástavba pro programy Gnucap a Ngspice, http://en.wikipedia.org/wiki/Oregano_%28software%29

[14] Spice modely, http://homepages.which.net/~paul.hills/Circuits/Spice/Spice.html

[15] KJWaves, grafická nástavba simulace pro programy Gnucap a Ngspice, http://sourceforge.net/projects/kjwaves/

[16] gSpiceUI, grafická nástavba simulace pro programy Gnucap a Ngspice, http://sourceforge.net/projects/gspiceui/

[17] Gaw, program pro zobrazení výstupu dat ze simulačního programu, http://www.rvq.fr/linux/gaw.php

[18] Gwave, program pro zobrazení výstupu dat ze simulačního programu, http://gwave.sourceforge.net/

[19] Gnuplot, program pro zobrazení dat, http://www.gnuplot.info/

[20] Knihovny KiCADu, http://www.kicadlib.org/

[21] Knihovny KiCADu zkonvertované z programu Eagle, http://library.oshec.org/

[22] Skripty pro převod schématu z programu Eagle do KiCADu http://www.cadsoft.de/downloads/ulps

[23] Knihovny KiCADu, http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm

[24] Knihovny KiCADu, http://open-project.ch/kicadlib/

[25] KiCAD FAQ, http://www.kicad-pcb.org/display/KICAD/Frequently+Asked+Questions

[26] EDIF, http://en.wikipedia.org/wiki/EDIF

[27] EDIF konvertor do programu KiCAD, http://sourceforge.net/projects/edif2kicad/?source=dlp

[28] Program max2brd pro převod OrCAD layout do programu KiCAD, http://fpgalibre.sourceforge.net/eda.html

[29] TTConv, program pro konverzi souborů pro KiCAD, http://www.mige.altervista.org/index.php?mod=Download/Kicad_Utility

[30] Program Python, Python Image Library a wxPython

http://www.python.org/download/

http://www.pythonware.com/products/pil/

http://wxpython.org/download.php

[31] KiCAD library manager, http://www.xonelectronics.it/download/kicad/

[32] VerLib a VerMod, Lib2Lib, Mod2Mod, nástroje pro práci s knihovnami KiCAD http://www.reniemarquet.cjb.net/ferramentas_en.html

[33] RSMegl2kicad, konverze DPS Eagle do KiCADu, http://www.reniemarquet.cjb.net/ferramentas_en.html

[34] PcadToKiCad, Program pro konverzi PCAD do programu KiCAD, http://sourceforge.net/projects/pcad2kicad/

[35] Vyhledávání knihoven pro KiCAD po internetu, http://per.launay.free.fr/kicad/kicad_php/composant.php

[36] XML4PCB, Import z XML souborů, aktuálně umí jen PCB123, http://sourceforge.net/projects/xml4pcb/

 

14. Otevřený systém - jak přispět

KiCAD je open source, to znamená, že i vy můžete přispívat do tohoto projektu ať už knihovnami, nebo dokonce kódem. Mě nejvíce vadilo, že v CvPCB nebyl možný výběr knihovny. A to až tak moc, že jsem to zkusil doplnit. Protože již delší dobu pracuji v Linuxu, tak budu popisovat práci pod Linuxem.

KiCAD používá pro vývojáře systém bazaar. Proto je nejdříve nutno se zaregistrovat do vývojového týmu (https://launchpad.net/~kicad-developers). Potom musíte mít nainstalovaný bazaar (bzr).

Pomocí bzr si stáhnete vývojovou verzi KiCADu.

bzr branch lp:kicad

Potom tuto verzi zkompilujete, vyhnete se tak pozdějším problémům (například pokud něco bude chybět a je to třeba doinstalovat) a budete mít k dispozici i knihovny (.a) pro případné nalinkování.

mkdir build
cd build
cmake ../ -DKICAD_TESTING_VERSION=ON -DCMAKE_BUILD_TYPE=Debug
make -j 4
 

Pokud vše proběhne v pořádku, můžete spustit KiCAD. Pak je doporučena editace v textovém editoru a další překládání :-(((.

Protože však mám rád vývojové prostředí, ať už z důvodů snadného ladění, přehlednosti apod, použil jsem pro editaci Code::Blocks. Abych nemusel překládat celý KiCAD, vytvořil jsem si projekt pro danou část (v mém případě v adresáři cvpcb). Do tohoto projektu jsem přidal potřebné definice a zahrnul soubory, jejichž závislosti jsem zjistil ze souboru CMakeLists.txt). Někdy je třeba zahrnout statické knihovny, které urychlí překládání. Ty se však nenalézají v kódu KiCADu, ale v adresáři build. Další knihovny co je třeba zahrnout (zjistil jsem až při překadu) jsou například (pro cvpcb):

libGLU.so
libGL.so
libSM
libICE.so
libX11.so
libXext.so
libwx_baseu-2.8.so
libwx_baseu_net-2.8.so
libwx_baseu_xml-2.8.so
libwx_gtk2u_adv-2.8.so
libwx_gtk2u_aui-2.8.so
libwx_gtk2u_core-2.8.so
libwx_gtk2u_gl-2.8.so
libwx_gtk2u_html-2.8.so

Najdeme je v /usr/lib64 nebo /usr/lib adresáři Linuxu. Nenechte se odradit tím že to na poprvé, podruhé, potřetí... nejde. Ono to je intelektuální výzva :-)

A pak už stačí jen naučit se wxWidgets a objektově orientované programování v C++.

Když je program konečně hotový, doporučuji stáhnout nejnovější testing verzi z bazaaru (mě to trvalo 4 měsíce - práce jen o víkendu, než jsem se naučil programovat C++ a wx a dokončil program) a provést změny na této nejnovější verzi. Pak je nutno zaregistrovat přenos přes ssh, vytvoříte si ssh klíč, který pak vložíte do bazaaru. Pak přidáte soubory a vytvoříte

    diff.bzr add .
    bzr status
    bzr diff  > váš_krátký_název.patch

A tento patch pošlete vývojářům. Nebo můžete rovnou poslat celou větev do bazaaru pomocí

    bzr push lp:vaše-jmeno/kicad/jménovětve

A pak nechat komunitě ke schválení.


Přílohy: 
PřílohaVelikost
Soubor library.7z4.95 MB
Soubor modules.7z1.26 MB
Soubor packages3d.7z25.35 MB
Soubor models.7z30.84 KB
PDF icon navrh_elektroniky_v_programu_kicad.pdf4.44 MB
Hodnocení článku: 

Komentáře