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> |