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 [2019/02/24 09:22] – [Generování seznamu součástek - BOM] jachocs:tools [2019/04/12 13:22] – [Styl psaní kódu (coding style)] kaklik
Řádek 38: Řádek 38:
  
 === Instalace Windows === === Instalace Windows ===
-Nyní je již instalace KiCAD jednoduší. Stačí si stáhnout pro Windows typický exe soubor a nainstalovat.+Nyní je již instalace KiCAD jednoduší. Stačí si stáhnout pro Windows typický exe soubor a nainstalovat (používáme verzi Nightly Development Builds).
  
 http://kicad-pcb.org/download/windows/ http://kicad-pcb.org/download/windows/
Řá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]]. 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. +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
 + 
 +Pokud nějaká součástka není ani v jedné knihovně a vznikne potřeba vytvořit vlastní novou. Je potřeba danou součástku zařadit do knihovny MLAB, aby jí bylo možné snadno použít i v dalších modulech. Nedávat jí jen do knihovny projektu, nebo do nějaké vlastní knihovny, ke které není přístup již vůbec.
  
 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ý. 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ý.
Řádek 91: Řádek 93:
      
  
 +Při kreslení modulu osob s přístupem do UST skladu, je potřeba při kreslení schéma vkládat rovnou UST_ID k daným součástkám. A pokud daná součástka ještě neexistuje, je potřeba jí rovnou vytvořit. Značně to usnadňuje následnou výrobu a jednoznačně definuje osazení.
  
 === Návrhová pravidla === === Návrhová pravidla ===
Řádek 390: Řádek 392:
 </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 
  
      
-=== Použití editoru SublimeText === +[[cs:openscad|Podrobnější popis použití nástroje OpenSCAD]].
- +
-Editor integrovaný přímo do OpenSCADu není moc pohodlný pro užívání. Je proto vhodnější zdrojové kódy modelů editovat v editoru [[https://www.sublimetext.com/|SublimeText 3]].  K tomu je ale vhodné si do editoru nainstalovat plugin, který zná jazyk OpenSCADdu.  +
- +
-Instalaci lze provést přes systém balíčků, který můžeme aktivovat volbou //Tools -> Install Package Control..//.  +
- +
-{{:cs:sw:sublimetext3_package_control_install.png?400|}} +
- +
-Otevřeme nástroj pro zacházení s balíčky volbou //Preferences -> Package Control//+
- +
-{{:cs:sw:sublimetext3_package_control.png?400|}} +
- +
-V nabídce zvolíme "Install Package" +
- +
-{{:cs:sw:sublimetext3_install_package.png?400|}} +
- +
-Do filtračního pole napíšeme "openscad". A klikneme na odpovídající balíček. +
- +
-{{:cs:sw:sublimetext3_install_openscad.png?400|}} +
- +
-Nyní je potřeba SublimeText zavřít a znovu otevřít, aby se nová konfigurace projevila. +
-Potom je možné nastavit, aby všechny soubory s příponou //.scad// byly otevřeny s OpenSCAD zvýrazňováním syntaxe. To lze nastavit přes volbu v pravém dolním rohu a výběrem //Open all with current extension as.. -> OpenScad// +
- +
-{{:cs:sw:sublimetext3_select_openscad.png?400|}} +
- +
-Při následujícím otevření .scad souboru bude automaticky rozpoznán jako OpenSCAD zdrojový kód. +
 ===== Generování a prohlížení výrobních dat ===== ===== Generování a prohlížení výrobních dat =====
  
Řádek 438: Řádek 407:
 === 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 459: Řádek 429:
 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 ''main.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 ==
  
cs/tools.txt · Poslední úprava: 2023/02/06 21:52 autor: kaklik