User Tools

Site Tools


en:rules

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:rules [2019/02/06 14:28] fluktuaciaen:rules [2023/02/03 00:14] (current) – [Sizes] kaklik
Line 1: Line 1:
-FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)//+FIXME **This page is not fully translated, yet. Please help complete the translation.**\\ //(remove this paragraph once the translation is finished)//
  
 ====== Rules for designing new modules ====== ====== Rules for designing new modules ======
  
-This page serves as a wiki complement to an original article [[http://www.mlab.cz/Articles/HowTo/Rules/DOC/HTML/Rules.cs.html|Proposed rules and standard procedures]]. It also serves as a site for placing additional rules of module design, which are not dealt with in the article.+This page serves as a wiki complement to an original article [[http://home.mlab.cz/Articles/HowTo/Rules/DOC/HTML/Rules.cs.html|Proposed rules and standard procedures]]. It also serves as a site for placing additional rules of module design, which are not dealt with in the article.
  
-The module design itself uses following [[en:tools|software tools]].+The module design itself uses the following [[en:tools|software tools]].
  
 ===== Identification of modules ===== ===== Identification of modules =====
  
-Each modules has to carry unambiguous identification mark consisting of its name, version and module revision - e.g. [[cs:jtagft2232v|JTAGFT2232V02A]].+Each module has to carry an unambiguous identification mark consisting of its name, versionand module revision - e.g. [[cs:jtagft2232v|JTAGFT2232V02A]].
  
   - JTAGFT2232 -  the name of the module, depicting the nature of the module (here probably a J-tag programmer with FTDI FT2232 chip).   - JTAGFT2232 -  the name of the module, depicting the nature of the module (here probably a J-tag programmer with FTDI FT2232 chip).
Line 15: Line 15:
   - A - the module’s revision (in this case there were not corrections of any mistakes)   - A - the module’s revision (in this case there were not corrections of any mistakes)
  
-Furthermore there are modules with green non-soldering mask and white print and modules with white mask and green print. This kind of module identification was introduced by [[http://www.ust.cz/|UST]] company, which produces modules for MLAB. The meaning of the above-mentioned colour identification is as follows:+Furthermorethere are modules with green non-soldering mask and white print and modules with white mask and green print. This kind of module identification was introduced by [[http://www.ust.cz/|UST]] company, which produces modules for MLAB. The meaning of the above-mentioned colour identification is as follows:
  
  
   * **Green mask and white print** - a prototype module, often made only in one or few pieces serving as testing samples   * **Green mask and white print** - a prototype module, often made only in one or few pieces serving as testing samples
-  * **White mask and black print** - a production version made in large quantities. Compared to the green version, it may contain tiny changes changes even if the module’s identification mark is identical.+  * **White mask and black print** - a production version made in large quantities. Compared to the green version, it may contain tiny changes even if the module’s identification mark is identical.
  
 ===== Creating a new module ===== ===== Creating a new module =====
 +
 +==== Using a GitHub template ====
 +
 +The probably simplest way how to make a new module structure is to create a new repository based on the [[https://github.com/mlab-modules/MODUL01 | GitHub MLAB module template repository]].
 +
 +The template repository should be used in [[https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template | the standard GitHub way]].
 +
 ==== Using a mlabgen script ==== ==== Using a mlabgen script ====
  
Line 40: Line 47:
  
 ==== Manual module creation ==== ==== Manual module creation ====
-Iffor some reason, you are reluctant to use MLABgen for creation of the basic directory structure, it is necessary to comply with the following rules: +If for some reason, you are reluctant to use MLABgen for the creation of the basic directory structure, it is necessary to comply with the following rules: 
  
-In the appropriate folder category we create a folder with the name of the new module using format ''NAMEVERREV’’. +In the appropriate folder categorywe create a folder with the name of the new module using the format of ''NAMEVERREV''. Inside the folder, we create the following directory structure (obligatory folders/files are marked with an asterisk):
-Inside the folder, we create the following directory structure (obligatory folders/files are marked with an asterisk):+
  
  
Line 96: Line 102:
   }   }
  
-You can find example of a correct filling by checking one of the already existing [[https://github.com/MLAB-project/Modules/blob/master/sensors/ALTIMET01A/ALTIMET01A.json|module]].+You can find an example of a correct filling by checking one of the already existing [[https://github.com/MLAB-project/Modules/blob/master/sensors/ALTIMET01A/ALTIMET01A.json|module]].
  
 ===== Module power supply ===== ===== Module power supply =====
Line 109: Line 115:
 {{:low_power_connectors.png?direct&400|}}  {{:low_power_connectors.png?direct&400|}} 
  
-**Power supply connectors are doubled in order to allow smyčkování napájení (??).** +**Power supply connectors are doubled in order to allow power looping** 
-==== Externí napájecí zdroje ====+==== External power sources ====
  
 For power supply with higher powers, the FASTON connectors or WAGO256 terminal blocks are used. For power supply with higher powers, the FASTON connectors or WAGO256 terminal blocks are used.
Line 163: Line 169:
 ==== Sizes ==== ==== Sizes ====
  
-MLAB modules are designed in 10.16 mm raster (400 mils) and their sizes exceed 200 mils - 10 mils from the centres of the corner holes. Each module is 10 mils smaller in size compared to the exact raster due to production tolerances (otherwise it might not be possible to fit two modules next to each other on a base board). To make it possible to fit modules next to each other, it is necessary to make each size smaller by 0.254 mm (10 mils). For mounting on the [[en:albase1521|ALBASE]], we use M3 screws of 12 mm in length - that is why it is necessary to have four 3 mm diameters openings on each PCB.+MLAB modules are designed in 10.16 mm raster (400 mils) and their sizes exceed 200 mils - 10 mils from the centers of the corner holes. Each module is 10 mils smaller in size than the exact raster due to production tolerances (otherwise it might not be possible to fit two modules next to each other on a baseboard). To make it possible to fit modules next to each other, it is necessary to make each size smaller by 0.254 mm (10 mils). For mounting on the [[en:albase1521|ALBASE]], we use M3 screws of 12 mm in length - that is why it is necessary to have four 3 mm diameter openings on each PCB.
  
-An example of a module occupying 3 openings on the ALBASE:+An example of a module occupying 3 openings on the [[en:albase1521|ALBASE]]:
  
-{{ :cs:modul.png?400 |}}+{{ :mlab_module_geometry_example.png?direct&600 |}}
  
  
-   Length of the edge 4x10.16 - 0.254 -0.254 = 40.132 mm +   Length of the edge4x10.16 - 0.254 -0.254 = 40.132 mm 
-   Screws’ pitch 3x10.16 = 30.48 mm +   Screws’ pitch3x10.16 = 30.48 mm 
-   The distance of screw opening from the base’s edge 5.08 - 0.254 = 4.826 mm +   The distance of the screw hole center from the base’s edge5.08 - 0.254 = 4.826 mm 
-   Screw opening’s diameter 3 mm+   Screw hole diameter3 mm (MLAB footprint)
  
 ==== Edge screws ==== ==== Edge screws ====
Line 208: Line 214:
 === Layers === === Layers ===
  
-  F.Cu - copper layer měděná vrstva ze strany součástek +  F.Cu - top copper (copper layer on the components’ side) (??) 
-  B.Cu - měděná vrstva ze strany spojů +  B.Cu - bottom copper (copper layer on the traces side ?? měděná vrstva ze strany spojů) 
-  F.SilkS - potisk součástek +  F.SilkS - silkscreen (components’ side) 
-  B.SilkS - potisk strana spojů +  B.SilkS - silkscreen (traces’ side ??) potisk strana spojů 
-  F.Mask - maska strana součástek +  F.Mask -  soldermask (components’ side) 
-  B.Mask - maska strana spojů +  B.Mask - soldermask (traces’ side ??) maska strana spojů 
-  Edge.Cuts - obrys desky +  Edge.Cuts - board outline 
-  F.Fab - potisk pro osazování strana součástek +  F.Fab - fabrication layer (components’ side) potisk pro osazování strana součástek 
-  B.Fab - potisk pro osazování strana spojů+  B.Fab - fabrication layer (potisk pro osazování strana spojů
  
  
  
 +When designing a two-layer PCB, one layer is reserved for grounding and power supply - this layer will be set up as a "Split/Mixed plane" and will have an earth and power supply signals assigned to it. Such setting will allow to automatically end traces of these kinds by a VIA into this layer. It is far better than set up the layer as “copper pour” since in such case the traces are difficult to edit. 
  
-Pri navrhu dvouvrstveho plosneho spoje, je jedna vrstva se vyhrazena pro zem a napajeni. Tato vrstva se +=== VIAs ===
-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. +
  
- +**For usual traces** 
-=== Prokovy === +  0.8 mm VIA’s diameter and 0.4 mm diameter for drilling
- +
-**Pro běžné cesty** +
-  0,8 mm průměr prokovu a 0,4 mm průměr vrtání+
      
-Pro silové cesty je potřeba zvětšit rozměry prokovudle přenášených proudůnebo zvýšit jejich počet.  +For power tracesthe dimensions of VIAs have to be enlarged depending on the currentsor their number have to be increased.  
      
      
-**Mez výroby** +**Limits of production** 
  
-  Min. okruží 0,1 mm (průměr prokovu průměr vrtání + 0,2 mm)+  Minimal circle (?? Okruží) size 0.1 mm (VIA’s diameter drilling diameter + 0.2 mm)
      
 V případech kde to není nutné nenavrhujeme na této mezi. Prodražuje cenu PCB. V případech kde to není nutné nenavrhujeme na této mezi. Prodražuje cenu PCB.
- 
  
 Texty v potisku modulu nesmí překrývat prokovy. (Jinak dojde k nečitelnosti potisku v místě prokovu) Texty v potisku modulu nesmí překrývat prokovy. (Jinak dojde k nečitelnosti potisku v místě prokovu)
  
  
-==== Konstrukční části ====+==== Construction parts ====
  
-Na moduly kde zbývá volné místo na plošném spoje je možné umístit plošky pro rezervní součástkyobvykle rezistory, nebo kondenzátory v pouzdru 0805Při vkládání součástekje vhodné použít dvojitý hřebínek, z něhož jedna řada bude vždy napájení Vcc, nebo zem GND a protilehlé piny povedou k rezervním součástkámViznapříklad modul [[http://www.mlab.cz/Modules/AVR/ATmegaTQ3201A/ATmegaTQ3201A_Top_Small.jpg|ATmegaTQ3201A]]. Zajímavou možností také jeplošný spoj v místě umístění rezervních součástek proděrovat, což umožní snadnou kontrolu jejich přítomnosti a navíc umožní i použití SMD LED. +When a module has some free space left of a PCBit is possible to place a spaces for backup components (usually resistors or condensers in 0850 encasement)During components fittingit is recommended to use double hřebínek (??) - one raw of pins will be connected  to power supply Vcc or ground GND and the opposite pins will lead to backup componentsas e.g [[http://www.mlab.cz/Modules/AVR/ATmegaTQ3201A/ATmegaTQ3201A_Top_Small.jpg|ATmegaTQ3201A]] moduleAn interesting possibility is to make holes in a PCB at the site of backup componentswhich will enable an easy control of their presence and furthermore will enable an use of SMD LED.
  
 === LED === === LED ===
  
-Indikační LED jsou na modulech ideálně navrhovány tak, aby svítily skrz plošný spoj na od základní desky odvrácenou stranuToho je dosaženo vsazením LED do díry v plošném spoji. Tento způsob montáže se označuje jako "reverse mount" a vyrabějí se pro něj i [[http://katalog.we-online.de/en/led/WL-SMRW/156120RS75000?sid=9ba7392491|speciální SMD svítivé diody]].  +Modules’ indicator LEDs are preferably designed in a way that they shine through the PCB onto the side turned away from the base boardIt can be achieved by placing a LED into a hole in a PCB - such kind of mounting is called “reverse mount” and there exist [[http://katalog.we-online.de/en/led/WL-SMRW/156120RS75000?sid=9ba7392491|special SMD diodes]] especially designed for it.
  
-Klasické THT LED s průchozími nožičkami se osazují s montážní podložkou, která usnadňuje osazování chrání led před zbytečným tepelným namáháním a ohybem. Montážní podložka mírně zvětší průměr základny LED s čímž je nutné počítat při návrhu plošného spoje+Classic THT LEDs with through feet (?? Led s průchozími nožičkami) are fitted together with an assembly washer (?? Montážní podložka) that makes the fitting easier and protects the LED against an unnecessary thermal stress and bending. The washer (??) slightly enlarges the diameter of the LEDbase - which must be taken into consideration during a PCB design.
  
-=== Krystaly ===+=== Crystals ===
  
-Pro krystaly v modulech MLAB bylo jako základní pouzdro zvoleno HC49/S, malý krystal s nožičkovými vývodyJe to z toho důvoduže může být umístěn na modulu z vrchní strany je vždy viditelná jeho frekvence. Konstruktér tak má během laborování s moduly vždy přehled o používaných frekvencích+As a basic case for crystals in MLAB modules, we have chosen HC49/S, a small through hole crystalA reason for this choice was that it can be placed on the top side of the module and its frequency is always visible. Therefore, a constructer always has a good overview about the frequencies used, when working with modules.
  
-{{:mlab_crystal.jpg?200|MLAB HC49/standardní krystal}}+{{:mlab_crystal.jpg?200|MLAB HC49/standard crystal}}
  
-Pro modulykde lze předpokládat občasnou výměnu krystalu za krystal s jinou frekvencí se na modulech osazuje speciální držák krystaludo kterého je možné po zkrácení nožiček krystal pohodlně zasunout kdykoli vyměnit za jiný+In case of moduleswhere we assume occasional exchanges of crystals for crystals with other frequencieswe fit them with special crystal holder. After shortening the legs, crystals can be comfortably inserted into the holder and thus replaced by another crystal any time.
  
-{{:mlab_crystal_holder.jpg?200|MLAB držák krystalu}}+{{:mlab_crystal_holder.jpg?200|MLAB crystal holder}}
  
  
-=== Rezervní pozice pro součástky ===+=== Backup positions for components ===
  
-Indikační LED mohou na modulech být v provedení SMD, nebo LED 3mm. SMD diody lze umisťovat i na spodní stranu desky přivrácenou k podkladové desceV takovém případě je ale vhodné do plošného spoje nad SMD LED navrhnout díru cca 1mm kterou bude SMD LED viditelná.+Modules’ indicator LEDs can be of SMD or LED 3 mm types. SMD diodes can be placed also on the bottom side of the board that is turned towards the base plateIn such case, it is recommended to design a hole of approximately 1 mm in diameter over the SMD LED, through which the LED will be visible.
  
-===== Potisk na modulech =====+===== Text / Legend printing on modules =====
  
-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+Modules’ printings should respect a general typographical rules in order for it to be readable even after an application of screen printing.
  
-==== Písmo ====+==== Font ====
  
-Na jednom modulu se může vyskytovat více velikostí písma, (obvykle na modulech stačí méně, než 3). Použivají se v pořadínázev modulupopiskyvýstrahyoznačení autoraRůzné velikosti se samozřejmě používají pouze v případechkdy je k tomu na modulu místoNa některých modulech je proto jenom jedna velikost písma podřízená čitelnosti rozměrům modulu.+One module can accommodate more font sizes (usually less than is necessary). They are used in a following ordername of the modulelegendwarningsauthor’s idDifferent sizes are of course used only in caseswhen there is enough space on the moduleSome modules have therefore only one font size - with respect to good readability and module’s size.
  
-=== Zarovnání ===+=== Alignment ===
  
-Signály se stejnou prioritou by měly mít na celém modulu jednotnou velikost písmaTaktéž by měla být sjednocena velikost a styl jednotlivých popisků u jednoho konektoru+Same priority signals should have the same font size across the whole moduleSize and style of individual legends should also united in case of one connector.
  
-Popisky jednotlivých signálů na hřebínku se zarovnávají ke konektoru, aby byla minimalizována možnost řádkové chyby při zapojování. 
  
-=== Velikosti Písma ===+Legend to individual signals on a pin should be aligned to connector in order to minimise a possibility of line error (?? Řádková chubs) when connecting.   
  
-Nejčastější používané velikosti písma jsou:+=== Font Sizes ===
  
-  Width 1,5 mm, Height 1,5mm, Thickness 0,3mm  - název modulu, důležité informace a popisky hřebínků +Most commonly used font sizes are as follows:
-  Width 1,3 mm, Height 1,3mm, Thickness 0,3mm  - popisky jednotlivých vývodů hřebínků+
  
-Velikost písma menší než 1,3 mm je problematická a je třeba ji používat pouze v opodstatněných případech+  Width 1.5 mmHeight 1.5mm, Thickness 0.3mm  - module name, important information and pins’ legends 
 +  Width 1.3 mm, Height 1.3mm, Thickness 0.3mm  - legend to an individual pin nails (??) popisky jednotlivých vývodů hřebínků
  
-Na některých malých modulech může vzniknout problém s délkou názvu moduluv takovém případě se název modulu zalamuje u verze modulunapříklad+Font sizes smaller than 1.3 mm is problematic and it should only be use when there is a very good reason for it. 
 + 
 +Some small modules might have a problem with length of their names - in such casesthe module’s name are wrapped to the next line at module versionfor example:
  
 {{:cs:isl2902001a_top_big.jpg?direct&300|}} {{:cs:isl2902001a_top_big.jpg?direct&300|}}
  
-ISL2902001A je celý název tohoto moduluavšak ten není možné na modul umístitproto je zalomen u verze jako ISL29020  01A.+ISL2902001A is the whole module’s name. Howeverit cannot be placed on the modulethat is why it is wrapped at the point of module’s version - ISL29020 and 01A 
 + 
 +==== QR codes ====
  
-==== QR kódy ==== +All sufficiently large modules should have a QR code placed on themIt contains module’identification and a link to a side with [[http://www.mlab.cz/PermaLink/|module's documentation permalink]]. QR is generated using a qrencode tool to <modul>/doc/img/<modul>_QRcode.png folder, for example: 
-Na všechny moduly které jsou dostatečně velké, aby na ně mohl být umístěn QR kódTen 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 "MODUL01A_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.+If you have used mlabgen for module generationQR code should already be created during the creation of the basic directory structure.
  
 <WRAP info round> <WRAP info round>
-Vhodnejší by pravděpodobně bylo použití [[http://www.qrcode.com/en/codes/microqr.html|micro QR kódů]]. Utilita qrencode je sice umí generovatNapř. "qrencode  --micro -v 4 -s 15 -l L "BATPOWER04C" -o "microQRcode.png"" ale ještě neexistuje vhodná čtečka do Androidukterá by je uměla číst.+It will probably be better to use [[http://www.qrcode.com/en/codes/microqr.html|micro QR codes]] qrencode utility is able to generate them (e.g. "qrencode  --micro -v 4 -s 15 -l L "BATPOWER04C" -o "microQRcode.png””). Howeverit still does not exist a suitable reader for Android that will be able to recognise them.
 </WRAP> </WRAP>
  
Line 314: Line 315:
 === PADS === === PADS ===
  
-Miho pro potřeby generování kódu do potisku plošného spoje vytvořil [[http://www.mlab.cz/~miho/QR/index.php|generátor QR kódů]], který generuje grafiku ve formátu ASC (Původně určeno pro Mentor Graphics PADS) Velikost QR kódů na plošných spojích zatím není sjednocenaPři generování kódů je výchozí velikost pro většinu plošných spojů příliš velkáMomentálně se vhodné nastavení musí vyzkoušet vhodné počáteční nastavení je např+In order to generate a code for PCB label, Miho created a [[http://www.mlab.cz/~miho/QR/index.php| QR codes generator]], which generates ASC formate graphics (originally intended for  Mentor Graphics PADS)
 +Size of QR codes on PCBs is so far not unifiedWhen generating codes, the default size is too large for most of PCBs. So far, an acceptable setting has to be tested , e.g.
  
   * PADS Size: 20   * PADS Size: 20
   * PADS Line Width: 2   * PADS Line Width: 2
  
-Vygenerovaný soubor je ve formě textu na spodní straně stránkyText je tak nutné ručně vložit do souboru s příponou asc. Po importování vygenerovaného obrázku do potisku plošného spoje je následně třeba nastavit atribut "solid copper" aby motiv byl kompletně vyplněn barvou.+The generated file is found at the bottom of the side as a textThe text has to be manually inserted into a file with asc. suffix. After importing the generated picture into a PCB’s printing, its attribute has to be set as “solid copper” so that the motive will be entirely filled in with colour
  
 === KiCAD === === KiCAD ===
  
-Obrázky QRkódů se do KiCAD  [[http://www.re-innovation.co.uk/web12/index.php/en/blog-75/230-adding-logo-to-kicad|převedou]] stejně jako logo. +QRcode pictures can be  [[http://www.re-innovation.co.uk/web12/index.php/en/blog-75/230-adding-logo-to-kicad|added]] to KiCAD in the same way as logo.
  
-===== Check list před výrobou =====+===== Check list before production =====
  
-  - zkontrolovat velikost spravnost pouzder +  - check if the encasements are right and of good size  
-  - Velikost plosek u konektoru a soucastek skrz desku.  +  - check the size of connector’s spaces (??ploška) and sizes of components that go through the board  
-  - velikost derkrystaly ledkyhrebinkypropojky, specialni soucastky. +  - check the sizes of holesLED crystalspins (hřebík??)jumpers (?? Propojka) or other special components  
-  - odmaskovani plošek, propojky +  - check the unmasking of (??) plošek and jumpers (??)  
-  - obrysy soucastek, oznaceni propojek. +  - check the components’ outlines and labelling of jumpers (??) 
-  - popiskynapis www.mlab.cz +  - check the labels and legends, www.mlab.cz title 
-  - Zkontrolovat, ze nejsou prokovy pod pismeny a znaky +  - check that the VIAs are not under letters and symbols 
-  - zkontrolovat QR kod a PermaLink.+  - check the QR code and PermaLink
  
  
-===== Struktura repozitáře MLABu =====+===== MLAB repository structure=====
  
  
-  * Projektová metadata - json +  * Project metadata - json 
-  * Commit message - začátek velké písmeno, slova jako added, fixed, removed, started, finished... +  * Commit message - begins with capital latter; uses words such as: added, fixed, removed, started, finished... 
  
-==== Jmenná konvence ====+==== Name convention ====
  
-bez_diakritiky_a_specialnich_znaku_mezery_nahrazeny_podtrzitkem_pouze_mala_pismena_strucne_a_srozumitelne+withouth_diacritic_and_special_cases_spaces_are_replaced_by_an_underscore_lowercase_letters_only_briefly_and_comprehensibly
  
  
  
-==== Adersářová struktura modulu ====+====  Modules’ directory structure ====
  
   MODUL01A/   MODUL01A/
en/rules.1549463297.txt.gz · Last modified: 2019/02/06 14:28 by fluktuacia