b2. mĚŘenÍ synchronizace fotoaparÁturobotika/2017_brob/2017_b02_synchronizace...zadÁnÍ...

44
B2. MĚŘENÍ SYNCHRONIZACE FOTOAPARÁTU Semestrální projekt z předmětu Základy robotiky (BROB) Vedoucí práce: Ing. Petr Gábrlík Vypracovali: David Buchal, ID: 186 037 Michal Valoušek, ID: 186 225 Dominik Vybíral, ID: 186 238 Brno květen 2017

Upload: duongkien

Post on 17-Apr-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

B2. MĚŘENÍ SYNCHRONIZACE

FOTOAPARÁTU

Semestrální projekt z předmětu Základy robotiky (BROB)

Vedoucí práce:

Ing. Petr Gábrlík

Vypracovali:

David Buchal, ID: 186 037

Michal Valoušek, ID: 186 225

Dominik Vybíral, ID: 186 238

Brno květen 2017

ZADÁNÍ PROJEKTU

Cílem projektu je přesné určení zpoždění synchronizačního signálu fotoaparátu pro

externí blesk vůči snímání obrazu, jak je znázorněno na Obrázek 0.1. Fotoaparát je v roli

měřicího přístroje při UAV (= bezpilotní letoun) fotogrammetrii a je potřeba jej přesně

synchronizovat s dalšími senzory (zejména GNSS = Globální družicový polohový systém,

INS = Inerciální navigační systém). V rámci projektu se počítá se stavbou jednoduchého

kalibračního zařízení, na kterém bude synchronizace měřena (např. pomocí řady

LED (= dioda emitující světlo) s přesným časováním).

Obrázek 0.1: Úkol měření

Poděkování

Rádi bychom poděkovali panu Ing. Petru Gábrlíkovi za odborné konzultace a rady

v průběhu zpracovávání tohoto projektu. Dále děkujeme panu Ing. Tomáši Jílkovi, Ph.D.

za užitečné doporučení při psaní programu pro mikrokontrolér.

OBSAH

ÚVOD ............................................................................................................................. 6

1 TEORETICKÁ ČÁST PROJEKTU .................................................................... 7

1.1 Fotogrammetrie ........................................................................................................... 7

1.1.1 Letecká fotogrammetrie ....................................................................................... 7

1.2 Vybrané části fotoaparátu využívané v projektu ......................................................... 8

1.2.1 Závěrka fotoaparátu .............................................................................................. 8

1.2.2 Horké sáňky fotoaparátu .................................................................................... 10

1.3 Funkce časovače/čítače v CTC režimu ...................................................................... 11

2 ZAŘÍZENÍ POUŽÍTÁ K VYPRACOVÁNÍ PROJEKTU .............................. 13

2.1 Použitý fotoaparát ...................................................................................................... 13

2.1.1 Připojení přípravku k fotoaparátu ...................................................................... 13

2.2 Volba mikrokontroléru .............................................................................................. 14

2.2.1 Komunikace PC s mikrokontrolérem ................................................................. 14

2.2.2 Programování mikrokontroléru .......................................................................... 15

3 KOMPLETACE PŘÍPRAVKU NA NEPÁJIVÉM POLI ............................... 16

3.1 Výběr součástek ......................................................................................................... 16

3.2 Programování MCU .................................................................................................. 16

3.2.1 Vytvořený program ............................................................................................ 16

4 TESTOVÁNÍ FUNKCE PŘÍPRAVKU NA NEPÁJIVÉM POLI ................... 17

4.1 Test rozsvícení první LED ......................................................................................... 18

4.2 Test doby svícení LED .............................................................................................. 18

4.3 Test rozsvícení poslední LED .................................................................................... 19

4.4 Test rozsvícení dvou sousedních LED ...................................................................... 19

4.5 Zhodnocení testování ................................................................................................. 20

5 NÁVRH DESKY PLOŠNÉHO SPOJE .............................................................. 22

5.1 Schéma plošného spoje .............................................................................................. 22

5.2 Deska plošného spoje ................................................................................................ 23

5.3 Tištěný spoj ................................................................................................................ 23

5.4 Osazovací schéma ...................................................................................................... 24

5.5 Seznam součástek použitých na plošném spoji ......................................................... 24

5.6 Vyrobená DPS ........................................................................................................... 25

6 MĚŘENÍ S FOTOAPARÁTEM ......................................................................... 27

6.1 Zapojení měření ......................................................................................................... 27

6.2 Postup měření ............................................................................................................ 28

6.3 Ukázka měření a práce s terminálem ......................................................................... 29

6.4 Naměřené hodnoty ..................................................................................................... 31

6.4.1 Měření zpoždění Tx ............................................................................................ 31

6.4.2 Příklady výpočtu doby změřené hadem a zpoždění (Tx) .................................... 33

6.4.3 Výpočet nejistot měření ..................................................................................... 33

6.5 Výsledek měření ........................................................................................................ 34

7 ZÁVĚR .................................................................................................................. 36

7.1 Podmínky měření ....................................................................................................... 36

7.2 Výsledek měření ........................................................................................................ 36

7.3 Přesnost přípravku ..................................................................................................... 36

7.4 Možné vylepšení ........................................................................................................ 36

SEZNAM POUŽITÝCH ZDROJŮ ........................................................................... 37

SEZNAM OBRÁZKŮ ................................................................................................ 38

SEZNAM TABULEK ................................................................................................. 38

SEZNAM PŘÍLOH ..................................................................................................... 39

- 6 -

ÚVOD

V případě, který jsme dostali k řešení, se při mapování terénu pomocí bezpilotního

letounu neboli dronu využívá fotoaparát jako nástroj, pomocí kterého se pořizují fotografie

zachycovaného terénu, z nichž následně vzniká digitální model povrchu, který může sloužit

jako mapa pro další zařízení.

Pro vyfotografování se využívá vzdálené spouště. Pokyn pro získání GPS (= Globální

polohový systém) souřadnic příslušným systémem je vyvolán synchronizačním signálem

od fotoaparátu. Jelikož jsou obdržené souřadnice v rozporu s vyfocenou fotografií, dostali

jsme za úkol zjistit hodnotu zpoždění synchronizačního signálu fotoaparátu pro externí blesk

vůči snímání obrazu.

- 7 -

1 TEORETICKÁ ČÁST PROJEKTU

1.1 Fotogrammetrie1

Fotogrammetrie je vědní technický obor, který se zabývá získáváním spolehlivých

informací o fyzických objektech a prostředí, zaznamenáváním, měřením a interpretací

snímků. Dále se zabývá zjišťováním geometrických vlastností a polohy objektů, jejich změn

z fotografických měřických snímků. Dělí se na fotogrammetrii leteckou, pozemní a blízkou.

Fotogrammetrie se využívá například pro rekonstrukci povrchu terénu, měření

rozměrů a vzdáleností, rekonstrukci tvaru objektů, vytváření 3D modelů povrchu nebo

pro tvorbu ortofotomap. Ortofotomapa je mapa zachovávající fotografický obraz území,

tvořená jedním nebo montáží více ortofotosnímků (ortofoty) a opatřená dalšími náležitostmi

mapy (měřítkem, vybranými mapovými značkami, souřadnicovou sítí, rámem mapy, popisem

mapy atd.) Ortofotosnímkem se rozumí fotogrammetrický produkt z měřického snímku, jenž

je vytvořen středovým promítáním a diferenciálně překreslen (ortogonalizován) na základě

znalosti výškových poměrů georeliéfu.

1.1.1 Letecká fotogrammetrie

Princip letecké fotogrammetrie spočívá v použití fotoaparátu na palubě letadla, který

v rozdílné časové okamžiky pořizuje snímky z různých souřadnic a s jinou orientací. Pořízené

fotografie se musí překrývat. Jelikož je letadlo v pohybu, hrozí rozmazání snímku.

Zachycované objekty se nesmí pohybovat.

Použití bezpilotních letadel (UAV) ve fotogrammetrii s sebou přináší řadu výhod.

Jsou jimi například nízké provozní a pořizovací náklady, rychlý a bezpečný provoz, vysoké

rozlišení a přesnost, možnost automatického letu a vhodnost pro mapování lokálních oblastí.

Mezi nevýhody patří náchylnost na povětrnostní vlivy, legislativní omezení, omezená nosnost

pro senzory a vybavení a fakt, že nejsou vhodné pro mapování velkých oblastí, krajů a států.

Jako bezpilotní letadla se ve fotogrammetrii používají buď letadla s pevnými křídly, nebo

multikoptéry (drony), jejichž výhodou je schopnost visu na místě.

1 Informace čerpány ze zdrojů [1] a [2]

- 8 -

1.2 Vybrané části fotoaparátu využívané v projektu2

K vypracování této práce jsme uvažovali funkce vybraných částí fotoaparátu, jejichž

principy činnosti je vhodné zmínit v následujících podkapitolách.

1.2.1 Závěrka fotoaparátu

Pro snímání obrazu pouze po určitou dobu (expoziční čas) se využívá funkce závěrky.

Ta je umístěna před snímacím čipem fotoaparátu, a v neaktivním stavu ho tak chrání od okolí.

Některé digitální fotoaparáty využívají kombinaci mechanické a elektronické závěrky

pro pokrytí velkého rozsahu expozičních časů.

Zpravidla existují tři typy závěrek, a jsou jimi centrální, štěrbinová a elektronická.

1.2.1.1 Centrální závěrka

Centrální závěrkou obvykle disponují fotoaparáty, které neumožňují výměnu

objektivu, neboť závěrka a její mechanismus jsou umístěné přímo v těle objektivu. Jedná se

tedy zejména o kompaktní fotoaparáty. Závěrka se skládá ze tří i více tenkých kovových

lamel, jež jsou zavěšeny na vodicím prstenci (viz Obrázek 1.2).

2 Informace čerpány ze zdrojů [3] a [4]

Obrázek 1.1: Letecká fotogrammetrie

(zdroj obrázku: http://www.georeal.cz/sites/default/files/user/images/Reseni/fotogrammetrie.jpg)

- 9 -

Tento mechanismus nám umožňuje si libovolně volit čas pro expozici s bleskem a

rovněž se zde neuplatňuje zkreslení pohybem. Naopak nevýhodou tohoto mechanismu je

relativně malý rozsah expozičních časů a nemožnost výměny objektivů.

1.2.1.2 Štěrbinová závěrka

Štěrbinová závěrka se nachází v těle fotoaparátu před snímacím čipem a sestává

ze dvou lamel. První lamela odkrývá snímací plochu čipu na začátku expozice, druhá lamela

ji na konci expozice následně zakrývá.

Pro krátké expoziční časy se využívá současný pohyb obou lamel, kdy vzniká štěrbina,

která se posunuje před čipem, jejíž velikost je úměrná době osvitu, jak ukazuje Obrázek 1.3.

Obrázek 1.2: Princip funkce centrální závěrky

(zdroj obrázku: http://www.zive.cz/Files/Obrazky/2004/12/foto/3/centralni_zaverka.jpg)

Obrázek 1.3: Princip funkce štěrbinové závěrky při různých dobách osvitu

(zdroj obrázku: https://petapixel.com/assets/uploads/2015/01/screenshot3.jpg)

- 10 -

Princip tohoto typu závěrky umožňuje dosáhnout krátkých expozičních časů a

možnost použít výměnné objektivy. Na druhou stranu je obtížné použití blesku při malých

expozičních časech, protože se musí využívat časy, při kterých je závěrka plně otevřená.

Tento nedostatek se ale u moderních blesků řeší opakovanými záblesky, čímž se osvítí každá

část senzoru. Další problém, který tato závěrka přináší, je pohybové zkreslení.

1.2.1.3 Elektronická závěrka

Elektronická závěrka se používá u některých typů digitálních fotoaparátů. Na rozdíl

od předchozích dvou typů závěrek tato není mechanická, jak už napovídá název. Princip

snímání obrazu je založen na sběru dat z trvale osvětleného snímače pouze po určitou dobu

osvitu. Snímací čip se nejprve aktivuje, sejme obraz, a poté se vypne.

S touto závěrkou je možné dosáhnout expozičních časů, které jsou ještě kratší než

při použití štěrbinové závěrky. Její funkce je naprosto bezhlučná, neboť uvnitř těla

fotoaparátu nedochází k žádnému mechanickému pohybu. Dále je možné dosáhnout rychlejší

snímací frekvence, tedy vyššího počtu vyfocených snímků za sekundu. Na druhou stranu se

projevuje více geometrické zkreslení obrazu při snímání rychle se pohybujících objektů

krátkými expozičními časy. Při práci s bleskem jsou v případě použití tohoto typu závěrky

omezeny synchronizační časy pro blesk, které jsou často delší než při použití mechanické

závěrky, což limituje snímání s bleskem při malých dobách osvitu.

1.2.2 Horké sáňky fotoaparátu

Pod pojmem horké sáňky se označuje patice na horní straně fotoaparátu, ke které je

možné elektricky připojit fotografické příslušenství, jako je například externí blesk či

přídavné světlo. Častěji se pro tuto část fotoaparátu používá anglický název hot shoe. Existují

i studené sáňky (v angličtině označovány cold shoe), jež poskytují pouze mechanické

připojení součásti k fotoaparátu.

Každý výrobce fotoaparátu má tuto patici zpravidla jinak konstruovanou, ale středový,

spouštěcí neboli synchronizační kontakt, tzv. trigger (x-sync) kontakt, obsahují všechny patice

typu hot shoe. Další kontakty na patici slouží pro komunikaci připojeného zařízení

s fotoaparátem (pro představu jejich funkce je v případě připojeného externího blesku přes ně

vyvoláván předblesk pro osvětlení snímané scény, aby mohl fotoaparát nastavit intenzitu

hlavního blesku podle jejích světelných podmínek).

Pokud je blesk synchronizován od první lamely závěrky, elektrický signál

na spouštěcím kontaktu je uzemněn, pokud se první lamela závěrky fotoaparátu odkryje.

- 11 -

Dojde tak k odpálení blesku při plném otevření závěrky. Blesk může být synchronizován

i od druhé lamely závěrky, ale v tom případě se blesk odpálí těsně před uzavřením závěrky.

Nutno zmínit, že i když není na patici připojeno žádné zařízení, spouštěcí signál je i tak

uzemňován.

1.3 Funkce časovače/čítače v CTC režimu3

K vytvoření postupně se rozsvěcujících LED (hada) jsme využili obvod

časovače/čítače mikrokontroléru ATmega8 od firmy Atmel. Mikrokontrolér obsahuje celkem

tři obvody čítače/časovače, dva 8bitové (č. 0 a 2) a jeden 16bitový (č. 1). Pro naši aplikaci

bylo nejvhodnější použít právě 16bitové provedení (schéma obvodu na Obrázek 1.4).

Obvod časovače/čítače 1 umožňuje práci v několika režimech, které se nechají nastavit

pomocí registrů přiřazených tomuto obvodu. Pro nás byl nejzajímavější režim CTC

(z angl. Clear Timer on Compare). V tomto režimu se hodnota 16bitového registru

časovače/čítače TCNT1 inkrementuje o jedna nahoru s příchodem předděleného hodinového

signálu. Jakmile se hodnota registru TCNT1 shoduje s hodnotou uloženou v registru OCR1A,

vyvolá se přerušení, hodnota TCNT1 se vynuluje, a poté se proces opakuje.

Aby časovač/čítač fungoval podle výše popsaného principu, je nutné přenastavit

příslušné bity v odpovídajících registrech čítače/časovače. Jedná se především o bit WGM12

v registru TCCR1B (v log. 1 >> režim CTC), ostatní bity kromě bitů CS12 až CS10 necháme

v log. 0. Bity CS12 až CS10 slouží k nastavení předděličky hodinového signálu.

Jejich nastavení odpovídá určitému dělicímu poměru (viz stranu 99 v datovém listu

mikrokontroléru). Pokud by v těchto bitech byly zapsané log. 0, časovač/čítač by nebyl

spuštěn. Pro povolení přerušení při shodě s hodnotou registru OCR1A je nutné zapsat log. 1

do bitu OC1E1A v registru TIMSK (ostatní bity nás nezajímají). Nakonec je potřeba

do registru ORC1A vložit požadovaný počet tiků, do kterého bude časovač/čítač počítat.

Pokud nejsou do bitů CS12 až CS10 zapsané log. 0, mělo by nastat přerušení vždy po době,

kterou jsme si zvolili.

Počet tiků odpovídajících požadované době čítání se vypočítá dle rovnice (1.1).

𝑡𝑖𝑘𝑦 = 𝑓𝐶𝐿𝐾 ∗ 𝑝𝑜𝑧𝑎𝑑𝑜𝑣𝑎𝑛𝑎_𝑑𝑜𝑏𝑎_𝑐𝑖𝑡𝑎𝑛𝑖 ∗ 𝑑𝑒𝑙𝑖𝑐𝑖_𝑝𝑜𝑚𝑒𝑟 [−] (1.1)

fCLK … frekvence hodinového signálu [Hz], delici_pomer … hodnota dělicího poměru [-],

pozadovana_doba_citani … doba, po které se vyvolá přerušení [s]

3 Informace čerpány z datového listu mikrokontroléru [5]

- 12 -

Obrázek 1.4: Schéma obvodu časovače/čítače 1 mikrokontroléru ATmega8

(zdroj obrázku: [5], strana 76)

pzn. místo písmena n v registrech na obrázku by měla být číslice 1, jakožto označení časovače/čítače 1

- 13 -

2 ZAŘÍZENÍ POUŽÍTÁ K VYPRACOVÁNÍ PROJEKTU

2.1 Použitý fotoaparát

K řešení úkolu jsme dostali k dispozici jednookou zrcadlovku bez sklopného zrcadla

(z angl. SLR mirrorless = Single-Lens Reflex mirrorless) SONY Alpha 7. Tento fotoaparát je

zobrazen na Obrázek 2.1. Fotoaparát disponuje jak elektrickou, tak mechanickou závěrkou.

Podrobnou specifikaci zmíněného fotoaparátu je možné najít na webové stránce

https://developer.sony.com/devices/cameras/sony-ilce-7b-a7-alpha-7-interchangeable-lens-

camera/.

2.1.1 Připojení přípravku k fotoaparátu

Na hot shoe patici fotoaparátu jsme připojili propojovací kabel, ze kterého jsme

vyvedli spouštěcí signál, jejž jsme využili pro odstartování hada vytvořeného řadou LED

na přípravku. Pomocí tohoto přípravku jsme zachycovali zpoždění vzniklé od počátku

snímání do příchodu spouštěcího signálu.

Obrázek 2.1: Fotoaparát SONY Alpha 7

(zdroj obrázku: https://1.img-dpreview.com/files/p/TS375x375~products/sony_a7/shots/2fee066f3598410f93701e3561259596.png)

- 14 -

2.2 Volba mikrokontroléru

Pro realizaci projektu jsme zvolili mikrokontrolér (MCU) od firmy Atmel s typovým

označením ATmega8-16PU. Mikrokontrolér mimo jiné disponuje interním 8 MHz

RC oscilátorem, 16bitovým čítačem/časovačem a implementovaným vstupně/výstupním

sériovým komunikačním rozhraním USART (= Universal Synchronous/Asynchronous

Receiver and Transmitter), jehož funkci jsme použili pro komunikaci mezi PC (= osobní

počítač) a přípravkem. Pro dosažení větší rychlosti a stabilnějšího hodinového signálu jsme

k MCU připojili externí 16 MHz krystalový rezonátor (nutné nastavit příslušné konfigurační,

fuse, bity MCU).

Katalogový list MCU je možné najít v odkazu zdroje [5].

2.2.1 Komunikace PC s mikrokontrolérem

Komunikaci MCU s PC jsme realizovali pomocí převodníku USB (= Universal Serial

Bus) na USART. MCU využívá rozhraní USART s přenosovou rychlostí (z angl. baud rate)

19200 bps (= bitů za sekundu) s jedním STOP bitem, bez paritního bitu a bez handshakingu

(= výměna standardizovaných signálů mezi zařízeními pro regulaci přenosu dat). Parametry

programu se zadávají přes terminál v PC.

Obrázek 2.2: Přípravek propojený s převodníkem USB na USART

- 15 -

Převodník jsme používali také jako zdroj napájecího napětí pro MCU. Napájecí svorky

jsou tedy připojeny na odpovídající vstupy MCU. Kromě toho jsou vodiče RxD a

TxD převodníku připojeny na odpovídající vstupy MCU (RxD převodníku na TxD MCU,

TxD převodníku na RxD MCU).

Katalogový list použitého převodníku (resp. čipu na převodníku) je možné najít

na webové adrese http://datasheetcafe.databank.netdna-cdn.com/wp-content/uploads/2016/03/

ch340g-datasheet.pdf.

2.2.2 Programování mikrokontroléru

K naprogramování MCU jsme používali USBasp programátor připojený přes rozhraní

USB k PC. Programátor využívá sériové periferní komunikační rozhraní SPI (z angl. Serial

Peripheral Interface). Vývody z programátoru jsou připojeny k odpovídajícím vstupům

mikrokontroléru. Programátor umožňuje naprogramovat MCU přímo v obvodu bez nutnosti

jeho vyjímání a umísťování do zvláštního samostatného programátoru.

Katalogový list použitého USBasp programátoru je možné najít na webové adrese

https://protostack.com.au/download/Users%20Guide%20(AC-PG-USBASP-UG-V2.0).pdf.

Obrázek 2.3: Programátor USBasp

- 16 -

3 KOMPLETACE PŘÍPRAVKU NA NEPÁJIVÉM POLI

Rozhodli jsme se použít nápad ze zadání, a to vytvořit hada řadou LED, které budeme

postupně rozsvěcovat pomocí MCU po příchodu synchronizačního signálu od fotoaparátu.

Nejprve bylo nutné zapojit součástky a MCU na nepájivém poli, poté MCU naprogramovat.

3.1 Výběr součástek

K vytvoření hada jsme použili deset kusů LED červené barvy, které jsou

přes předřadné rezistory, vytvářející potřebné úbytky napětí k rozsvícení LED, připojeny

k výstupním vývodům MCU. Synchronizační signál je připojen na vstupní vývod MCU

přes PULL-UP rezistor, zaručující přítomnost log. 1 v době, kdy nepřichází spouštěcí signál

od fotoaparátu. K MCU jsme připojili externí 16 MHz krystal, zajišťující stabilní a vysoký

hodinový kmitočet pro naši aplikaci.

Schéma zapojení přípravku odpovídá schématu uvedenému v podkapitole Schéma

plošného spoje. Seznam použitých součástek je stejný jako na následně vytvořeném plošném

spoji (viz Příloha A).

3.2 Programování MCU

Program pro MCU byl psán skrze kompilátor jazyka C CodeVisionAVR.

3.2.1 Vytvořený program

Program nahraný v MCU je možné si prohlédnout v Příloha C. V programu bylo nutné

vyřešit funkci časovače/čítače, komunikaci MCU s PC přes rozhraní USART a samotné

rozsvěcení řady LED, hada používaného k měření doby zpoždění. Dále bylo nutné

nakonfigurovat jak externí přerušení (sestupnou hranou synchronizačního signálu

fotoaparátu), tak přerušení od časovače/čítače v režimu CTC (při shodě nastavené hodnoty

čítání).

- 17 -

4 TESTOVÁNÍ FUNKCE PŘÍPRAVKU NA NEPÁJIVÉM POLI

Po úspěšném rozchození aplikace na nepájivém poli přišlo na řadu samotné testování

funkce našeho přípravku. Funkce synchronizačního signálu fotoaparátu byla simulována

pomocí tlačítka (neošetřovali jsme jeho zákmity). Přes osciloskop jsme zjišťovali, zdali

zadávané časové parametry z terminálu odpovídají skutečnosti. Parametry programu jsou

offset a perioda rozsvěcování (blikání) LED diod. Pro taktování obvodu časovače/čítače MCU

jsme použili předděličku s dělicím poměrem 1/64. Zapojení přípravku pro testovací měření

zobrazuje Obrázek 4.1.

V následujících podkapitolách je možné vidět na snímcích z osciloskopu naměřené

doby rozsvěcení LED, následované zhodnocením přesnosti jejich rozsvěcení.

Obrázek 4.1: Testování na nepájivém poli

- 18 -

4.1 Test rozsvícení první LED

Nastavené parametry jsou offset (= čas, po který se nic neděje) 2,5 ms a perioda

rozsvěcování LED 0,1 ms (tzn. první LED se rozsvítí v čase offset + perioda rozsvěcování,

tedy za 2,6 ms, bude rozsvícená 0,1 ms, ostatní LED se pak rozsvítí vždy po 0,1 ms).

4.2 Test doby svícení LED

Nastavené parametry jsou offset 0 ms a perioda rozsvěcování LED 0,1 ms (tzn. první

LED se rozsvítí v čase offset + perioda rozsvěcování, tedy za 0,1 ms, a bude svítit právě

podobu 0,1 ms).

Obrázek 4.2: Test rozsvícení první LED

Obrázek 4.3: Test doby svícení LED

- 19 -

4.3 Test rozsvícení poslední LED

Nastavené parametry jsou offset 3,5 ms a perioda rozsvěcování LED 0,1 ms

(tzn. poslední LED se rozsvítí v čase offset + 10*perioda rozsvěcování, tedy za 4,5 ms, svítit

bude po dobu 0,1 ms).

4.4 Test rozsvícení dvou sousedních LED

Nastavené parametry jsou offset 0 ms a perioda rozsvěcování LED 0,1 ms

(tzn. první LED svítí po dobu 0,1 ms, jakmile první LED zhasne, rozsvítí se druhá, která svítí

také 0,1 ms).

Obrázek 4.4: Test rozsvícení poslední LED

Obrázek 4.5: Test rozsvícení dvou sousedních LED

- 20 -

4.5 Zhodnocení testování

Testování prokázalo, že program řídící 16bitový časovač/čítač pracuje s dostatečnou

přesností potřebnou pro naši aplikaci. Po reálných časových průbězích požadujeme, aby

odpovídaly na desetinu milisekund zadaným parametrům. Všechna testování odpovídají

tomuto požadavku, chyba časových průběhů se projeví až v řádu jednotek mikrosekund

(o dva řády níž). Z tohoto důvodu si můžeme dovolit zanedbat chybu měření osciloskopu.

Tato přesnost je zaručena vždy, když se perioda rozsvěcování LED nastaví v řádech desetin

milisekund nebo výš.

Pokud zadáme periodu rozsvěcování v nižších řádech než v jednotkách desetin

milisekund (setiny a tisíciny milisekund), přesnost zaručíme pouze tehdy, bude-li zadaná

perioda rozsvěcování LED (pozadovana_doba_citani) celočíselně dělitelná čtyřmi

(viz důkazy níže). Důvodem je počet tiků zadávaných do porovnávacího registru obvodu

časovače/čítače OCR1A (zmíněno v teoretické části), jenž musí být celé číslo. Výpočet počtu

tiků je možné provést podle vztahu (1.1), uvedeného v teoretické části.

Pro všechny níže uvedené výpočty platí fCLK = 16 MHz, delici_pomer = 1/64 [-],

perioda rozsvěcování LED představuje ve vztahu (1.1) symbol pozadovana_doba_citani.

Důkazy, že při periodě rozsvěcování zadané v řádech pod desetinou milisekundy není

zaručena přesnost:

Perioda rozsvěcování LED = 1 µs:

𝑡𝑖𝑘𝑦 = 16 ∗ 106 ∗ 1 ∗ 10−6 ∗1

64= 0,25 [−] (4.1)

Perioda rozsvěcování LED = 150 µs:

𝑡𝑖𝑘𝑦 = 16 ∗ 106 ∗ 150 ∗ 10−6 ∗1

64= 37,5 [−] (4.2)

Důkazy, že při zadané periodě rozsvěcování dělitelné čtyřmi je zaručena přesnost:

Perioda rozsvěcování LED = 4 µs:

𝑡𝑖𝑘𝑦 = 16 ∗ 106 ∗ 4 ∗ 10−6 ∗1

64= 1 [−] (4.3)

Perioda rozsvěcování LED = 164 µs:

𝑡𝑖𝑘𝑦 = 16 ∗ 106 ∗ 164 ∗ 10−6 ∗1

64= 41 [−] (4.4)

- 21 -

Důkazy, že při periodě rozsvěcování zadané v řádech desetin milisekundy a výš je

zaručena přesnost:

Perioda rozsvěcování LED = 100 µs = 0,1 ms:

𝑡𝑖𝑘𝑦 = 16 ∗ 106 ∗ 0,1 ∗ 10−3 ∗1

64= 25 [−] (4.5)

Perioda rozsvěcování LED = 1500 µs = 1,5ms:

𝑡𝑖𝑘𝑦 = 16 ∗ 106 ∗ 1,5 ∗ 10−3 ∗1

64= 375 [−] (4.6)

Z výše uvedených výpočtů vyplývá, že počet tiků předděleného hodinového signálu

pro časování po dobu jedné mikrosekundy je 0,25. To samé platí i pro nastavovaný čas

offsetu, jelikož se využívá ten samý blok a princip časovače/čítače.

- 22 -

5 NÁVRH DESKY PLOŠNÉHO SPOJE

Jakmile jsme ověřili správnou funkci navržené aplikace na nepájivém poli, mohli jsme

přistoupit k vytvoření desky plošného spoje (DPS) ve vývojovém prostředí EAGLE 7.1.0.

V následujících podkapitolách je možné si prohlédnout vytvořenou DPS.

5.1 Schéma plošného spoje

Obrázek 5.1: Výřez ze schématu DPS v Příloha B

- 23 -

5.2 Deska plošného spoje

5.3 Tištěný spoj

Obrázek 5.2: Deska plošného spoje

Obrázek 5.3: Tištěný spoj

- 24 -

5.4 Osazovací schéma

5.5 Seznam součástek použitých na plošném spoji

Seznam součástek použitých na DPS je možno vyhledat v Příloha A.

Obrázek 5.4: Osazovací schéma

- 25 -

5.6 Vyrobená DPS

Obrázek 5.5: Vyrobená DPS, pohled shora

Obrázek 5.6: Vyrobená DPS, pohled zdola

- 26 -

Obrázek 5.7: Vyrobená DPS, popis konektorů

- 27 -

6 MĚŘENÍ S FOTOAPARÁTEM

Oživení DPS nám umožnilo ověřit funkci přípravku s fotoaparátem, čemuž se věnují

následující podkapitoly.

6.1 Zapojení měření

Obrázek 6.1 zachycuje, jak probíhalo samotné měření s fotoaparátem.

Před fotoaparátem je umístěna DPS přípravku, do něhož je přiveden synchronizační signál

z hot shoe patice fotoaparátu. Přípravek je připojen k PC skrze dříve zmíněný převodník USB

na USART.

Ke každému měření bylo nutné přiložit papírek s popisem nastavených parametrů

pro snazší identifikaci vyfocených fotografií.

Obrázek 6.1: Ukázka zapojení pro měření

- 28 -

6.2 Postup měření

Přípravek propojíme s PC a fotoaparátem.

Na fotoaparátu v režimu full manual nastavíme parametry otevření závěrky (F2.0) a

citlivost CMOS snímačů obrazu (ISO 200). Tyto parametry se po dobu měření

NESMÍ MĚNIT, protože změřené časy jsou závislé na těchto parametrech.

Nastavíme dobu snímání fotografie, expoziční čas Ts.

Sepnutí blesku (synchronizační signál) vyvolá v MCU externí přerušení

v čase Tx, které spustí hada.

Fotoaparát vyfotí fotografii pořízenou do okamžiku Ts.

Z fotografie odečteme počet svítících LED a podle nastavených parametrů (offset a

perioda rozsvěcování LED) vypočítáme čas od Tx do Ts, dobu změřenou hadem THAD.

Vypočítáme čas Tx jako rozdíl doby změřené hadem THAD a doby snímání Ts.

Obrázek 6.2: Grafické znázornění popsané problematiky měření zpoždění Tx

- 29 -

6.3 Ukázka měření a práce s terminálem

Parametry přípravku (offset první LED a doba rozsvěcování LED) se zadávají pomocí

terminálu. Při zadávání těchto parametrů je nutné nepřekročit hodnotu 65 535 µs, došlo by

totiž k přetečení 16bitových proměnných typu unsigned integer a přípravek by byl špatně

nastaven.

S terminálem se při měření pracuje následujícím způsobem:

Po připojení přípravku k PC pomocí USB na USART převodníku zvolte vlevo

nahoře tlačítko Connect. Jakmile se nápis tlačítka Connect změní na Disconnect,

je přípravek propojen s terminálem.

Po připojení se program spustí klávesou ENTER a program vás vyzve k zadání

parametrů hada (offset první LED a periodu rozsvěcování LED)

Po zadání parametrů lze celý proces opakovat stisknutím klávesy ENTER a tím

měnit parametry hada během měření.

Dbejte na to, aby zadané hodnoty offsetu a periody rozsvěcování nepřekročily

hodnotu 65 535 µs, došlo by k přetečení programových proměnných, což by vedlo

ke špatnému nastavení přípravku!

Obrázek 6.3: Měření pro offset 2,8 ms a periodu rozsvěcování LED 0,1 ms

- 30 -

Obrázek 6.4: Práce s terminálem (zadávání parametrů pro MCU)

- 31 -

6.4 Naměřené hodnoty

Pro všechna měření jsou parametry fotoaparátu nastaveny následujícím způsobem:

Citlivost CMOS snímačů, ISO 200.

Otevření závěrky při snímání, F2.0 (úplně otevřená závěrka).

6.4.1 Měření zpoždění Tx

Tabulka 6.1: Měření zpoždění Tx pro režimy snímání 1/20, 1/50, 1/100

EXPOZIČNÍ ČAS Ts [s]

1/20 1/50 1/100

offset [ms] offset [ms] offset [ms]

47,4 17,5 7,7

měření

č.

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

1 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

2 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

3 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

4 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

5 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

6 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

7 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

8 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

9 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

10 9 48,30 1,70 8 18,30 1,70 7 8,40 1,60

průměr

48,30 1,70

18,30 1,70

8,40 1,60

- 32 -

Tabulka 6.2: Měření zpoždění Tx pro expoziční časy 1/200, 1/250 a 1/400

Tabulka 6.3: Měření zpoždění Tx pro expoziční čas 1/500

EXPOZIČNÍ ČAS Ts [s]

1/200 1/250 1/400

offset [ms] offset [ms] offset [ms]

2,8 1,7 0,4

měření

č.

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

1 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

2 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

3 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

4 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

5 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

6 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

7 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

8 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

9 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

10 8 3,60 1,40 9 2,60 1,40 7 1,10 1,40

průměr

3,60 1,40

2,60 1,40

1,10 1,40

EXPOZIČNÍ ČAS Ts [s]

1/500

offset [ms]

0

měření

č.

počet

rozsvícených

LED

doba

změřená

hadem

THAD [ms]

zpoždění

Tx [ms]

1 6 0,60 1,40

2 6 0,60 1,40

3 6 0,60 1,40

4 6 0,60 1,40

5 6 0,60 1,40

6 6 0,60 1,40

7 6 0,60 1,40

8 6 0,60 1,40

9 6 0,60 1,40

10 6 0,60 1,40

průměr

0,60 1,40

- 33 -

6.4.2 Příklady výpočtu doby změřené hadem a zpoždění (Tx)

Výpočty pro dobu snímání 1/200 (5 ms) a měření č. 1 z Tabulka 6.2.

Doba změřená hadem THAD:

𝑇𝐻𝐴𝐷 = 𝑝𝑜č𝑒𝑡_𝑟𝑜𝑧𝑠𝑣í𝑐𝑒𝑛ý𝑐ℎ_𝐿𝐸𝐷 ∗ 𝑝𝑒𝑟𝑖𝑜𝑑𝑎_𝑟𝑜𝑧𝑠𝑣ě𝑐𝑜𝑣á𝑛í + 𝑜𝑓𝑓𝑠𝑒𝑡

𝑇𝐻𝐴𝐷 = 8 ∗ 0,1 + 2,8 = 3,6 ms (6.1)

Měřené zpoždění Tx:

𝑇𝑥 = 𝑑𝑜𝑏𝑎_𝑠𝑛í𝑚á𝑛í (𝑇𝑠) − 𝑇𝐻𝐴𝐷

𝑇𝑥 = 5 − 3,6 = 1,4 𝑚𝑠 (6.2)

6.4.3 Výpočet nejistot měření

Tabulka 6.4: Průměrné zpoždění pro různé doby snímání

Výběrová směrodatná odchylka:

𝑠𝑥 = √1

𝑛 ∗ (𝑛 − 1)∑ (𝑥𝑖 − 𝑥𝑃𝑅Ů𝑀Ě𝑅)2

𝑛

𝑖=1

𝑠𝑥 = √1

7 ∗ (7 − 1)∑ (𝑝𝑟ů𝑚ě𝑟𝑛é_𝑧𝑝𝑜ž𝑑ě𝑛í_𝑖 − 1,51)2

7

𝑖=1

𝑠𝑥 = 0,05533 𝑚𝑠

(6.3)

expoziční čas Ts [s]

průměrné zpoždění Tx [ms]

1/20 1,70

1/50 1,70

1/100 1,60

1/200 1,40

1/250 1,40

1/400 1,40

1/500 1,40

průměr 1,51

počet změřených

průměrů n [-]

výběrová směrodatná

odchylka [ms]

Nejistota

typu A ua(t) [ms]

Nejistota

typu B ub(t) [ms]

Kombinovaná

nejistota C uc(t) [ms]

Rozšířená standardní

nejistota U [ms]

7 0,05533 0,07193 0 0,07193 0,18557

Tabulka 6.5: Vypočtené nejistoty měření

- 34 -

Nejistota typu A ua(t):

Tabulka 6.6: Koeficienty pro určení nejistoty A

n [-] 9 8 7 6 5 4 3 2

ks [-] 1,2 1,2 1,3 1,3 1,4 1,7 2,3 7,0

𝑢𝐴(𝑡) = 𝑘𝑠 ∗ 𝑠𝑥

V našem případě je počet měření n = 7, a tedy ks = 1,3.

𝑢𝐴(𝑡) = 1,3 ∗ 0,05533 = 0,07193 𝑚𝑠

(6.4)

Nejistota typu B ub(t):

Nejistotu typu B pokládáme rovnu nule z toho důvodu, že zanedbáváme chyby

fotoaparátu, a protože samotný MCU nám zajišťuje dostatečnou přesnost blikání LED,

viz podkapitolu Zhodnocení testování.

𝑢𝐵(𝑡) = 0 (6.5)

Kombinovaná nejistota C uc(t):

𝑢𝐶(𝑡) = √𝑢𝐴2(𝑡) + 𝑢𝐵

2 (𝑡) = √0,071932 + 0 = 0,07193 𝑚𝑠 (6.6)

Rozšířená standardní nejistota U:

Tabulka 6.7: Koeficienty pro výpočet standardní nejistoty

kr [-] 1 2 2,58 3

p [%] 68 95 99 99,7

Volíme p = 99 %, tomu odpovídá koeficient kr = 2,58. P je pravděpodobnost, se kterou

se výsledek měření nalézá v daném intervalu.

𝑈 = 𝑢𝐶(𝑡) ∗ 𝑘𝑟 = 0,07193 ∗ 2,58 = 0,18557 𝑚𝑠 (6.7)

6.5 Výsledek měření

Čas od počátku snímání do sepnutí blesku Tx se s pravděpodobností 99 % pohybuje

v intervalu:

𝑣ý𝑠𝑙𝑒𝑑𝑒𝑘_𝑚ěř𝑒𝑛í = 𝑝𝑟ů𝑚ě𝑟_𝑧𝑝𝑜ž𝑑ě𝑛í 𝑈

𝑇𝑥 = ( 1,51 0,19 ) 𝑚𝑠 (6.8)

- 35 -

- 36 -

7 ZÁVĚR

7.1 Podmínky měření

Při měření bylo nutné dbát na to, aby parametry fotoaparátu, citlivost snímání a

otevření závěrky při snímání, zůstaly po celou dobu měření stejné. Měřená doba zpoždění

synchronizačního signálu fotoaparátu je totiž na těchto parametrech závislá, proto bude mít

pro jiné parametry měřené zpoždění jinou hodnotu. Tato změna zpoždění se pohybuje v řádu

desetin milisekund, což je pro naše měření nepřijatelná chyba.

7.2 Výsledek měření

Závislost zpoždění synchronizačního signálu blesku na době snímání fotoaparátu jsme

změřili pro tyto zvolené parametry fotoaparátu: citlivost snímání ISO 200 a otevření závěrky

při snímání F2.0. Závislost jsme proložili lineární spojnicí trendu, která nejlépe odpovídá

naměřeným hodnotám. Fotoaparát se využívá v režimu snímání 1/1000 (expoziční čas je

jedna milisekunda). Princip funkce přípravku však nedovoluje takto krátkou dobu snímání

změřit. Nejkratší měřitelná doba snímání jsou dvě milisekundy (režim 1/500). Zpoždění klesá

při zmenšující se době snímání. Při nejkratší měřitelné době snímání, 2 ms (režim fotoaparátu

1/500), má zpoždění synchronizačního signálu Tx hodnotu 1,4 ms. Pro nejdelší měřenou dobu

snímání, 50 ms (režim fotoaparátu 1/20), má zpoždění Tx hodnotu 1,7 ms. Matematickým

zpracováním naměřených hodnot bylo vypočítáno, že zpoždění se s pravděpodobností 99 %

pohybuje v intervalu:

𝑇𝑥 = (1,51 0,19 ) 𝑚𝑠 (7.1)

7.3 Přesnost přípravku

Přesnost přípravku byla zmíněna v podkapitole Zhodnocení testování.

7.4 Možné vylepšení

Pro budoucí měření by bylo vhodné, aby se přípravek umístil do krabičky, jejíž výrobu

jsme z časových důvodů nestihli. DPS má tři vyvrtané díry s průměrem 3,2 mm pro montáž

distančních sloupků (pro lepší polohování v krabičce). Pokud se fotoaparát bude používat

s jinými parametry, citlivost snímačů CMOS a otevření závěrky při snímání, bude třeba

zpoždění změřit pro tyto parametry dle kapitoly Měření s fotoaparátem. Příhodné by také bylo

vyzkoušet změřit zpoždění i pro jiný typ fotoaparátu. Byl by výsledek měření podobný?

- 37 -

SEZNAM POUŽITÝCH ZDROJŮ

[1] Terminologická komise ČZÚK. Terminologický slovník zeměměřictví a katastru

nemovitostí, [Online] [Citováno 3. 5. 2017],

Dostupné z: https://www.vugtk.cz/slovnik/index.php

[2] GÁBRLÍK, Petr. Letecká fotogrammetrie, 2017, [Online] [Citováno 3. 5. 2017],

Dostupné z:

https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnx2

dXRyb2JvdGlrYXxneDpjOTQ0Y2E3MDcwZjU2NDA

[3] HONSNEJMAN, Petr. Závěrka (internetový článek), 2015, [Online]

[Citováno 22. 4. 2017], Dostupné z: http://moje.tajemno.net/zaverka/

[4] REICHL, Jaroslav. Synchronizace blesku (internetový článek), 2012, [Online]

[Citováno 22. 4. 2017], Dostupné z:

http://fyzika.jreichl.com/main.article/view/1553-synchronizace-blesku

[5] Atmel Corporation. 8-bit Atmel with 8KBytes In-System Programmable Flash,

ATmega8, ATmega8L (datový list mikrokontroléru), 2013, [Online]

[Citováno 30. 4. 2017], Dostupné z:

http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-

ATmega8_L_datasheet.pdf

- 38 -

SEZNAM OBRÁZKŮ

Obrázek 0.1: Úkol měření .......................................................................................................... 2

Obrázek 1.1: Letecká fotogrammetrie ........................................................................................ 8

Obrázek 1.2: Princip funkce centrální závěrky .......................................................................... 9

Obrázek 1.3: Princip funkce štěrbinové závěrky při různých dobách osvitu ............................. 9

Obrázek 1.4: Schéma obvodu časovače/čítače 1 mikrokontroléru ATmega8.......................... 12

Obrázek 2.1: Fotoaparát SONY Alpha 7 ................................................................................. 13

Obrázek 2.2: Přípravek propojený s převodníkem USB na USART ....................................... 14

Obrázek 2.3: Programátor USBasp .......................................................................................... 15

Obrázek 4.1: Testování na nepájivém poli ............................................................................... 17

Obrázek 4.2: Test rozsvícení první LED .................................................................................. 18

Obrázek 4.3: Test doby svícení LED ....................................................................................... 18

Obrázek 4.4: Test rozsvícení poslední LED ............................................................................. 19

Obrázek 4.5: Test rozsvícení dvou sousedních LED ............................................................... 19

Obrázek 5.1: Výřez ze schématu DPS v Příloha B .................................................................. 22

Obrázek 5.2: Deska plošného spoje ......................................................................................... 23

Obrázek 5.3: Tištěný spoj ......................................................................................................... 23

Obrázek 5.4: Osazovací schéma ............................................................................................... 24

Obrázek 5.5: Vyrobená DPS, pohled shora .............................................................................. 25

Obrázek 5.6: Vyrobená DPS, pohled zdola .............................................................................. 25

Obrázek 5.7: Vyrobená DPS, popis konektorů ........................................................................ 26

Obrázek 6.1: Ukázka zapojení pro měření ............................................................................... 27

Obrázek 6.2: Grafické znázornění popsané problematiky měření zpoždění Tx ....................... 28

Obrázek 6.3: Měření pro offset 2,8 ms a periodu rozsvěcování LED 0,1 ms .......................... 29

Obrázek 6.4: Práce s terminálem (zadávání parametrů pro MCU) .......................................... 30

SEZNAM TABULEK

Tabulka 6.1: Měření zpoždění Tx pro režimy snímání 1/20, 1/50, 1/100 ................................ 31

Tabulka 6.2: Měření zpoždění Tx pro expoziční časy 1/200, 1/250 a 1/400 ............................ 32

Tabulka 6.3: Měření zpoždění Tx pro expoziční čas 1/500 ...................................................... 32

Tabulka 6.4: Průměrné zpoždění pro různé doby snímání ....................................................... 33

Tabulka 6.5: Vypočtené nejistoty měření ................................................................................ 33

Tabulka 6.6: Koeficienty pro určení nejistoty A ...................................................................... 34

Tabulka 6.7: Koeficienty pro výpočet standardní nejistoty ..................................................... 34

- 39 -

SEZNAM PŘÍLOH

Příloha A: Seznam použitých součástek na plošném spoji

Příloha B: Schéma zapojení součástek na plošném spoji

Příloha C: Program pro mikrokontrolér

1. strana přílohy A

PŘÍLOHY

Příloha A: Seznam použitých součástek na plošném spoji

Exported from BROB.sch at 1. 5. 2017 9:39:29

EAGLE Version 7.1.0 Copyright (c) 1988-2014 CadSoft

Assembly variant:

Part Value Device Package Library Sheet

C1 27pF C-EU050-024X044 C050-024X044 rcl 1

C2 27pF C-EU050-024X044 C050-024X044 rcl 1

C3 1uF CPOL-EUE2.5-5 E2,5-5 rcl 1

IC1 MEGA8-P MEGA8-P DIL28-3 atmel 1

LED1 2,4V LED5MM LED5MM led 1

LED2 2,4V LED5MM LED5MM led 1

LED3 2,4V LED5MM LED5MM led 1

LED4 2,4V LED5MM LED5MM led 1

LED5 2,4V LED5MM LED5MM led 1

LED6 2,4V LED5MM LED5MM led 1

LED7 2,4V LED5MM LED5MM led 1

LED8 2,4V LED5MM LED5MM led 1

LED9 2,4V LED5MM LED5MM led 1

LED10 2,4V LED5MM LED5MM led 1

Q1 16MHz CRYSTALHC49S HC49/S 1

Q2 CON_BROB_2 CON_BROB_2CON_BROB_2BROBik 1

Q3 CON_BROB_4 CON_BROB_4CON_BROB_4BROBik1 1

Q4 CON_BROB_2 CON_BROB_2CON_BROB_2BROBik 1

R1 240R R-EU_0207/10 0207/10 rcl 1

R2 240R R-EU_0207/10 0207/10 rcl 1

R3 240R R-EU_0207/10 0207/10 rcl 1

R4 240R R-EU_0207/10 0207/10 rcl 1

R5 240R R-EU_0207/10 0207/10 rcl 1

R6 240R R-EU_0207/10 0207/10 rcl 1

R7 240R R-EU_0207/10 0207/10 rcl 1

R8 240R R-EU_0207/10 0207/10 rcl 1

R9 240R R-EU_0207/10 0207/10 rcl 1

R10 240R R-EU_0207/10 0207/10 rcl 1

R11 4k7 R-EU_0207/10 0207/10 rcl 1

S1 10-XX B3F-10XX switch-omron 1

1. strana přílohy B

Příloha B: Schéma zapojení součástek na plošném spoji

1. strana přílohy C

Příloha C: Program pro mikrokontrolér

/******************************************************* This program was created by the CodeWizardAVR V3.29 Automatic Program Generator © Copyright 1998-2016 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : BROB – Mereni zpozdeni fotoaparatu Version : Date : 8. 4. 2017 Authors : Buchal, Valousek, Vybiral Company : UAMT, FEKT, VUTBR Comments: Chip type : ATmega8 Program type : Application AVR Core Clock frequency: 16,000000 MHz (crystal) Memory model : Small External RAM size : 0 Data Stacksize : 256 *******************************************************/ #include <io.h> #include <stdio.h> #include <stdint.h> // Declare your global variable shere uint16_t offset=0; unsigned OffsetHigh=0; // po zapnuti je nastaven nulovy offset unsigned OffsetLow=0; // po zapnuti je nastaven nulovy offset unsigned LedHigh=0x61; // po zapnuti pojede had s periodou blikani 0.1s unsigned LedLow=0xA8; // po zapnuti pojede had s periodou blikani 0.1s unsignedchar c=0; unsigned i=0; unsigned j=0; // External Interrupt 0 service routine // Preruseni při prichodu synchronizačního signalu fotaku interrupt [EXT_INT0] void ext_int0_isr(void) { if (offset==0) { OCR1AH=LedHigh; OCR1AL=LedLow; } else { OCR1AH=OffsetHigh; OCR1AL=OffsetLow; c=1; } TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (1<<CS11) | (1<<CS10); // abychom mohli presne merit 1ms a 0.1ms, musíme pouzit preddelicku hodinoveho signalu // preddelicka clk/64= (0<<CS12) | (1<<CS11) | (1<<CS10); TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (1<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0); } // Preruseni pro hada (hodnota komparatoru se shoduje s hodnotou casovace) // Timer1 output compare A interrupt service routine interrupt [TIM1_COMPA] void timer1_compa_isr(void) { if((c==1)) { OCR1AH=LedHigh; OCR1AL=LedLow; c=0; }

2. strana přílohy C

else { if (i<4) { PORTB = 1 << (i+2); // had na PORTu B pouziva bity 2 az 5 i++; } else { PORTB=0; if (j<6) { PORTC = 1 << j; // had na PORTu C pouziva bity 0 az 5 j++; } else { TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); // vypnuti casovace, had projel vsechny LED na PORTu B i=0; j=0; PORTC=0; } } } } void main(void) { // Declare your local variables here uint16_t t=0; uint16_t tik=0; unsigned aid=0; // Input/Output Ports initialization // Port B initialization // Function: Bit7=In Bit6=In Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=In Bit0=In // LED BITS 2 - 5 DDRB=0b00111100; // State: Bit7=T Bit6=T Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0 PORTB=0b00000000; // Port C initialization // Function: Bit6=In Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out // LED BITS 0 - 5 DDRC=0b0111111; // State: Bit6=T Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0 PORTC=0b0000000; // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=0b00000000; // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=0b00000000; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: CTC top=OCR1A // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: On // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00;

3. strana přílohy C

TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; // hodnota 0019 v registru porovnavace odpovida pri preddelicce clk/64 casu 0.1ms OCR1BH=0x00; // hodnota 00FA v registru porovnavace odpovida pri preddelicce clk/64 casu 1ms OCR1BL=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0); // External Interrupt(s) initialization // INT0: On // INT0 Mode: Falling Edge // INT1: Off GICR|=(0<<INT1) | (1<<INT0); MCUCR=(0<<ISC11) | (0<<ISC10) | (1<<ISC01) | (0<<ISC00); GIFR=(0<<INTF1) | (1<<INTF0); // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 19200 UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM); UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL); UBRRH=0x00; UBRRL=0x33; #asm("sei") // pro povoleni preruseni printf("Stisknete ENTER\r\n"); while (1) { if(getchar()=='\r') // ZAPNEME ENTEREM { // PERIODA BLIKANI printf("Zadej periodu blikani v us (max 65 000 us).\r\n"); while (scanf("%u",&t)==0) printf("ERROR, zadej cislo \r \n "); printf("Had jede s periodou %u us.\r\n",t); tik=0.25*t; // při preddelicce clk/64 pripada na 1 us 0.25 tiku while (tik > 255) { aid++; tik -= 256; } LedHigh=aid; LedLow=tik; aid=0; // OFFSET printf("Zadej offset v us (max 65 000)\r\n"); while (scanf("%u",&offset)==0) printf("ERROR, elemental detected, nejsme kytickove deti\r\n"); printf("Offset je: %u us\r\n\r\n",offset); tik=0.25*offset; // pro preddelicku clk/64 odpovida 1 us 0.25 tiku while (tik > 255) { aid++; tik -= 256; } OffsetHigh=aid; OffsetLow=tik; aid = 0; printf("Stisknete ENTER\r\n"); } } }