Rev Author Line No. Line
1920 kaklik 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
1921 kaklik 5 <title> Průvodce začátečníka </title>
1920 kaklik 6 <meta name="keywords" content="stavebnice 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 -->
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">
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>
13 <!-- AUTOINCLUDE END -->
14 </head>
15  
16 <body lang="cs">
17  
18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
19 <!-- ============== HLAVICKA ============== -->
20 <div class="Header">
21 <script type="text/javascript">
22 <!--
23 SetRelativePath("../../../../../");
24 DrawHeader();
25 // -->
26 </script>
27 <noscript>
28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
29 </noscript>
30 </div>
31 <!-- AUTOINCLUDE END -->
32  
33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== -->
35 <div class="Menu">
36 <script type="text/javascript">
37 <!--
38 SetRelativePath("../../../../../");
39 DrawMenu();
40 // -->
41 </script>
42 <noscript>
43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
44 </noscript>
45 </div>
46 <!-- AUTOINCLUDE END -->
47  
48 <!-- ============== TEXT ============== -->
49 <div class="Text">
50 <p class="Title">
51 Průvoce pro začátečníky - konstruktéry uživatele
52 </p>
53 <p class=Autor>
54 Jakub Kákona
55 </p>
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
58 konstrukcí z jeho modulů.
59 </p>
60  
61 <h1> Účel systému </h1>
62  
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
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ň
67 jeho design je takový, aby umožňoval využití co největšího množství jiných modulů.
68 </p>
69  
70  
71 <h2> Konstrukce zařízení </h2>
72  
73 <h3> Koncept </h3>
74  
75 <p>
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.
78 </p>
79  
80 <p>
81 <i>Příklad</i>
1921 kaklik 82 Potřebuji udělat vlastní elektronický teploměr. Vím, že chci:
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>
1920 kaklik 88 </p>
89  
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.
92 </p>
93  
94 <h3> Výběr modulů </h3>
95 <p>
1921 kaklik 96 Z blokového schéma tedy vidím, že hledám modul mikroprocesoru, LCD, napájení a snímače teploty. Projdu tedy
1920 kaklik 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ž
98 neexistuje něco se mnou požadovanou funkcí.
99 </p>
100  
1921 kaklik 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  
1920 kaklik 109 <h2> Mikroprocesory </h2>
110 <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
112 věnovat.
113 </p>
114  
115 <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
117 faktu, že tyto typy mikroprocesorů jsou jednoznačně nejpoužívanější.
118 </p>
119  
120 <h3> AVR </h3>
121 <p>
122 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
124 <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é
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
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
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
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.
130 </p>
131  
132 <h3> PIC </h3>
133 <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ě
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í,
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
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ší
138 periferie. Volnou alternativou je prostředí MPLAB udržované přímo výrobcem Microchip.
139 </p>
140  
141 <h3> ARM </h3>
142 <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
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).
145 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.
147 </p>
148  
1921 kaklik 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.
1920 kaklik 152  
1921 kaklik 153  
1920 kaklik 154 </div>
155  
156 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
157 <!-- ============== PATIČKA ============== -->
158 <div class="Footer">
159 <script type="text/javascript">
160 <!--
161 SetRelativePath("../../../../../");
162 DrawFooter();
163 // -->
164 </script>
165 <noscript>
166 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
167 </noscript>
168 </div>
169 <!-- AUTOINCLUDE END -->
170  
171 </body>
172 </html>