This is an old revision of the document!
This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)
This site deals with software tools necessary for MLAB kit development and design, for information about technical equipment see manuals.
MLAB design and development is not restricted to one specific set of tools because different users have different demands of and approaches towards different types of sotware.
Tools for PCB design and schematics drawing, eventually also for simulation of connection. At the present time, we prefer KiCAD software, other tools are mentioned because they are still used to create some designs.
KiCad software suite is one of only three OpenSource tools for electronic design automation (EDA) of electronic circuits.
There are two options for KiCAD installation in linux - usually it is advised to use the PPA.
PPA is a system of remote access to an already prepared software packages. They usually contain a more actual version than the packages available from the standard system repositories.
In order to download and install the most stable KiCAD version, enter following commands into a terminal:
sudo add-apt-repository --yes ppa:js-reynaud/ppa-kicad sudo apt-get update sudo apt-get install kicad
In its default setting, Ubuntu has disabled contextual icons - therefore the installed KiCAD does not contain any menu icons simplifying the design process. The problem can be solved by typing a following commands:
gsettings set org.gnome.desktop.interface menus-have-icons true gsettings set org.gnome.desktop.interface buttons-have-icons true UBUNTU_MENUPROXY= kicad # or pcbnew, eeschema and etc.
The KiCAD installation is nowadays much simpler - it is only necessary to download an exe file and install it.
It is convenient to use as many parts of MLAB libraries (available at GitHubu) as possible when designing modules. MLAB libraries contain technologically optimised variants of general encasements, which is important especially during fitting and automatic generation of documentation.
Libraries are added to KiCAD separately during schematics drawing and separately during PCB designing - the procedure is very similar in both cases.
During schematics drawing, it is necessary to stick to some convention so that the production and automatic generation of further documentation may occur without problems.
At the first start of Kicad Eeschema, you have to add the following fields describing components:
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
Při otevření parametrů součástky vypadá tabulka následnovně:
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
Před začátkem návrhu plošného spoje je potřeba nastavit návrhová pravidla. Pokud nejsou použity obvody s malou roztečí pinů je dobré dodržet následující parametry.
Nastavení vrstev se liší podle celkového počtu vrstev plošného spoje.
Toto uspořádání vrstev vychází z dokumentace vrstev KiCADu
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.
Při návrhu je dobré nepodlézat parametry v následující tabulce:
Před počátkem generování výrobních dat je potřeba provést kontrolu DRC. Doporučené parametry:
Jde o komerční software, ve kterém je navržena většina současných modulů MLAB. Do budoucna se však předpokládá jeho úplné nahrazení Open-Source softwarem KiCAD.
Dopsat použití vrstev a jak vnikají SMD plošky.
U fidu značek a u dalších podobných objektů (například různé díry a podobně) je vhodné zhasnout refdes. Na osazováku nejsou potřeba.
Filter = Labels, označit text a smazat klávesou Del Smazané labely lze nechat znovu položit
Texty (popis na potisku) patří do vrstvy Silkscreen Top/Bottom. Nezapomenenme někam umístit identifikátor modulu. Stejný text patří i do vrstvy spojů.
Písmo 80mils Čára 8mils
U diod přidáváme A k anodě a u kondenzátorů přidáváme + do vrstvy Assembly Drawing Top/Bottom)
Písmo 80mils Čára 8mils Design Rules a velikosti elementů
Nastavení Setup / Design Rules / Default / Clerance určují šířku spojů a izolační mezery mezi různými objekty. Nastavujeme hodnoty adekvátní hustotě návrhu.
Šířka spojů Trace Width / Minimum = 12mils (možno až 9mils) Trace Width / Recomended = (12mils), 15mils, 20mils, 30mils nebo i 45mils Trace Width / Maximum = není omezeno, ale ale spoje nad 60mils je lepší vylévat mědí. Izolační vzdálenosti Clearence = 10mils Clearence Copper = 20mils
Rast je vhodný zejména pro umísťování součástek. Pro spoje je možno nastavit rastr v podstatě libovolně malý. Nejsnadněji se nastavuje pomocí příkazu G, například G10 přímo z klávesnice.
Nástroj pro vyváření zapojení modulů a následný export netlistů pro zpracování návrhu PCB v systému PADS. Naprostá většina schémat modulů je kreslena v tomto editoru. Protože se však používal v kombinaci s PADS a nadále se významně nevyvíjí, tak se předpokládá v blízké době jeho úplné nahrazení programem KiCAD.
Nastavení pro automatické vkládání razítka Options /Design Template / Title Block
Library Name = C:\LIBRARY\ORCAD9x\SYMBOLS Title Block Name = TITLE_MLAB
Nastavení velikosti stránky (evropské nastavení) Options / Design Template / Page Size
Units = Millimeters New Page Size = A4 Pin to Pin Spacing = 2.54
Nastavení rastru Options / Design Template / Grid Reference
Vertical & Horizontal Width = 2.54
Povolené velikosti písma ve schématu jsou 8, 14 nebo 22.
Při kreslení schématu ukládáme knihovny do adresáře C:\LIBRARY\ORCAD9x aby se v případě změny v knihovně snadno aktualizovaly použité knihovní prvky v existujícím schématu.
Každý prvek ve schématu je současně uložen spolu s vlastním schématem v tzv. library cache a je tam uložen včetně celé absolutní cesty ke knihovně ze které byl kopírován a tam se také hledá v případě aktualizace. Pokud budou mít všichni stejné knihovny na stejném místě budou mít snazší život.
Máme tyto skupiny knihoven:
Při práci s knihovnami je třeba extra dávat pozor aby se omylem nevymazaly prvky z knihoven (stačí samotné DEL a prvek je nenávratně pryč). Dokončeným knihovnám je vhodné nastavit atribut Read Only. Knihovní prvky lze přetahovat z library cache existujícího schématu do knihovny.
Dopsat použití atributů. Propojů a konektorů.
Dopsat doporučení.
Netlist obsahuje seznam spojů pro návrh plošného spoje, hodnoty součástek a názvy jejich pouzder. Gneruje se volbou Tools / Create Netlist
Other PCB Footprint / Combined Property String = {Device},{Value}@{PCB Footprint} Formatters = padspcb.dll Netlist File 1 – nastavit příponu .ASC Generování seznamu součástí
Tvorba seznamu součástí se skládá ze dvou kroků
Seznam součástí se z OrCADu vygeneruje funkcí Bill of Material a výsledkem je TXT soubor.
Header: Quantity\tReference\tPart\tPCB Footprint Combined property string: {Quantity}\t{Reference}\t{Value}\t{PCB Footprint}
Finální podoba seznamu součástí je XLS tabulka. Vzor tabulky je v souboru VZOR_Seznam_součástí.xls. Vzor uložíme do adresáře SCH a otevřeme jej. Dále postupujeme podle návodu ve vzoru napsanému. Generování .PDF
Tisk provádíme obvykle na cílový formát A4 a to i pro schémata originálního formátu A3. Pro kvalitní výstup stačí rozlišení 600dpi.
Soubor se jmenuje jako jméno modulu s doplňkem _sch. Například POKUS_sch.pdf. Adobe Acrobat Distiller - preferované
Acrobat Distiller dává barevné PDF soubory. Žádné specifické nastavení parametrů Acrobat Distiller nepotřebuje (600dpi, měřítko 100%).
Při tisku z programu OrCAD Capture je třeba nastavit zmenšení a posunutí tisku aby byly rozumné okraje takto:
Schéma A3 – Scale=0,65; Print Offset X=12, Y=10 Schéma A4 – Scale=0,91; Print Offset X=12, Y=10 Adobe Acrobat Writter
Acrobat Writter dává černobílé PDF. Pro dosažení malé velikosti výsledných PDF souborů je třeba nastavit komprimaci. Velikost výstupu ani posunutí nejde ovlivnit. Výhodou je to, že schéma může být tisknuto najednou i když obsahuje listy různých formátů. Cílovým formátem nemusí být nutně formát A4 ale je to nejobvyklejší. Různé verze programu mají různé možnosti nastavení.
Page Setup Page Size / Standard = A4 Graphic / Resolution = 600dpi Graphic / Scaling = 100% Compression Options General / Compress text and lineart = Yes Color/Gray Scale Images / Compress using = ZIP Úklid souborů
Smažeme nepotřebné soubory, u cílových souborů zkontrolujeme jména souborů a nastavíme Read Only atribut.
Následující soubory se obvykle nezavádějí do databáze:
Naopak následující soubory obsahují podstatná data:
Povinné úkony
Seznam povinných úkonů slouží pro rychlé ověření, že se na nic důležitého nezapomnělo. Na všechny otázky by se mělo odpovědět buď „ano“ nebo „v tomto případě záměrně ne“.
Založení nového schématu:
Aktualizace:
Některé moduly jsou navržené v tomto systému ale díky nutnosti odlišné adresářové struktury jsou publikovány v SVN databázi MLAB_E, která zatím nemá webové výpisy. Do budoucna se využití Eagle pro návrh modulů dále nepředpokládá.
Program Eagle používá jiné textové fonty než původně využívaný program PADs, proto je nastavení mírně odlišné, zatím se jako nejlepší jeví toto
Na jednom modulu se může vyskytovat více velikostí písma, (obvykle na modulech stačí méně, než 3). Pouzivaji se v poradi, nazev modulu, popisky, výstrahy, označení autora. Různé velikosti se samozřejmě používají pouze v případech, kdy je k tomu na modulu místo. Na některých modulech je proto jenom jedna velikost písma podřízená čitelnosti a rozměrům modulu.
Pro kreslení plošných technických výkresů je využíván LibreCAD. V Ubuntu jej lze nainstalovat přímo z balíku:
sudo apt-get install librecad
FreeCAD se naopak hodí pro 3D modelování klasickým způsobem, který je známý z komerčních CAD programů. Zatím je výhodné používat jeho denní build verze dostupné z PPA.
sudo add-apt-repository ppa:freecad-maintainers/freecad-daily sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install freecad-daily freecad-daily-doc
OpenSCAD je nástroj pro návrh 3D modelů technických zařízení. Na rozdíl od většiny návrhových nástrojů OpenSCAD využívá pro popis objektu programovací jazyk. Tento přístup umožňuje jednak parametrizaci modelů a navíc jejich snadné verzování s identifikací přesné změny. Základní úvod do používání programu je na Know only 10 things to be dangerous in OpenSCAD, existuje také přehled základních funkcí.
Pro instalaci aktuální verze od Ubuntu 14.10 je připraven PPA repozitář:
sudo add-apt-repository ppa:openscad/releases sudo apt-get update
Openscad můžeme po jeho přidání pak nainstalovat příkazem:
sudo apt-get install openscad
Spustíme jej pak obvyklým způsobem z dashboardu, nebo z příkazového řádku.
Pro použití nejnovějších funkcí je vhodné použít denní kompilaci openscadu.
sudo apt-get install openscad-nightly
Tu lze pak spustit z příkazového řádku jako openscad-nightly, obě verze proto mohou být naistalované paralelně.
Pro zobrazení náhledů vygenerovaných STL souborů v prohlížeči Nautilus můžete využít nástroj stl-thumbnailer.
Je praktické dodržovat některá základní pravidla při vytváření modelů v openscadu.
Editor integrovaný přímo do OpenSCADu není moc pohodlný pro užívání. Je proto vhodnější zdrojové kódy modelů editovat v editoru 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...
Otevřeme nástroj pro zacházení s balíčky volbou Preferences → Package Control.
V nabídce zvolíme “Install Package”
Do filtračního pole napíšeme “openscad”. A klikneme na odpovídající balíček.
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
Při následujícím otevření .scad souboru bude automaticky rozpoznán jako OpenSCAD zdrojový kód.
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 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 gerbmerge3, která ale má čistější zdrojový kód.
Nejdříve nainstalujeme závislosti.
sudo apt-get install python-simpleparse python-simpleparse-mxtexttools
Následně stáhneme gerbmerge z githubu.
git clone https://github.com/MLAB-project/gerbmerge cd gerbmerge sudo python setup.py install
Aby gerbmerge fungoval, tak je mu potřeba zadat způsob panelizace to se dělá konfiguračním souborem. Příklad konfiguračního souboru je vložen u zdrojových kódů programu. Přímo v něm jsou komentáře vysvětlující jeho použití. Pakud ale máme připravený konfigurační soubor např. layout-mm-3.3.cfg tak gerbmerge můžeme spustit.
kaklik@popelnice:~/git/gerbmerge/testdata-with-KiCAD-using-metric-units/MLAB_panel$ ../../src/gerbmerge/gerbmerge.py layout-mm-3.3.cfg
Program se pokusí nalézt optimální rozložení motivů na panelu podle zvolené konfigurace a vygeneruje výsledné složené soubory.
Příklad pro složení SET10A (instalace se schoduje s předchozím příkladem) Nejprve je potřeba se dostat do místa, kde jsou data setu:
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. 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
GerberTools je zatím nevyzkoušený open-source nástroj napsaný primárně pro Windows v C#.
Technologická data pro 3D tisk v MLABu generujeme programem Slic3r. Zatím od něj neexistují připravené balíky v použitelné verzi. Proto je nutné program přeložit přímo ze zdrojových souborů na githubu.
sudo apt-get install libextutils-cppguess-perl freeglut3-dev
Z githubu se aktuálně používá master větev, která je kompromisem mezi stabilitou a možnostmi software. Samotná kompilace pak probíhá vetšinou podle instrukcí v souboru README.md
Na většinu programování softwaru se používá se v MLABu používá Python, nebo C. Vývojové nástroje jsou pro tyto jazyky dobře obecně známé. Většina vývoje je navíc orientována na Linux. Proto zde uvedeme jen seznam nástrojů, které používáme.
Programovací prostředí v kterém je vytvářen zdrojový kód. Mezi uživateli jsou nejoblíbenější následující dvě volby. Jinak lze ale zdrojový kód psát v libovolném textovém editoru.
Light Table je programátorský editor kódu, který vyniká speciálními vlastnostmi, jako je například interaktivní spouštění částí zdrojových kódů, nebo přímé vyhledávání v dokumentaci. Jeho instalaci do systému provedeme stažením zkompilovaného balíku z stránky Light Table Download, rozbalením staženého balíku a provedením následujících příkazů, které jej přesunou do systémových složek.
sudo mv LightTable /opt/LightTable sudo ln -s /opt/LightTable/LightTable /usr/bin/lighttable
Multiplatformní placený editor pro linux, Windows, Mac OS. Mezi jeho vyjímečné vlastnosti patří například náhled celého zdrojového kódu. Pro běžné použití stačí nezaplacená varze.
sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update sudo apt-get install sublime-text-installer
Jde o velmi rozřířený editor, jehož výhodou je, že běží na více platformách a mohou ho tedy používat i uživatelé windows.
sudo apt-get install codeblocks
Nástroje na programování jednotlivých typů mikrokontrolérů jsou většinou popsány v částech týkajících se programování u jednotlivých architektur:
Pro správu softwarového vývoje a dokumentace modulů používáme github.
Jako nejefektivnější uživatelské rozhraní pro git se osvědčil příkazový řádek s tím, že jeho efektivita je zde ještě markantnější než u SVN.
Pro pohodlnou ptáci s git je efektivnější používat metodu klonování s SSH. Není při práci vyžadováno stále přihlašování. Komunikace je autentizována na základě privátního klíče. Pro každý počítač je potřeba vygenerovat unikátní klíč.
cat ~/.ssh/id_rsa.pub
git clone git@github.com:MLAB-project/kicad-mlab.git
git pull
git status
Tento příkaz vypíše u jakých souborů došlo ke změně, nebo které byli přidány jako nové.
git add název_souboru
Po označení celé cesty z výpisu příkazů lze cestu vložit pomocí kliknutí na prostřední tlačítko myši. Pro přidání všech změn lze použít ```git add .```.
git commit -m "Popis provedené změny"
Po tomto příkazu je commit pouze v lokální kopii repozitáře. Aby se data odeslala na server je potřeba zadat následující příkaz.
git push
Pro ověření, zda veškeré úkony proběhly v pořádku je dobré se podívat na výstup příkazu:
git status
Ve výpisu by neměly být žádné položky, které jsme chtěli nahrát.
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
TortoiseGit Pod operačním systémem Windows je možné stahovat pohodlně data z GitHub do počítače přes program TortoiseGit.
Veškeré textové dokumenty jsou v MLABu kódovány v UTF-8 někteří uživatelé ale požívají na editaci souborů windows a výsledkem je nekompatibilní soubor, který je třeba překódovat.
Převod kódování textových souborů.
iconv -f WINDOWS-1250 -t UTF-8 zprava.txt -o zprava.txt
Dokuwiki je systém ve kterém běží tato dokumentace.
Podstatné ale je, že je možné tuto dokumentaci editovat i offline, což se hodí zejména při cestování.
K tomu je potřeba si na svém notebooku zprovoznit lokální instanci wiki. Tu si zprovozníme podle návodu na instalaci Dokuwiki pod Ubuntu. Data pak mezi oběma instancemi wiki synchronizujeme pomocí pluginu sync, který naistalujeme na svojí lokální instanci wiki. Po první synchronizaci se serverovou wiki můžeme stránky lokálně offline editovat a změny následně nahrát na veřejnou wiki MLAB.
LaTeX je je systém pro sazbu profesionálních dokumentů. V složce templates je pro něj šablona.
V případě psaní dokumentace v Ubuntu se použivají následující balíky
sudo apt-get install texmaker texlive-lang-czechslovak
Po jejich istalaci je možné psát a editovat MLAB dokumenty napsané v LaTeXu
Poslední dobou je poměrně častým dokumentačním problémem převod dokumentace postupně vznikající na wiki do formální podoby dokumentu. Přímé přepisování není příliš efektivní. Proto je vhodnější využít programové nástroje jako například Pandoc, ten umí vzájemně převádět mnoho formátů dokumentů. Ale neumí přímý převod Dokuwiki syntaxe na Latex. Lze si však pomoci použitím HTML kódu, který generuje dokuwiki a se kterým již Pandoc umí pracovat.
Webová verze Pandoc umí zpracovat HTML kód o délce pouze do 1000 znaků. Je proto vhodné si nainstalovat lokální offline verzi.
sudo apt-get install pandoc
Převod pak můžeme realizovat příkazem:
pandoc -f html -s -t latex temp_doc.html
Převedený dokument se nám pak vypíše do příkazové řádky, odkud jej pak stačí zkopírovat do Latexového editoru.
Program dia slouží na tvorbu diagramů a blokových schémat.
Je snaha použít fritzing pro tvorbu dokumentace zapojení jednotlivých modulů v konstrukcích. Zatím však Fritzing nepodporuje mechanické umístění. Plošných spojů. Takže se tento nástroj reálně nepoužívá.
Je nástroj na tvorbu veřejných prezentací projektů.
Pro zkontrolování celkové kvality dokumentace návrhů slouží přehled dokumentace modulů.
Tento přehled lze řadit podle různých kriterií. Například
Každý modul má přiřazenou známku kvality. Aktuálně se hodnotí kvalita fotografie podle následujících kritérií
Je nástroj pro vytváření úkolů a dělbu práce na projektech. Jeho instanceběží na serveru.
Jupyter je softwarový nástroj, který umožňuje použít více výpočetních a programátorských balíků jako je například Python nebo Octave. Výhodou Jupyteru je interaktivní zpracování příkazů což oceníme hlavně při testování nebo psaní nových algoritmů.
Postupujeme podle doporučení v repozitáři se zdrojovými kódy.
sudo pip install notebook
Spuštění se naopak provede
jupyter notebook
Kde si pak zvolíme námi použitý kernel.
Gnuradio je nástroj pro zpracování signálových dat obvykle z SDR přijímačů.
Necpp je nástroje pro numerické výpočty anténních parametrů.
sudo apt-get install qtbase5-dev qttools5-dev
git clone git://git.code.sf.net/p/qantenna/code qantenna-code qttools5-dev-tools cd qantenna-code/ qmake qantenna.pro make