Uživatelské nástroje

Nástroje pro tento web


cs:rules

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
cs:rules [2017/10/09 14:38] – [QR kódy] kaklikcs:rules [2023/02/16 20:18] (aktuální) – [Ruční vytvoření struktury modulu] 178.17.10.62
Řádek 11: Řádek 11:
  
   - JTAGFT2232 -  název modulu vystihující podstatu modulu (zde pravděpodobně J-tag programátor s čipem FTDI FT2232)   - JTAGFT2232 -  název modulu vystihující podstatu modulu (zde pravděpodobně J-tag programátor s čipem FTDI FT2232)
-  -  (V)01 - verze modulu - ve vývoji modulu už došlo k nějaké zásadní změně (Zde bylo od verze 01 přidáno CPLD)+  -  (V)02 - verze modulu - ve vývoji modulu už došlo k nějaké zásadní změně (Zde bylo od verze 01 přidáno CPLD)
   - A - revize modulu (v tomto případě ještě nedošlo k opravě žádné chyby)   - A - revize modulu (v tomto případě ještě nedošlo k opravě žádné chyby)
  
Řádek 21: Řádek 21:
 ===== Založení nového modulu ===== ===== Založení nového modulu =====
  
-Prvním krokem je vytvoření adresářové struktury ve [[https://guides.github.com/activities/forking/|forku]]  hlavního [[https://github.com/MLAB-project/Modules|modulového repozitáře]], který si sami vytvoříte. [[http://wiki.mlab.cz/doku.php?id=cs:tools#github|Návod na základní používání githubu]].  +==== Použití GitHub template (doporučeno) ==== 
-Adresářovou strukturu modulu lze vytvořit buď ručně a nebo pomocí nástroje [[https://github.com/MLAB-project/mlabgen|mlabgen]], který adresářovou strukturu sám vytvoří. Po jeho instalaci je možné nový modul vytvořit  příkazem: + 
 +Asi nejjednodušší možností, jak založit nový modul je použití [[https://github.com/mlab-modules/MODUL01 | GitHub MLAB module template repository]]. Tento repozitář se k vytvoření nového repozitáře používá [[https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template | běžným GitHub způsobem]].  
 +Další postup je pak popsán v readme nového repozitáře modulu.  
 + 
 +==== Pomocí skriptu mlabgen ==== 
 + 
 +Prvním krokem je vytvoření správné adresářové struktury nového modulu ve [[https://guides.github.com/activities/forking/|forku]] hlavního [[https://github.com/MLAB-project/Modules|modulového repozitáře]]. [[http://wiki.mlab.cz/doku.php?id=cs:tools#github|Návod na základní používání githubu]]. 
 + 
 +Adresářovou strukturu modulu lze vytvořit buď ručně a nebo pomocí nástroje [[https://github.com/MLAB-project/mlabgen|mlabgen]], který adresářovou strukturu sám vytvoří a správně pojmenuje všechny soubory. Po jeho instalaci je možné nový modul vytvořit příkazem:
  
   mlabgen-module-init NAMEVERREV   mlabgen-module-init NAMEVERREV
  
-Kde //NAMEVERREV// je námi vytvořená identifikace modulu.+Kde ''NAMEVERREV'' je námi vytvořená identifikace nového modulu. Příkaz ''mlabgen-module-init'' je nutné spouštět ve složce, kde chceme nový modul založit. Pokud vytvářím modul se senzorem, musím být ve složce ''Modules/sensors''.
  
-Pak je potřeba upravit metadatový soubor //PrjInfo.txt// v adresářové struktuře modulu tak, aby obsahoval základní informace o novém modulu. Následně adresářovou strukturu modulu idáme do repozitáře. Po dokončení návrhu modulu je vhodné vytvořit [[https://help.github.com/articles/about-pull-requests/|pull-request]] do hlavního repozitářMLAB ze kterého byl vytvořen fork. Což je nejlepší způsob, jak zařídit aby vaše práce byla vidět.+Použití íkazu ''mlabgen-module-init'' je doporučené, protožskript vytvoří i další soubory. Například QRkód k vytvářenému modulu.
  
-Do commit logu je vhodné napsat popis toho, že je přidáván nový modul s nějakým určením Další dokumentace by měla být vytvářena již během vývoje modulu. Je proto dobré hned po commitu nového modulu založit stránku na této wiki To lze nejlépe udělat otevřením wiki stránky ze [[http://www.mlab.cz/Server/GenIndex/GenIndex.php?lang=cs&path=/Modules|Seznamu modulů]].+Pak je potřeba upravit metadatový soubor ''<NAMEVERREV>.json'' v adresářové struktuře modulu tak, aby obsahoval základní informace o novém modulu. Následně adresářovou strukturu modulu přidáme do repozitáře. Po dokončení návrhu modulu je vhodné vytvořit [[https://help.github.com/articles/about-pull-requests/|pull-request]] do hlavního repozitáře MLAB ze kterého byl vytvořen fork. Což je nejlepší způsob, jak zařídit aby vaše práce byla vidět.
  
-===== Napájení modulů =====+Do commit logu je vhodné napsat popis toho, že je přidáván nový modul s nějakým určením. Další dokumentace by měla být vytvářena již během vývoje modulu. Je proto dobré hned po commitu nového modulu založit stránku na této wiki. To lze nejlépe udělat otevřením wiki stránky ze stránky modulu [[https://www.mlab.cz/modules|Seznamu modulů]].
  
-Podrobnější příklady konektorů a vysvětlení jejich použití je na stránce [[cs:navody|]]+==== Ruční vytvoření struktury modulu ==== 
 +Pokud z nějakých důvodů nechcete používat MLABgen pro vytvoření základní adresářové struktury, při zakládání nového modulu je potřeba dodržet následující pravidla.
  
-==== Konfigurace konektorů MLAB ====+V odpovídající složce kategorie vytvoříme složku s názvem nového modulu ve formátu ''NAMEVERREV'' 
 +Uvnitř složky modulu by měla být vytvořena následující adresářová struktura. Povinné soubory/složky jsou označeny hvězdičkou
  
-Napájecí konektory pro nízké proudy mají dvě konfigurace a jsou realizovány lámacími hřebínky s roztečí 2,54mm+  <NAMEVERREV>
 +  ├── doc* 
 +  │   ├── img* 
 +  │   │   ├── <NAMEVERREV>_QRcode.png* 
 +  │   │   └── <NAMEVERREV>_top_big.jpg* 
 +  │   ├── pdf 
 +  │   │   └──  
 +  │   ├── <NAMEVERREV>.cs.pdf 
 +  │   ├── <NAMEVERREV>.en.pdf 
 +  │   └── src 
 +  │       └── <NAMEVERREV>.tex 
 +  ├── hw 
 +  │   ├── cam_profi 
 +  │   │   ├── <NAMEVERREV>-B.Cu.gbr  
 +  │   │   . 
 +  │   │   . 
 +  │   │   └── <NAMEVERREV>-PTH.drl 
 +  │   └── sch_pcb 
 +  │       ├── <NAMEVERREV>.kicad_pcb 
 +  │       ├── <NAMEVERREV>.kicad_pro 
 +  │       └── <NAMEVERREV>.kicad_sch 
 +  ├── cad 
 +  │   ├── src 
 +  │   │   └── <NAMEVERREV>.scad 
 +  │   └amf 
 +  │       └── <NAMEVERREV>.amf 
 +  ├── <NAMEVERREV>.json* 
 +  └── sw 
 +      └── <NAMEVERREV>_exmalpe.py
  
-{{:low_power_connectors.png?direct&400|}} +Soubor ''<NAMEVERREV.json>'' by měl obsahovat informace o modulu.
  
 +  {
 +      "wiki": "None", 
 +      "status": "1", 
 +      "name": "<NAMEVERREV>", 
 +      "short_en": "Krátký anglicky popis", 
 +      "image": "Adresa k obrazku, pokud neni zadana, pouzije se QR kod", 
 +      "longname_cs": "Cesky podnadpis", 
 +      "longname_en": "Anglicky podnadpis", 
 +      "mark": "50.0", 
 +      "ust": "", 
 +      "doc_cs": "", 
 +      "short_cs": "Kratky cesky popis", 
 +      "doc_en": "", 
 +      "root": "slozka v ramci repozitare", 
 +      "author[]": [], 
 +      "category[]": []
 +  }
 +
 +Se správným vyplněním se můžete inspirovat například u nějakého existujícího [[https://github.com/MLAB-project/Modules/blob/master/sensors/ALTIMET01A/ALTIMET01A.json|modulu]].
 +
 +===== Elektrické propojení modulů =====
 +
 +Podrobnější příklady konektorů a vysvětlení jejich použití pro různé aplikace je na stránce [[cs:navody|]].
 +
 +==== Elektrické propojení modulů ====
 +
 +Napájecí konektory pro nízké proudy mají více konfigurací a jsou realizovány [[https://en.wikipedia.org/wiki/Pin_header | lámacími hřebínky s roztečí 2,54mm]]
 +
 +{{:low_power_connectors.png?direct&600|}} 
 +
 +**Napájecí konektory jsou vždy zdvojené, aby bylo umožněno smyčkování napájení z jednoho modulu na další.** Propojovací vodiče jsou barevně označeny podle používaných napájecích napětí. 
 +
 +  * Červená - 5V
 +  * Oranžová - 3.3V
 +  * Žlutá - 12V
 +  * Modrá - Záporné napájení 5-12V. 
 +
 +Tato konvence vychází z [[https://en.wikipedia.org/wiki/Power_supply_unit_(computer)#Wiring_diagrams |barevného značení ATX napájecích zdrojů]]. Stejná konvence se pak používá i pro propojovací vodiče. 
 ==== Externí napájecí zdroje ==== ==== Externí napájecí zdroje ====
  
-Na silové napájení s vyššími výkony se používají konektory FASTON, nebo svorkovnice WAGO256+Na silové napájení s vyššími výkony (až 16A) se používají konektory FASTON, nebo svorkovnice WAGO256
  
 {{ :cs:wago256.jpg?100 |}} {{ :cs:wago256.jpg?100 |}}
Řádek 52: Řádek 128:
  
 === Válcový napájecí konektor === === Válcový napájecí konektor ===
 +
 +Používaný rozměr je 5.5/2.1mm. Střední vodič je +, vnější plášť je -.
 +
  
 === Napájení +5V z USB === === Napájení +5V z USB ===
Řádek 79: Řádek 158:
   - Blokovací kondenzátory se kladným pólem připojují do místa které blokují. (není-li to možné kreslí se nedaleko blokovaného obvodu)   - Blokovací kondenzátory se kladným pólem připojují do místa které blokují. (není-li to možné kreslí se nedaleko blokovaného obvodu)
   - na jednom spoji musí být minimální množství spojovacích bodů (není například vhodné kreslit vedle sebe dva T uzly ale lepší je nakreslit jeden uzel +).   - na jednom spoji musí být minimální množství spojovacích bodů (není například vhodné kreslit vedle sebe dva T uzly ale lepší je nakreslit jeden uzel +).
 +  - Hodnoty součástek musí mít jednotnou jmennou konvenci využívající plný název fyzikální veličiny tj. nF, pF atd. 
  
 Specifikem schémat MLABu pak je, že hřebínky jsou vždy ve dvojici ale ve schématu se pro přehlednost uvádí, jako jedna součástka. (vyžaduje to v některých případech použití vlastních knihoven, ale přehlednost schéma je tím podstatně zlepšena.) Specifikem schémat MLABu pak je, že hřebínky jsou vždy ve dvojici ale ve schématu se pro přehlednost uvádí, jako jedna součástka. (vyžaduje to v některých případech použití vlastních knihoven, ale přehlednost schéma je tím podstatně zlepšena.)
Řádek 96: Řádek 176:
 ===== Geometrie modulů ===== ===== Geometrie modulů =====
  
-==== Rozmě====+==== Rozměry ====
  
-Moduly jsou navrženy v rastru 10,16 mm (400mils) a jejich rozměry přesahují 200 mils - 10mils od středu rohových děr Modul je o 10mils zmenšen proti přesnému rastru kvůli výrobním tolerancím (Jinak by nemuselo být možné dát na základní desku dva moduly těsně k sobě). Aby bylo možné moduly skládat vedle sebe, je potřeba z každé strany ubral 0,254 mm (10mils). Pro montáž na [[cs:albase1521|ALBASE]] se používá šroubů M3 délky 12 mm, proto je potřeba v plošném spoji čtveřice otvorů o průměru 3 mm.+Moduly jsou navrženy v rastru 10,16 mm (400mils) a jejich rozměry přesahují 200 mils - 10mils od středu rohových děr Modul je o 10mils zmenšen proti přesnému rastru kvůli výrobním tolerancím (Jinak by nemuselo být možné dát na základní desku dva moduly těsně k sobě). Aby bylo možné moduly skládat vedle sebe, je potřeba z každé strany ubrat 0,254 mm (10mils). Pro montáž na [[cs:albase1521|ALBASE]] se používá šroubů M3 DIN 912 délky 12 mm, proto je potřeba v plošném spoji čtveřice otvorů o průměru 3 mm.
  
-Názorný příklad pro modul zabírající 3 otvory na ALBASE:+Názorný příklad pro modul zabírající 3 otvory na [[cs:albase1521|ALBASE]]. Počátek souřadnic PCB umístěn do středu šroubu vlevo dole. Rozměr PCB je symetricky centrován na rozteč šroubů. 
  
 +{{ :mlab_module_geometry_example.png?direct&600 |}}
  
-{{ :cs:modul.png?400 |}} 
  
 +   * Délka hrany: 4x10,16 - 0,254 -0,254 = 40,132 mm
 +   * Rozteč šroubů: 3x10,16 = 30,48 mm
 +   * Vzdálenost otvoru na šroub od okraje desky: 5,08 - 0,254 = 4,826 mm
 +   * Průměr otvoru na šroub: 3 mm (MLAB footprint)
  
-   Délka hrany = 4x10,16 - 0,254 -0,254 = 40,132 mm 
-   Rozteč šroubů = 3x10,16 = 30,48 mm 
-   Vzdálenost otvoru na šroub od okraje desky = 5,08 - 0,254 = 4,826 mm 
-   Průměr otvoru na šroub = 3 mm 
  
 ==== Rohové šrouby ==== ==== Rohové šrouby ====
Řádek 121: Řádek 201:
  
 ==== Layout (návrh plošného spoje) ==== ==== Layout (návrh plošného spoje) ====
 +
 +Parametry se mohou lišit podle zvoleného návrhového nástroje
 +
 +  * [[cs:kicad|KiCAD]]
 +
 +
 +**Mezní možnosti výroby:**
 +  Min. tloušťka cesty 0,1 mm
 +  Min. izolační mezera 0,1 mm
 +  Min. vzdálenost od okraje PCB je 0,5mm z důvodu drážkování
 +
  
 Vedení plošných spojů a jejich rozměry jsou vždy volené tak, aby byla v co největší míře umožněna i amatérská výroba a osazení plošného spoje.  Izolační vzdálenosti, jsou proto maximální a plošky pro součástky o něco delší, než potřebné (zvláště u QFN pouzder, kde to velmi usnadňuje kontrolu kvality pájení). Vedení plošných spojů a jejich rozměry jsou vždy volené tak, aby byla v co největší míře umožněna i amatérská výroba a osazení plošného spoje.  Izolační vzdálenosti, jsou proto maximální a plošky pro součástky o něco delší, než potřebné (zvláště u QFN pouzder, kde to velmi usnadňuje kontrolu kvality pájení).
Řádek 132: Řádek 223:
 === Pouzdra součástek === === Pouzdra součástek ===
  
-Proferovaná velikost SMD pouzder je aktuálně řada 0805.+Preferovaná velikost SMD pouzder je aktuálně řada 0805. Použití konkrétních pouzder se může lišit podle zvoleného návrhového nástroje 
 + 
 +  * [[cs:kicad|KiCAD]]
  
  
 === Rozmisteni soucastek === === Rozmisteni soucastek ===
  
-SMD soucastky se umistuji vyhradne na jednu stranu desky. Ideálně na stranu přivrácenou k základové desce. Důvodem je jednak větší odolnost konsrukcenižší vyzařování a snažší osazení v reflow peci. +SMD součástky se umisťují primárně na jednu stranu desky. Ideálně na stranu přivrácenou k základové děrované desce MLAB (vrstva B.Cu). Důvodem je větší odolnost konstrukcemenší potíže s [[https://en.wikipedia.org/wiki/Electromagnetic_compatibility| EMC]] a značné ulehčení osazení v reflow peci.  
 + 
  
  
-=== Vrstvy === 
  
-Pri navrhu dvouvrstveho plosneho spoje, je jedna vrstva se vyhrazena pro zem a napajeni. Tato vrstva se 
-pak nastaví jako "Split/Mixed plane" a priradi se k ni signal zem a 
-napájení. To umožní automaticky ukončovat tyto spoje prokovem do této 
-vrstvy.  Je to mnohem lepší než pro tuto vrstvu zadat "copper pour" 
-protoze v takovem případě se spoj špatně edituje.  
  
  
 === Prokovy === === Prokovy ===
  
-Běžně používaná velikost otvorů prokovů je 22 mils. (Napříkalad default nastavení v PADS 37mils je nesmysně veliké).  +Běžně používané parametry pro prokovy jsou: 
-Texty v potisku modulu nesmí překrývat prokovy. (Jinak dojde k nečitelnosti potisku v místě prokovu)+
  
 +  0,8 mm průměr prokovu a 0,4 mm průměr vrtání 
 +  
 +Minimální vyrobitelné okruží otvoru je 0,1 mm (průměr plošky prokovu = průměr vrtaného otvoru + 0,2 mm). V případech kde to není nutné nenavrhujeme spoje této mezi. Zbytečně to prodražuje cenu PCB a náročnost výroby. 
  
 +Pro spoje s vysokým proudovým zatížením je potřeba zvětšit rozměry prokovu, dle přenášených proudů, nebo zvýšit počet prokovů na jednom spoji.  
 + 
 +Texty v potisku modulu nesmí překrývat prokovy. (Jinak dojde k nečitelnosti potisku v místě prokovu)
 ==== Konstrukční části ==== ==== Konstrukční části ====
  
Řádek 182: Řádek 276:
 ===== Potisk na modulech ===== ===== Potisk na modulech =====
  
-Potisk na modulech by měl respektovat obecná typografická pravidla. Je to důležité hlavně z hlediska nutnosti zachovat čitelnost potisku i po aplikaci sítotiskem. +Potisk na modulech by měl respektovat obecná typografická pravidla. Je to důležité hlavně z hlediska nutnosti zachovat čitelnost potisku i po aplikaci sítotiskem. To znamená že, grafika v potisku nesmí překrývat nesouvislou plochu a hrany. (Odmaskování plošek, otvory a pod.) Texty v potisku modulu tak například nesmí barvenou plochou překrývat prokovy, ale je možné, aby prokov byl v nebarvených plochách písmen
  
 ==== Písmo ==== ==== Písmo ====
Řádek 198: Řádek 292:
 Nejčastější používané velikosti písma jsou: Nejčastější používané velikosti písma jsou:
  
-  - Text size 1,mm  - název modulu důležité informace +  Width 1,mm, Height 1,5mm, Thickness 0,3mm  - název moduludůležité informace a popisky hřebínků 
-  - Text size 1,mm - popisky jednotlivých vývodů hřebínků+  Width 1,mm, Height 1,3mm, Thickness 0,3mm  - popisky jednotlivých vývodů hřebínků
  
-Velikost písma menší než 1,mm je problematická a je třeba ji používat pouze v opodstatněných případech. +Velikost písma menší než 1,mm je problematická a je třeba ji používat pouze v opodstatněných případech. 
  
 Na některých malých modulech může vzniknout problém s délkou názvu modulu, v takovém případě se název modulu zalamuje u verze modulu, například:  Na některých malých modulech může vzniknout problém s délkou názvu modulu, v takovém případě se název modulu zalamuje u verze modulu, například: 
Řádek 210: Řádek 304:
  
 ==== QR kódy ==== ==== QR kódy ====
-Na všechny moduly které jsou dostatečně velké, aby na ně mohl být umístěn QR kód. Ten obsahuje identifikaci modulu a odkaz na stránku s [[http://www.mlab.cz/PermaLink/|permalinkem na dokumentaci modulu]]. QRkód generujeme nástrojem qrencode. např+Na všechny moduly které jsou dostatečně velké, aby na ně mohl být umístěn QR kód. Ten obsahuje identifikaci modulu a odkaz na stránku s [[http://www.mlab.cz/PermaLink/|permalinkem na dokumentaci modulu]]. QRkód generujeme nástrojem qrencode do složky <modul>/doc/img/<modul>_QRcode.png. např
  
-  qrencode -s 15 -l L "http://www.mlab.cz/" -o "QRcode.png"+  qrencode -s 15 -l L "http://www.mlab.cz/" -o "MODUL01A_QRcode.png" 
 + 
 +Pokud jste pro vytvoření modulu použili mlabgen, QRkód by měl být vytvořen při vytváření základní adresářové struktury.
  
 <WRAP info round> <WRAP info round>
Řádek 234: Řádek 330:
 ===== Check list před výrobou ===== ===== Check list před výrobou =====
  
-  - zkontrolovat velikost a spravnost pouzder +  - zkontrolovat velikost a správnost pouzder 
-  - Velikost plosek u konektoru a soucastek skrz desku.  +  - Velikost plošek a otvorů u konektoru a součástek skrz desku.  
-  - velikost der, krystaly ledky, hrebinky, propojky, specialni soucastky.+  - velikost der, krystaly ledky, hřebínky, propojky, speciální součástky.
   - odmaskovani plošek, propojky   - odmaskovani plošek, propojky
-  - obrysy soucastekoznaceni propojek. +  - obrysy součástekoznačeni propojek. 
-  - popisky, napis www.mlab.cz +  - popisky, nápis www.mlab.cz 
-  - Zkontrolovat, ze nejsou prokovy pod pismeny a znaky+  - Zkontrolovat, ze nejsou prokovy pod písmeny a znaky
   - zkontrolovat QR kod a PermaLink.   - zkontrolovat QR kod a PermaLink.
  
  
 ===== Struktura repozitáře MLABu ===== ===== Struktura repozitáře MLABu =====
 +
 +Protože aktuální struktura repozitáře popsaná výše nevyhovuje současným potřebám projektu, je na následujících odstavcích popsána nová navrhovaná struktura. 
  
  
Řádek 256: Řádek 354:
  
  
-==== Adersářová struktura modulu ====+==== Navrhovaná adersářová struktura modulu ====
  
   MODUL01A/   MODUL01A/
cs/rules.1507559924.txt.gz · Poslední úprava: 2017/10/09 14:38 (upraveno mimo DokuWiki)