ˇ e vysok´e uˇcen´ı technick´e v Praze Cesk´ Fakulta elektrotechnick´a Katedra telekomunikaˇcn´ı techniky
Hledaˇ cka skryt´ ych vodiˇ c˚ u Diplomov´ a pr´ ace
Autor: Vedouc´ı pr´ ace:
Bc. Patrik Desensk´ y prof. Ing. Pavel Zahradn´ık, CSc.
V Praze, 9. kvˇetna 2014
ˇ Cestn´ e prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem zadanou diplomovou pr´aci zpracoval samostatnˇe s pˇrispˇen´ım vedouc´ıho pr´ace a pouˇz´ıval jsem pouze literaturu v pr´aci uvedenou. D´ale prohlaˇsuji, ˇze nem´am n´amitek proti p˚ ujˇcov´an´ı nebo zveˇrejˇ nov´an´ı m´e diplomov´e pr´ace nebo jej´ı ˇca´sti se souhlasem katedry.
V Praze, dne 9. kvˇetna 2014 ........................................ podpis diplomanta
Podˇ ekov´ an´ı Na tomto m´ıstˇe bych chtˇel podˇekovat vedouc´ımu m´e diplomov´e pr´ace, panu prof. Ing. Pavlu Zahradn´ıkovi, CSc., za jeho odborn´e veden´ı, vstˇr´ıcnost, trpˇelivost a ˇcas, kter´ y mi pˇri tvorbˇe t´eto pr´ace vˇenoval.
V Praze, dne 9. kvˇetna 2014
Anotace Tato diplomov´a pr´ace se zab´ yv´a n´avrhem a realizac´ı hledaˇcky skryt´ ych vodiˇc˚ u (d´ale jen hledaˇcka) ˇr´ızen´e mikroprocesorem. C´ılem t´eto pr´ace bylo zkonstruovat zaˇr´ızen´ı schopn´e trasovat veden´ı skryt´e napˇr´ıklad pod om´ıtkou a na displeji zobrazovat sklon a pˇr´ıpadn´e ohyby na aktu´alnˇe sledovan´e ˇca´sti veden´ı. Pro ˇr´ızen´ı tohoto detektoru byl vyuˇzit mikroprocesor Propeller P8X32A spoleˇcnosti Parallax naprogramovan´ y pomoc´ı jazyka Spin. Jako zobrazovac´ı zaˇr´ızen´ı byl vybr´an displej s VGA vstupem. Kl´ıˇ cov´ a slova: Hledaˇcka skryt´ ych vodiˇc˚ u, mikroprocesor, Propeller P8X32A, jazyk Spin, displej, VGA
Summary This thesis describes the design and implementation of hidden wires finder controlled by microprocessor. The basic target of this work was to create the cable finder, which would be able to find wires for example under the plaster, and on the display shows slope and points of bending of actually monitored part of conduction. For control of this detector was used microprocessor Propeller P8X32A programmed in Spin Language. For displaying was chosen display with VGA input. Index terms: Hidden wires finder, microprocessor, Propeller P8X32A, Spin language, display, VGA
Obsah ´ 1 Uvod
8
2 Senzory 2.1 Detektory kov˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Sn´ımaˇce pole vyz´aˇren´eho vodiˇcem . . . . . . . . . . . . . . . . . . 2.3 Pr˚ ubˇeh sign´alu ze senzor˚ u . . . . . . . . . . . . . . . . . . . . . .
9 9 9 9
3 Zpracov´ an´ı sign´ alu 3.1 Demultiplexov´an´ı . . . . . . . . . . . . . . . . . . . . 3.1.1 V´ ybˇer demultiplexer˚ u. . . . . . . . . . . . . . 3.2 Impedanˇcn´ı oddˇelen´ı . . . . . . . . . . . . . . . . . . 3.2.1 Sledovaˇc napˇet´ı . . . . . . . . . . . . . . . . . 3.3 Filtrov´an´ı . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Derivaˇcn´ı ˇcl´anek . . . . . . . . . . . . . . . . 3.3.2 Integraˇcn´ı ˇcl´anek . . . . . . . . . . . . . . . . 3.3.3 Aplikace . . . . . . . . . . . . . . . . . . . . . 3.4 Digitalizace sign´alu . . . . . . . . . . . . . . . . . . . 3.4.1 Vzorkov´an´ı . . . . . . . . . . . . . . . . . . . 3.4.2 Kvantov´an´ı . . . . . . . . . . . . . . . . . . . 3.5 A/D pˇrevodn´ık . . . . . . . . . . . . . . . . . . . . . 3.5.1 Rozdˇelen´ı pˇrevodn´ık˚ u podle zp˚ usobu pˇrevodu 3.5.2 V´ ybˇer A/D pˇrevodn´ık˚ u. . . . . . . . . . . . . 3.6 N´avrh DPS . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
11 11 11 13 13 14 14 15 15 17 17 19 20 20 21 22
ˇ ızen´ı a kalibrov´ 4 R´ an´ı 4.1 Mikroprocesor . . . . . . . . . . . . . 4.1.1 Propeller P8X32A . . . . . . 4.1.2 Propeller Proto Board . . . . ˇ ızen´ı . . . . . . . . . . . . . . . . . 4.2 R´ 4.2.1 Demultiplexery . . . . . . . . 4.2.2 A/D pˇrevodn´ıky . . . . . . . 4.3 Kalibrace . . . . . . . . . . . . . . . 4.3.1 Odstranˇen´ı SS sloˇzky . . . . . 4.3.2 Kalibrace v´ ystupn´ıch hodnot . 4.3.3 Adaptace na prostˇred´ı . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
24 24 24 26 28 28 28 29 29 29 31
6
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
5 Zobrazov´ an´ı 5.1 Matlab . . . . . . . . . . . . . . . . . 5.2 Interpolace . . . . . . . . . . . . . . . 5.2.1 Line´arn´ı interpolace . . . . . . 5.2.2 Kosinov´a interpolace . . . . . 5.2.3 Kubick´a interpolace . . . . . . 5.2.4 Pouˇzit´ı interpolace v hledaˇcce 5.3 Rozhran´ı VGA . . . . . . . . . . . . 5.3.1 Vykreslov´an´ı a ˇcasov´an´ı . . . 5.3.2 Propeller Video Generator . . 5.3.3 Modul pro VGA rozhran´ı . . 5.4 Korekce obrazu . . . . . . . . . . . . 5.4.1 Gamma korekce . . . . . . . . 5.4.2 Z´ıskan´ y obraz . . . . . . . . . 6 Z´ avˇ er
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
32 32 34 34 35 36 37 38 38 41 41 44 44 45 48
7
´ Uvod Hledaˇc˚ u (trasovaˇc˚ u) elektrick´eho veden´ı je na trhu velk´e mnoˇzstv´ı, vz´ajemnˇe se liˇs´ı zp˚ usobem indikov´an´ı skryt´eho vodiˇce, cenou, ale i kvalitou zpracov´an´ı. Vˇsechny tyto hledaˇce vˇsak maj´ı jednu spoleˇcnou vlastnost, disponuj´ı jedn´ım senzorem a na z´akladˇe u ´rovnˇe jeho sign´alu je indikov´ana pouze pˇr´ıtomnost ˇci nepˇr´ıtomnost vodiˇce. C´ılem t´eto diplomov´e pr´ace je navrhnout hledaˇcku skryt´eho veden´ı schopnou, na rozd´ıl od konvenˇcn´ıch zaˇr´ızen´ı, pˇr´ıtomnost vodiˇce ve stˇenˇe nejen indikovat pouh´ ym p´ıpnut´ım, pˇr´ıpadnˇe rozsv´ıcen´ım LED, ale na displeji vyobrazit obrys urˇcit´e oblasti veden´ı. Zaˇr´ızen´ı bude slouˇzit k trasov´an´ı skryt´eho veden´ı. D˚ uvodem pro hled´an´ı skryt´ ych vodiˇc˚ u m˚ uˇze b´ yt napˇr´ıklad mapov´an´ı elektrick´ ych rozvod˚ u ve star´em domˇe, nebo stavebn´ı u ´pravy pˇri modernizov´an´ı bydlen´ı. V tˇechto pˇr´ıpadech mapov´an´ı vˇetˇs´ı ˇc´asti veden´ı, neˇz jednoho jedin´eho bodu, pr´aci znaˇcnˇe urychl´ı a zjednoduˇs´ı. Text t´eto pr´ace je dˇelen do nˇekolika kapitol a podkapitol. V prvn´ı ˇc´asti tato pr´ace pojedn´av´a o moˇznostech indikace skryt´ ych vodiˇc˚ u, d´ale je pops´an zp˚ usob u ´pravy sign´alu ze senzor˚ u a jeho n´asledn´ y pˇrevod do digit´aln´ı podoby. Druh´a polovina pr´ace se zab´ yv´a pˇredevˇs´ım zp˚ usobem ˇr´ızen´ı jednotliv´ ych blok˚ u hledaˇcky a n´asledn´ ym vyhodnocov´an´ım sign´alu. V posledn´ı ˇc´asti je pops´an mechanizmus zobrazov´an´ı z´ıskan´ ych dat na displeji a jejich grafick´e u ´pravy.
8
Senzory Senzor, neboli sn´ımaˇc, je technick´e zaˇr´ızen´ı, kter´e sn´ım´a urˇcitou fyzik´aln´ı veliˇcinu a pˇrev´ad´ı ji na sign´al, kter´ y m˚ uˇzeme d´ale vyuˇz´ıt v mˇeˇr´ıc´ıch a vyhodnocovac´ıch zaˇr´ızen´ıch. Hledaˇcka skryt´ ych vodiˇc˚ u tedy mus´ı obsahovat senzory, kter´e dok´aˇz´ı na urˇcitou vzd´alenost detekovat nˇekterou ze sloˇzek vyzaˇrovan´ ych vodiˇcem. Moˇznost´ı jak z´ıskat informaci o pˇr´ıtomnosti vodiˇce je v´ıce, dvˇema z´akladn´ımi jsou detekce kov˚ u a sn´ım´an´ı pole vyzaˇrovan´eho vodiˇcem.
2.1
Detektory kov˚ u
Detektor kov˚ u je zaˇr´ızen´ı reaguj´ıc´ı na pˇribl´ıˇzen´ı kovov´eho materi´alu, z tohoto d˚ uvodu ho lze pouˇz´ıt i pro detekci skryt´eho veden´ı. Nev´ yhodou pouˇzit´ı detektoru kov˚ u je, ˇze detekuje nejen vodiˇce, ale i dalˇs´ı kovy pod om´ıtkou nebo v zemi, jako je napˇr´ıklad rozvod plynu nebo vody. Tyto detektory se nejˇcastˇeji pouˇz´ıvaj´ı pro hled´an´ı min, archeologick´e u ´ˇcely, nebo pro hled´an´ı cenn´ ych pˇredmˇet˚ u.
2.2
Sn´ımaˇ ce pole vyz´ aˇ ren´ eho vodiˇ cem
Tyto sn´ımaˇce funguj´ı jako velice citliv´e n´ızkofrekvenˇcn´ı zesilovaˇce. Mohou tak zes´ılit elektromagnetick´e pole vyz´aˇren´e vodiˇcem do okol´ı. Tento typ detektoru je moˇzn´e pouˇz´ıt jen na veden´ı, kter´e je st´ale pod napˇet´ım. Vodiˇc odpojen´ y od s´ıtˇe tyto senzory nedetekuj´ı, takov´eto veden´ı vˇsak nen´ı nebezpeˇcn´e a pˇri jeho poruˇsen´ı nem˚ uˇze doj´ıt k u ´razu.
2.3
Pr˚ ubˇ eh sign´ alu ze senzor˚ u
Pouˇzit´e senzory vyuˇz´ıvaj´ı elektromagnetick´eho pole vyz´aˇren´eho vodiˇcem do okol´ı. Sign´al ze senzor˚ u, kter´ y bude d´ale zpracov´av´an, m´a sinusov´ y pr˚ ubˇeh o frekvenci 50 Hz. Tento sign´al je v´az´an na stejnosmˇernou sloˇzku napˇet´ı, kter´a se v z´avislosti na senzoru pohybuje od 5,5 V do 6,5 V. Na obr´azku 2.1 vid´ıme pr˚ ubˇeh sign´alu z´ıskan´ y ze senzoru pˇri vzd´alenosti vodiˇce pˇribliˇznˇe 4 centimetry. Pr˚ ubˇeh sign´alu byl mˇeˇren na digit´aln´ım dvoukan´alov´em osciloskopu Tektronix TDS1001B. Detekˇcn´ı vzd´alenost senzor˚ u je 15 centimetr˚ u, do vzd´alenosti 10 centimetr˚ u je moˇzn´e sign´al povaˇzovat za vhodn´ y k dalˇs´ımu zpracov´an´ı. Na obr´azku 2.2 vid´ıme pr˚ ubˇeh napˇet´ı v z´avislosti na vzd´alenosti vodiˇce od senzoru.
9
Obr´azek 2.1: Pr˚ ubˇeh sign´alu pˇri vzd´alenosti vodiˇce 4 cm
Obr´azek 2.2: Pr˚ ubˇeh napˇet´ı na senzoru v z´avislosti na vzd´alenosti vodiˇce
10
Zpracov´ an´ı sign´ alu Zpracov´an´ı sign´alu ze senzor˚ u je prov´adˇeno samostatnou deskou ploˇsn´ ych spoj˚ u, kter´a mimo to tak´e zajiˇst’uje distribuci nap´ajen´ı pro jednotliv´e senzory. ´ Ze senzor˚ u z´ısk´av´ame ruˇsen´ y sign´al. Ukolem tohoto bloku je z´ıskan´ y sign´al ze senzor˚ u upravit tak, aby n´asledn´a digitalizace a vyhodnocov´an´ı mikroprocesorem byly co nejsnazˇs´ı a nejpˇresnˇejˇs´ı. V n´asleduj´ıc´ıch podkapitol´ach si uvedeme zp˚ usob a d˚ uvod pˇr´ıpravy sign´alu na digitalizaci.
3.1
Demultiplexov´ an´ı
Demultiplexer je kombinaˇcn´ı logick´ y obvod, kter´ y m´a 2n analogov´ ych vstup˚ u, n ˇr´ıd´ıc´ıch vstup˚ u a ve vˇetˇsinˇe pˇr´ıpad˚ u jeden v´ ystup. Na v´ ystup je pak pˇrep´ın´an jeden z analogov´ ych vstup˚ u v z´avislosti na nastaven´ı ˇr´ıd´ıc´ıch vstup˚ u (viz Tabulka 3.1).
3.1.1
V´ ybˇ er demultiplexer˚ u
Pˇri realizaci hledaˇce byly pouˇzity osmivstupov´e demultiplexery MAX4051 v pouzdˇre DIP16. Tyto obvody mohou b´ yt nap´ajeny nesymetrick´ ym napˇet´ım od 2,7 do 16 V a na rozd´ıl od obvod˚ u typu 74HC4051 podporuj´ı ovl´ad´an´ı ˇr´ıd´ıc´ıch vstup˚ u TTL/CMOS logikou (maxim´alnˇe 0,8 V pro logickou 0“ a minim´alnˇe ” 2,4 V pro logickou 1“). Toto bylo nutnou podm´ınkou pro pouˇzit´ı procesoru Pro” peller P8X32A, kter´ y na sv´ ych v´ ystupn´ıch pinech generuje 3,3 V pro logickou 1“. Toto napˇet´ı by pro nastaven´ı logick´e 1“ obvodu 74HC4051 pˇri nap´ajen´ı ” ” 9 V nebylo dostateˇcn´e.
INH 0 0 0 0 0 0 0 0 1
ADDC 0 0 0 0 1 1 1 1 X
ADDB 0 0 1 1 0 0 1 1 X
ADDA 0 1 0 1 0 1 0 1 X
Kan´al na v´ ystupu N00 N01 N02 N03 N04 N05 N06 N07 vˇsechny vypnuty
Tabulka 3.1: Pravdivostn´ı tabulka
11
V pravdivostn´ı tabulce 3.1 vid´ıme, jak´ ym zp˚ usobem je nutn´e ovl´adat ˇr´ıd´ıc´ı vstupy demultiplexeru, tak abychom na v´ ystup pˇriˇradili n´ami poˇzadovan´ y vstupn´ı sign´al. Pokud na vstup INH pˇrivedeme logickou 1“, na ostatn´ıch ˇr´ıd´ıc´ıch vstu” pech jiˇz nez´aleˇz´ı a demultiplexer se dost´av´a do stavu vysok´e impedance, kdy se na v´ ystupu neobjev´ı ˇz´adn´ y sign´al. Na obr´azku 3.1 je blokovˇe zn´azornˇen zp˚ usob zapojen´ı demultiplexer˚ u. Demultiplexov´an´ı bylo nutn´e z d˚ uvodu n´ızk´e frekvence vyhodnocovan´eho sign´alu. Abychom mohli s jistotou urˇcit hodnotu napˇet´ı ˇspiˇcka - ˇspiˇcka sinusov´eho sign´alu, mus´ıme sledovat minim´alnˇe jednu celou periodu tohoto sign´alu Ts . Pro vˇetˇs´ı stabilitu a pˇresnost namˇeˇren´ ych hodnot jsou vˇsak vzorkov´any dvˇe periody sign´alu.
fs = 50 Hz, 1 , Ts = fs Ts = 20 ms.
(3.1)
Kaˇzd´ y senzor je tedy sledov´an 40 ms, pˇri poˇctu 25 senzor˚ u by tak v ide´aln´ım pˇr´ıpadˇe byla doba obnoven´ı obrazu 1000 ms, coˇz je vzhledem k dalˇs´ımu zpraˇ sen´ım je rozdˇelen´ı matice senzor˚ cov´av´an´ı dat nepˇrijatelnˇe dlouh´a doba. Reˇ u do pˇeti paraleln´ıch vˇetv´ı, kter´e budou vyhodnocov´any souˇcasnˇe. T´ımto ˇreˇsen´ım se teoretick´a d´elka naˇc´ıt´an´ı dat ze senzor˚ u sn´ıˇz´ı na 200 ms.
Obr´azek 3.1: Blokov´e zapojen´ı demultiplexer˚ u
12
3.2
Impedanˇ cn´ı oddˇ elen´ı
Impedanˇcn´ı oddˇelen´ı se prov´ad´ı tam, kde je nutn´e vysokoimpedanˇcn´ı v´ ystup pˇrizp˚ usobit na n´ızkoimpedanˇcn´ı. Vzhledem k tomu, ˇze v´ ystupn´ı impedance senzor˚ u je v ˇra´du jednotek kiloohm˚ u a vstupn´ı impedance vybran´eho pˇrevodn´ıku je v pouˇzit´em reˇzimu pouze 26, 7 kΩ, bylo nutn´e do ˇretˇezce pˇred A/D pˇrevodn´ık zaˇradit obvod, kter´ y zajist´ı impedanˇcn´ı oddˇelen´ı senzor˚ u od pˇrevodn´ıku. V jin´em pˇr´ıpadˇe by v´ ystupy senzor˚ u byly pˇrevodn´ıkem ne´ umˇernˇe zatˇeˇzov´any a jejich v´ ystupn´ı sign´al by tak mohl b´ yt zkreslen.
3.2.1
Sledovaˇ c napˇ et´ı
Nejjednoduˇsˇs´ım impedanˇcn´ım oddˇelovaˇcem je napˇet’ov´ y sledovaˇc s operaˇcn´ım zesilovaˇcem, viz zapojen´ı na n´asleduj´ıc´ım obr´azku. Pro sledovaˇc napˇet´ı byl vybr´an operaˇcn´ı zesilovaˇc TLC271 v pouzdˇre DIP8. Tento OZ byl zvolen pˇredevˇs´ım kv˚ uli moˇznosti pouˇzit´ı nesymetrick´eho nap´ajen´ı, coˇz je pro hledaˇcku v´ yhodn´e vzhledem k pl´anovan´emu pouˇzit´ı bateriov´eho nap´ajen´ı. Obvod TLC271 vyuˇz´ıv´a LinCM OS T M technologii od spoleˇcnosti Texas Instruments. M˚ uˇze b´ yt nap´ajen stejnosmˇern´ ym napˇet´ım v rozsahu 3 - 16 V, vyznaˇcuje se n´ızk´ ym ˇsumem (25 nV/Hz), moˇznost´ı nastaven´ı zkreslen´ı a vysokou vstupn´ı impedanc´ı (typicky 1012 Ω). Souˇc´ast´ı jeho vnitˇrn´ıho zapojen´ı je tak´e ochrana proti elektrostatick´emu v´ yboji (ESD). Na obr´azku 3.2 je zn´azornˇeno zapojen´ı nejjednoduˇsˇs´ıho sledovaˇce napˇet´ı, kter´e bylo pouˇzito v hledaˇcce.
Obr´azek 3.2: Sledovaˇc napˇet´ı
13
3.3
Filtrov´ an´ı
Sign´al, kter´ y z´ısk´ame ze senzor˚ u, je ruˇsen r˚ uzn´ ymi okoln´ımi vlivy. Tento ˇsum, kter´ y je na vyˇsˇs´ıch frekvenc´ıch neˇz sign´al uˇziteˇcn´ y, je nutn´e pˇred ˇc´ıslicov´ ym vyhodnocen´ım odstranit. Pokud bychom tento ˇsum neodstranili, byla by do vyhodnocov´an´ı vnesena chyba, z´avisl´a na vlastnostech okoln´ıho prostˇred´ı. K tomuto u ´ˇcelu se pouˇz´ıvaj´ı tzv. korekˇcn´ı obvody (filtry), ˇc´ımˇz rozum´ıme v nejjednoduˇsˇs´ım pˇr´ıpadˇe spojen´ı nˇekolika pasivn´ıch souˇc´astek (odpor, c´ıvka, kondenz´ator), kter´e urˇcit´ ym zp˚ usobem ovlivˇ nuj´ı kmitoˇctovou charakteristiku sign´alu. Pro naˇse pouˇzit´ı bude staˇcit nejjednoduˇsˇs´ı korekˇcn´ı obvod sloˇzen´ y pouze ze dvou souˇc´astek (odpor a kondenz´ator, nebo odpor a c´ıvka).
3.3.1
Derivaˇ cn´ı ˇ cl´ anek
Tento druh korekˇcn´ıho obvodu m´a kmitoˇctovou charakteristiku hornopropustn´ıho filtru, n´ızk´e frekvence tedy tlum´ı a vysok´e propouˇst´ı. Do mezn´ıho kmitoˇctu fm (urˇcuje m´ısto, kde m´a zisk hodnotu -3 dB) stoup´a pˇrenos o 20 db/dek´adu, za t´ımto kmitoˇctem se zisk jiˇz prakticky nezvyˇsuje. Mezn´ı kmitoˇcet: fm =
1 . 2πKd
(3.2)
Pˇrenos derivaˇcn´ıho ˇcl´anku: F (jω) =
U2 jωKd = , U1 1 + jωKd
(3.3)
kde Kd je derivaˇcn´ı konstanta, kterou lze spoˇc´ıtat pro ˇcl´anek CR ze vztahu L Kd = RC a pro ˇcl´anek RL ze vztahu Kd = R . Sch´emata zapojen´ı jednoduch´eho derivaˇcn´ıho ˇcl´anku:
Obr´azek 3.3: Derivaˇcn´ı ˇcl´anek CR a RL
14
3.3.2
Integraˇ cn´ı ˇ cl´ anek
Kmitoˇctov´a charakteristika integraˇcn´ıho ˇcl´anku m´a naopak charakter doln´ı propusti. Stejnosmˇern´ y sign´al a n´ızk´e frekvence propouˇst´ı dobˇre, vysok´e zadrˇzuje. Rozhoduj´ıc´ı je opˇet mezn´ı kmitoˇcet fm . V tomto pˇr´ıpadˇe vˇsak kmitoˇctov´a charakteristika z˚ ust´av´a takˇrka nemˇenn´a od stejnosmˇern´eho sign´alu aˇz do mezn´ıho kmitoˇctu a d´ale kles´a se strmost´ı 20 dB/dek´adu. Mezn´ı kmitoˇcet se spoˇc´ıt´a ze vztahu: 1 , (3.4) 2πKi L kde Ki je integraˇcn´ı konstanta, pro RC ˇclen plat´ı Ki = RC a pro LR ˇclen Ki = R . fm =
Pˇrenos integraˇcn´ıho ˇcl´anku vypoˇcteme ze vztahu: F (jω) =
U2 1 = . U1 1 + jωKi
(3.5)
Sch´emata zapojen´ı jednoduch´eho integraˇcn´ıho ˇcl´anku:
Obr´azek 3.4: Integraˇcn´ı ˇcl´anek RC a LR
3.3.3
Aplikace
Pro odstranˇen´ı ˇsumu na vyˇsˇs´ıch frekvenc´ıch byl v hledaˇcce pouˇzit integraˇcn´ı RC ˇcl´anek o mezn´ı frekvenci 60 Hz. V´ ypoˇcet integraˇcn´ı konstanty: fm = 60 Hz, 1 , fm = 2πKi 1 Ki = , 2πfm 1 Ki = , 120π Ki = 2, 653 · 10−3 . 15
(3.6)
Po vypoˇcten´ı integraˇcn´ı konstanty je nutn´e jeden ze dvou prvk˚ u zvolit, druh´ y ˇclen je pak dopoˇcten z n´asleduj´ıc´ıch rovnic. Velikost kondenz´atoru byla zvolena 1 µF . V´ ypoˇcet hodnoty rezistoru RC ˇclenu:
C = 1 µF, Ki = RC, Ki , R = C 2, 653 · 10−3 R = , 1 · 10−3 R = 2653 Ω.
(3.7)
Z ˇrady E12 byl zvolen odpor o hodnotˇe 2, 7 kΩ. Hodnoty souˇca´stek RC ˇclenu tedy jsou R = 2, 7 kΩ a C = 1 µF . Po pr˚ uchodu t´ımto RC ˇclenem m´a sign´al ze senzoru (Obr´azek 3.5) takˇrka sinusov´ y tvar nenaruˇsen´ y vyˇsˇs´ımi harmonick´ ymi.
Obr´azek 3.5: Pr˚ ubˇeh sign´alu pˇri vzd´alenosti vodiˇce 4 cm (vyhlazen´ y)
16
3.4
Digitalizace sign´ alu
Ze senzor˚ u z´ısk´av´ame spojit´ y (analogov´ y) sign´al. Ten m˚ uˇzeme definovat jako promˇennou veliˇcinu s nekoneˇcn´ ym oborem hodnot a nekoneˇcnˇe velk´ ym ˇcasov´ ym rozliˇsen´ım. Zpracov´an´ı takov´eho mnoˇzstv´ı informac´ı je velice obt´ıˇzn´e, proto pro potˇreby vyhodnocen´ı a dalˇs´ıho zpracov´an´ı je nutn´e tento analogov´ y sign´al pˇrev´est do digit´aln´ı podoby, se kterou jiˇz m˚ uˇzeme l´epe pracovat. Tento pˇrevod prob´ıh´a ve dvou kroc´ıch, kter´ ymi jsou vzorkov´an´ı a kvantov´an´ı.
Obr´azek 3.6: Spojit´ y sign´al
3.4.1
Vzorkov´ an´ı
Vzorkov´an´ı je proces, pˇri kter´em periodicky zaznamen´av´ame po uplynut´ı zvolen´eho ˇcasov´eho intervalu Tv okamˇzitou hodnotu mˇeˇren´eho sign´alu (Obr´azek 3.7). Vzorkovac´ı frekvence fv ud´av´a poˇcet vzork˚ u, kter´e jsou odebr´any za jednu sekundu a je moˇzn´e spoˇc´ıtat ji ze vztahu: fv =
1 . Tv
17
(3.8)
Obr´azek 3.7: Vzorkovan´ y sign´al
Z´akladn´ı pouˇckou pro vzorkov´an´ı je vzorkovac´ı teor´em, t´eˇz Nyquist˚ uv teor´em, kter´ y ud´av´a vztah mezi maxim´aln´ı frekvenc´ı sign´alu a vzorkovac´ı frekvenc´ı obvodu. Sign´al pˇred pr˚ uchodem vzorkovac´ım obvodem nesm´ı obsahovat vyˇsˇs´ı frekfv vence neˇz 2 , pokud tato podm´ınka nen´ı splnˇena, doch´az´ı k pˇrekryt´ı frekvenˇcn´ıch spekter, tzv. aliasingu (Obr´azek 3.8). Informace o frekvenci p˚ uvodn´ıho sign´alu je ztracena a ten nelze ze vzorkovan´eho rekonstruovat. Jako ochrana proti aliasingu se pouˇz´ıvaj´ı tzv. antialiasingov´e filtry, kter´e odstran´ı frekvence vyˇsˇs´ı neˇz f2v a t´ım zajist´ı, aby vzorkovan´ y sign´al nebyl ovlivnˇen aliasingem.
Obr´azek 3.8: Aliasing
18
3.4.2
Kvantov´ an´ı
Kvantov´an´ı je proces, pˇri kter´em diskretizujeme obor hodnot sign´alu (zaokrouhlov´an´ım nebo oˇrez´av´an´ım). Nejmenˇs´ı moˇzn´ y skok kvantovan´eho sign´alu naz´ yv´ame kvantizaˇcn´ı krok. Pˇri kvantov´an´ı tedy doch´az´ı k nevratn´e ztr´atˇe informace. Rozliˇsovac´ı schopnost zmˇeny okamˇzit´e hodnoty vstupn´ıho sign´alu se naz´ yv´a 1 yznamn´ y bit). Na obr´azku 3.9 kvantizaˇcn´ı chyba a je rovna ± 2 LSB (nejm´enˇe v´ m´ame kvantovan´ y spojit´ y sinusov´ y sign´al, kde bylo pouˇzito 8 kvantizaˇcn´ıch krok˚ u. N´aslednˇe by kaˇzd´e u ´rovni bylo pˇridˇeleno 3 bitov´e bin´arn´ı ˇc´ıslo reprezentuj´ıc´ı danou hladinu.
Obr´azek 3.9: Kvantovan´ y sign´al
19
3.5
A/D pˇ revodn´ık
A/D pˇrevodn´ık, nebo tak´e ADC (Analog to digital converter), je zaˇr´ızen´ı, kter´e realizuje digitalizaci sign´alu popsanou v´ yˇse. Zp˚ usob˚ u, jak lze pˇrevod analogov´eho sign´alu na ˇc´ıslicov´ y prov´est, je v´ıce. Nˇekolik z´akladn´ıch proveden´ı A/D pˇrevodn´ık˚ u si pop´ıˇseme.
3.5.1
Rozdˇ elen´ı pˇ revodn´ık˚ u podle zp˚ usobu pˇ revodu
Paraleln´ı pˇ revodn´ıky Tyto pˇrevodn´ıky pouˇz´ıvaj´ı pˇr´ım´ y typ pˇrevodu. Referenˇcn´ı napˇet´ı se rozdˇel´ı N na odporov´em dˇeliˇci na 2 ˇca´st´ı, kde N ud´av´a bitov´e rozliˇsen´ı pˇrevodn´ıku. Tato referenˇcn´ı napˇet´ı jsou n´aslednˇe porovn´av´ana v napˇet’ov´ ych kompar´atorech se vstupn´ım sign´alem a vyhodnocov´ana. Tento typ pˇrevodn´ık˚ u patˇr´ı mezi nejrychlejˇs´ı (vzorkovac´ı kmitoˇcet aˇz v GHz), nev´ yhodou je vˇetˇs´ı plocha ˇcipu pˇri vyˇsˇs´ım bitov´em rozliˇsen´ı a vysok´a spotˇreba. Pˇ revodn´ıky s postupnou aproximac´ı Princip tohoto typu pˇrevodn´ıku spoˇc´ıv´a v metodˇe p˚ ulen´ı interval˚ u a n´asledn´em zjiˇstˇen´ı, ve kter´e ˇc´asti se mˇeˇren´ y sign´al nach´az´ı. Pˇri kaˇzd´em dalˇs´ım rozp˚ ulen´ı intervalu z´ısk´ame dalˇs´ı bit. T´ımto zp˚ usobem postupujeme dokud nen´ı urˇcena nejbliˇzˇs´ı hodnota mˇeˇren´eho sign´alu. Tento typ pˇrevodn´ıku je v dneˇsn´ı dobˇe jedn´ım z nejpouˇz´ıvanˇejˇs´ıch, jeho v´ yhodou je jednoduch´a konstrukce, nev´ yhodou nestejn´a doba pˇrevodu. Pˇ revodn´ıky Σ∆ Pˇrevodn´ıky typu Σ∆ (sigma-delta) jsou modern´ı pˇrevodn´ıky s pomˇernˇe jednoduch´ ym hardware, kter´ y se skl´ad´a ze Σ∆ modul´atoru a ˇc´ıslicov´eho filtru. O to v´ıce je sloˇzit´ y ovl´adac´ı software tˇechto pˇrevodn´ık˚ u, funguj´ıc´ı jako sign´alov´ y procesor. Hardware pracuje na principu vyrovn´an´ı n´aboje se vzorkovanou zpˇetnou vazbou. V´ yhodou tˇechto pˇrevodn´ık˚ u je vysok´a rozliˇsovac´ı schopnost (aˇz 24 bit˚ u), nev´ yhodou je niˇzˇs´ı rychlost pˇrevodu. Integraˇ cn´ı pˇ revodn´ıky s dvoutaktn´ı integrac´ı U pˇrevodn´ık˚ u s dvoutaktn´ı integrac´ı prob´ıh´a nepˇr´ım´a konverze, nejprve je sign´al transformov´an na ˇcasov´ y u ´daj, kter´ y je n´aslednˇe pˇreveden na ˇc´ıslicovou hodnotu. Z´akladn´ım obvodem je integr´ator, na kter´ y je pˇriveden analogov´ y sign´al na dobu t, pot´e je na tento integr´ator pˇrivedeno referenˇcn´ı napˇet´ı opaˇcn´e polarity. Kompar´ator urˇc´ı, kdy je napˇet´ı na v´ ystupu integr´atoru rovno nule a z tˇechto ˇcasov´ ych u ´daj˚ u je vyhodnoceno digit´aln´ı ˇc´ıslo. Integraˇcn´ı pˇrevodn´ıky s dvoutaktn´ı integrac´ı jsou velice pˇresn´e, jejich nev´ yhodou je vˇsak d´elka pˇrevodu.
20
3.5.2
V´ ybˇ er A/D pˇ revodn´ık˚ u
Sign´al z´ıskan´ y ze senzor˚ u je v´az´an na stejnosmˇernou sloˇzku napˇet´ı o velikosti 5,5 - 6,5 V, d˚ uleˇzit´ ym faktorem pro v´ ybˇer pˇrevodn´ık˚ u tedy byl vstupn´ı rozsah minim´alnˇe 9 V. Z tohoto parametru vyplynul dalˇs´ı poˇzadavek a t´ım byla bitov´a hloubka pˇrevodn´ık˚ u. Vzhledem k tomu, ˇze uˇziteˇcn´a informace z´ısk´avan´a ze senzor˚ u je v ˇr´adech jednotek aˇz des´ıtek milivolt˚ u, bylo nutn´e pro dostateˇcnou pˇresnost pouˇz´ıt nejm´enˇe 16 bitov´e pˇrevodn´ıky, kter´e by zajistily pˇri vstupn´ım rozsahu 9 V rozliˇsen´ı 0,137 milivoltu na bit. Dalˇs´ım d˚ uleˇzit´ ym faktorem pak byla dostateˇcn´a vzorkovac´ı frekvence. Zpracov´avan´ y sign´al ze senzor˚ u m´a nosnou frekvenci 50 Hz, pomoc´ı mikroprocesoru je nutn´e detekovat v kaˇzd´e periodˇe z´ıskan´eho sign´alu jeho maxim´aln´ı a minim´aln´ı hodnotu. Z tohoto d˚ uvodu je nutn´e, aby vzorkovac´ı frekvence pˇrevodn´ık˚ u byla nejm´enˇe 10 KSPS. Tato vzorkovac´ı frekvence zaruˇc´ı urˇcen´ı minim´aln´ıho a maxim´aln´ıho napˇet´ı vzorku sign´alu s dostateˇcnou pˇresnost´ı. Dalˇs´ı nutnou funkc´ı pˇrevodn´ık˚ u je provoz na nesymetrick´e nap´ajen´ı. Vzhledem k tomu, ˇze v ˇza´dn´em jin´em bloku nen´ı symetrick´e nap´ajec´ı napˇet´ı nutn´e, nebylo v hledaˇcce navrˇzeno. Podle poˇzadovan´ ych parametr˚ u byl vybr´an pˇrevodn´ık ADS7813 spoleˇcnosti Texas Instruments, kter´ y splˇ nuje vˇsechny potˇrebn´e poˇzadavky. Jedn´a se o 16 bitov´ y pˇrevodn´ık s pˇrevodem typu SAR (pˇrevodn´ık s postupnou aproximac´ı). Nap´ajen m˚ uˇze b´ yt nesymetrick´ ym stejnosmˇern´ ym napˇet´ım 5 V, coˇz plnˇe vyhovuje aplikaci v hledaˇcce. Vstupn´ı rozsah tohoto pˇrevodn´ıku m˚ uˇze b´ yt nastavov´an nez´avisle na nap´ajec´ım napˇet´ı v nˇekolika reˇzimech, viz tabulka na obr´azku 3.10. Vzorkovac´ı frekvence tohoto pˇrevodn´ıku je 40 KSPS. Dalˇs´ı v´ yhodou je kompatibilita s jednoduchou SPI sbˇernic´ı.
Obr´azek 3.10: Nastaven´ı vstupn´ıho rozsahu pˇrevodn´ıku ADS7813 [8]
Pro realizaci hledaˇce byl pouˇzit ˇcip v pouzdˇre DIP16, rozsah vstupn´ıch hodnot byl nastaven na 0 - 10 V dle tabulky. Pˇri rozsahu 10 V lze snadno vypoˇc´ıst citlivost pouˇzit´eho zapojen´ı, kter´a ˇcin´ı 0,153 milivoltu na bit. 21
3.6
N´ avrh DPS
Deska na zpracov´an´ı sign´alu ze senzor˚ u byla navrˇzena v n´avrhov´em prostˇred´ı Eagle spoleˇcnosti CadSoft. Na n´asleduj´ıc´ım obr´azku je blokovˇe zn´azornˇeno pˇripojen´ı desky na matici senzor˚ u. Jak jiˇz bylo zm´ınˇeno v´ yˇse, zpracov´an´ı sign´alu ze senzor˚ u prob´ıh´a v pˇeti paraleln´ıch vˇetv´ıch tak, aby bylo moˇzn´e minimalizovat dobu potˇrebnou pro vyˇcten´ı dat ze senzor˚ u.
Obr´azek 3.11: Blokov´e sch´ema matice senzor˚ u a desky pro zpracov´an´ı sign´alu
DPS na zpracov´an´ı sign´alu ze senzor˚ u byla navrˇzena a realizov´ana jiˇz v r´amci moj´ı bakal´aˇrsk´e pr´ace. Pˇri vytv´aˇren´ı obsluˇzn´eho software se vˇsak projevil p˚ uvodn´ı n´avrh jako neoptim´aln´ı a bylo tedy nutn´e desku ploˇsn´ ych spoj˚ u znovu navrhnout, za pouˇzit´ı v´ yˇse popsan´ ych princip˚ u. Pouˇzit´ y zp˚ usob zpracov´an´ı sign´alu je v porovn´an´ı s pˇredeˇsl´ ym n´avrhem schopn´ y rychleji dod´avat potˇrebn´a data procesoru ke zpracov´an´ı. Na obr´azku 3.12 je zn´azornˇeno sch´ema zapojen´ı DPS.
22
Obr´azek 3.12: Sch´ema zapojen´ı desky na zpracov´an´ı sign´alu ze senzor˚ u
23
ˇ ızen´ı a kalibrov´ R´ an´ı 4.1
Mikroprocesor
Mikroprocesor je miniaturn´ı elektronick´e programovateln´e zaˇr´ızen´ı. Mikroprocesory dnes nach´azej´ı ˇsirok´e uplatnˇen´ı v jedno´ uˇcelov´ ych aplikac´ıch. Pouˇz´ıvaj´ı se snad ve vˇsech odvˇetv´ıch pr˚ umyslu, ale i v bˇeˇzn´em ˇzivotˇe kaˇzd´eho z n´as (mikrovlnn´a trouba, inteligentn´ı lednice, digit´aln´ı hodiny, kalkulaˇcka, atd.). Mikroprocesor je ˇr´ıd´ıc´ı jednotka, kter´a se chov´a podle zadan´eho programu. Ke sv´e funkci potˇrebuje mikroprocesor urˇcit´e periferie, jako je napˇr´ıklad pamˇet’ programu, pamˇet’ dat, vstupn´ı a v´ ystupn´ı obvody. Integrov´an´ım tˇechto ˇca´st´ı na jedin´ y ˇcip vznikne integrovan´ y jednoˇcipov´ y mikropoˇc´ıtaˇc.
4.1.1
Propeller P8X32A
Hledaˇcka je realizov´ana za pouˇzit´ı mikroprocesoru Propeller spoleˇcnosti Parallax Inc. Propeller P8X32A(obr´azek 4.1) je osmij´adrov´ y 32 bitov´ y mikroprocesor urˇcen´ y k vysokorychlostn´ımu zpracov´an´ı dat pro vestavˇen´e syst´emy pˇri zachov´an´ı n´ızk´e spotˇreby proudu. Propeller poskytuje vysokou flexibilitu prostˇrednictv´ım sv´ ych osmi jader, naz´ yvan´ ych cogs“ (zuby ozuben´eho soukol´ı), ” d´ıky kter´ ym lze prov´adˇet u ´koly souˇcasnˇe zcela nez´avisle na sobˇe, nebo ve vz´ajemn´e spolupr´aci. K dispozici jsou dva programovac´ı jazyky vyvinut´e pˇr´ımo pro ˇcip Propeller. Jedn´a se o objektovˇe zaloˇzen´ y programovac´ı jazyk Spin a jazyk symbolick´ ych instrukc´ı Propeller Assembly [9]. Nap´ajec´ı napˇet´ı mikroprocesoru je 3,3 V, jeho vnitˇrn´ı oscil´ator m˚ uˇze fungovat na frekvenci 12 MHz, nebo 20 kHz. Mikroprocesor m´a celkem 64 kB vlastn´ı pamˇeti, z ˇcehoˇz je 32 kB pamˇeti RAM a 32 kB pamˇeti ROM a disponuje 32 I/O piny. Kaˇzd´ y z osmi cog˚ u m´a pˇriˇrazen´e 2 kB vlastn´ı pamˇeti RAM, ˇc´ıtaˇce ˇ a registry, tak aby mohl pracovat zcela nez´avisle na ostatn´ıch j´adrech. Casov´ an´ı je pro vˇsechny j´adra spoleˇcn´e.
24
Obr´azek 4.1: Rozloˇzen´ı pin˚ u Propeller P8X32A-M44 [9]
Z blokov´eho sch´ematu (obr´azek 4.2) vid´ıme, ˇze cogy jsou uspoˇr´ad´any do kruhov´e sbˇernice. D´ıky osmij´adrov´emu proveden´ı je programov´an´ı asynchronn´ıch ud´alost´ı jednoduˇsˇs´ı neˇz u mikroprocesor˚ u, kter´e pouˇz´ıvaj´ı pˇreruˇsen´ı. Staˇc´ı individu´alnˇe pˇriˇradit dan´emu dˇeji nˇekter´ y voln´ y cog. Zbytek procesoru tak z˚ ustane nezat´ıˇzen´ y a pˇripraven´ y pro dalˇs´ı pouˇzit´ı. V´ ysledkem jsou spolehlivˇejˇs´ı aplikace jednoduˇsˇs´ı na u ´drˇzbu.
Obr´azek 4.2: Blokov´e sch´ema Propeller P8X32A [9]
25
4.1.2
Propeller Proto Board
Pˇri programov´an´ı mikroprocesoru byl pouˇzit v´ yvojov´ y kit Propeller Proto Board (Obr´azek 4.3), spoleˇcnosti Parallax. Tento v´ yvojov´ y kit je osazen ˇcipem P8X32A-Q44, USB rozhran´ım, extern´ı pamˇet´ı EEPROM o velikosti 64 kB pro ukl´ad´an´ı a sd´ılen´ı dat, 5 a 3,3 V stabiliz´atory napˇet´ı a vymˇeniteln´ ym krystalem o frekvenci 5 MHz. Propeller Proto Board je pˇripraven na pouˇzit´ı dalˇs´ıho pˇr´ısluˇsenstv´ı z portf´olia Parallaxu, jako je napˇr´ıklad VGA modul s rozhran´ım pro myˇs a kl´avesnici. Propeller Proto Board umoˇzn ˇuje pˇr´ıstup ke vˇsem 32 programovateln´ ym I/O pin˚ um a nab´ız´ı sloty pro 4 serva, nap´ajen m˚ uˇze b´ yt stejnosmˇern´ ym napˇet´ım v rozsahu 6 - 9 V. V´ yrobce podporuje pouˇzit´ı produkt˚ u Propeller sv´ ym projektem, tzv. Pro” peller Object Exchange“, kde je volnˇe k dispozici ke staˇzen´ı velk´e mnoˇzstv´ı driver˚ u a aplikac´ı naprogramovan´ ych pr´avˇe pro mikroprocesor Propeller v jazyku Spin. Tyto zdrojov´e k´ody dobˇre slouˇz´ı jako v´ yukov´a pr˚ uprava pro pouˇz´ıv´an´ı programovac´ıho jazyka Spin.
Obr´azek 4.3: Propeller Proto Board [10]
26
Obr´azek 4.4: Sch´ematick´e zapojen´ı Propeller Proto Board [10]
27
4.2
ˇ ızen´ı R´
Prvn´ım krokem, kter´ y bylo nutn´e pˇri programov´an´ı software obsluhuj´ıc´ım hledaˇcku vyˇreˇsit, bylo ovl´ad´an´ı ˇr´ıd´ıc´ıch vstup˚ u demultiplexer˚ u a A/D pˇrevodn´ık˚ u. Teprve tento krok zajist´ı relevantn´ı data, kter´a budou d´ale upravov´ana.
4.2.1
Demultiplexery
Deska ploˇsn´ ych spoj˚ u zpracov´avaj´ıc´ı sign´al ze senzor˚ u byla navrˇzena tak, aby bylo moˇzn´e ˇr´ıdit vˇsechny demultiplexery souˇcasnˇe. Toto ˇreˇsen´ı zajiˇst’uje velkou u ´sporu voln´ ych pin˚ u mikroprocesoru. Pokud by bylo nutn´e kaˇzd´ y demultiplexer ˇr´ıdit samostatnˇe, tak by pouh´e ˇr´ızen´ı demultiplexer˚ u obsadilo vˇetˇsinu voln´ ych pin˚ u mikroprocesoru, coˇz bylo z hlediska nutnosti ˇr´ızen´ı mnoha dalˇs´ıch prvk˚ u nepˇrijateln´e. Sjednocen´ı ˇr´ızen´ı demultiplexer˚ u sn´ıˇzilo poˇcet potˇrebn´ ych pin˚ u mikroprocesoru na pouh´e 4. Na demultiplexerech jsou tak v kaˇzd´em cyklu bˇehu programu nastavov´any jejich adresn´ı vstupy spoleˇcnˇe a to dle tabulky 3.1.
4.2.2
A/D pˇ revodn´ıky
Stejnˇe jako u demultiplexer˚ u i ˇr´ızen´ı vˇsech pˇeti A/D pˇrevodn´ık˚ u prob´ıh´a soubˇeˇznˇe. D´ıky pouˇzit´ı osmij´adrov´eho procesoru je vˇsech 5 vˇetv´ı sign´alu vyhodnocov´ano z´aroveˇ n. Ovl´ad´an´ı ADS7813 si vyˇz´adalo oddˇelen´ y driver, kter´ y se star´a o inicializaci A/D pˇrevodu a n´asledn´e naˇc´ıt´an´ı z´ıskan´ ych hodnot, to vˇse prob´ıh´a s vysokou obnovovac´ı frekvenc´ı. Z tohoto d˚ uvodu byl ovladaˇc pro pˇrevodn´ıky naps´an v PASM (Propeller Assembly Language). Tento jazyk je v mnoha ohledech velice podobn´ y klasick´em assembleru, kter´ y zn´ame z jazyka C, avˇsak jeho sada pˇr´ıkaz˚ u a struktura byla vytvoˇrena pˇr´ımo pro procesory Propeller a navazuje na programovac´ı jazyk Spin. Jeho hlavn´ı v´ yhodou oproti vyˇsˇs´ımu jazyku Spin je pˇredevˇs´ım jeho rychlost. Ovladaˇc byl navrˇzen tak, aby u kaˇzd´eho z 25 senzor˚ u (vzorkov´an´ı prob´ıh´a vˇzdy na 5 senzorech souˇcasnˇe) bylo odebr´ano 800 vzork˚ u v ˇcasov´em intervalu 40 ms, coˇz pˇri frekvenci 50 Hz sign´alu z´ısk´avan´eho ze senzor˚ u zaruˇcuje, ˇze vzorkov´an´ı probˇehne vˇzdy na dvou cel´ ych period´ach sign´alu s hustotou vzorkov´an´ı 400 vzork˚ u na periodu. Tato vzorkovac´ı frekvence jiˇz zaruˇc´ı dostateˇcnˇe jemn´e rozliˇsen´ı pˇri n´asledn´em zpracov´an´ı.
28
4.3
Kalibrace
Dalˇs´ım krokem, kter´ y bylo nutn´e prov´est, abychom z´ıskali z hledaˇcky relevantn´ı data, byla jej´ı kalibrace. Kalibrac´ı senzor˚ u byla zajiˇstˇena moˇznost pouˇzit´ı hledaˇcky v r˚ uzn´ ych prostˇred´ıch a za r˚ uzn´ ych pracovn´ıch podm´ınek, vˇzdy s kvalitn´ım a realitˇe odpov´ıdaj´ıc´ım v´ ystupem. Pokud by kalibrace senzor˚ u nebyla provedena, z´ıskali bychom soubor dat, ze kter´eho by nebylo moˇzn´e vytˇeˇzit potˇrebnou informaci o uloˇzen´ı vodiˇce skryt´eho napˇr´ıklad ve stˇenˇe.
4.3.1
Odstranˇ en´ı SS sloˇ zky
Jak jiˇz bylo zm´ınˇeno v kapitole 2.3, v´ ystupn´ı sign´al ze senzor˚ u je v´az´an na stejnosmˇernou sloˇzku napˇet´ı, kter´a se pohybuje v rozmez´ı 5,5 V - 6,5 V. Tato sloˇzka je d´ana konstrukˇcn´ım ˇreˇsen´ım senzor˚ u, nem´a vˇsak spojitost s u ´rovn´ı z´ısk´avan´eho sign´alu, je tedy nutn´e ji softwarovˇe odstranit. Situace je komplikov´ana nejen r˚ uzn´ ymi velikostmi t´eto sloˇzky u jednotliv´ ych senzor˚ u, ale tak´e t´ım, ˇze se v pr˚ ubˇehu ˇcasu a se zmˇenou vzd´alenosti sn´ıman´eho veden´ı m˚ uˇze jej´ı velikost mˇenit. Nejjednoduˇsˇs´ım zp˚ usobem, jak z´ıskat ze senzor˚ u uˇziteˇcn´ y sign´al neovlivnˇen´ y SS sloˇzkou, je vyhled´an´ı minim´aln´ıho a maxim´aln´ıho vzorku v r´amci jedn´e periody, po jejichˇz odeˇcten´ı dostaneme hodnotu, kter´a odpov´ıd´a napˇet´ı ˇspiˇcka - ˇspiˇcka uˇziteˇcn´eho sign´alu. Tato hodnota je jiˇz pˇr´ımo u ´mˇern´a vzd´alenosti sn´ıman´eho veden´ı a je pouˇz´ıv´ana v dalˇs´ıch kroc´ıch. Vyhodnocen´ı prob´ıh´a jeˇstˇe v r´amci ovladaˇce pˇrevodn´ıku, takˇze jeho v´ ystupem je pro kaˇzd´ y senzor jedin´a hodnota reprezentuj´ıc´ı u ´roveˇ n sign´alu, se kterou jiˇz lze snadno pracovat a d´ale ji upravovat.
4.3.2
Kalibrace v´ ystupn´ıch hodnot
Stejnˇe tak jako r˚ uznou SS sloˇzku maj´ı senzory odliˇsnou i odezvu na elektromagnetick´e pole. V´ ystupy jednotliv´ ych senzor˚ u jsou si vz´ajemnˇe velice podobn´e, ne vˇsak stejn´e, coˇz je d˚ usledkem tˇr´ıd pˇresnosti souˇca´stek pouˇzit´ ych v senzorech. Kaˇzd´a ze souˇca´stek m´a urˇcitou toleranci parametr˚ u a v r´amci tˇechto toleranc´ı se ´ liˇs´ı v´ ystupn´ı hodnoty z´ısk´avan´e ze senzor˚ u. Ukolem tohoto bodu kalibrace je tedy zajistit stejnou odezvu senzor˚ u na elektromagnetick´e pole urˇcit´e velikosti. Pro tuto kalibraci bylo nutn´e zajistit stejnomˇern´e vybuzen´ı vˇsech senzor˚ u elektromagnetick´ ym polem, tak abychom mohli urˇcit jejich odezvu na dan´e pole souˇcasnˇe. K tomuto u ´ˇcelu byla pouˇzita ˇctvercov´a deska z cuprextitu o d´elce strany 40 centimetr˚ u, na kterou byla za dodrˇzen´ı vˇsech bezpeˇcnostn´ıch pˇredpis˚ u pˇripojena f´aze z elektrick´eho rozvodu 230V/50Hz. Hledaˇcka byla um´ıstˇena v dostateˇcn´e vzd´alenosti od vˇsech potencion´aln´ıch z´aˇriˇc˚ u elektromagnetick´eho pole, kter´e by mohly z´ıskan´e v´ ysledky ovlivˇ novat. Po zajiˇstˇen´ı vhodn´eho mˇeˇr´ıc´ıho prostˇred´ı bylo provedeno 8 mˇeˇren´ı ve vzd´alenostech od 0 do 10 centimetr˚ u. Na obr´azku 4.5 jsou vyneseny z´avislosti zmˇeˇren´eho napˇet´ı na vzd´alenosti mˇeˇr´ıc´ı desky. Z obr´azku je patrn´e, ˇze trend kˇrivek je t´emˇeˇr stejn´ y, pouze jsou kˇrivky vz´ajemnˇe posunuty. Jako referenˇcn´ı senzor byl urˇcen senzor 1, pro ostatn´ı senzory byly vypoˇcteny koeficienty, kter´e zajist´ı posun kˇrivek na referenˇcn´ı hodnoty. V´ ysledek t´eto kalibrace
29
je zn´azornˇen na obr´azku 4.6, z tohoto obr´azku m˚ uˇzeme vyˇc´ıst, ˇze trend kˇrivek pro jednotliv´e senzory nen´ı zcela totoˇzn´ y, avˇsak rozd´ıly mezi trendy jsou znateln´e aˇz pˇri vysok´em vybuzen´ı senzor˚ u. Takov´ehoto vybuzen´ı nelze v bˇeˇzn´ ych podm´ınk´ach pˇri hled´an´ı vodiˇce dos´ahnout, z´aroveˇ n je hledaˇcka opatˇrena ochrann´ ym mechanizmem, kter´ y zajist´ı i v pˇr´ıpadˇe ne´ umˇernˇe vyˇsˇs´ıho vybuzen´ı nˇekolika senzor˚ u spr´avn´e zobrazen´ı v´ ysledk˚ u.
Obr´azek 4.5: Pr˚ ubˇeh napˇet´ı na senzorech pˇred kalibrac´ı
30
Obr´azek 4.6: Pr˚ ubˇeh napˇet´ı na senzorech po kalibraci
4.3.3
Adaptace na prostˇ red´ı
Tˇret´ı f´aze kalibrace spoˇc´ıv´a v pˇrizp˚ usoben´ı jednotliv´ ych senzor˚ u na prostˇred´ı, ve kter´em se budou vodiˇce vyhled´avat. V dneˇsn´ı dobˇe jsme obklopeni velk´ ym mnoˇzstv´ım elektronick´ ych zaˇr´ızen´ı, kter´a do sv´eho okol´ı vyzaˇruj´ı elektromagnetick´e pole. Toto pole je mˇeˇrenou veliˇcinou senzor˚ u, z ˇcehoˇz vypl´ yv´a, ˇze jeho okoln´ı u ´roveˇ n ovlivˇ nuje pˇresnost mˇeˇren´ı. S´ıla vyzaˇrovan´eho elektromagnetick´eho pole je ovˇsem v r˚ uzn´ ych prostorech velice rozd´ıln´a, z´avis´ı na mnoha faktorech jako je napˇr´ıklad mnoˇzstv´ı zapnut´ ych spotˇrebiˇc˚ u v m´ıstnosti, zda bude hled´an´ı prob´ıhat ve venkovsk´em domˇe, nebo mˇestsk´em bytˇe a mnoho dalˇs´ıch. Tyto rozd´ıly je nutn´e kompenzovat, v pˇr´ıpadˇe nastaven´ı pevn´e hladiny z´akladn´ıho ˇsumu by se mohlo st´at, ˇze v prostˇred´ı s velk´ ym mnoˇzstv´ım elektrosmogu by hledaˇcka byla vybuzena okoln´ım z´aˇren´ım natolik, ˇze by jej´ı vyhodnocovac´ı schopnost klesla t´emˇeˇr k nule. Tomuto stavu je pˇredch´azeno softwarov´ ym opatˇren´ım, hledaˇcka po kaˇzd´em zapnut´ı provede pˇet kontroln´ıch mˇeˇren´ı voln´eho prostranstv´ı a dle tˇechto mˇeˇren´ı je nastavena referenˇcn´ı hodnota prostˇred´ı, ve kter´em bude hled´an´ı prov´adˇeno. Z tohoto d˚ uvodu je velice vhodn´e hledaˇcku nˇekolik vteˇrin po zapnut´ı nechat volnˇe leˇzet na m´ıstˇe, kde nebude ovlivnˇena ˇza´dn´ ym vodiˇcem pod napˇet´ım, pro spr´avnou kalibraci dostaˇcuje, aby se vodiˇc nenach´azel v okol´ı 50 centimetr˚ u od hledaˇcky, kde uˇz je vyzaˇrovan´e pole izolovan´eho vodiˇce zanedbateln´e. Kalibraci je vhodn´e prov´adˇet i v pˇr´ıpadˇe pˇrechodu do vedlejˇs´ı m´ıstnosti, z praktick´eho hlediska toto nen´ı nutn´e, avˇsak je t´ımto zp˚ usobem pozitivnˇe ovlivˇ nov´ana kvalita podan´ ych v´ ysledk˚ u.
31
Zobrazov´ an´ı D˚ uleˇzitou souˇca´st´ı zaˇr´ızen´ı tohoto typu je vhodn´e, pˇrehledn´e a intuitivnˇe pochopiteln´e zobrazen´ı namˇeˇren´ ych dat. U nejjednoduˇsˇs´ıch hledaˇcek bohatˇe dostaˇcuje indikace sv´ıtivou diodou, pˇr´ıpadnˇe zvukov´ y sign´al v okamˇziku, kdy hledaˇcka zaznamen´a vodiˇc. V naˇsem pˇr´ıpadˇe vˇsak tento druh indikace nen´ı vhodn´ y. Jedn´ım ze z´akladn´ıch c´ıl˚ u t´eto pr´ace bylo pr´avˇe vytvoˇren´ı hledaˇcky disponuj´ıc´ı displejem, na kter´em by bylo moˇzn´e zobrazit vˇetˇs´ı ˇca´st veden´ı neˇz jeden jedin´ y bod a to pokud moˇzno takov´ ym zp˚ usobem, aby z v´ ysledn´eho obrazu bylo moˇzn´e urˇcit u ´hel vodiˇce pod om´ıtkou a pˇr´ıpadnˇe i ohyby na nˇem. Jako nejvhodnˇejˇs´ı zp˚ usob prezentace sign´alu ze senzor˚ u bylo zvoleno zobrazov´an´ı intenzity pole pomoc´ı stupˇ n˚ u ˇsedi na displeji, kde nejvˇetˇs´ı intenzita odpov´ıd´a b´ıl´e barvˇe a nejmenˇs´ı intenzita pak barvˇe ˇcern´e.
5.1
Matlab
Software Matlab byl pˇri v´ yvoji hledaˇcky pouˇz´ıv´an pˇredevˇs´ım pro snadnou implementaci matematick´ ych metod a grafick´ ych v´ ystup˚ u. Pro jeho propojen´ı s hledaˇckou byla pouˇzita funkce serial, kter´a umoˇzn ˇuje Matlabu snadn´ ym zp˚ usobem naˇc´ıtat data pos´ılan´a do poˇc´ıtaˇce pˇres USB port. V t´eto ˇca´sti v´ yvoje tedy procesor Propeller zajiˇst’oval ˇr´ızen´ı hledaˇcky a z´ıskan´a data n´aslednˇe pomoc´ı funkce FullDuplexSerialPlus.spin pos´ılal pˇres s´eriovou linku do PC. Aby data pro Matlab byla spolehlivˇe pˇren´aˇsena, bylo nutn´e vyˇreˇsit synchronizaci mezi hledaˇckou a Matlabem. Toto bylo provedeno synchronizaˇcn´ım pulsem. V okamˇziku, kdy byl Matlab pˇripraven pˇrij´ımat nov´a data z hledaˇcky, byl vysl´an pˇres s´eriovou linku synchronizaˇcn´ı puls a hledaˇcka spustila nov´ y cyklus naˇc´ıt´an´ı a odes´ıl´an´ı dat. Data naˇcten´a do Matlabu bylo nutn´e pˇrev´est na ˇc´ısla v des´ıtkov´e soustavˇe a uloˇzit do matice o rozmˇeru 5 x 5, tak aby jednotliv´e hodnoty odpov´ıdaly pˇr´ısluˇsn´ ym senzor˚ um. N´aslednˇe jiˇz bylo moˇzn´e s hodnotami snadno pracovat. Pro prvn´ı pˇredstavu o vz´ajemn´e u ´rovni hodnot z´ıskan´ ych ze senzor˚ u byl pouˇzit sloupcov´ y 3D graf, ze kter´eho byla patrn´a nutnost kalibrovat senzory. Na obr´azku 5.1 jsou senzory vybuzen´e vodiˇcem um´ıstˇen´ ym 3 centimetry nad tˇret´ım sloupcem senzor˚ u. Za stejn´ ych podm´ınek byl poˇr´ızen i obr´azek 5.2, kde jsou jiˇz pomoc´ı Matlabu senzory kalibrovan´e. Matlabu bylo s v´ yhodou pouˇz´ıv´ano tak´e pro testov´an´ı zobrazovac´ıch metod, napˇr´ıklad implementace interpolace je v matlabu d´ıky funkci interp2 velice snadn´a a bylo tak moˇzn´e rychl´ ym a efektivn´ım zp˚ usobem testovat nejvhodnˇejˇs´ı variantu pro v´ ysledn´e zobrazov´an´ı dat hledaˇckou.
32
Obr´azek 5.1: Matlab - sloupcov´ y graf pˇred kalibrac´ı senzor˚ u
Obr´azek 5.2: Matlab - sloupcov´ y graf po kalibraci senzor˚ u
33
5.2
Interpolace
Interpolace je proces odhadov´an´ı stˇredn´ı hodnoty spojit´e funkce ze zn´am´ ych vzork˚ u [15]. Interpolace je pouˇz´ıv´ana v digit´aln´ım zpracov´an´ı obrazu ke zvˇetˇsen´ı, nebo u ´pravˇe obrazu. Interpolaˇcn´ıch algoritm˚ u existuje velk´e mnoˇzstv´ı, v n´asleduj´ıc´ıch kapitol´ach si uvedeme nˇekolik z´akladn´ıch metod, jejich v´ yhody a nev´ yhody.
5.2.1
Line´ arn´ı interpolace
Line´arn´ı interpolace je nejjednoduˇsˇs´ı metodou, jak z´ıskat mezi dvˇema zn´am´ ymi body nov´e hodnoty. Nejˇcastˇeji se s n´ı m˚ uˇzeme setkat v matematick´ ych aplikac´ıch, kde je pouˇz´ıv´ana pro jej´ı jednoduchost. Jako pˇr´ıklad si uved’me doplnˇen´ı tabulek mˇeˇren´ ych hodnot, kde n´am sch´az´ı nˇekter´e namˇeˇren´e hodnoty, jejichˇz trend je v urˇcit´ ych u ´sec´ıch patrnˇe line´arn´ı. Hojn´eho pouˇzit´ı se line´arn´ı interpolaci dost´av´a tak´e v poˇc´ıtaˇcov´e grafice a to opˇet pro ˇcasovou nen´aroˇcnost jej´ıho v´ ypoˇctu. Line´arn´ı interpolace spoˇc´ıv´a v principu propojen´ı dvou bod˚ u pˇr´ımkou. Na obr´azku 5.3 vid´ıme kˇrivku vytvoˇrenou line´arn´ı interpolac´ı.
Obr´azek 5.3: Line´arn´ı interpolace [14]
Kter´ ykoliv bod interpolovan´e kˇrivky tak m˚ uˇzeme vypoˇc´ıtat dle vztahu 5.1. Na obr´azku 5.4 je zn´azornˇena situace, kde m´ame zn´am´e body A a B, bod C z´ıskan´ y line´arn´ı interpolac´ı.
y = y1 +
x − x1 (y2 − y1 ) . x2 − x1
34
(5.1)
Obr´azek 5.4: Bod z´ıskan´ y line´arn´ı interpolac´ı
5.2.2
Kosinov´ a interpolace
U kosinov´e interpolace se stejnˇe jako u interpolace line´arn´ı pro v´ ypoˇcet nov´ ych bod˚ u kˇrivky pouˇz´ıvaj´ı pouze dva krajn´ı zn´am´e body. Ovˇsem zat´ımco u line´arn´ı interpolace se body prokl´adaj´ı pˇr´ımkou, v pˇr´ıpadˇe kosinov´e interpolace, jak jiˇz napov´ıd´a jej´ı n´azev, se mezi dva zn´am´e body vkl´ad´a u ´sek funkce kosinus. Z prokl´ad´an´ı u ´seky funkce kosinus vypl´ yv´a hlavn´ı v´ yhoda t´eto interpolace a tou je vˇetˇs´ı spojitost interpolovan´ ych kˇrivek, na rozd´ıl od kubick´e interpolace se vˇsak nejedn´a o skuteˇcnou spojitost, ˇza´dn´ y bod nikdy nepˇres´ahne hodnoty referenˇcn´ıch bod˚ u. Na obr´azku 5.5 vid´ıme pro srovn´an´ı body A a B se stejn´ ymi souˇradnicemi jako na obr´azku 5.3, avˇsak proloˇzen´e kosinovou interpolac´ı. Body z´ıskan´e kosinovou interpolac´ı m˚ uˇzeme dopoˇc´ıtat z rovnice 5.2.
y = y1 + 1 − cos
x − x1 · π · 0, 5 (y2 − y1 ) . x2 − x 1
35
(5.2)
Obr´azek 5.5: Kosinov´a interpolace [14]
Obr´azek 5.6: Bod z´ıskan´ y kosinovou interpolac´ı
5.2.3
Kubick´ a interpolace
Kubick´a interpolace je prvn´ı z uveden´ ych interpolac´ı, kter´a nab´ız´ı opravdovou spojitost bod˚ u. Aby vˇsak t´eto spojitosti mohlo b´ yt dosaˇzeno, jsou potˇreba k jej´ı realizaci v´ıce neˇz 2 krajn´ı body. Abychom mohli vypoˇc´ıst kter´ ykoliv bod kˇrivky, potˇrebujeme u kubick´e interpolace zn´at 4 body. Kubick´a interpolace se pouˇz´ıv´a v poˇc´ıtaˇcov´e grafice tam, kde nen´ı kladen tak velk´ y d˚ uraz na rychlost vyhodnocov´an´ı obrazu. Odmˇenou za vˇetˇs´ı v´ ypoˇcetn´ı n´aroˇcnost a t´ım p´adem pomalejˇs´ı 36
vyhodnocov´an´ı jsou pak v porovn´an´ı s pˇredchoz´ımi interpolacemi mnohem l´epe vypadaj´ıc´ı kˇrivky. Pro v´ ypoˇcet kubick´e interpolace existuje nˇekolik r˚ uzn´ ych metod a algoritm˚ u, jako napˇr´ıklad konvoluˇcn´ı a Hermitova metoda.
Obr´azek 5.7: Kubick´a interpolace [14]
5.2.4
Pouˇ zit´ı interpolace v hledaˇ cce
Jako nejlepˇs´ı zp˚ usob zobrazov´an´ı bylo zvoleno interpolov´an´ı dat ze senzor˚ u. Interpolov´an´ım je moˇzn´e pˇres n´ızk´ y poˇcet senzor˚ u doc´ılit obrazu o podstatnˇe vyˇsˇs´ım rozliˇsen´ı neˇz je 25 obrazov´ ych bod˚ u, kter´ ymi by hledaˇcka disponovala bez pouˇzit´ı interpolace. Vhodn´ ym barevn´ ym sch´ematem ja pak vzhledem k citlivosti oka na jas zobrazov´an´ı ve stupn´ıch ˇsedi. Nejvˇetˇs´ı intenzita sign´alu je zobrazov´ana jako b´ıl´a barva a naopak m´ısta s n´ızkou intenzitou jsou ˇcern´a. V´ ysledn´ y obraz je tedy podobn´ y napˇr´ıklad rentgenov´emu sn´ımku. V kapitol´ach v´ yˇse jsou uvedeny pˇr´ıklady z´akladn´ıch typ˚ u interpolac´ı, z tˇechto byla pˇres svoji vysokou v´ ypoˇcetn´ı n´aroˇcnost pro hledaˇcku vybr´ana interpolace kubick´a. Procesor Propeller P8X32A d´ıky sv´e osmij´adrov´e architektuˇre poskytuje pro pouˇzit´ı kubick´e interpolace dostateˇcn´ y v´ ypoˇcetn´ı v´ ykon. Pro interpolaci obrazu je nutn´e pouˇzit´ı dvourozmˇern´e interpolace, oznaˇcovan´e jako bikubick´a interpolace. Pˇri vytv´aˇren´ı algoritm˚ u na v´ ypoˇcet bikubick´e interpolace bylo vych´azeno pˇredevˇs´ım z princip˚ u popsan´ ych v [15], [16] a [17], kter´e doporuˇcuji k pˇreˇcten´ı pro doplnˇen´ı text˚ u t´eto pr´ace, jej´ıˇz rozsah nedovoluje plnˇe a celistvˇe tuto problematiku rozebrat. V hledaˇcce byl pro v´ ypoˇcet interpolovan´ ych bod˚ u pouˇzit algoritmus CatmullRom-Spline vyvinut´ y pro pouˇzit´ı v poˇc´ıtaˇcov´e grafice. Odvozen´ı tohoto algoritmu m˚ uˇzeme naj´ıt v [16].
37
5.3
Rozhran´ı VGA
VGA (Video Graphic Array) je poˇc´ıtaˇcov´e grafick´e rozhran´ı, kter´e se stalo pr˚ umyslov´ ym standardem roku 1987, kdy spoleˇcnost IBM uvedla na trh grafickou kartu VGA, po kter´e rozhran´ı z´ıskalo sv˚ uj n´azev. Rozhran´ı pouˇz´ıv´a konektor oznaˇcovan´ y D-SUB, kter´ y m´a 15 pin˚ u ve tˇrech ˇrad´ach (Obr´azek 5.8).
Obr´azek 5.8: Rozloˇzen´ı pin˚ u konektoru D-SUB [18]
Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
N´azev RED GREEN BLUE RES GND RGND GGND BGND +5V SGND ID0 SDA HSYNC VSYNC SCL
Smˇer OUT OUT OUT GND GND GND GND OUT GND IN IN/OUT OUT OUT IN/OUT
Popis ˇ Cerven´ a sloˇzka Zelen´a sloˇzka Modr´a sloˇzka Nepouˇz´ıvan´ y port Zem Zem ˇcerven´e sloˇzky Zem zelen´e sloˇzky Zem modr´e sloˇzky Napˇet´ı 5 V SS Zem synchronizace ID bit 0 monitoru S´eriov´a datov´a linka Horizont´aln´ı synchronizace Vertik´aln´ı synchronizace S´eriov´e datov´e hodiny
Impedance/Napˇet´ı 75 Ω; 0,7 V p-p 75 Ω; 0,7 V p-p 75 Ω; 0,7 V p-p
Tabulka 5.1: Popis pin˚ u konektoru D-SUB [18]
VGA je standard pro analogov´a zobrazovac´ı zaˇr´ızen´ı. Barevn´e sloˇzky, ze kter´ ych se v´ ysledn´ y obraz skl´ad´a, maj´ı amplitudu 0,7 V, kde napˇet´ı 0 V odpov´ıd´a zatemnˇen´ı a napˇet´ı 0,7 V odpov´ıd´a maxim´aln´ımu jasu dan´e sloˇzky obrazov´eho pixelu. Form´at obrazu pro tento standard je 640 x 480 / 60 Hz, coˇz znamen´a pˇrekreslov´an´ı obrazu 60x za sekundu pˇri rozliˇsen´ı 640 x 480 obrazov´ ych bod˚ u.
5.3.1
Vykreslov´ an´ı a ˇ casov´ an´ı
U standardu VGA je obraz na monitor vykreslov´an po ˇra´dc´ıch. Na zaˇca´tku ˇra´dku je vˇzdy odesl´an impuls horizont´aln´ı synchronizace a n´aslednˇe doch´az´ı k vy38
kreslen´ı ˇra´dku, po vykreslen´ı vˇsech ˇra´dk˚ u je vygenerov´an impuls vertik´aln´ı synchronizace a pˇrejde se na vykreslov´an´ı dalˇs´ıho sn´ımku. Mezi jednotliv´ ymi ˇra´dky a sn´ımky se nach´azej´ı zatemˇ novac´ı intervaly, kter´e d´avaj´ı dostatek ˇcasu pro odesl´an´ı synchronizaˇcn´ıch puls˚ u a pˇr´ıpravu pro dalˇs´ı vykreslov´an´ı.
Obr´azek 5.9: Sloˇzen´ı VGA obrazu Aktivn´ı oblast na obr´azku 5.9 odpov´ıd´a skuteˇcn´ ym rozmˇer˚ um obrazu, v naˇsem pˇr´ıpadˇe 640 x 480 pixel˚ u. Zatemˇ novac´ı oblast se skl´ad´a z nˇekolika ˇca´st´ı, kter´ ymi jsou Front Porch, Back Porch a synchronizaˇcn´ı pulsy. Bˇehem zatemˇ novac´ı oblasti nen´ı na obrazovce vykreslov´an ˇza´dn´ y obraz, d´elkami dob trv´an´ı impuls˚ u Front Porch a Back Porch je moˇzn´e posunovat obraz po obrazovce. V tabulce 5.2 jsou uvedeny d´elky trv´an´ı jednotliv´ ych interval˚ u aktivn´ı i zatemˇ novac´ı oblasti. Vertik´ aln´ı synchronizace Sign´al vertik´aln´ı synchronizace na obr´azku 5.9 oznaˇcen´ y jako VSYNC urˇcuje obnovovac´ı frekvenci obrazu, n´abˇeˇzn´a hrana tohoto sign´alu oznaˇcuje zaˇc´atek nov´eho sn´ımku. V naˇsem pˇr´ıpadˇe m´a tento sign´al frekvenci 60 Hz, existuj´ı vˇsak r˚ uzn´e varianty VGA, kde tento sign´al m˚ uˇze dosahovat aˇz frekvence 120 Hz. Horizont´ aln´ı synchronizace Sign´al horizont´aln´ı synchronizace oznaˇcovan´ y jako HSYNC urˇcuje frekvenci 39
ˇ adek R´ Front Porch 8 bod˚ u HSYNC 96 bod˚ u Back Porch 40 bod˚ u Lev´ y okraj 8 bod˚ u Video 640 bod˚ u Prav´ y okraj 8 bod˚ u Celkem 800 bod˚ u
0,32 3,81 1,59 0,32 25,42 0,32 31,77
µs µs µs µs µs µs µs
Obraz Front Porch 2 ˇra´dky VSYNC 2 ˇra´dky Back Porch 25 ˇra´dk˚ u Lev´ y okraj 8 ˇra´dk˚ u Video 480 ˇr´adk˚ u Prav´ y okraj 8 ˇra´dk˚ u Celkem 525 ˇr´adk˚ u
63,56 63,56 794,44 254,22 15,25 254,22 16,7
µs µs µs µs ms µs ms
ˇ Tabulka 5.2: Casov´ an´ı VGA sign´alu
pro vykreslov´an´ı jednotliv´ ych ˇra´dk˚ u. Sign´al funguje podobn´ ym zp˚ usobem jako sign´al VSYNC, jeho frekvence je vˇsak o nˇekolik ˇra´d˚ u vyˇsˇs´ı. RGB sign´ al Obraz v aktivn´ı oblasti je vykreslov´an pomoc´ı RGB sign´alu (barvy Red, Green, Blue). V´ ysledn´a barva zobrazovan´eho pixelu je d´ana aditivn´ım m´ıch´an´ım, neboli optick´ ym souˇctem barev. VGA m˚ uˇze disponovat r˚ uznou barevnou hloubkou v z´avislosti na tom, kolika bity je kaˇzd´a ze tˇr´ı z´akladn´ıch barev reprezentov´ana. V n´asleduj´ıc´ı tabulce je uvedeno 8 z´akladn´ıch barev. Red (ˇcerven´a) Green (zelen´a) Blue (modr´a) Z´ıskan´a barva 0 0 0 ˇcern´a 0 0 1 modr´a 0 1 0 zelen´a 0 1 1 azurov´a 1 0 0 ˇcerven´a 1 0 1 purpurov´a 1 1 0 ˇzlut´a 1 1 1 b´ıl´a Tabulka 5.3: Z´akladn´ı barvy VGA RGB sign´al je pˇren´aˇsen u rozhran´ı VGA pro kaˇzd´ y obrazov´ y bod zvl´aˇst’ a jeho frekvence je v naˇsem pˇr´ıpadˇe 25,175 MHz. V tabulce 5.4 jsou shrnuty z´akladn´ı charakteristiky VGA. 40
Obrazov´a frekvence 59, 94 Hz ˇ R´adkov´a frekvence 31, 469 kHz Bodov´a frekvence 25, 175 M Hz Doba trv´an´ı sn´ımku 16, 68 ms Doba trv´an´ı ˇra´dku 31, 77µs Doba trv´an´ı bodu 39, 72 ns Tabulka 5.4: Charakteristiky VGA
5.3.2
Propeller Video Generator
Procesor Propeller je dobˇre pˇripraven pro pr´aci s VGA rozhran´ım. Kaˇzd´e j´adro procesoru je vybaveno modulem Video Generator, kter´ y umoˇzn ˇuje pˇrenos video sign´alu konstantn´ı rychlost´ı. Pro pr´aci s video sign´alem jsou k dispozici dva registry (VCFG a VSCL) a jedna instrukce (WAITVID), umoˇzn ˇuj´ıc´ı kontrolu a pˇr´ıstup k video gener´atoru. [19] VCFG (Video Configuration Register) VCFG je 32 bitov´ y regitstr umoˇzn ˇuj´ıc´ı nastaven´ı parametr˚ u video gener´atoru. Tento registr je rozdˇelen do nˇekolika ˇca´st´ı, kter´e zad´avaj´ı potˇrebn´e parametry video gener´atoru. Nastavit je moˇzn´e, zda bude generov´an VGA, nebo kompozitn´ı sign´al, barevn´ y m´od a tak´e skupinu 8 pin˚ u, na kter´e bude konektor pˇripojen. VSCL(Video Scale Register) Pomoc´ı VSCL registru je moˇzn´e nastavit frekvenci, jakou bude video sign´al generov´an. Registr je rozdˇelen do dvou ˇc´ast´ı PixelCloks a FrameClocks. 8 bitov´e pole PixelClocks urˇcuje, kolik takt˚ u m´a uplynout v dobˇe, neˇz bude video gener´atorem odesl´an dalˇs´ı pixel na v´ ystup. 12 bitov´e pole FrameClocks pak analogicky urˇcuje frekvenci odes´ıl´an´ı cel´eho sn´ımku. WAITVID Instrukce WAITVID funguje jako doruˇcovac´ı mechanismus dat pro video gener´ator. Video gener´ator kaˇzd´eho j´adra pracuje nez´avisle na j´adˇre samotn´em a je tedy nutn´e pˇred kaˇzd´ ym odesl´an´ım dat zobrazovac´ımu zaˇr´ızen´ı tyto dva elementy synchronizovat. Instrukce WAITVID pozdrˇz´ı ˇcinnost j´adra, dokud nen´ı video gener´ator pˇripraven pˇrijmout dalˇs´ı obrazov´a data. D´ıky tomuto integrovan´emu ˇreˇsen´ı je procesor Propeller schopen snadno a bez dalˇs´ıch periferi´ı vytv´aˇret videosign´al pro VGA ˇci kompozitn´ı v´ ystup, ˇcehoˇz bylo vyuˇzito pro zobrazov´an´ı dat z´ıskan´ ych hledaˇckou.
5.3.3
Modul pro VGA rozhran´ı
Barevn´e sloˇzky RGB jsou v pˇr´ıpadˇe procesoru Propeller zastoupeny 6 piny procesoru (dva pro kaˇzdou barvu), ze kter´ ych je moˇzn´e pomoc´ı VGA Adapter Board Kitu z´ıskat 64 barevn´ ych kombinac´ı. Pˇri pouˇzit´ı tohoto kitu bychom mˇeli 41
k dispozici pouze 4 stupnˇe ˇsedi, coˇz je vzhledem k rozhodnut´ı zobrazovat sign´al v odst´ınech ˇsedi pro naˇse u ´ˇcely nedostateˇcn´e. Bylo tedy nutn´e vytvoˇrit modul, umoˇzn ˇuj´ıc´ı pouˇzit´ı vˇsech 6 pin˚ u vymezen´ ych pro pˇrenos barev VGA obrazu pouze pro zobrazov´an´ı odst´ın˚ u ˇsedi. Jak jiˇz bylo zm´ınˇeno v´ yˇse, VGA rozhran´ı pracuje s aditivn´ım m´ıch´an´ım barev, pro z´ısk´an´ı odst´ın˚ u ˇsedi je tedy nutn´e na vˇsechny tˇri barevn´e sloˇzky pˇriv´adˇet stejn´ y sign´al. Tento probl´em je u modulu vyˇreˇsen spojen´ım RGB pin˚ u do jednoho uzlu (viz zapojen´ı modulu na obr. 5.10), na kter´ y je pˇriv´adˇeno napˇet´ı od 0 do 0,7 V. Modul pro pˇrevod barevn´eho obrazu na ˇcernob´ıl´ y tedy spoˇc´ıv´a ve vytvoˇren´ı odporov´e s´ıtˇe, kter´a by pˇri sp´ın´an´ı jednotliv´ ych v´ ystup˚ u poskytovala napˇet´ı od 0 do 0,7 V v 64 kroc´ıch. Tohoto ˇreˇsen´ı je moˇzn´e dos´ahnout pomoc´ı odporov´ ych dˇeliˇc˚ u se spr´avnˇe volen´ ymi velikostmi odpor˚ u. M˚ uˇzeme vych´azet z pˇredpokladu, ˇze piny ve stavu logick´e 1“ jsou vˇsechny ” pˇripojeny na potenci´al 3,3 V a vˇsechny piny ve stavu logick´e 0“ jsou uzemnˇen´e. ” Pro v´ ypoˇcet potˇrebn´ ych odpor˚ u pak m˚ uˇzeme pouˇz´ıt zn´amou rovnici:
U2 = U1 ·
R1 , R1 + Rreq
(5.3)
kde U2 je ˇza´dan´e napˇet´ı, U1 v´ ystupn´ı napˇet´ı pin˚ u procesoru, R1 typick´a impedance VGA rozhran´ı (vzhledem ke spojen´ı pin˚ u RGB je tˇretinov´a) a Rreq hledan´ y odpor. Dosazen´ım do rovnice z´ısk´ame: 25 , 25 + Rreq 0, 7 · (25 + Rreq ) = 3, 3 · 25, (3, 3 · 25) , 25 + Rreq = 0, 7 Rreq = 92, 86Ω. 0, 7 = 3, 3 ·
Po vypoˇcten´ı odporu potˇrebn´eho pro z´ısk´an´ı napˇet´ı 0,7 V reprezentuj´ıc´ım u rozhran´ı VGA b´ılou barvu je v dalˇs´ım kroku nutn´e vypoˇc´ıtat odpory jednotliv´ ych vˇetv´ı takov´ ym zp˚ usobem, aby jejich kombinace odpov´ıdaly line´arn´ımu r˚ ustu napˇet´ı od 0 do 0,7 V. Takov´eho zapojen´ı je moˇzn´e doc´ılit zdvojn´asobov´an´ım odpor˚ u se zvyˇsuj´ıc´ı se v´ahou bitu, m˚ uˇzeme tedy napsat:
Rreq =
1 R
1 2R
1 4R
+ + 32R Rreq = , 63 63Rreq R = , 32 R = 182, 8125Ω.
42
1 1 + 8R +
1 16R
+
1 32R
,
(5.4)
Z vypoˇcten´eho jednotkov´eho odporu R jiˇz lze snadno dopoˇc´ıtat jednotliv´e odpory pro vˇetve VGA modulu. Pˇri realizaci modulu byla zohlednˇena v´ ystupn´ı impedance pin˚ u procesoru, kter´a je 27 Ω. V n´asleduj´ıc´ı tabulce 5.5 jsou uvedeny hodnoty pouˇzit´ ych souˇca´stek. Pin Vypoˇcten´ y Pouˇzit´ y odpor[Ω] rezistor 1 [Ω] 18 182,8 100 19 365,6 270 20 731,3 680 21 1462,5 1200 22 2925 2200 23 5850 5600
Pouˇzit´ y rezistor 2 [Ω] 56 68 22 220 680 220
V´ ysledn´ y Odchylka odpor [Ω] [Ω] 183 -0,2 365 0,6 729 1,3 1447 15,5 2907 18 5847 3
Tabulka 5.5: Vypoˇcten´e parametry VGA modulu
Obr´azek 5.10: Zapojen´ı VGA modulu
43
5.4
Korekce obrazu
Posledn´ı ˇc´ast´ı, kterou bylo nutn´e pro spr´avn´e zobrazov´an´ı dat z hledaˇcky vyˇreˇsit, byla korekce obrazu. Data z hledaˇcky jsou zobrazov´ana ve ˇctvercov´em poli o rozliˇsen´ı 80 x 80 pixel˚ u s 6 bitovou hloubkou ˇcernob´ıl´eho obrazu, coˇz znamen´a 64 odst´ın˚ u ˇsedi. V´ ysledn´ y obraz bez korekce je vˇsak pˇreexponovan´ y a pˇri vˇetˇs´ı vzd´alenosti hledan´eho vodiˇce neposkytuje dostateˇcnˇe pˇresn´e informace o jeho poloze. S touto variantou zobrazov´an´ı by bylo moˇzn´e hled´an´ı vodiˇce pouze na minim´aln´ı vzd´alenost a tak bylo nutn´e expozici obrazu korigovat.
5.4.1
Gamma korekce
Gamma korekce se v obrazov´e technice pouˇz´ıv´a ke korekci jasu obrazu. Gamma korekce nemˇen´ı nejsvˇetlejˇs´ı a nejtmavˇs´ı bod obrazu, avˇsak mˇen´ı rozloˇzen´ı jasu v jeho rozsahu. K snazˇs´ımu pochopen´ı v´ yznamu gamma korekce pom˚ uˇze obr´azek. Na obr´azku 3.1 jsou zn´azornˇeny gamma kˇrivky pro koeficienty 1, 2, 3 a 4. Pˇri koeficientu 1 je pˇrevod jasu line´arn´ı, tedy vstupn´ımu jasu o hodnotˇe 0,5 odpov´ıd´a v´ ystupn´ı jas stejn´e hodnoty. Pˇri vyˇsˇs´ıch koeficientech jiˇz pˇrevod line´arn´ı nen´ı a vstupn´ımu jasu odpov´ıdaj´ı niˇzˇs´ı hodnoty jasu v´ ystupn´ıho.
Obr´azek 5.11: Gamma kˇrivky
Elektromagnetick´e pole vyzaˇrovan´e vodiˇcem je kruhov´e, se zvˇetˇsuj´ıc´ı vzd´alenost´ı vodiˇce od hledaˇcky se tedy zvˇetˇsuje poˇcet vybuzen´ ych senzor˚ u a t´ım znesnadˇ nuje urˇcen´ı pˇresn´e polohy vodiˇce. Pˇri pouˇzit´ı gamma korekˇcn´ıch kˇrivek je pˇri volbˇe vhodn´ ych koeficient˚ u moˇzn´e tento jev ˇc´asteˇcnˇe kompenzovat a umoˇznit tak efektivn´ı pouˇzit´ı hledaˇcky na vˇetˇs´ı vzd´alenosti. Gamma kˇrivky jsou u hledaˇcky 44
voliteln´e ve ˇctyˇrech stupn´ıch (1, 2, 3, 4). Pro bˇeˇzn´e pouˇzit´ı hledaˇcky byl zvolen jako v´ ychoz´ı koeficient 2.
Obr´azek 5.12: Rozloˇzen´ı jasu obrazu po gamma korekci
Na obr´azku 5.12 vid´ıme, jak´ ym zp˚ usobem zvolen´e koeficienty gamma korekce ovlivˇ nuj´ı rozloˇzen´ı jasu ve v´ ysledn´em obrazu. Nastaven´ı koeficient˚ u gamma ve ˇctyˇrech stupn´ıch umoˇzn ˇuje v´ ybˇer nejvhodnˇejˇs´ıho zobrazen´ı za r˚ uzn´ ych podm´ınek, jako je vˇetˇs´ı hloubka uloˇzen´ı vodiˇce ve stˇenˇe, nebo vˇetˇs´ı intenzita vyzaˇrov´an´ı elektromagnetick´eho pole.
5.4.2
Z´ıskan´ y obraz
V n´asleduj´ıc´ıch obr´azc´ıch jsou zachyceny rozd´ıly zobrazen´ı pˇri detekci 3 centimetry vzd´alen´eho vodiˇce za pouˇzit´ı jednotliv´ ych gamma kˇrivek. Z´aroveˇ n obr´azky slouˇz´ı pro prezentaci v´ ysledn´eho obrazu, kter´ y hledaˇcka poskytuje.
45
Obr´azek 5.13: Gamma 1
Obr´azek 5.14: Gamma 2
46
Obr´azek 5.15: Gamma 3
Obr´azek 5.16: Gamma 4
47
Z´ avˇ er C´ılem t´eto diplomov´e pr´ace bylo navrhnout a realizovat hledaˇcku skryt´eho veden´ı ˇr´ızenou mikroprocesorem a vybavenou vhodn´ ym zobrazovac´ım zaˇr´ızen´ım. Tato hledaˇcka mˇela disponovat vˇetˇs´ım poˇctem detekˇcn´ıch senzor˚ u uspoˇr´adan´ ych tak, aby bylo moˇzn´e urˇcit pˇr´ıpadn´e ohyby na hledan´em veden´ı a celkovˇe tak zjednoduˇsit jeho trasov´an´ı. Detekˇcn´ı vzd´alenost hledaˇcky mˇela b´ yt 10 centimetr˚ u. V prvn´ı f´azi pr´ace bylo nutn´e navrhnout a realizovat matici senzor˚ u s dostateˇcnou citlivost´ı. Navrˇzen´a matice disponuje 25 oddˇelen´ ymi senzory zab´ıraj´ıc´ımi plochu 8 x 9 centimetr˚ u, detekˇcn´ı vzd´alenost senzor˚ u je 15 centi’ metr˚ u. Dalˇs´ım krokem byl n´avrh a realizace desky zajiˇst uj´ıc´ı zpracov´an´ı a digitalizaci sign´alu ze senzor˚ u. Po vytvoˇren´ı ovladaˇc˚ u pro ˇr´ızen´ı desky jiˇz bylo moˇzn´e z´ıskat digitalizovan´ y a upraven´ y sign´al ze senzor˚ u, kter´ y byl pˇripraven k vyhodnocov´an´ı. Pro n´avrh vyhodnocov´an´ı a zobrazov´an´ı dat ze senzor˚ u byl zpoˇc´atku vyuˇz´ıv´an v´ ypoˇcetn´ı software Matlab, kter´ y umoˇznil d´ıky sv´ ym snadn´ ym implementac´ım nal´ezt optim´aln´ı ˇreˇsen´ı vˇsech nastal´ ych probl´em˚ u a velice tak usnadnil v´ yvoj cel´eho zaˇr´ızen´ı. Po navrˇzen´ı struktury vyhodnocov´an´ı sign´alu bylo moˇzn´e zaˇc´ıt s implementac´ı v jazyku Spin a PASM pro procesor Propeller P8X32A. Dalˇs´ım krokem bylo vytvoˇren´ı modulu, kter´ y by umoˇzn ˇoval pomoc´ı desky Propeller Proto Board zobrazovat na VGA displeji obraz v 64 stupn´ıch ˇsedi. N´aslednˇe bylo nutn´e implementovat zobrazovac´ı algoritmy pˇr´ımo v jazyce Spin, tak aby v´ ysledn´ y obraz na VGA displeji odpov´ıdal p˚ uvodn´ımu n´avrhu v prostˇred´ı Matlab. Posledn´ım krokem v´ yvoje byla optimalizace pouˇzit´ ych algoritm˚ u, optimalizac´ı bylo dosaˇzeno vyuˇzit´ı vˇsech 8 cog˚ u procesoru po celou dobu bˇehu programu. Doba potˇrebn´a k zobrazen´ı jednoho obrazu na displeji tak byla sn´ıˇzena z p˚ uvodn´ıch 1554 ms na 641 ms, z ˇcehoˇz naˇc´ıt´an´ı hodnot trv´a 310 ms, interpolace 164 ms, gamma korekce 46 ms a zobrazov´an´ı na displeji 121 ms. Ostatn´ı procesy vykon´avan´e hledaˇckou jsou ˇrazeny paralelnˇe k v´ yˇse uveden´ ym dˇej˚ um, takˇze se jejich d´elka do celkov´e doby zobrazov´an´ı neprojev´ı. Obsluˇzn´ y program zab´ır´a 31 kB z celkov´ ych 32 kB pamˇeti RAM, potenci´al procesoru Propeller P8X32A byl tedy vyuˇzit v maxim´aln´ı m´ıˇre. Pˇri vypracov´av´an´ı t´eto diplomov´e pr´ace bylo systematick´ ym postupem hled´ano nejvhodnˇejˇs´ı ˇreˇsen´ı, kter´e by plnˇe vyhovovalo re´aln´emu pouˇzit´ı zaˇr´ızen´ı v praxi. N´avrhem, realizac´ı a zpracov´an´ım t´eto diplomov´e pr´ace jsem nabyl mnoho nov´ ych informac´ı z r˚ uzn´ ych odvˇetv´ı elektroniky a elektrotechniky a z´ıskal velk´e mnoˇzstv´ı praktick´ ych zkuˇsenost´ı s n´avrhem a n´aslednou realizac´ı zaˇr´ızen´ı.
48
Literatura [1] Punˇcoch´aˇr, J.: Operaˇcn´ı zesilovaˇce v elektronice, 5. vyd´an´ı, BEN - technick´a literatura, Praha 2002, ISBN 80-7300-059-8 [2] Vobeck´ y, J.; Z´ahlava, V.: Elektronika - souˇc´astky a obvody, principy a pˇr´ıklady, Vydavatelstv´ı GRADA, Praha 2000, ISBN 80-247-9062-9 ˇ e [3] Malina, V.: Pozn´av´ame elektroniku III, Vydavatelst´ı KOPP, Cesk´ Budˇejovice 1997, ISBN 80-85828-87-1 ˇ [4] Nobilis, J.: Teorie elektronick´ych obvod˚ u IV. (SS zesilovaˇce), Skoln´ ı naklaˇ datelstv´ı a vydavatelstv´ı SPSE Pardubice, Pardubice 1997 [5] Maxim-IC [online]: MAX4051 datasheet, Maxim Integrated Products, 2005, [cit.2014-03-26], dostupn´e z WWW: http://datasheets.maxim-ic.com/en/ds/MAX4051-MAX4053A.pdf [6] TI [online]: TLC271 datasheet, Texas Instruments, 2001, [cit.2014-03-26], dostupn´e z WWW: http://www.ti.com/lit/ds/symlink/tlc271.pdf ˇ ´ [7] Cernock´ y, J.: Vzorkov´an´ı, UPGM FIT VUT Brno, 2006, [cit.2014-03-26], dostupn´e z WWW: http://www.fit.vutbr.cz/study/courses/ISS/public/pred/vzork/vzork.pdf [8] TI [online]: ADS7813 datasheet, Texas Instruments, 2012, [cit.2014-03-26], dostupn´e z WWW: http://www.ti.com/lit/ds/symlink/ads7813.pdf [9] Parallax [online]: Propeller P8X32A datasheet, Parallax Inc., 2011, [cit.201404-03], dostupn´e z WWW: http://www.parallax.com/sites/default/files/downloads/P8X32APropeller-Datasheet-v1.4.0 0.pdf [10] Parallax [online]: Propeller ProtoBoard documentation, Parallax Inc., 2010, [cit.2014-04-03], dostupn´e z WWW: http://parallax.com/sites/default/files/downloads/32212-PropellerProtoBoard-Documentation-v1.3.pdf
49
[11] Parallax [online]: Propeller manual, Parallax Inc., 2012, [cit.2014-04-03], dostupn´e z WWW: http://www.parallax.com/sites/default/files/downloads/P8X32A-WebPropellerManual-v1.2.pdf [12] MathWorks [online]: Matlab online documentation, The MathWorks, Inc., 2014, [cit.2014-04-03], dostupn´e z WWW: http://www.mathworks.com/help/matlab/index.html [13] Duˇsek, F.: MATLAB a SIMULINK u ´vod do pouˇz´ıv´an´ı, Univerzita Pardubice, Pardubice 2000, ISBN 80-7194-273-1 [14] Paulbourke.net [online]: Interpolation methods, Paul Bourke, 1999, [cit.201404-12], dostupn´e z WWW: http://paulbourke.net/miscellaneous/interpolation/ [15] Keys, R. G.: Cubic Convolution Interpolation for Digital Image Processing, IEEE Transactions on Acoustics, Speech, and Signal Processing, 1981, vol. 29, no. 6, s. 1153 - 1160, ISSN: 0096-3518 [16] Graphics.cs.ucdavis.edu [online]: Catmull-Rom Splines, Kenneth I. Joy, 2002, [cit.2014-04-15], dostupn´e z WWW: http://graphics.cs.ucdavis.edu/ joy/ecs278/notes/Catmull-Rom-Spline.pdf [17] Paulinternet.nl [online]: Cubic interpolation, Paul Breeuwsma, [cit.2014-0412], dostupn´e z WWW: http://www.paulinternet.nl/?page=bicubic [18] Martin.hinner.info [online]: VGA Interface and video signal documents, Martin Hinner, 2007, [cit.2014-04-15], dostupn´e z WWW: http://martin.hinner.info/vga/ [19] Propeller.wikispaces.com [online]: Video Generator, 2010, [cit.2014-04-15], dostupn´e z WWW: http://propeller.wikispaces.com/Video+Generator
50
Seznam obr´ azk˚ u 2.1 2.2
Pr˚ ubˇeh sign´alu pˇri vzd´alenosti vodiˇce 4 cm . . . . . . . . . . . . . Pr˚ ubˇeh napˇet´ı na senzoru v z´avislosti na vzd´alenosti vodiˇce . . . .
10 10
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12
Blokov´e zapojen´ı demultiplexer˚ u. . . . . . . . . . . . . . . . . Sledovaˇc napˇet´ı . . . . . . . . . . . . . . . . . . . . . . . . . . Derivaˇcn´ı ˇcl´anek CR a RL . . . . . . . . . . . . . . . . . . . . Integraˇcn´ı ˇcl´anek RC a LR . . . . . . . . . . . . . . . . . . . . Pr˚ ubˇeh sign´alu pˇri vzd´alenosti vodiˇce 4 cm (vyhlazen´ y) . . . . Spojit´ y sign´al . . . . . . . . . . . . . . . . . . . . . . . . . . . Vzorkovan´ y sign´al . . . . . . . . . . . . . . . . . . . . . . . . . Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kvantovan´ y sign´al . . . . . . . . . . . . . . . . . . . . . . . . Nastaven´ı vstupn´ıho rozsahu pˇrevodn´ıku ADS7813 [8] . . . . . Blokov´e sch´ema matice senzor˚ u a desky pro zpracov´an´ı sign´alu Sch´ema zapojen´ı desky na zpracov´an´ı sign´alu ze senzor˚ u . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
12 13 14 15 16 17 18 18 19 21 22 23
4.1 4.2 4.3 4.4 4.5 4.6
Rozloˇzen´ı pin˚ u Propeller P8X32A-M44 [9] . . . Blokov´e sch´ema Propeller P8X32A [9] . . . . . . Propeller Proto Board [10] . . . . . . . . . . . . Sch´ematick´e zapojen´ı Propeller Proto Board [10] Pr˚ ubˇeh napˇet´ı na senzorech pˇred kalibrac´ı . . . Pr˚ ubˇeh napˇet´ı na senzorech po kalibraci . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
25 25 26 27 30 31
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15
Matlab - sloupcov´ y graf pˇred kalibrac´ı senzor˚ u Matlab - sloupcov´ y graf po kalibraci senzor˚ u . Line´arn´ı interpolace [14] . . . . . . . . . . . . Bod z´ıskan´ y line´arn´ı interpolac´ı . . . . . . . . Kosinov´a interpolace [14] . . . . . . . . . . . . Bod z´ıskan´ y kosinovou interpolac´ı . . . . . . . Kubick´a interpolace [14] . . . . . . . . . . . . Rozloˇzen´ı pin˚ u konektoru D-SUB [18] . . . . . Sloˇzen´ı VGA obrazu . . . . . . . . . . . . . . Zapojen´ı VGA modulu . . . . . . . . . . . . . Gamma kˇrivky . . . . . . . . . . . . . . . . . Rozloˇzen´ı jasu obrazu po gamma korekci . . . Gamma 1 . . . . . . . . . . . . . . . . . . . . Gamma 2 . . . . . . . . . . . . . . . . . . . . Gamma 3 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
33 33 34 35 36 36 37 38 39 43 44 45 46 46 47
51
. . . . . . . . . . . . . . .
5.16 Gamma 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
47