Uživatelské nástroje

Nástroje pro tento web


cs:tools

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
cs:tools [2018/07/06 15:19] – [Vrstvy] jachocs:tools [2019/03/26 18:00] – [Skládání gerber dat] povik
Řádek 50: Řádek 50:
   * [[https://github.com/MLAB-project/kicad-library|Knihovny se součástkami specifickými pro MLAB]], které obsahují i skript pro stažení knihoven z Githubu a offline práci v KiCADu.   * [[https://github.com/MLAB-project/kicad-library|Knihovny se součástkami specifickými pro MLAB]], které obsahují i skript pro stažení knihoven z Githubu a offline práci v KiCADu.
  
-Je dobré při návrhu modulů využít co nejvíce prvků z knihoven MLAB, které jsou dostupné na [[https://github.com/MLAB-project/kicad-mlab|GitHubu]] +Je dobré při návrhu modulů využít co nejvíce prvků z knihoven MLAB, které jsou dostupné na [[https://github.com/MLAB-project/kicad-mlab|GitHubu]]. Důvod k tomu je ten, že MLAB knihovny obsahují technologicky optimalizované varianty obecných pouzder, což je důležité zejména pro osazování a automatickou tvorbu dokumentace.  
 + 
 +Knihovny se do KiCADu přidávají zvlášť při kreslení schéma a zvlášť při návrhu PCB v obou případech je postup velmi obdobný. 
 + 
 +  * Preferences -> Manage Symbol Libraries -> "Global Libraries" - Browse Libraries -> Open Library 
 + 
 + 
 +=== Schéma - pojmenování součástek === 
 +Při kreslení schéma je potřeba dodržet určitou konvenci, aby byla výsledná výroba a automatické generování dalších dokumentů bez problémů. 
 + 
 +Při prvním spuštění Kicad Eeschema je potřeba přidal tyto pole popisující součástky: 
 +   MFPN 
 +   Distributor 
 +   Link 
 +   Note 
 +   UST_ID 
 + 
 +V případě, že schéma obsahuje varianty osazovaných komponent, tak se k identifikaci pole přidá ještě pořadové číslo, napřiklad "MFPN_1","MFPN_2" a podobně.  Komponenty se stejným pořadovým číslem odpovídají jedné osazované variantě. Komponenty, které nemají pořadové číslo jsou společné pro všechny varianty osazení.  
 + 
 +Při použití následujícího postupu není potřeba pole vytvářet ručně u každé součástky znovu: 
 + 
 +V menu ''Preferences >> General options >> Field Name Templates'' 
 +{{ :cs:sw:sch_1.jpg?400 |}} 
 +{{ :cs:sw:sch_2.jpg?400 |}}   
 + 
 +Při otevření parametrů součástky vypadá tabulka následnovně: 
 +{{ :cs:sw:sch_3.jpg?400 |}}  
 + 
 + 
 + 
 +Příklad vyplnění parametrů součástky: 
 + 
 +   Reference: C1 
 +   Value: 10nF 
 +   MFPN: 1812CA103JAT2A (přesný typ součástky, pro osazování) 
 +   Distributor: Mouser 581-1812CA103JAT2A 
 +   L{{ :cs:sw:sch_2.jpg?400 |}}ink: https://cz.mouser.com/ProductDetail/AVX/1812CA103JAT2A?qs=sGAEpiMZZMsh%252b1woXyUXjzY5digEXfcQu%252bp00y9d0Fc%3d 
 +   Note: přesnost 20%, C0G 
 +   UST_ID: pokud je přístup do UST skladu  
 +   
 + 
  
 === Návrhová pravidla === === Návrhová pravidla ===
Řádek 64: Řádek 105:
  
 == Dvojvrstvý plošný spoj == == Dvojvrstvý plošný spoj ==
 +
    ***F.CU** - horní vrstva mědi (většinou vrstva GND)    ***F.CU** - horní vrstva mědi (většinou vrstva GND)
    ***B.CU** - spodní vrstva (**výhradně umisťovat SMD součástky**)    ***B.CU** - spodní vrstva (**výhradně umisťovat SMD součástky**)
    ***F.SilkS** - vrstva horního potisku (tato vrstva se nechává vyrábět)    ***F.SilkS** - vrstva horního potisku (tato vrstva se nechává vyrábět)
-   ***B.Silks** - vrstva spodního potisku (slouží pro osazovací předpis)+   ***B.Silks** - vrstva spodního potisku (vrstva se standardně nevyrábí)
    ***Edge.Cuts** - obrys výsledného PCB    ***Edge.Cuts** - obrys výsledného PCB
-   ***F.Fab - potisk pro osazování strana součástek +   ***F.Fab** - potisk pro osazování strana součástek 
-   ***B.Fab - potisk pro osazování strana spojů +   ***B.Fab** - potisk pro osazování strana spojů 
-   +  
- +Toto uspořádání vrstev vychází z [[https://github.com/KiCad/kicad-doc/blob/master/src/pcbnew/pcbnew_layers.adoc|dokumentace vrstev KiCADu]]
  
  
Řádek 93: Řádek 134:
 Generování souborů BOM není ve formátu .CSV pod WIN přímo možné. Vyřešit tento problém je možné podle následujícího postupu. Generování souborů BOM není ve formátu .CSV pod WIN přímo možné. Vyřešit tento problém je možné podle následujícího postupu.
  
-  - Nejprve je potřeba stáhnout [[http://sourceforge.net/projects/saxon/files/Saxon-HE/9.5/|Saxon]] a následně ho nainstalovat.+  - Nejprve je potřeba stáhnout [[https://github.com/MLAB-project/kicad-mlab/blob/master/plugins/bom_ust.py|bom_ust.py]]. 
 +  - Je potřeba bom_ust.py uložit do místa instalace kicad. {{ :cs:sw:kicad_ust_bom.jpg?600 |}}
   - V KiCAD eeschema otevřít v nabídce "Tools > Generate Bill Of Materials"   - V KiCAD eeschema otevřít v nabídce "Tools > Generate Bill Of Materials"
-  - Zmáčknout "Add Plugin"+  - Zmáčknout "+"
   - Pojmenovat si ho podle sebe   - Pojmenovat si ho podle sebe
-  - Do command line zapsat následující cesty: "C:\Saxonica\SaxonHE9.5N\bin\Transform.exe" -t "%I" -xsl:"C:\kicad\src\kicad\eeschema\plugins\bom2csv.xsl" -o:"%O.csv" +  - Vybrat cestu do uloženého místa
-  - V prvé části musí být cesta k nainstalovanému programu Saxon a druhé cestu k souboru bom2csv.xsl (nachází se ve složce, kde je nainstalován KiCAD) +  - Poté stačí dy dát jen Generate 
 +  
  
-[[https://forum.kicad.info/t/bom-generation-in-new-kicad-windows/228|Zdroj]] 
  
 === Generování výrobních dat=== === Generování výrobních dat===
Řádek 347: Řádek 389:
 Pro zobrazení náhledů vygenerovaných STL souborů v prohlížeči Nautilus můžete využít nástroj [[https://github.com/MLAB-project/stl-thumbnailer|stl-thumbnailer]]. Pro zobrazení náhledů vygenerovaných STL souborů v prohlížeči Nautilus můžete využít nástroj [[https://github.com/MLAB-project/stl-thumbnailer|stl-thumbnailer]].
 </WRAP> </WRAP>
 +
 +=== Styl psaní kódu (coding style) ===
 +
 +Je praktické dodržovat některá základní pravidla při vytváření modelů v openscadu.
 +
 +  * Názvy proměnných vytvářet v mezinárodním jazyce (angličtina a globálně známé výrazy a zkratky) 
 +  * Příliš nezkracovat názvy proměnných
 +  * Proměnné a operátory oddělovat mezerami
 +  * Používat odsazení o 4 mezery (tabulátor) ve vnořeném bloku kódu
  
      
Řádek 387: Řádek 438:
 === Skládání gerber dat === === Skládání gerber dat ===
  
-Pro skládáni dat lze využít program gerbmerge. Který se na internetu vyskytuje v několika různých větvích vývoje. Pro použití s programem kicad je vvýhodné použít relativně novou vývojovou větev [[http://www.dent.med.uni-muenchen.de/~kkunzelm/htdocs/6_software-tools-panelize_metric-kicad-files.html| prof.+Pro skládáni dat lze využít program gerbmerge. Který se na internetu vyskytuje v několika různých větvích vývoje. 
 +Pro použití s programem kicad je výhodné použít relativně novou vývojovou větev [[http://www.dent.med.uni-muenchen.de/~kkunzelm/htdocs/6_software-tools-panelize_metric-kicad-files.html| prof.
  Karl-heinz Kunzelmann]].  Ta vychází z prvotní verze 1.8. a dalších úprav. Poměrně významně se však liší od verze [[https://github.com/MLAB-project/gerbmerge3|gerbmerge3]], která ale má čistější zdrojový kód.    Karl-heinz Kunzelmann]].  Ta vychází z prvotní verze 1.8. a dalších úprav. Poměrně významně se však liší od verze [[https://github.com/MLAB-project/gerbmerge3|gerbmerge3]], která ale má čistější zdrojový kód.  
  
Řádek 408: Řádek 460:
 Nejprve je potřeba se dostat do místa, kde jsou data setu:  Nejprve je potřeba se dostat do místa, kde jsou data setu: 
   MLAB@MLAB:~/MLAB-project/gerbmerge/MLAB_panel/SET10A$   MLAB@MLAB:~/MLAB-project/gerbmerge/MLAB_panel/SET10A$
-Nastavení skládání setu je v souboru layout.cfg a v soboru placement.merge.txt je uloženo požadované rozložení v setu. Soubor s rozložením setu se vygeneruje atomaticky při prvním spuštění programu gerbmerge.+Nastavení skládání setu je v souboru [[http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/layoutfile.html|layout.cfg]] a v soboru placement.merge.txt je uloženo požadované rozložení v setu. Soubor s rozložením setu se vygeneruje atomaticky při prvním spuštění programu gerbmerge.
 Vygenerování takto připravených dat se provede následujícím příkazem: Vygenerování takto připravených dat se provede následujícím příkazem:
   ../../src/gerbmerge/gerbmerge.py --place-file=placement.merge.txt layout.cfg   ../../src/gerbmerge/gerbmerge.py --place-file=placement.merge.txt layout.cfg
 +
 +=== Upravená verze programu gerbmerge pro MLAB ===
 +
 +V MLAB repozitáři [[https://github.com/MLAB-project/gerbmerge|gerbmerge]] existuje větev ust-patches, ve které se testují úpravy gerbmerge pro potřeby MLABu. Vychází z větve prof. Kunzelmanna.
 +
 +První změnou je přidání podpory pro vícero vrtacích vrstev. To je motivováno potřebou oddělit prokovené a neprokovené díry. Druhá změna pak umožňuje rozdělit konfiguraci do více souborů. To by mělo umožnit vyčlenit opakující se kusy konfigurace do sdílených souborů, na které se pak odkáže u konkrétní panelizační úlohy.
 +
 +Pro ilustraci se podívejme na panelizaci [[https://github.com/MLAB-project/gerbmerge/tree/ust-patches/MLAB_panel/02_PRO/2V/PRO201B|PRO201B]]. U ní se definice vrstev pro skládané MLAB moduly nachází v ''mlab_layers.cfg'':
 +
 +  [IncludeSection]
      
 +  *TopLayer=%(prefix)s-F.Cu.gbr
 +  *BottomLayer=%(prefix)s-B.Cu.gbr
 +  *TopSilkscreen=%(prefix)s-F.SilkS.gbr
 +  *TopSoldermask=%(prefix)s-F.Mask.gbr
 +  *BottomSoldermask=%(prefix)s-B.Mask.gbr
 +  Drills=%(prefix)s-PTH.drl
 +  DrillsNPTH=%(prefix)s-NPTH.drl
 +  BoardOutline=%(prefix)s-Edge.Cuts.gbr
 +
 +Za povšimnutí stojí definice dvou vrtacích vrstev ''Drills='' a ''DrillsNPTH=''. I v upravené verzi gerbmerge musí vždy existovat vrstva ''Drills''. Lze k ní však přidat další, která se jmenuje ''Drills'' a něco. Sekce ''[IncludeSection]'' v souboru značí, že se definice pod touto sekcí vloží do sekce, ze které bylo na tento soubor odkázáno. V ''mlab.cfg'', hlavním souboru s konfigurací, stojí:
 +
 +  [EEPROM02A]
 +  
 +  Prefix=%(projdir)s/../PRO201A/EEPROM02A/EEPROM02A
 +  Include = mlab_layers.cfg
 +  
 +  [HBSTEP01B]
 +  
 +  Prefix=%(projdir)s/../PRO201A/HBSTEP01B/HBSTEP01B
 +  Include = mlab_layers.cfg
 +  
 +  ... a podobně
 +
 +To znamená, že výše ukázaný ''mlab_layers.cfg'' se vloží pod sekci ''[EEPROM02A]'' a ''[HBSTEP01B]''. V obou se použijí stejné definice vrstev, jen se v nich za ''%(prefix)s'' doplní jiné prefixy cest. Zdrojové data jsou tu vzata ze sousedního projektu PRO201A. PRO201A a PRO201B jsou totiž podobné panelizace, jen PRO201B používá vlastnosti upraveného gerbmerge.
 +
 +Vedle ''mlab_layers.cfg'' se do ''main.cfg'' vloží ještě ''common.cfg'' a ''output_layers.cfg''. V tomto případě nezáleží na tom, z jaké sekce ''main.cfg'' bylo vložení vyvoláno, protože ve vkládaných souborech se nepoužívá sekce ''[IncludeSection]''. Obsah se vloží tak, jak je, tedy pod původní sekcí, pod kterou je zapsán v ''common.cfg'' a ''output_layers.cfg''.
 +
 +Na závěr si prohlídněme, jak je v PRO201B pro gerbmerge zadáno rozvržení skládaných modulů. gerbmerge nebude rozvržení hledat automaticky, místo toho vypočítá rozvržení ze zadání v [[https://github.com/MLAB-project/gerbmerge/blob/ust-patches/MLAB_panel/02_PRO/2V/PRO201B/layout.txt|layout.txt]]. Formát tohoto souboru je popsán [[http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/layoutfile.html|v dokumentaci gerbmerge]].
 +
 +Skládání se pro PRO201B vyvolá např. takto:
 +
 +  $ cd MLAB_panel/02_PRO/2V/PRO201B
 +  $ python ../../../../src/gerbmerge/gerbmerge.py main.cfg layout.txt 
 +
 +Kde jsme prvně předali název hlavního konfiguračního souboru a poté souboru s rozvržením.
 +
 == GerberTools == == GerberTools ==
  
Řádek 531: Řádek 629:
   git add název_souboru    git add název_souboru 
      
-Prostředním tlačítkem myši lze zkopírovat celou cestu z výpisu íkazu status.+Po označení celé cesty z výpisu příkazů lze cestu vložit pomocí kliknutí na prostřední tlačítko myši
 +Pro idání všech změn lze použít ```git add .```.
                
 == Vytvoření commitu == == Vytvoření commitu ==
Řádek 549: Řádek 648:
 Ve výpisu by neměly být žádné položky, které jsme chtěli nahrát.      Ve výpisu by neměly být žádné položky, které jsme chtěli nahrát.     
              
-     +  
 +== Změna velikosti lokálního repozitáře == 
 + 
 +Git si ve výchozím nastavení stahuje celý repozitář včetně veškeré historie úprav. Toto lze zamezit při stahování repozitáře pomocí parametru ```--depth=<pocet stazenych commitu>``` 
 + 
 +  git clone <adresa_repozitare> --depth=1 
 + 
 +Pokuď toto chcete aplikovat na existující kopii repozitáře, lze to provést následujícím postupem. 
 + 
 +  git fetch --depth 2 
 +  git reflog expire --expire=all --all 
 +  git gc --prune=all 
  
  
cs/tools.txt · Poslední úprava: 2023/02/06 21:52 autor: kaklik