Rev 1921 Rev 1922
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>
-   94 <a href="thermometer.cs.png"
-   95 title="Blokové schéma příkladu teploměru">
-   96 <img width="687" height="163" src="thermometer.cs.png"
-   97 alt="Vyrobený plošný spoj"></a>
-   98 </p>
-   99  
93   100  
94 <h3> Výběr modulů </h3> 101 <h3> Výběr modulů </h3>
95 <p> 102 <p>
96 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
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ž 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ž
98 neexistuje něco se mnou požadovanou funkcí. 105 neexistuje něco se mnou požadovanou funkcí.
99 </p> 106 </p>
100   107  
101 <p> 108 <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" 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"
103 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
104 <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
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. 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.
106 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ší.
107 </p> 114 </p>
108   115  
109 <h2> Mikroprocesory </h2> 116 <h2> Mikroprocesory </h2>
110 <p> 117 <p>
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 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
112 věnovat. 119 věnovat.
113 </p> 120 </p>
114   121  
115 <p> 122 <p>
116 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
117 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější. 124 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější.
118 </p> 125 </p>
119   126  
120 <h3> AVR </h3> 127 <h3> AVR </h3>
121 <p> 128 <p>
122 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
123 dostupné zdarma přímo na stránkách výrobce ATMEL. Jde o klasického zástupce mikroprocesorové architektury 130 dostupné zdarma přímo na stránkách výrobce ATMEL. Jde o klasického zástupce mikroprocesorové architektury
124 <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
125 přímo řešit matematické 132 přímo řešit matematické
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 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
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 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
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 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
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. 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.
130 </p> 137 </p>
131   138  
132 <h3> PIC </h3> 139 <h3> PIC </h3>
133 <p> 140 <p>
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ě 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ě
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í, 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í,
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 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
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ší 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ší
138 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.
139 </p> 146 </p>
140   147  
141 <h3> ARM </h3> 148 <h3> ARM </h3>
142 <p> 149 <p>
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 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
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). 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).
145 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í
146 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.
147 </p> 154 </p>
148   155  
149 <h2> Propojení a programování </h2> 156 <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 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
151 PIC16F87xTQ4401B. Firmware naprogramuji v prostředí CCS C, které jsem si jako student s nedostatkem času koupil za sníženou cenu. 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.
-   160  
-   161 <h2> Publikujte </h2>
-   162 <p>
-   163 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
-   164 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).
-   165 Jejich vývojové prostředí je tak na mezi úrovní AVR a PIC existují tedy relativně kvalitní knihovny, avšak programovací
-   166 prostředí (i komerční) téměř výhradně používají volný kompilátor GNU gcc.
-   167 </p>
152   168  
153   169  
154 </div> 170 </div>
155   171  
156 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 172 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
157 <!-- ============== PATIČKA ============== --> 173 <!-- ============== PATIČKA ============== -->
158 <div class="Footer"> 174 <div class="Footer">
159 <script type="text/javascript"> 175 <script type="text/javascript">
160 <!-- 176 <!--
161 SetRelativePath("../../../../../"); 177 SetRelativePath("../../../../../");
162 DrawFooter(); 178 DrawFooter();
163 // --> 179 // -->
164 </script> 180 </script>
165 <noscript> 181 <noscript>
166 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 182 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
167 </noscript> 183 </noscript>
168 </div> 184 </div>
169 <!-- AUTOINCLUDE END --> 185 <!-- AUTOINCLUDE END -->
170   186  
171 </body> 187 </body>
172 </html> 188 </html>