1391 |
miho |
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"> |
|
|
5 |
<title> IRFEE01A </title> |
|
|
6 |
<meta name="keywords" content="stavebnice MLAB univerzální moduly infračervený detektor infrared tykadlo"> |
|
|
7 |
<meta name="description" content="Projekt MLAB, Infračervný detektor překážek pro robota"> |
|
|
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 |
Infračervené tykadlo pro robota |
|
|
52 |
</p> |
|
|
53 |
<p class=Autor> |
|
|
54 |
Milan Horkel |
|
|
55 |
</p> |
|
|
56 |
<p class="Subtitle"> |
|
|
57 |
Čidlo využívá modulované infračervené záření pro bezdotykovou detekci |
|
|
58 |
předmětů. Je určeno zejména pro menší pohyblivé roboty jako náhrada |
|
|
59 |
mechanických tykadel. Jádrem čidla je procesor řady ATtiny a přijímač |
|
|
60 |
Ir pro dálkové ovládání. Modulace a průměrování signálu zajišťuje |
|
|
61 |
zvýšenou odolnost proti rušení. |
|
|
62 |
</p> |
|
|
63 |
<p class="Subtitle"> |
1392 |
miho |
64 |
<img width="327" height="105" src="IRFEE01A_Files/image001.jpg" |
1391 |
miho |
65 |
alt="Pohled na čidlo zhora"> |
|
|
66 |
</p> |
|
|
67 |
<p class="Subtitle"> |
1392 |
miho |
68 |
<img width="328" height="162" src="IRFEE01A_Files/image002.jpg" |
1391 |
miho |
69 |
alt="Pohled na čidlo ze strany"> |
|
|
70 |
</p> |
|
|
71 |
<p> |
|
|
72 |
<a href="../IRFEE01A.cs.pdf"><img class="NoBorder" |
|
|
73 |
src="../../../../../Web/PIC/FileIco_PDF.ico" |
|
|
74 |
alt="Acrobat"> PDF verze</a> |
|
|
75 |
</p> |
|
|
76 |
|
|
|
77 |
<h1>Technické parametry </h1> |
|
|
78 |
|
|
|
79 |
<table> |
|
|
80 |
<tr> |
|
|
81 |
<th> Parametr </th> |
|
|
82 |
<th> Hodnota </th> |
|
|
83 |
<th> Poznámka </th> |
|
|
84 |
</tr> |
|
|
85 |
<tr> |
|
|
86 |
<td> Napájení </td> |
|
|
87 |
<td> (2.7V ..) 3.6V .. 5V (.. 5.5V) </td> |
|
|
88 |
<td> Zkontrolujte požadavky U1 a U2 </td> |
|
|
89 |
</tr> |
|
|
90 |
<tr> |
|
|
91 |
<td> Spotřeba </td> |
|
|
92 |
<td> 10mA / 15mA </td> |
|
|
93 |
<td> Při 5V v klidu a při detekci </td> |
|
|
94 |
</tr> |
|
|
95 |
<tr> |
|
|
96 |
<td> Nosný kmitočet </td> |
|
|
97 |
<td> 38kHz </td> |
|
|
98 |
<td> Obvyklé hodnoty: 30, 33, 36, 38, 40, 56kHz </td> |
|
|
99 |
</tr> |
|
|
100 |
<tr> |
|
|
101 |
<td> Dosah </td> |
|
|
102 |
<td> Cca 1m </td> |
|
|
103 |
<td> Bez stínítka proti listu papíru A4 </td> |
|
|
104 |
</tr> |
|
|
105 |
<tr> |
|
|
106 |
<td> Rychlost odezvy </td> |
|
|
107 |
<td> 20ms / 15ms </td> |
|
|
108 |
<td> Aktivace a deaktivace </td> |
|
|
109 |
</tr> |
|
|
110 |
<tr> |
|
|
111 |
<td> Rozměry </td> |
|
|
112 |
<td> 35 x 15 x 15mm </td> |
|
|
113 |
<td> Bez stínítka </td> |
|
|
114 |
</tr> |
|
|
115 |
</table> |
|
|
116 |
|
|
|
117 |
<h1> Popis konstrukce </h1> |
|
|
118 |
|
|
|
119 |
<h2> Úvodem </h2> |
|
|
120 |
|
|
|
121 |
<p> |
|
|
122 |
Aby mohl robot detekovat překážku aniž do ní narazí, potřebuje vhodné |
|
|
123 |
čidlo. Tato konstrukce popisuje čidlo, které využívá odrazu |
|
|
124 |
infračerveného záření od překážky. |
|
|
125 |
</p> |
|
|
126 |
|
|
|
127 |
<h2> Zapojení modulu </h2> |
|
|
128 |
|
|
|
129 |
<p> |
1397 |
miho |
130 |
Srdcem čidla je obvod U1, přijímač infračerveného signálu a procesor |
|
|
131 |
ATtiny U2, který zajišťuje inteligenci čidla. |
1391 |
miho |
132 |
</p> |
|
|
133 |
|
|
|
134 |
<p> |
1392 |
miho |
135 |
<img width="588" height="396" src="IRFEE01A_Files/image003.png" |
1391 |
miho |
136 |
alt="Schéma zapojení čidla"> |
|
|
137 |
</p> |
|
|
138 |
|
|
|
139 |
<p> |
|
|
140 |
Infračervená dioda D2 vysílá modulovaný signál směrem k překážce. |
|
|
141 |
Signál se od překážky odráží do přijímače U1. Procesor U2 generuje |
|
|
142 |
vysílací signál pro diodu D2 a současně analyzuje přijímaný signál |
|
|
143 |
z přijímače U1. Pokud se přijímaný signál <i>dostatečně</i> |
|
|
144 |
shoduje s vysílaným signálem, je aktivován výstupní signál na |
|
|
145 |
výstupu J2 a rozsvítí se indikační dioda D3. |
|
|
146 |
</p> |
|
|
147 |
|
|
|
148 |
<p> |
|
|
149 |
R1 a C1 filtruje napájení pro přijímač infračerveného signálu U1, dioda |
|
|
150 |
D1 je ochranná proti nechtěnému přepólování čidla. Čidlo je vybaveno |
|
|
151 |
jedním upevňovacím šroubem. |
|
|
152 |
</p> |
|
|
153 |
|
|
|
154 |
<p> |
|
|
155 |
Konektor J3 je standardní programovací konektor ATMEL ISP 6 PIN. Je |
|
|
156 |
zapojen obvyklým způsobem. Do procesoru se musí nahrát ovládací program |
|
|
157 |
přeložený pro příslušný nosný kmitočet použitého přijímače U1. Kmitočet |
1397 |
miho |
158 |
přijímače bývá uváděn v posledním dvojčíslí označení, například 38 |
|
|
159 |
znamená 38kHz. |
1391 |
miho |
160 |
</p> |
|
|
161 |
|
|
|
162 |
<h2> Přijímač IR (obvod U1) </h2> |
|
|
163 |
|
|
|
164 |
<p> |
|
|
165 |
Tyto obvody jsou vyráběny pro přijímače dálkového ovládání rádií, |
|
|
166 |
televizí a dalších komponent spotřební elektroniky. |
|
|
167 |
</p> |
|
|
168 |
|
|
|
169 |
<p> |
1392 |
miho |
170 |
<img width="386" height="195" src="IRFEE01A_Files/image004.png" |
1391 |
miho |
171 |
alt="Blokové schéma IR přijímače"> |
|
|
172 |
</p> |
|
|
173 |
|
|
|
174 |
<p> |
|
|
175 |
Sdružují v sobě přijímací fotodiodu, selektivní zesilovač |
|
|
176 |
s proměnným ziskem a obvody pro demodulování signálu. Aby čidlo |
|
|
177 |
fungovalo nezávisle na okolním osvětlení, je jeho pouzdro z černé |
|
|
178 |
hmoty, která propouští je vybranou vlnovou délku infračerveného záření. |
|
|
179 |
</p> |
|
|
180 |
|
|
|
181 |
<p> |
1392 |
miho |
182 |
<img width="222" height="212" src="IRFEE01A_Files/image005.png" |
1391 |
miho |
183 |
alt="Závislost citlivosti na vlnové délce záření"> |
|
|
184 |
</p> |
|
|
185 |
|
|
|
186 |
<p> |
|
|
187 |
Dálkové ovládání používá spoustu přenosových kódů, ale drtivá většina |
|
|
188 |
je založena na vysílání pulsů nosné frekvence řádu 30 až 50kHz. |
|
|
189 |
Nejkratší přenesený impuls musí obsahovat alespoň 10 period nosného |
|
|
190 |
kmitočtu. Pro optimální fungování přijímače je doporučeno, aby |
|
|
191 |
přenášené impulsy byly dlouhé mezi 10 a 70 periodami nosného kmitočtu. |
|
|
192 |
</p> |
|
|
193 |
|
|
|
194 |
<p> |
1392 |
miho |
195 |
<img width="362" height="158" src="IRFEE01A_Files/image006.png" |
1391 |
miho |
196 |
alt="Testovací signál"> |
|
|
197 |
</p> |
|
|
198 |
|
|
|
199 |
<p> |
|
|
200 |
Čidla se vyrábějí pro různé frekvence nosného kmitočtu a mohou být lépe |
|
|
201 |
nebo méně přizpůsobené pro použití konkrétního přenosového protokolu |
|
|
202 |
(jedná se o kompromis mezi odolností vůči rušení a parametry |
|
|
203 |
jednotlivých kódů). <i>Je třeba dát pozor na zapojení vývodů, existují |
|
|
204 |
i typy, které mají prohozené napájecí vývody.</i> |
|
|
205 |
</p> |
|
|
206 |
|
|
|
207 |
<h2> Jaký použít IR přijímač? </h2> |
|
|
208 |
|
|
|
209 |
<p> |
|
|
210 |
Zdánlivě prostá otázka skrývá velkou záludnost. Záludnost spočívá |
|
|
211 |
v tom, že některé přijímače IR signálu fungují dobře, jiné |
|
|
212 |
mizerně. Platí zde že méně inteligence může být lépe. |
|
|
213 |
</p> |
|
|
214 |
|
|
|
215 |
<h3> TSOP34838 – špatná volba </h3> |
|
|
216 |
|
|
|
217 |
<p> |
1397 |
miho |
218 |
Konkrétně přijímač TSOP348xx funguje tak, že s tím, jak se signál |
1391 |
miho |
219 |
zeslabuje zvyšuje svou citlivost až nakonec signál ztratí. Jenže pak je |
|
|
220 |
třeba signál hodně zesílit, aby ho přijímač zase začal registrovat. |
|
|
221 |
</p> |
|
|
222 |
|
|
|
223 |
<p> |
|
|
224 |
V praxi to pak vypadá tak, že čidlo nic nevidí dokud se překážka |
|
|
225 |
velmi nepřiblíží a pak ji vidí dokud se velmi nevzdálí. Pro náš účel je |
|
|
226 |
tato řada IR přijímačů nepoužitelná. |
|
|
227 |
</p> |
|
|
228 |
|
|
|
229 |
<h3> Jaký přijímač tedy použít? </h3> |
|
|
230 |
|
|
|
231 |
<p> |
1397 |
miho |
232 |
Přijímače OSRAM řady SFH5110-xx pracují správně. Překážku čidlo |
|
|
233 |
zaregistruje a zase ztratí v prakticky stejné vzdálenosti. Další |
|
|
234 |
typy je třeba ověřit. |
1391 |
miho |
235 |
</p> |
|
|
236 |
|
|
|
237 |
<table> |
|
|
238 |
<tr> |
|
|
239 |
<th> Přijímač </th> |
|
|
240 |
<th> Výrobce </th> |
|
|
241 |
<th> Poznámka </th> |
|
|
242 |
</tr> |
|
|
243 |
<tr> |
1397 |
miho |
244 |
<td> TSOP348xx </td> |
|
|
245 |
<td> VISHAY </td> |
1391 |
miho |
246 |
<td> Má obrovskou hysterezi mezi zachycením signálu a jeho ztrátou </td> |
|
|
247 |
</tr> |
|
|
248 |
<tr> |
1397 |
miho |
249 |
<td> SFH5110-33 <br> |
|
|
250 |
SFH5110-36 <br> |
|
|
251 |
SFH5110-38 <br> |
|
|
252 |
SFH5110-40 </td> |
|
|
253 |
<td> OSRAM </td> |
1391 |
miho |
254 |
<td> Funguje výborně </td> |
|
|
255 |
</tr> |
|
|
256 |
</table> |
1397 |
miho |
257 |
|
1391 |
miho |
258 |
<h2> Inteligence čidla </h2> |
|
|
259 |
|
|
|
260 |
<p> |
|
|
261 |
Pro detekci překážky by stačilo použít střídavý signál o vhodném |
|
|
262 |
kmitočtu a přímo výstup IR přijímače. Takové řešení ale není příliš |
|
|
263 |
odolné proti rušení, a kromě toho stejně potřebujeme nějaký obvod pro |
|
|
264 |
generování nosného kmitočtu. Proto bylo zvoleno řešení s malým |
|
|
265 |
procesorem, který generuje signál a současně ho i vyhodnocuje. |
|
|
266 |
</p> |
|
|
267 |
|
|
|
268 |
<p> |
|
|
269 |
Vysílá se signál v podobě nepřetržité řady jedniček a nul. |
|
|
270 |
Jednička je představována 10 impulsy nosného kmitočtu a nula stejně |
|
|
271 |
dlouhou mezerou, během které se nevysílá žádné záření. Průběh je na |
|
|
272 |
obrázku ve stopě 1. |
|
|
273 |
</p> |
|
|
274 |
|
|
|
275 |
<p> |
1392 |
miho |
276 |
<img width="320" height="240" src="IRFEE01A_Files/image007.png" |
1391 |
miho |
277 |
alt="Průběh vysílaného a přijímaného signálu"> |
|
|
278 |
</p> |
|
|
279 |
|
|
|
280 |
<p> |
|
|
281 |
Ve stopě 2 je signál na výstupu IR přijímače U1. Stav L indikuje |
|
|
282 |
detekovaný optický signál. Detekovaný signál na přijímači je „rozpitý“, |
|
|
283 |
protože přijímač potřebuje cca 6 až 10 period signálu pro vyhodnocení a |
|
|
284 |
změnu stavu. Na obrázku vidíme asi 10 sekund aktivity zaznamenané přes |
|
|
285 |
sebe. |
|
|
286 |
</p> |
|
|
287 |
|
|
|
288 |
<p> |
|
|
289 |
Vyhodnocování procesor provádí tak, že testuje, zda přijímač zachytil |
|
|
290 |
kombinaci 10 a pokud ano, zvýší počítadlo úspěšných detekcí. Jakmile |
|
|
291 |
toto počítadlo přeroste aktivační mez, nastaví výstup čidla do stavu H. |
|
|
292 |
Pokud se místo očekávané kombinace 10 přijme cokoli jiného, sníží se |
|
|
293 |
počítadlo. Jakmile počítadlo poklesne pod nulu, výstup čidla se |
|
|
294 |
překlopí do neaktivního stavu L. Obrázek ukazuje máchnutí rukou před |
|
|
295 |
čidlem, odezva 20ms pro zapnutí a 15ms pro vypnutí. |
|
|
296 |
</p> |
|
|
297 |
|
|
|
298 |
<p> |
1392 |
miho |
299 |
<img width="320" height="240" src="IRFEE01A_Files/image008.png" |
1391 |
miho |
300 |
alt="Odezva čidla na máchnutí rukou"> |
|
|
301 |
</p> |
|
|
302 |
|
|
|
303 |
<p> |
|
|
304 |
Toto poměrně jednoduché řešení vede k solidní odolnosti vůči |
|
|
305 |
rušení. Ani ovladač od televize z bezprostřední blízkosti |
|
|
306 |
neovlivňuje funkci čidla. |
|
|
307 |
</p> |
|
|
308 |
|
|
|
309 |
<h2> Mechanická konstrukce </h2> |
|
|
310 |
|
|
|
311 |
<p> |
|
|
312 |
Předpokládá se, že čidlo bude připevněno na přední část robotu nebo na |
|
|
313 |
nějaký drátový nebo plechový tvarovatelný nosník. Je proto opatřeno 1 |
|
|
314 |
upevňovacím šroubem. Vysílací dioda a přijímací obvod na sebe nesmějí |
|
|
315 |
vidět a je nutné tyto komponenty doplnit vhodně tvarovanými stínítky |
|
|
316 |
tak, aby čidlo detekovalo překážky dle potřeby. Přijímač je velmi |
|
|
317 |
citlivý a vidí vysílací LED i tehdy, kdyby to člověk neřekl (například |
|
|
318 |
zezadu). Stínítko lze udělat například z černé smršťovací bužírky. |
|
|
319 |
</p> |
|
|
320 |
|
|
|
321 |
<p> |
|
|
322 |
Vysílací IR LED lze osadit jak shora desky, tak i ze spodní strany. |
|
|
323 |
V případě potřeby je možné LED umístit dál od desky a vhodně |
|
|
324 |
nasměrovat. |
|
|
325 |
</p> |
|
|
326 |
|
|
|
327 |
<h1> Osazení a oživení </h1> |
|
|
328 |
|
|
|
329 |
<h2> Osazení </h2> |
|
|
330 |
|
|
|
331 |
<p> |
1392 |
miho |
332 |
<img width="567" height="241" src="IRFEE01A_Files/image010.jpg" |
1391 |
miho |
333 |
alt="Osazovací výkres, strana součástek"> |
|
|
334 |
</p> |
|
|
335 |
|
|
|
336 |
<p> |
1392 |
miho |
337 |
<img width="563" height="240" src="IRFEE01A_Files/image011.jpg" |
1391 |
miho |
338 |
alt="Osazovací výkres, strana spojů"> |
|
|
339 |
</p> |
|
|
340 |
|
|
|
341 |
<table class="Soupiska"> |
|
|
342 |
<tr> |
|
|
343 |
<th> Počet </th> |
|
|
344 |
<th> Reference </th> |
|
|
345 |
<th> Název </th> |
|
|
346 |
<th> Pouzdro </th> |
|
|
347 |
</tr> |
|
|
348 |
<tr> |
|
|
349 |
<th colspan="4"> Odpory </th> |
|
|
350 |
</tr> |
|
|
351 |
<tr> |
|
|
352 |
<td> 1 </td> |
|
|
353 |
<td> R1 </td> |
|
|
354 |
<td> 100 </td> |
|
|
355 |
<td> R0805 </td> |
|
|
356 |
</tr> |
|
|
357 |
<tr> |
|
|
358 |
<td> 1 </td> |
|
|
359 |
<td> R2 </td> |
|
|
360 |
<td> 330 </td> |
|
|
361 |
<td> R0805 </td> |
|
|
362 |
</tr> |
|
|
363 |
<tr> |
|
|
364 |
<td> 1 </td> |
|
|
365 |
<td> R3 </td> |
|
|
366 |
<td> 680 </td> |
|
|
367 |
<td> R0805 </td> |
|
|
368 |
</tr> |
|
|
369 |
<tr> |
|
|
370 |
<td> 1 </td> |
|
|
371 |
<td> R4 </td> |
|
|
372 |
<td> 10k </td> |
|
|
373 |
<td> R0805 </td> |
|
|
374 |
</tr> |
|
|
375 |
<tr> |
|
|
376 |
<th colspan="4"> Keramické kondenzátory </th> |
|
|
377 |
</tr> |
|
|
378 |
<tr> |
|
|
379 |
<td> 2 </td> |
|
|
380 |
<td> C1, C2 </td> |
|
|
381 |
<td> 4u7/6.3V </td> |
|
|
382 |
<td> C0805 </td> |
|
|
383 |
</tr> |
|
|
384 |
<tr> |
|
|
385 |
<th colspan="4"> Diody </th> |
|
|
386 |
</tr> |
|
|
387 |
<tr> |
|
|
388 |
<td> 1 </td> |
|
|
389 |
<td> D1 </td> |
|
|
390 |
<td> 1N4007SMD </td> |
|
|
391 |
<td> MELF </td> |
|
|
392 |
</tr> |
|
|
393 |
<tr> |
|
|
394 |
<th colspan="4"> LED </th> |
|
|
395 |
</tr> |
|
|
396 |
<tr> |
|
|
397 |
<td> 1 </td> |
|
|
398 |
<td> D2 </td> |
|
|
399 |
<td> L-53F3BT </td> |
|
|
400 |
<td> LED5 </td> |
|
|
401 |
</tr> |
|
|
402 |
<tr> |
|
|
403 |
<td> 1 </td> |
|
|
404 |
<td> D3 </td> |
|
|
405 |
<td> LED_RED_5mm </td> |
|
|
406 |
<td> LED5 </td> |
|
|
407 |
</tr> |
|
|
408 |
<tr> |
|
|
409 |
<th colspan="4"> Integrované obvody </th> |
|
|
410 |
</tr> |
|
|
411 |
<tr> |
|
|
412 |
<td> 1 </td> |
|
|
413 |
<td> U1 </td> |
|
|
414 |
<td> IR_RECEIVER (viz text) </td> |
|
|
415 |
<td> TSOP348xx </td> |
|
|
416 |
</tr> |
|
|
417 |
<tr> |
|
|
418 |
<td> 1 </td> |
|
|
419 |
<td> U2 </td> |
|
|
420 |
<td> ATtiny13-20SU </td> |
|
|
421 |
<td> SO8_210 </td> |
|
|
422 |
</tr> |
|
|
423 |
<tr> |
|
|
424 |
<th colspan="4"> Mechanické součástky </th> |
|
|
425 |
</tr> |
|
|
426 |
<tr> |
|
|
427 |
<td> 1 </td> |
|
|
428 |
<td> J1 </td> |
|
|
429 |
<td> JUMP3 </td> |
|
|
430 |
<td> JUMP3 </td> |
|
|
431 |
</tr> |
|
|
432 |
<tr> |
|
|
433 |
<td> 1 </td> |
|
|
434 |
<td> J2 </td> |
|
|
435 |
<td> JUMP1 </td> |
|
|
436 |
<td> JUMP1 </td> |
|
|
437 |
</tr> |
|
|
438 |
<tr> |
|
|
439 |
<td> 1 </td> |
|
|
440 |
<td> J3 </td> |
|
|
441 |
<td> JUMP2x3 </td> |
|
|
442 |
<td> JUMP2x3/B </td> |
|
|
443 |
</tr> |
|
|
444 |
</table> |
|
|
445 |
|
|
|
446 |
<p> |
1392 |
miho |
447 |
<img width="328" height="147" src="IRFEE01A_Files/image009.jpg" |
1391 |
miho |
448 |
alt="Obrázek osazené desky ze strany spojů"> |
|
|
449 |
</p> |
|
|
450 |
|
|
|
451 |
<h2> Oživení a kalibrace </h2> |
|
|
452 |
|
|
|
453 |
<p> |
|
|
454 |
Oživení spočívá v naprogramování řídícího programu do procesoru. |
|
|
455 |
Je třeba použít program, který generuje vysílací signál o stejné |
|
|
456 |
frekvenci, na jakou je naladěn přijímací obvod. Hodnoty pro |
|
|
457 |
naprogramování konfiguračních buněk procesoru jsou uvedeny na začátku |
|
|
458 |
zdrojového kódu. |
|
|
459 |
</p> |
|
|
460 |
|
|
|
461 |
<h1> Programové vybavení </h1> |
|
|
462 |
|
|
|
463 |
<h2> Popis programu </h2> |
|
|
464 |
|
|
|
465 |
<p> |
|
|
466 |
Pro generování budícího signálu vysílací IR diody se využívá časovač |
|
|
467 |
v režimu CTC. Časovač opakovaně čítá od 0 do horní meze, která je |
|
|
468 |
nastavena v registru OCR0A. Touto konstantou je dána frekvence |
|
|
469 |
generovaného signálu. |
|
|
470 |
</p> |
|
|
471 |
|
|
|
472 |
<p> |
|
|
473 |
Při každém dosažení horní meze časovače se automaticky neguje výstup |
|
|
474 |
PB1, na který je připojena vysílací dioda. Současně se vyvolá |
|
|
475 |
podprogram pro obsluhu přerušení, který čítá počet půlperiod vysílaného |
|
|
476 |
signálu. Pokud se má vysílat tma (nazvěme stav 0), vše probíhá stejně, |
|
|
477 |
jen se výstupní stav PB1 nemění. |
|
|
478 |
</p> |
|
|
479 |
|
|
|
480 |
<p> |
|
|
481 |
Po vyslání nastaveného počtu period signálu (konstanta SYMBOL_LENGTH) |
|
|
482 |
se střídá vysílání stavu 0 a 1 (střídavý signál a tma) a současně se |
|
|
483 |
vyhodnocuje, zda se přijímaný signál shoduje s vysílaným. |
|
|
484 |
Vyhodnocování se provádí po dvojici 0/1. |
|
|
485 |
</p> |
|
|
486 |
|
|
|
487 |
<p> |
|
|
488 |
Hlavní program obsahuje inicializační část a prázdnou nekonečnou |
|
|
489 |
smyčku. Za běhu se vše vyřizuje v podprogramu obsluhy přerušení od |
|
|
490 |
časovače. |
|
|
491 |
</p> |
|
|
492 |
|
|
|
493 |
<h2> Překlad programu </h2> |
|
|
494 |
|
|
|
495 |
<p> |
|
|
496 |
Pro překlad je připravený Makefile, který přeloží program |
|
|
497 |
s nastavením pro vyjmenované nosné kmitočty. |
|
|
498 |
</p> |
|
|
499 |
</div> |
|
|
500 |
|
|
|
501 |
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
|
|
502 |
<!-- ============== PATIČKA ============== --> |
|
|
503 |
<div class="Footer"> |
|
|
504 |
<script type="text/javascript"> |
|
|
505 |
<!-- |
|
|
506 |
SetRelativePath("../../../../../"); |
|
|
507 |
DrawFooter(); |
|
|
508 |
// --> |
|
|
509 |
</script> |
|
|
510 |
<noscript> |
|
|
511 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
|
512 |
</noscript> |
|
|
513 |
</div> |
|
|
514 |
<!-- AUTOINCLUDE END --> |
|
|
515 |
|
|
|
516 |
</body> |
|
|
517 |
</html> |