Rev 1927 Rev 1929
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> Průvodce začátečníka </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 Potřebuji udělat vlastní elektronický teploměr. Vím, že chci: 82 Potřebuji udělat vlastní elektronický teploměr. Vím, že chci:
83 <ul> 83 <ul>
84 <li>Měřit teplotu vzduchu v místnosti - v laboratoři</li> 84 <li>Měřit teplotu vzduchu v místnosti - v laboratoři</li>
85 <li>Naměřenou teplotu budu zobrazovat na display</li> 85 <li>Naměřenou teplotu budu zobrazovat na display</li>
86 <li>Zařízení budu napájet z baterií</li> 86 <li>Zařízení budu napájet z baterií</li>
87 </ul> 87 </ul>
88 </p> 88 </p>
89   89  
90 <p> 90 <p>
91 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.
92 </p> 92 </p>
93 <p> 93 <p>
94 <a href="thermometer.cs.png" 94 <a href="thermometer.cs.png"
95 title="Blokové schéma příkladu teploměru"> 95 title="Blokové schéma příkladu teploměru">
96 <img width="687" height="163" src="thermometer.cs.png" 96 <img width="687" height="163" src="thermometer.cs.png"
97 alt="Vyrobený plošný spoj"></a> 97 alt="Vyrobený plošný spoj"></a>
98 </p> 98 </p>
99   99  
100   100  
101 <h3> Výběr modulů </h3> 101 <h3> Výběr modulů </h3>
102 <p> 102 <p>
103 Z blokového schéma tedy vidím, že hledám modul mikroprocesoru, LCD, napájení a snímače teploty. Projdu tedy 103 Z blokového schéma tedy vidím, že hledám modul mikroprocesoru, LCD, napájení a snímače teploty. Projdu tedy
104 <a href="/Server/GenIndex/GenIndex.php?lang=cs&path=/Modules" title="výpis modulů">seznam modulů</a> a podívám se, jestli již 104 <a href="/Server/GenIndex/GenIndex.php?lang=cs&path=/Modules" title="výpis modulů">seznam modulů</a> a podívám se, jestli již
105 neexistuje něco se mnou požadovanou funkcí. 105 neexistuje něco se mnou požadovanou funkcí.
106 </p> 106 </p>
107   107  
108 <p> 108 <p>
109 Vidím, že se zobrazením problém není. Mohu například použít <a href="/Modules/HumanInterfaces/LCD2L4P02A/DOC/HTML/LCD2L4P02A.cs.html" 109 Vidím, že se zobrazením problém není. Mohu například použít <a href="/Modules/HumanInterfaces/LCD2L4P02A/DOC/HTML/LCD2L4P02A.cs.html"
110 title="výpis modulů">LCD2L4P02A</a>. Pro měření teploty mi sice žádný z modulů se senzory nevyhovuje, ale na 110 title="výpis modulů">LCD2L4P02A</a>. Pro měření teploty mi sice žádný z modulů se senzory nevyhovuje, ale na
111 <a href="http://wiki.mlab.cz/" title="MLAB wiki">wiki</a> najdu, že měření teploty lze snadno realizovat připojením 111 <a href="http://wiki.mlab.cz/" title="MLAB wiki">wiki</a> najdu, že měření teploty lze snadno realizovat připojením
112 <a href="http://wiki.mlab.cz/doku.php?id=cs:wire_sensors" title="MLAB wiki">vhodného čidla</a> přímo na modul mikroprocesoru. 112 <a href="http://wiki.mlab.cz/doku.php?id=cs:wire_sensors" title="MLAB wiki">vhodného čidla</a> přímo na modul mikroprocesoru.
113 Co se týká výběru samotného mikroprocesoru, je zde výběr již mnohem širší. 113 Co se týká výběru samotného mikroprocesoru, je zde výběr již mnohem širší.
114 </p> 114 </p>
115   115  
116 <h2> Mikroprocesory </h2> 116 <h2> Mikroprocesory </h2>
117 <p> 117 <p>
118 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 118 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
119 věnovat. 119 věnovat.
120 </p> 120 </p>
121   121  
122 <p> 122 <p>
123 Momentálně ve stavebnici existují tři rodiny mikroprocesorů AVR (Atmel), PIC (Microchip) a ARM (ST). Tato situace je důsledkem prostého 123 Momentálně ve stavebnici existují tři rodiny mikroprocesorů AVR (Atmel), PIC (Microchip) a ARM (ST). Tato situace je důsledkem prostého
124 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější. 124 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější.
125 </p> 125 </p>
126   126  
127 <h3> AVR </h3> 127 <h3> AVR </h3>
128 <p> 128 <p>
129 Jde o velmi rozšířenou platformu zvláště mezi klasickými bastlíři, jelikož její hlavní vývojové prostředí (AVRStudio) je 129 Jde o velmi rozšířenou platformu zvláště mezi klasickými bastlíři, jelikož její hlavní vývojové prostředí (AVRStudio) je
130 dostupné zdarma přímo na stránkách výrobce <a href="http://www.atmel.com/" title="Web Atmelu">ATMEL</a>. Jde o klasického zástupce mikroprocesorové architektury 130 dostupné zdarma přímo na stránkách výrobce <a href="http://www.atmel.com/" title="Web Atmelu">ATMEL</a>. Jde o klasického zástupce mikroprocesorové architektury
131 <a href="http://cs.wikipedia.org/wiki/RISC" title="Wiki RISC">RISC</a> Mezi obecné vlastnosti těchto mikroprocesorů patří schopnost 131 <a href="http://cs.wikipedia.org/wiki/RISC" title="Wiki RISC">RISC</a> Mezi obecné vlastnosti těchto mikroprocesorů patří schopnost
132 přímo řešit matematické 132 přímo řešit matematické
133 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 133 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
134 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 134 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
135 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 135 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
136 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. 136 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.
137 </p> 137 </p>
138   138  
139 <h3> PIC </h3> 139 <h3> PIC </h3>
140 <p> 140 <p>
141 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ě 141 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ě
142 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í, 142 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í,
143 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 143 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
144 nástrojů, jakými je například CCS C compiler. Který má v sobě automaticky zabudovanou i širokou paletu knihoven pro nejrůznější 144 nástrojů, jakými je například CCS C compiler. Který má v sobě automaticky zabudovanou i širokou paletu knihoven pro nejrůznější
145 periferie. Volnou alternativou je prostředí MPLAB udržované přímo výrobcem Microchip. 145 periferie. Volnou alternativou je prostředí MPLAB udržované přímo výrobcem Microchip.
146 </p> 146 </p>
147   147  
148 <h3> ARM </h3> 148 <h3> ARM </h3>
149 <p> 149 <p>
150 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 150 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
151 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). 151 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).
152 Jejich vývojové prostředí je tak na mezi úrovní AVR a PIC existují tedy relativně kvalitní knihovny, avšak programovací 152 Jejich vývojové prostředí je tak na mezi úrovní AVR a PIC existují tedy relativně kvalitní knihovny, avšak programovací
153 prostředí (i komerční) téměř výhradně používají volný kompilátor GNU gcc. 153 prostředí (i komerční) téměř výhradně používají volný kompilátor GNU gcc.
154 </p> 154 </p>
155   155  
156 <h2> Propojení a programování </h2> 156 <h2> Propojení a programování </h2>
157 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 157 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 PIC16F887 v modulu
158 PIC16F87xTQ4401B. Firmware naprogramuji v prostředí CCS C, které jsem si jako student s nedostatkem času pro dokončení projektu koupil (škola mi koupila) za 158 PIC16F87xTQ4401B. Firmware naprogramuji v prostředí CCS C, které jsem si jako student s nedostatkem času pro dokončení projektu koupil (škola mi koupila) za
159 sníženou cenu. 159 sníženou cenu.
160   160  
161 <h2> Publikujte </h2> 161 <h2> Publikujte </h2>
162 <p> 162 <p>
163 Posledním důležitým krokem je se o novou konstrukci podělit s ostatními. 163 Posledním důležitým krokem je se o novou konstrukci podělit s ostatními.
164 </p> 164 </p>
165   165  
166   166  
167 </div> 167 </div>
168   168  
169 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 169 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
170 <!-- ============== PATIČKA ============== --> 170 <!-- ============== PATIČKA ============== -->
171 <div class="Footer"> 171 <div class="Footer">
172 <script type="text/javascript"> 172 <script type="text/javascript">
173 <!-- 173 <!--
174 SetRelativePath("../../../../../"); 174 SetRelativePath("../../../../../");
175 DrawFooter(); 175 DrawFooter();
176 // --> 176 // -->
177 </script> 177 </script>
178 <noscript> 178 <noscript>
179 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 179 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
180 </noscript> 180 </noscript>
181 </div> 181 </div>
182 <!-- AUTOINCLUDE END --> 182 <!-- AUTOINCLUDE END -->
183   183  
184 </body> 184 </body>
185 </html> 185 </html>