Rev 1920 Rev 1921
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html> 2 <html>
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> Nástroje </title> 5 <title> Průvodce začátečníka </title>
6 <meta name="keywords" content="stavebnice MLAB používané nástroje"> 6 <meta name="keywords" content="stavebnice MLAB používané nástroje">
7 <meta name="description" content="Projekt MLAB, Používané nástroje"> 7 <meta name="description" content="Projekt MLAB, Používané nástroje">
8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> 8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> 9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"> 10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> 11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> 12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
13 <!-- AUTOINCLUDE END --> 13 <!-- AUTOINCLUDE END -->
14 </head> 14 </head>
15   15  
16 <body lang="cs"> 16 <body lang="cs">
17   17  
18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> 18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
19 <!-- ============== HLAVICKA ============== --> 19 <!-- ============== HLAVICKA ============== -->
20 <div class="Header"> 20 <div class="Header">
21 <script type="text/javascript"> 21 <script type="text/javascript">
22 <!-- 22 <!--
23 SetRelativePath("../../../../../"); 23 SetRelativePath("../../../../../");
24 DrawHeader(); 24 DrawHeader();
25 // --> 25 // -->
26 </script> 26 </script>
27 <noscript> 27 <noscript>
28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
29 </noscript> 29 </noscript>
30 </div> 30 </div>
31 <!-- AUTOINCLUDE END --> 31 <!-- AUTOINCLUDE END -->
32   32  
33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> 33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== --> 34 <!-- ============== MENU ============== -->
35 <div class="Menu"> 35 <div class="Menu">
36 <script type="text/javascript"> 36 <script type="text/javascript">
37 <!-- 37 <!--
38 SetRelativePath("../../../../../"); 38 SetRelativePath("../../../../../");
39 DrawMenu(); 39 DrawMenu();
40 // --> 40 // -->
41 </script> 41 </script>
42 <noscript> 42 <noscript>
43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> 43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
44 </noscript> 44 </noscript>
45 </div> 45 </div>
46 <!-- AUTOINCLUDE END --> 46 <!-- AUTOINCLUDE END -->
47   47  
48 <!-- ============== TEXT ============== --> 48 <!-- ============== TEXT ============== -->
49 <div class="Text"> 49 <div class="Text">
50 <p class="Title"> 50 <p class="Title">
51 Průvoce pro začátečníky - konstruktéry uživatele 51 Průvoce pro začátečníky - konstruktéry uživatele
52 </p> 52 </p>
53 <p class=Autor> 53 <p class=Autor>
54 Jakub Kákona 54 Jakub Kákona
55 </p> 55 </p>
56 <p class="Subtitle"> 56 <p class="Subtitle">
57 Na tomto místě najdete základní informace potřebné pro používání systému MLAB ve smyslu vytváření nových 57 Na tomto místě najdete základní informace potřebné pro používání systému MLAB ve smyslu vytváření nových
58 konstrukcí z jeho modulů. 58 konstrukcí z jeho modulů.
59 </p> 59 </p>
60   60  
61 <h1> Účel systému </h1> 61 <h1> Účel systému </h1>
62   62  
63 <p> 63 <p>
64 MLAB byl vymyšlen proto, aby svým uživatelům ušetřil práci s návrhem elektroniky pro jejich 64 MLAB byl vymyšlen proto, aby svým uživatelům ušetřil práci s návrhem elektroniky pro jejich
65 vlastní projekty. Vznikal tak, že opakující se části zařízení byly pečlivě transformovány na moduly. 65 vlastní projekty. Vznikal tak, že opakující se části zařízení byly pečlivě transformovány na moduly.
66 Od toho se odvíjí i způsob jakým je dokumentován. Neboť každý modul má svojí vlastní dokumentaci a zároveň 66 Od toho se odvíjí i způsob jakým je dokumentován. Neboť každý modul má svojí vlastní dokumentaci a zároveň
67 jeho design je takový, aby umožňoval využití co největšího množství jiných modulů. 67 jeho design je takový, aby umožňoval využití co největšího množství jiných modulů.
68 </p> 68 </p>
69   69  
70   70  
71 <h2> Konstrukce zařízení </h2> 71 <h2> Konstrukce zařízení </h2>
72   72  
73 <h3> Koncept </h3> 73 <h3> Koncept </h3>
74   74  
75 <p> 75 <p>
76 Pro použití stavebnice je tedy potřeba vědět, jaké moduly vybrat. Na to lze uplatnit poměrně jednoduchý 76 Pro použití stavebnice je tedy potřeba vědět, jaké moduly vybrat. Na to lze uplatnit poměrně jednoduchý
77 postup. Nejdříve je třeba si ujasnit, jaké funkce má vaše zařízení mít - sepište si je na papír. 77 postup. Nejdříve je třeba si ujasnit, jaké funkce má vaše zařízení mít - sepište si je na papír.
78 </p> 78 </p>
79   79  
80 <p> 80 <p>
81 <i>Příklad</i> 81 <i>Příklad</i>
82 Mám úžasný nápad, udělat si vlastní elektronický teploměr. Vím, že chci: 82 Potřebuji udělat vlastní elektronický teploměr. Vím, že chci:
83 <> měři 83 <ul>
-   84 <li>Měřit teplotu vzduchu v místnosti - v laboratoři</li>
-   85 <li>Naměřenou teplotu budu zobrazovat na display</li>
-   86 <li>Zařízení budu napájet z baterií</li>
-   87 </ul>
84 </p> 88 </p>
85   89  
86 <p> 90 <p>
87 Když si budete jistí, že už máte všechny, pokračujte tak, že si od zařízení nakreslíte blokové schéma. 91 Když si budete jistí, že už máte všechny, pokračujte tak, že si od zařízení nakreslíte blokové schéma.
88 </p> 92 </p>
89   93  
90 <h3> Výběr modulů </h3> 94 <h3> Výběr modulů </h3>
91 <p> 95 <p>
92 Z blokového schéma tedy vidím, že hledám modul mikroprocesoru, LCD, napájení a snímače teploty. Projdu tedy se 96 Z blokového schéma tedy vidím, že hledám modul mikroprocesoru, LCD, napájení a snímače teploty. Projdu tedy
93 <a href="/Server/GenIndex/GenIndex.php?lang=cs&path=/Modules" title="výpis modulů">seznam modulů</a> a podívám se, jestli již 97 <a href="/Server/GenIndex/GenIndex.php?lang=cs&path=/Modules" title="výpis modulů">seznam modulů</a> a podívám se, jestli již
94 neexistuje něco se mnou požadovanou funkcí. 98 neexistuje něco se mnou požadovanou funkcí.
95 </p> 99 </p>
96   100  
-   101 <p>
-   102 Vidím, že se zobrazením problém není. Mohu například použít <a href="/Modules/HumanInterfaces/LCD2L4P02A/DOC/HTML/LCD2L4P02A.cs.html"
-   103 title="výpis modulů">LCD2L4P02A</a>. Pro měření teploty mi sice žádný z modulů se senzory nevyhovuje, ale na
-   104 <a href="http://wiki.mlab.cz/" title="MLAB wiki">wiki</a> najdu, že měření teploty lze snadno realizovat připojením
-   105 <a href="http://wiki.mlab.cz/doku.php?id=cs:wire_sensors" title="MLAB wiki">vhodného čidla</a> přímo na modul mikroprocesoru.
-   106 Co se týká výběru samotného mikroprocesoru, je zde výběr již mnohem širší.
-   107 </p>
-   108  
97 <h2> Mikroprocesory </h2> 109 <h2> Mikroprocesory </h2>
98 <p> 110 <p>
99 Vzhledem k tomu, že dnes již téměř každé elektronické zařízení obsahuje v nějaké formě zabudovaný mikroprocesor, je vhodné se jim více 111 Vzhledem k tomu, že dnes již téměř každé elektronické zařízení obsahuje v nějaké formě zabudovaný mikroprocesor, je vhodné se jim více
100 věnovat. 112 věnovat.
101 </p> 113 </p>
102   114  
103 <p> 115 <p>
104 Momentálně ve stavebnici existují tři rodiny mikroprocesorů AVR (Atmel), PIC (Microchip) a ARM (ST). Tato situace je důsledkem prostého 116 Momentálně ve stavebnici existují tři rodiny mikroprocesorů AVR (Atmel), PIC (Microchip) a ARM (ST). Tato situace je důsledkem prostého
105 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější. 117 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější.
106 </p> 118 </p>
107   119  
108 <h3> AVR </h3> 120 <h3> AVR </h3>
109 <p> 121 <p>
110 Jde o velmi rozšířenou platformu zvláště mezi klasickými bastlíři, jelikož její hlavní vývojové prostředí (AVRStudio) je 122 Jde o velmi rozšířenou platformu zvláště mezi klasickými bastlíři, jelikož její hlavní vývojové prostředí (AVRStudio) je
111 dostupné zdarma přímo na stránkách výrobce ATMEL. Jde o klasického zástupce mikroprocesorové architektury 123 dostupné zdarma přímo na stránkách výrobce ATMEL. Jde o klasického zástupce mikroprocesorové architektury
112 <a href="http://cs.wikipedia.org/wiki/RISC" title="Wiki RISC">RISC</a> Mezi obecné vlastnosti těchto mikroprocesorů patří schopnost 124 <a href="http://cs.wikipedia.org/wiki/RISC" title="Wiki RISC">RISC</a> Mezi obecné vlastnosti těchto mikroprocesorů patří schopnost
113 přímo řešit matematické 125 přímo řešit matematické
114 operace jako násobení, dělení, mocnění. Za to je zaplaceno poněkud vyšší spotřebou. Velkou nevýhodou AVR je ale skutečnost, že 126 operace jako násobení, dělení, mocnění. Za to je zaplaceno poněkud vyšší spotřebou. Velkou nevýhodou AVR je ale skutečnost, že
115 jelikož k nim existuje právě pouze volné vývojové prostředí o které se Atmel nijak výrazněji nestará a neudržuje databázi 127 jelikož k nim existuje právě pouze volné vývojové prostředí o které se Atmel nijak výrazněji nestará a neudržuje databázi
116 knihoven, tak na internetu vznikají tisíce různých projektů, které jsou navzájem vývojově nekompatibilní právě díky použitým 128 knihoven, tak na internetu vznikají tisíce různých projektů, které jsou navzájem vývojově nekompatibilní právě díky použitým
117 knihovnám. Pro začátečníka tak může být velmi těžké udělat si pořádek v používaných nástrojích. 129 knihovnám. Pro začátečníka tak může být velmi těžké udělat si pořádek v používaných nástrojích.
118 </p> 130 </p>
119   131  
120 <h3> PIC </h3> 132 <h3> PIC </h3>
121 <p> 133 <p>
122 Tento typ má proti AVR ještě více redukovanou instrukční sadu, která je u každého konkrétního typu jiná a často proto neumí hardwarově 134 Tento typ má proti AVR ještě více redukovanou instrukční sadu, která je u každého konkrétního typu jiná a často proto neumí hardwarově
123 násobit a dělit. Ale na druhou stranu to umožňuje velmi výrazně snížit spotřebu mikroprocesoru. A jsou tak velmi vhodné pro zařízení, 135 násobit a dělit. Ale na druhou stranu to umožňuje velmi výrazně snížit spotřebu mikroprocesoru. A jsou tak velmi vhodné pro zařízení,
124 kde je kritická vlastní spotřeba. PIC mezi běžnými typy mikroprocesorů vyniká hlavně existencí velmi kvalitních komerčních vývojových 136 kde je kritická vlastní spotřeba. PIC mezi běžnými typy mikroprocesorů vyniká hlavně existencí velmi kvalitních komerčních vývojových
125 nástrojů, jakými je například CCS C compiler. Který má v sobě automaticky zabudovanou i širokou paletu knihoven pro nejrůznější 137 nástrojů, jakými je například CCS C compiler. Který má v sobě automaticky zabudovanou i širokou paletu knihoven pro nejrůznější
126 periferie. Volnou alternativou je prostředí MPLAB udržované přímo výrobcem Microchip. 138 periferie. Volnou alternativou je prostředí MPLAB udržované přímo výrobcem Microchip.
127 </p> 139 </p>
128   140  
129 <h3> ARM </h3> 141 <h3> ARM </h3>
130 <p> 142 <p>
131 Jde o velmi výkonné mikroprocesory pracující řádově na desítkách MHz a jejich spotřeba je vyšší než u předchozích dvou. Jejich 143 Jde o velmi výkonné mikroprocesory pracující řádově na desítkách MHz a jejich spotřeba je vyšší než u předchozích dvou. Jejich
132 hlavní výhodou je vysoký výpočetní výkon, který umožňuje zpracovávat relativně velké toky dat (například obraz z malé kamery). 144 hlavní výhodou je vysoký výpočetní výkon, který umožňuje zpracovávat relativně velké toky dat (například obraz z malé kamery).
133 Jejich vývojové prostředí je tak na mezi úrovní AVR a PIC existují tedy relativně kvalitní knihovny, avšak programovací 145 Jejich vývojové prostředí je tak na mezi úrovní AVR a PIC existují tedy relativně kvalitní knihovny, avšak programovací
134 prostředí (i komerční) téměř výhradně používají volný kompilátor GNU gcc. 146 prostředí (i komerční) téměř výhradně používají volný kompilátor GNU gcc.
135 </p> 147 </p>
136   148  
-   149 <h2> Propojení a programování </h2>
-   150 Díky tomu, že moje zařízení má být napájeno z baterií a nepotřebuje téměř žádný výpočetní výkon vyberu mikroprocesor PIC16F877 v modulu
-   151 PIC16F87xTQ4401B. Firmware naprogramuji v prostředí CCS C, které jsem si jako student s nedostatkem času koupil za sníženou cenu.
-   152  
137   153  
138 </div> 154 </div>
139   155  
140 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 156 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
141 <!-- ============== PATIČKA ============== --> 157 <!-- ============== PATIČKA ============== -->
142 <div class="Footer"> 158 <div class="Footer">
143 <script type="text/javascript"> 159 <script type="text/javascript">
144 <!-- 160 <!--
145 SetRelativePath("../../../../../"); 161 SetRelativePath("../../../../../");
146 DrawFooter(); 162 DrawFooter();
147 // --> 163 // -->
148 </script> 164 </script>
149 <noscript> 165 <noscript>
150 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 166 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
151 </noscript> 167 </noscript>
152 </div> 168 </div>
153 <!-- AUTOINCLUDE END --> 169 <!-- AUTOINCLUDE END -->
154   170  
155 </body> 171 </body>
156 </html> 172 </html>