vysokÉ u ČenÍ technickÉ v brn Ě · 2016. 1. 6. · department of radio electronics cyklopo...

74
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF RADIO ELECTRONICS CYKLOPOČÍTAČ S MĚŘIČEM FREKVENCE CYKLOCOMPUTER WITH FREQUENCY METER BAKALÁŘSKÁ PRÁCE BACHELOR’S THESIS AUTOR PRÁCE Tomáš Netáhlo AUTHOR VEDOUCÍ PRÁCE Ing. Jiří Hermany SUPERVISOR BRNO 2010 brought to you by CORE View metadata, citation and similar papers at core.ac.uk provided by Digital library of Brno University of Technology

Upload: others

Post on 18-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY

FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION

DEPARTMENT OF RADIO ELECTRONICS

CYKLOPOČÍTAČ S MĚŘIČEM FREKVENCE CYKLOCOMPUTER WITH FREQUENCY METER

BAKALÁŘSKÁ PRÁCE BACHELOR’S THESIS

AUTOR PRÁCE Tomáš Netáhlo AUTHOR

VEDOUCÍ PRÁCE Ing. Jiří Hermany SUPERVISOR

BRNO 2010

brought to you by COREView metadata, citation and similar papers at core.ac.uk

provided by Digital library of Brno University of Technology

Page 2: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

2

Page 3: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

3

L ICENČNÍ SMLOUVA POSKYTOVANÁ K VÝKONU PRÁVA UŽÍT ŠKOLNÍ DÍLO

uzavřená mezi smluvními stranami:

1. Pan/paní

Jméno a příjmení: Tomáš Netáhlo Bytem: Olomoucká 73, Hlubočky, 783 61 Narozen/a (datum a místo): 30. srpna 1986 v Olomouci

(dále jen „autor“) a

2. Vysoké učení technické v Brně

Fakulta elektrotechniky a komunikačních technologií se sídlem Údolní 53, Brno, 602 00 jejímž jménem jedná na základě písemného pověření děkanem fakulty: prof. Dr. Ing. Zbyněk Raida, předseda rady oboru Elektronika a sdělovací technika (dále jen „nabyvatel“)

Čl. 1

Specifikace školního díla

1. Předmětem této smlouvy je vysokoškolská kvalifikační práce (VŠKP):

disertační práce diplomová práce bakalářská práce jiná práce, jejíž druh je specifikován jako ......................................................

(dále jen VŠKP nebo dílo)

Název VŠKP: Cyklopočítač s měřičem frekvence

Vedoucí/ školitel VŠKP: Ing. Jiří Hermany

Ústav: Ústav radioelektroniky

Datum obhajoby VŠKP: __________________

VŠKP odevzdal autor nabyvateli*:

v tištěné formě – počet exemplářů: 2 v elektronické formě – počet exemplářů: 2

2. Autor prohlašuje, že vytvořil samostatnou vlastní tvůrčí činností dílo shora popsané a specifikované. Autor dále prohlašuje, že při zpracovávání díla se sám nedostal do rozporu s autorským zákonem a předpisy souvisejícími a že je dílo dílem původním.

3. Dílo je chráněno jako dílo dle autorského zákona v platném znění.

* hodící se zaškrtněte

Page 4: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

4

4. Autor potvrzuje, že listinná a elektronická verze díla je identická.

Článek 2

Udělení licenčního oprávnění

1. Autor touto smlouvou poskytuje nabyvateli oprávnění (licenci) k výkonu práva uvedené dílo nevýdělečně užít, archivovat a zpřístupnit ke studijním, výukovým a výzkumným účelům včetně pořizovaní výpisů, opisů a rozmnoženin.

2. Licence je poskytována celosvětově, pro celou dobu trvání autorských a majetkových práv k dílu.

3. Autor souhlasí se zveřejněním díla v databázi přístupné v mezinárodní síti

ihned po uzavření této smlouvy 1 rok po uzavření této smlouvy 3 roky po uzavření této smlouvy 5 let po uzavření této smlouvy 10 let po uzavření této smlouvy

(z důvodu utajení v něm obsažených informací)

4. Nevýdělečné zveřejňování díla nabyvatelem v souladu s ustanovením § 47b zákona č. 111/ 1998 Sb., v platném znění, nevyžaduje licenci a nabyvatel je k němu povinen a oprávněn ze zákona.

Článek 3

Závěrečná ustanovení

1. Smlouva je sepsána ve třech vyhotoveních s platností originálu, přičemž po jednom vyhotovení obdrží autor a nabyvatel, další vyhotovení je vloženo do VŠKP.

2. Vztahy mezi smluvními stranami vzniklé a neupravené touto smlouvou se řídí autorským zákonem, občanským zákoníkem, vysokoškolským zákonem, zákonem o archivnictví, v platném znění a popř. dalšími právními předpisy.

3. Licenční smlouva byla uzavřena na základě svobodné a pravé vůle smluvních stran, s plným porozuměním jejímu textu i důsledkům, nikoliv v tísni a za nápadně nevýhodných podmínek.

4. Licenční smlouva nabývá platnosti a účinnosti dnem jejího podpisu oběma smluvními stranami.

5. V Brně dne: 28. května 2010

……………………………………….. ………………………………………… Nabyvatel Autor

Page 5: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

5

Abstrakt

Bakalářská práce se zabývá návrhem a realizací cyklopočítače s měřičem frekvence šlapání. Zařízení měří rychlost, frekvenci šlapání, tepovou frekvenci, ujetou vzdálenost a také aktuální čas a datum. Naměřené hodnoty se ukládají do paměti a poté je lze prostřednictvím USB rozhraní přenést do počítače. Práce obsahuje popis použitých magnetických senzorů a snímačů EKG. Praktická část zahrnuje návrh hardwarové a softwarové části cyklopočítače.

Klí čová slova

Cyklopočítač, senzory magnetického pole, Hallovy senzory, snímače EKG, elektrody, mikrokontrolér, ATmega64, SPI, TWI, USART, LCD, RTC, DataFlash, USB, FT232RL, DC/DC měnič, stabilizátor napětí, AVR studio, jazyk C.

Abstract

The Bachelor’s thesis deals with design and realization of the cyklocomputer with a measuring frequency of pedaling. The device measures speed, pedaling frequency, heart rate, distance traveled and the current time and date. Measured values are stored in memory and then can be transferred via USB bus to computer. The work includes a description of the magnetic sensors and ECG sensors. The practical part includes the design of hardware and software cyklocomputer.

Keywords

Cyklocomputer, magnetic field sensors, Hall sensors, sensors ECG, electrodes, microcontroller ATmega64, SPI, TWI, USART, LCD, RTC, DataFlash, USB, FT232RL, DC/DC converter, voltage stabilizer, AVR Studio, C language.

Page 6: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

6

NETÁHLO, T. Cyklopočítač s měřičem frekvence. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií. Ústav radioelektroniky, 2010. 74 s., 5 s. příloh. Bakalářská práce. Vedoucí bakalářské práce Ing. Jiří Hermany.

Page 7: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

7

Prohlášení

Prohlašuji, že svou bakalářskou práci na téma Cyklopočítač s měřičem frekvence jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce.

Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení § 152 trestního zákona č. 140/1961 Sb.

V Brně dne 28. května 2010 ............................................ podpis autora

Poděkování

Děkuji vedoucímu bakalářské práce Ing. Jiřímu Hermanymu za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce.

V Brně dne 28. května 2010 ............................................ podpis autora

Page 8: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

8

Obsah Seznam obrázků ..................................................................................................................... 10 Seznam tabulek....................................................................................................................... 11 Úvod......................................................................................................................................... 12 1 Senzory magnetického pole ........................................................................................... 13

1.1 Hallovy senzory........................................................................................................ 13 1.1.1 Hallův jev v integrovaných senzorech ............................................................. 14 1.1.2 Hallův senzor TLE4905L................................................................................. 15

2 Snímače EKG.................................................................................................................. 17 2.1 Měření tepové frekvence.......................................................................................... 17 2.2 Elektrody pro snímání biologických signálů............................................................ 18

3 Návrh hardwarové části................................................................................................. 19 3.1 Mikrokontrolér ATmega64 ...................................................................................... 20

3.1.1 Způsoby programování .................................................................................... 21 3.1.2 Sériový kanál SPI ............................................................................................. 22 3.1.3 Sériové rozhraní TWI (I2C).............................................................................. 23 3.1.4 Jednotka USART.............................................................................................. 24

3.2 Senzory..................................................................................................................... 26 3.2.1 Hallův senzor TLE4905L................................................................................. 26 3.2.2 Snímač EKG..................................................................................................... 26 3.2.3 Realizace snímače EKG................................................................................... 28

3.3 Displej ...................................................................................................................... 31 3.3.1 Řadič HD44780................................................................................................ 31 3.3.2 Displej MC 1602C8-SYL................................................................................. 31

3.4 Obvod hodin reálného času...................................................................................... 35 3.5 Paměť DataFlash ...................................................................................................... 36 3.6 Převodník USB na UART........................................................................................ 38

3.6.1 Sběrnice USB ................................................................................................... 38 3.6.2 Převodník FT232RL......................................................................................... 39

3.7 Napájení ................................................................................................................... 41 3.7.1 DC/DC měnič ................................................................................................... 41 3.7.2 Stabilizátor napětí............................................................................................. 41 3.7.3 Program LTspiceIV.......................................................................................... 42

3.8 Návrh obvodového zapojení a DPS ......................................................................... 44 4 Návrh softwarové části................................................................................................... 45

4.1 Programátor.............................................................................................................. 45 4.2 Vývojové prostředí...................................................................................................46 4.3 Měření a výpočet veličin .......................................................................................... 47

4.3.1 Aktuální rychlost .............................................................................................. 47 4.3.2 Maximální rychlost .......................................................................................... 49 4.3.3 Průměrná rychlost ............................................................................................ 50 4.3.4 Denní a celková vzdálenost.............................................................................. 50 4.3.5 Denní čas jízdy................................................................................................. 51 4.3.6 Aktuální frekvence šlapání............................................................................... 52 4.3.7 Maximální frekvence šlapání ........................................................................... 52 4.3.8 Průměrná frekvence šlapání ............................................................................. 52 4.3.9 Tepová frekvence ............................................................................................. 52

4.4 Zobrazení na displeji ................................................................................................ 53 4.5 Komunikace s obvodem hodin reálného času .......................................................... 54

Page 9: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

9

4.6 Ukládání naměřených dat......................................................................................... 55 4.7 Přenos naměřených dat do PC.................................................................................. 56

5 Manuál k obsluze............................................................................................................ 58 5.1 Rozvržení cyklopočítače .......................................................................................... 58 5.2 Základní nastavení.................................................................................................... 58 5.3 Funkce měření .......................................................................................................... 59

6 Výsledky práce................................................................................................................ 61 6.1 Realizace hardwarové části ...................................................................................... 61 6.2 Realizace softwarové části ....................................................................................... 61 6.3 Testování a technické parametry.............................................................................. 61

Závěr........................................................................................................................................ 63 Seznam literatury ................................................................................................................... 64 Seznam symbolů, veličin a zkratek....................................................................................... 67 Seznam příloh ......................................................................................................................... 69

Page 10: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

10

Seznam obrázků Obr. 1: Souvislost mezi řídícím proudem, magnetickou indukcí a Hallovým napětím.......... 14 Obr. 2: Základní koncepce Hallova senzoru ........................................................................... 14 Obr. 3: Blokové schéma vnitřního zapojení Hallova senzoru TLE4905L.............................. 15 Obr. 4: Rozmístění vývodů Hallova senzoru TLE4905L na pouzdru P-SSO-3-2.................. 16 Obr. 5: Spínací charakteristika Hallova senzoru TLE4905L.................................................. 16 Obr. 6: Průběh signálu EKG ................................................................................................... 17 Obr. 7: Technický popis povrchové elektrody EKG............................................................... 18 Obr. 8: Blokové schéma cyklopočítače................................................................................... 19 Obr. 9: Blokové schéma AVR architektury ............................................................................ 21 Obr. 10: Zapojení pro sériové programování pomocí rozhraní SPI........................................ 22 Obr. 11: Propojení mezi masterem a slavem na sběrnici SPI ................................................. 23 Obr. 12: Připojení zařízení na sběrnici TWI. .......................................................................... 24 Obr. 13: Platnost dat, startovací a ukončovací podmínka u TWI. .......................................... 24 Obr. 14: Asynchronní rámec jednotky USART v módu 8O2, data 208. ................................ 25 Obr. 15: Připojení Hallova senzoru TLE4905L k mikrokontroléru........................................ 26 Obr. 16: Rozmístění vývodů zesilovače AD624AD na pouzdru DIP..................................... 27 Obr. 17: Snímač EKG s přístrojovým zesilovačem AD624AD.............................................. 27 Obr. 18: Rozmístění vývodů zesilovače TL084 na pouzdru DIL. .......................................... 28 Obr. 19: Snímač EKG se čtyřnásobným operačním zesilovačem TL084….........…….......... 29 Obr. 20: Průběh signálu EKG při nastavení 500 ms/div a 1V/div. ......................................... 30 Obr. 21: Průběh signálu EKG při nastavení 250 ms/div a 1V/div. ......................................... 30 Obr. 22: 4 bitová komunikace mezi mikrokontrolérem a displejem....................................... 32 Obr. 23: Časové průběhy zápisu příkazu/dat na displej.......................................................... 32 Obr. 24: Znaková sada displeje MC 1602C8-SYL. ................................................................ 33 Obr. 25: Rozmístění vývodů obvodu RTC na pouzdru SO .................................................... 35 Obr. 26: Zapojení obvodu RTC na sběrnici TWI ................................................................... 36 Obr. 27: Rozmístění vývodů paměti DatasFlash na pouzdru SOIC8...................................... 37 Obr. 28: Rozdělení paměťového pole paměti Dataflash na sektory, bloky a stránky............. 37 Obr. 29: USB konektory typu A a B. ...................................................................................... 38 Obr. 30: Rozmístění vývodů převodníku FT232RL na pouzdru SSOP.................................. 40 Obr. 31: Zapojení převodníku FT232RL při napájení ze sběrnice USB................................. 40 Obr. 32: Rozmístění vývodů DC/DC měniče LT1308 na pouzdru SOIC............................... 41 Obr. 33: Rozmístění vývodů stabilizátoru napětí LT1121 CZ-3,3 na pouzdru TO-92........... 42 Obr. 34: Celkové zapojení DC/DC měniče LT1300 a stabilizátoru LT1121 CZ-3,3 .............42 Obr. 35: Nastavení přechodové analýzy napájecího obvodu. ................................................. 43 Obr. 36: Průběh výstupního napětí DC/DC měniče a stabilizátoru napětí ............................. 43 Obr. 37: Propojení ISP programátoru s mikrokontrolérem..................................................... 45 Obr. 38: Rozmístění jednotlivých vývodů ISP konektoru ...................................................... 45 Obr. 39: Okno průvodce CodeWizardAVR s nastavením displeje připojeného k portu C..... 46 Obr. 40: Průběh ověření signatury mikrokontroléru ATmega64. ........................................... 47 Obr. 41: Vývojový diagram měření rychlosti. ........................................................................ 48 Obr. 42: Zobrazení měřených hodnot na displeji.................................................................... 53 Obr. 43: Registry pro nastavení obvodu hodin reálného času ................................................55 Obr. 44: Výpis naměřených dat v programu Terminal ........................................................... 57 Obr. 45: Rozvržení ovládacích prvků cyklopočítače. ............................................................. 58 Obr. 46: Celkový vzhled cyklopočítače bez přístrojové krabičky. ......................................... 62

Page 11: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

11

Seznam tabulek Tab. 1: Elektrické vlastnosti povrchové elektrody.................................................................. 18 Tab. 2: Obsazení vývodů displeje MC 1602C8-SYL.............................................................. 31 Tab. 3: Vztah mezi pozicí znaku a jeho hex. adresou v DD RAM pro displej 16x2 .............. 33 Tab. 4: Seznam instrukcí pro ovládání a zápis znaků do displeje........................................... 34 Tab. 5: Popis vývodů USB konektorů..................................................................................... 38 Tab. 6: Standarty USB a přenosové rychlosti ......................................................................... 38 Tab. 7: Přehled použitých funkcí z knihovny LCD.................................................................53 Tab. 8: Přehled použitých funkcí z knihovny I2C ................................................................... 54 Tab. 9: Přehled použitých funkcí z knihovny EEPROM ........................................................ 56 Tab. 10: Technické parametry cyklopočítače.......................................................................... 62

Page 12: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

12

Úvod

Cílem bakalářské práce je návrh a sestavení cyklopočítače s měřičem frekvence šlapání. Navržené zařízení měří a zobrazuje údaje o rychlosti, frekvenci šlapání, tepové frekvenci, vzdálenosti, času a také o aktuálním čase a datu. Cyklopočítač měří a počítá celou řadu hodnot, tyto údaje se pak ukládají do paměti pro pozdější zpracování. Výhodou je možnost přenést hodnoty z paměti do počítače, kde může uživatel provést podrobnou analýzu naměřených hodnot z celé vyjížďky.

Práce je rozdělena do čtyř hlavních kapitol. Úvodní dvě kapitoly pojednávají o parametrech použitých senzorů. Jsou zde uvedeny dva hlavní typy magnetických senzorů pro měření impulsů a také popis vybraného Hallova senzoru. U snímačů EKG je nejdříve uveden princip měření tepové frekvence a následně popsány parametry elektrod pro snímání bioelektrických signálů. Třetí kapitola se věnuje návrhu hardwarové části přístroje. Jsou zde uvedeny důvody výběru vhodného typu mikrokontroléru, včetně popisu všech použitých rozhraní. Další část kapitoly pojednává o připojení magnetických senzorů a snímačů EKG k mikrokontroléru a řeší také návrh snímače EKG. Ve zbývající časti jsou popsány parametry a zapojení všech obvodů zajišťujících požadované funkce cyklopočítače. V závěru kapitoly je uvedeno řešení napájení celého zařízení. Čtvrtá kapitola se zabývá návrhem softwarové části cyklopočítače. Je zde rozebráno programové řešení jednotlivých funkcí cyklopočítače včetně použitého vývojového prostředí a knihoven pro komunikaci s displejem, rozhraním TWI a pamětí EEPROM.

Page 13: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

13

1 Senzory magnetického pole

Senzory citlivé na magnetické pole můžeme podle využívaného fyzikálního jevu nebo zákonitostí rozdělit do několika skupin, jak uvádí zdroj [1]. Rozeznáváme induktivní senzory, magnetorezistivní senzory (magnetorezistory), Hallovy senzory a jazýčkové spínače. Pro měření impulzů se nejvíce hodí Hallovy senzory a jazýčkové spínače.

• Hallovy senzory – jsou založeny na principu Hallova jevu. Prochází-li permanentní magnet v blízkosti Hallovy sondy, vzniká na ní Hallovo napětí ve formě impulzů. Tyto impulzy lze dále zpracovávat a zjišťovat tak například počet otáček za minutu. Použití: měření a detekce pohybu, přiblížení a umístění, měření magnetického pole.

• Jazýčkové spínače – pracují na principu mechanického spínaní a rozpínání kontaktu v závislosti na změně polohy permanentního magnetu. Jazýčkové spínače se používají u většiny dnešních cyklopočítačů, jejich výhodou je jednoduchá konstrukce a spolehlivost. Použití: detekce přítomnosti magnetického pole, měření pohybu.

1.1 Hallovy senzory

Z uvedených magnetických senzorů byly vybrány Hallovy senzory. Tyto senzory využívají Hallova jevu, který byl objeven v roce 1879 americkým fyzikem E. C. Hallem, viz [1]. Ten zjistil, že se mezi dvěma protějšími stranami tenké vodivé destičky, kterou v podélném směru protéká proud, objeví napětí, jestliže je destička umístěna v magnetickém poli tak, že jeho siločáry působí kolmo na destičku. Také zjistil, že toto napětí je úměrné magnetické indukci, hustotě magnetického toku a hodnotě proudu. Hallovo napětí je u většiny vodivých i polovodičových materiálů tak malé, že není prakticky využitelné. K praktickému využití Hallova jevu došlo až se zvládnutím výroby moderních polovodičových materiálů. První plně integrovaný křemíkový bezkontaktní spínač s Hallový jevem byl vytvořen v roce 1965 Everethem Vorthmannem a Joem Maupinem. Tento spínač poté našel uplatnění např. v elektronických klávesnicích, viz [2]. Pokud Hallovou sondou protéká proud a je umístěna do magnetického pole tak, že jeho siločáry jsou kolmé k polovodičové destičce a tedy i ke směru protékajícího proudu, jsou elektrony, které destičkou procházejí, vlivem magnetického pole vychylovány [1]. Síla, která elektrony vychyluje z přímého směru vždy k jedné straně destičky, se nazývá Lorenzova síla, viz [2]:

)( BvQF ⋅⋅= , [N ; C, m/s, T] (1) kde Q elektrický náboj; v rychlost elektronů; B indukce působícího magnetického pole. Vychýlením elektronů dochází ke změně rozložení náboje, kdy na jedné straně destičky je přebytek a na druhé straně naopak nedostatek elektronů, díky tomu mají strany rozdílný potenciál. Na svorkách Hallovy sondy se tak objeví Hallovo napětí UH, viz obr. 1 (převzato z [1]).

Page 14: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

14

Magnetické pole B

- UH +

IC (technický směr proudu)

Obr. 1: Souvislost mezi řídícím proudem IC, magnetickou indukcí B a Hallovým napětím UH. Velikost Hallova napětí je dána vztahem, viz [1]:

BId

RU C

HH ⋅⋅= , [V ; m3/As, m, A, T] (2)

kde RH Hallův činitel ; d tloušťka vrstvy polovodiče;

IC proud procházející Hallovou sondou; B indukce působícího magnetického pole. Hodnoty RH a d jsou určeny přímo výrobcem. Uživatel tedy může měnit pouze proud IC a velikost indukce magnetického pole B. Vztah můžeme zjednodušeně napsat:

BIU CH ⋅≈ (3)

Polarita Hallova napětí závisí na orientaci procházejícího proudu IC a na směru vektoru magnetické indukce B. Výstupní charakteristika Hallovy sondy je symetrická kolem nuly.

1.1.1 Hallův jev v integrovaných senzorech Abychom mohli tenkou polovodičovou destičku (Hallův element) použít jako senzor

magnetického pole, je potřeba ji doplnit vyhodnocovací elektronikou, viz obr. 2. Ta má za úkol zesílit a upravit výsledné Hallovo napětí, ale také regulovat a stabilizovat napájecí napětí, což je důležité pro generování konstantního proudu. Konstantní proud je základní podmínkou proto, aby byla změna Hallova napětí závislá pouze na změně indukce magnetického pole, viz [2].

Obr. 2: Základní koncepce Hallova senzoru – Hallův element napájený z regulovaného zdroje s výstupy připojenými na vstupy diferenčního zesilovače (převzato z [2]).

Output -

+ Diferential amplifier -

Regulator V input

Hall element

VCC

VEE -

-

Page 15: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

15

Hallovy senzory můžeme rozdělit podle výstupu na senzory s analogovým nebo digitálním výstupem:

• Lineární analogový výstup – mění se plynule s plynulou změnou magnetického pole.

Tento výstup je také označován jako radiometrický. Offset je úměrný velikosti napájecího napětí VS. Výstupní napětí se může měnit od 0 V (typicky 0,2 V) až k napájecímu napětí (typicky VS – 0,2 V). Představitelem Hallových senzorů s analogovým výstupem můžou být např. senzory firmy Honeywell SS490 viz [3]. Použití: průběžné měření a monitorování proměnného magnetického pole.

• Digitální výstup – může být buď v podobě dvoustavového logického/binárního signálu

(realizovaného např. Schmittovým klopným obvodem s výstupním tranzistorem) nebo plně digitální (jednoduchý mikrokontrolér, využívající některé sériové komunikační rozhraní např. UART, I2C). Typickým představitelem této skupiny mohou být např. senzory firmy Infineon typ TLE4905, TLE4935 viz [4]. Použití: v aplikacích, kde je měření možné zjednodušit pouze na to, zda se magnetické pole vyskytuje či nikoliv, avšak při spojení digitálního výstupu s mikrokontrolérem může být využití stejné jako u analogových typů.

1.1.2 Hallův senzor TLE4905L Při návrhu cyklopočítače byl pro měření rychlosti a frekvence šlapání vybrán Hallův

senzor typ TLE4905L od firmy Infineon, viz [4]. Senzor byl zvolen kvůli jeho dobré dostupnosti a parametrům, které jsou vhodné pro měření pohybu.

Integrované obvody TLE4905L se používají k detekci unipolárního (stejnosměrného) magnetického pole, jak uvádí [4],[5]. Jedná se o senzory se spínaným binárním výstupem. K sepnutí výstupu dochází při magnetické indukci 7-18 mT a k rozepnutí při 5-16 mT. Senzory jsou teplotně kompenzované a hranice spínaní se s teplotou mění jen minimálně (o cca 2 mT v rozsahu teplot od -40 °C do 150 °C). K napájení obvodu se používá napětí od 3,8 V do 24 V. Blokové schéma senzoru TLE4905L uvádí obr. 3.

Obr. 3: Blokové schéma vnitřního zapojení Hallova senzoru TLE4905L (převzato z [4]).

Page 16: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

16

Vnitřní zapojení senzoru TLE4905L se skládá z následujících bloků:

• Napájecí obvod a generátor referenčního napětí (blok VS/VRef), • Hallův snímač (Hall Generator) – podle směru a velikosti magnetické indukce B

vytvoří napětí UH v řádu mV, • Zesilovač (Amplifier) – zesílí napětí z Hallova snímače na stovky mV až jednotky V, • Schmittův klopný obvod (Schmitt Trigger) – vytváří dvoustavový signál s hysterezí, • Generátor rozhodovací/překlápěcí úrovně (Treshold Generator), • Výstupní spínací tranzistor s otevřeným kolektorem (Output Stage).

Pouzdro Hallova senzoru obsahuje celkem tři vývody, jedná se o vývody Q (výstup), VS

(napájení) a GND (zem), vzhled pouzdra udává obr. 4.

Obr. 4: Rozmístění vývodů Hallova senzoru TLE4905L na pouzdru P-SSO-3-2

(převzato z [4]).

Spínací charakteristika Hallova senzoru je uvedena na obr. 5. Při vysoké úrovni magnetické indukce B je na výstupu Q nízká úroveň napětí VQL a při nízké úrovni magnetické indukce B je úroveň napětí vysoká VQH.

Obr. 5: Spínací charakteristika Hallova senzoru TLE4905L (převzato z [4]).

Page 17: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

17

2 Snímače EKG

2.1 Měření tepové frekvence

Měření srdečního tepu je založeno na principu snímání elektrického potenciálu vygenerovaného elektrickou aktivitou srdeční tkáně. Tok proudu ve formě iontů signalizuje stahování srdečního svalu vedoucího k pumpování srdce, viz [6].

Měřiče tepové frekvence pro sportovní použití využívají většinou principu EKG. Výhodou je velká přesnost, neboť na stejném základu pracují i přístroje v medicíně. Existují dva způsoby snímání tepu. První způsob využívá měření tepové frekvence pomocí hrudního pásu, na kterém jsou umístěny dvě elektrody. Výhoda tohoto způsobu spočívá v možnosti průběžného měření tepu při libovolné činnosti. Hrudní pás se tedy používá při aktivním sportovním výkonu a při požadavku na volné ruce. Druhý způsob slouží spíše pro občasnou kontrolu tepu, neboť měření tepu probíhá přiložením prstů ruky na měřič tepu. Použití je vhodné spíše při neplánovaných aktivitách a při sportech, které nevyžadují volné ruce.

Při návrhu cyklopočítače bylo zvoleno měření tepové frekvence pomocí tří elektrod. Měří se rozdíl mezi elektrickými potenciály dvou elektrod umístěných na hrudníku, třetí elektroda je použita jako společná zem. Jedná se vlastně o třívodičové EKG, kde tři body na těle definují Einthovenův trojúhelník. Průběh vytvořený těmito potenciály se nazývá elektrokardiogram, neboli záznam průběhu srdečního elektrického potenciálu. Obr. 6 udává typický průběh signálu EKG .

Obr. 6: Průběh signálu EKG (převzato z [8]). EKG vlny jsou značeny písmeny P, Q, R, S ,T kde, viz [7]:

• P vlna – depolarizace síní 0-3 mV, délka vlny do 100 ms, • Q vlna – negativní, 0-25% R vlny, délka vlny do 30 ms, • R vlna - velikost několik mV, délka vlny do 100 ns, • S vlna – velikost 0 až 0,8 mV, délka vlny do 50 ms, • T vlna – repolarizace komor, do 8,8 mV, délka vlny od 100 do 250 ms.

Délku srdeční periody, která je potřebná pro měření aktuálního počtu tepů za minutu,

zjistíme jako vzdálenost dvou po sobě jdoucích R vln. Tato vzdálenost se také označuje jako R – R interval.

R – R interval

Page 18: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

18

2.2 Elektrody pro snímání biologických signálů

Elektrody jsou třída senzorů, které mění iontovou vodivost na vodivost elektrickou tak, že signál může být zpracován v elektronických obvodech, viz [8]. Účelem elektrod je získat lékařsky významné bioelektrické signály jako například elektrokardiografické (EKG) či elektroencefalografické (EEG). Většina bioelektronických signálů je získávána z jedné ze tří forem elektrod, viz [7]:

• povrchové – kovové deskové elektrody, suché elektrody (izolované/neizolované), • podpovrchové – jehlové elektrody vpichové, implantabilní elektrody, • mikroelektrody – kapilární elektrody pro snímání z buněk, implantabilní elektrody

(snímání z mozku).

Lidská kůže obsahuje potní žlázy, které vylučují pot. Pot obsahuje mimo jiné i ionty a vytváří tzv. elektrolyt. Ponořením elektrody do elektrolytu dojde ke vzniku tzv. galvanického půlčlánku a na rozhraní elektroda – elektrolyt vznikne tzv. půlčlánkový potenciál. Velikost tohoto potenciálu závisí na chemickém složení elektrolytu a elektrody. Pro snímání elektrického biopotenciálu se používají vždy stejné dvojice elektrod, protože mají stejný půlčlánkový potenciál, viz [7].

Lidská kůže má tendenci mít velmi vysokou impedanci v porovnání s ostatními zdroji napětí. Impedance se pohybuje od 0,5 kΩ na zpoceném povrchu kůže až po 20 kΩ pro suchý povrch kůže.

Jako vhodné elektrody byly vybrány povrchové elektrody typu F značky MEDEQ, ty se umísťují do kontaktu s pokožkou, viz [9]. Elektrody jsou typu Ag-AgCl (čisté stříbro + vrstva chloridu stříbrného). Tyto elektrody jsou vyrobeny z pěnového polyethylenu, který je nepropustný a ochraňuje kůži pod elektrodou od vodnatosti, vzduchu a zajišťuje tak bezpečný průchod elektrického signálu. Technický popis elektrody uvádí obr. 7.

1. základní materiál, 2. etiketa, 3. krycí fólie, 4. kovová patentka, 5. patentka krytá Ag/AgCl, 6. gel Obr. 7: Technický popis povrchové elektrody EKG (převzato z [9]).

Elektrické vlastnosti elektrody odpovídají požadavkům sdružení Association for the Advancement of Medical Instrumentation (AAMI), viz tab. 1.

Tab. 1: Elektrické vlastnosti povrchové elektrody (převzato z [9]).

DC vyrovnání AC impedance (10 Hz) Defibrilace (5 s) AC imp. po defibrilaci AAMI < 100mV < 2000 Ω < 100 mV < 2000 Ω

MEDEQ < 5 mV < 90 Ω < 20 mV < 80 Ω

3

6

2

5

4

1

Page 19: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

19

3 Návrh hardwarové části

Blokové schéma celého zařízení znázorňuje obr. 8. Pro snímání všech potřebných hodnot obsahuje cyklopočítač dva Hallovy senzory a snímač EKG. První Hallův senzor slouží ke snímání rychlosti pomocí magnetu umístěného ve výpletu předního kola a druhý Hallův senzor snímá frekvenci šlapání prostřednictvím magnetu, který je umístěn na levé klice šlapacího středu. Senzor EKG snímá srdeční tep pomocí dvou elektrod umístěných na hrudníku (realizováno pouze částečně). Naměřené hodnoty jsou následně přenášeny ze senzorů do mikrokontroléru pro další zpracování. Tyto hodnoty se zobrazují na displeji spolu s hodnotami o aktuálním čase a datu, které realizuje obvod hodin reálného času, a také se ukládají do paměti EEPROM. Uložené hodnoty je pak možné přenést prostřednictvím USB rozhraní do počítače.

Cyklopočítač obsahuje následující funkce:

• funkce rychlosti – aktuální, průměrná a maximální rychlost, • funkce frekvence šlapání (kadence) - aktuální, průměrná a maximální kadence, • funkce tepové frekvence - aktuální, průměrná a maximální tepová frekvence, • funkce vzdálenosti – denní ujetá vzdálenost, celková ujetá vzdálenost, • funkce času – denní čas jízdy, aktuální čas a datum.

Obr. 8: Blokové schéma cyklopočítače.

Mikrokontrolér ATmega 64

Hallův senzor TLE 4905L

rychlost

Hallův senzor TLE 4905L

kadence

LCD s řadičem

MC1602C8-SYL

Převodník USB <-> UART

FT232RL

Stabilizátor

napětí LT1121

DC/DC měnič

LT1300

Baterie 3V

Obvod hodin reálného času

DS 1307

Paměť Dataflash

45DB161D- SU

Snímač EKG

Page 20: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

20

3.1 Mikrokontrolér ATmega64

Za nejdůležitější obvod v celém zapojení lze považovat mikrokontrolér, který slouží k řízení celého cyklopočítače. K mikrokontroléru jsou připojeny všechny ostatní obvody jako jsou Hallovy senzory, snímač EKG, převodník USB na UART, LCD, obvod hodin reálného času a také paměť DataFlash.

V dnešní době je nabídka mikrokontrolérů velmi široká, jednotlivé typy se od sebe mohou lišit šířkou registrů a sběrnice (8 bitové, 16 bitové, 32 bitové a 64 bitové), počtem vstupně/výstupních portů, počtem zabudovaných periferií nebo také velikostí programové a datové paměti. Mezi hlavní výrobce patří firmy ATMEL, FREESCALE, INTEL, MICROCHIP atd. Při návrhu cyklopočítače byl vybrán mikrokontrolér od firmy ATMEL z řady ATmega typ ATmega64, viz [10]. Narozdíl od nižších typů (ATmega16, ATmega32) nabízí tento mikrokontrolér větší velikost programové i datové paměti a také paměti EEPROM. Kromě velikosti paměti byl při návrhu dalším požadavkem dostatečný počet vstupně/výstupních portů pro připojení všech obvodů. Výhodou je také druhý 16 bitový čítač/časovač. Za další přednosti je možné považovat možnost sériového programování mikrokontroléru přímo v aplikaci, bez nutnosti vkládání do programátoru, nebo volně dostupné vývojové prostředí AVR Studio, které je ke stažení na stránkách firmy ATMEL.

Mikrokontolér ATmega64 je 8 bitový mikrokontrolér založený na architektuře AVR, která využívá koncepci Harwardské architektury (oddělené paměti pro program i data). Procesor je typu RISC (Reduced Instruction Set Computer), má tedy redukovaný počet instrukcí. Instrukce jsou prováděny v jediném hodinovém cyklu. Základní vlastnosti mikrokontroléru ATmega64:

• instrukční soubor obsahuje 130 instrukcí, • 32 registrů o délce 8 bitů, • hodinový kmitočet 0 až 16 MHz, maximální výpočetní výkon 16 MIPS, • programová paměť typu FLASH s kapacitou 64 KB, počet přeprogramování 10 000, • datová paměť SRAM s kapacitou 4 KB, • datová paměť EEPROM s kapacitou 2 KB, počet přeprogramování 100 000, • paměť FLASH a EEPROM jsou programovatelné přímo v systému pomocí rozhraní

SPI nebo JTAG, • dva 8 bitové čítače/časovače, dva 16-bitové (rozšířené) čítače/časovače, • 8 kanálový 10 bitový A/D převodník, • dva 8 bitové PWM kanály, 6 PWM kanálů s programovatelným rozlišení 1 - 16 bitů, • jednotky TWI (I2C), 2x USART, SPI, • interní kalibrovaný RC oscilátor, • napájecí napětí obvodu 4,5-5,5 V, • pouzdro TQFP64.

Mikrokontrolér obsahuje šest úplných 8-bitových vstupně/výstupních portů, které jsou

označeny PA až PF. Všechny porty mohou pracovat jako obousměrné. AVR používá velmi jednoduchý předvýběr instrukcí (prefetch), tím je zavedeno zřetězené vykonávání instrukcí (jednofázový pipelling). Nejprve se v programové paměti načte první instukce, současně s tím jak se tato instrukce v následujícím hodinovém cyklu provádí, se předvybírá druhá instrukce, viz [11]. Další významný prvek, který výrazně zvyšuje výpočetní výkon mikrokontrolérů ATmega, je jednotná délka instrukce (16 bitů).

Page 21: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

21

Hlavní funkci jádra CPU ( Central Processing Unit) je zajistit správné spuštění programu. Procesor provádí výpočty, řídí periferní zařízení a zpracovává přerušení. Zjednodušené schéma AVR architektury uvádí obr. 9.

Obr. 9: Blokové schéma AVR architektury (převzato z [10]).

3.1.1 Způsoby programování Mikrokontolér Atmega64 je možné programovat klasicky (paralelně), pomocí JTAG

rozhraní (podpora pro ladění), nebo pomocí SPI rozhraní (sériové programování), viz [11].

• Paralelní programování – mikrokontrolér se naprogramuje v programátoru, poté se vyjme z programovací patice a vloží do zvolené aplikace. To je velmi komplikované, protože při každém přeprogramování je nutné obvod vyjmout nebo vyletovat z plošného spoje.

• Rozhraní JTAG – nabízí velkou podporu ladění aplikace, program lze krokovat

pomocí příkazů JTAG rozhraní, podpora ze strany ladícího programu (debugger) je však velká. Proto je cena debuggeru celkem vysoká, např. ATMEL AVR JTAGICE mkII.

• Sériové programování pomocí sběrnice SPI – neposkytuje takovou rychlost jako

paralelní programování, ani tak velkou podporu ladění aplikace jako JTAG rozhraní, ale zato je ovládání pomocí SPI rozhraní snadnější.

Page 22: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

22

Sériové programování umožňuje programovat mikrokontolér přímo v aplikaci, bez nutnosti vkládání do programátoru, čímž se vývoj aplikace výrazně urychlí. Sériové programování podporují všechny mikrokontroléry AVR. Sériové rozhraní obsahuje vývody SCK (hodiny), MOSI (vstup), MISO (výstup). Přestože se při sériovém programování u ATmega64 používá rozhraní SPI, tak vývody MOSI a MISO, které jsou na vývodech PB2 a PB3, se k programování nepoužívají. Namísto nich jsou použity vývody PE0 a PE1. Zapojení pro sériové programování je uvedeno na obr. 10. Při programování musí být mezi vývody XTAL1, XTAL2 připojen krystal, nebo lze připojit zdroj vnějšího kmitočtu na vývod XTAL1. SPI rozhraním může být programována jak programová, tak i datová paměť.

Obr. 10: Zapojení pro sériové programování pomocí rozhraní SPI (převzato z [10]). V datasheetu ATmega64 lze nalézt celý popis instrukčního souboru pro sériové programování, viz [10].

3.1.2 Sériový kanál SPI Použití sériového kanálu SPI (Serial Peripheral Interface) nespočívá pouze v možnosti

sériového programování mikrokontroléru, ale hlavní funkcí SPI je vysokorychlostní přenos dat mezi mikrokontrolérem a periferními zařízeními, které jsou vybaveny SPI rozhraním. V zapojení cyklopočítače je toto periferní zařízení reprezentováno sériovou pamětí DataFlash typ AT45DB161D-SU od firmy ATMEL, viz kapitola 3.5, která komunikuje právě prostřednictvím kanálu SPI. Základní vlastnosti kanálu SPI mikrokontroléru ATmega64:

• plný duplex (schopnost současně přijímat a vysílat), • třívodičový synchronní přenos dat, • může pracovat jako master nebo slave, • 7 programovatelných rychlostí, maximální přenosové rychlosti až 8 Mb/s, • lze volit pořadí bitů (LSB až MSB, MSB až LSB), • příznak konce a kolize přenosu, • schopnost probuzení z režimu Idle po přijmu dat v režimu Slave.

Page 23: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

23

Pro obousměrnou komunikaci mezi zařízením typu master a slave slouží trojice vodičů: MISO, MOSI a SCK (piny PB3, PB2 a PB1). Čtvrtý vývod SS (pin PB0) je tzv. Slave Select. Je-li nastaven na log. 0, slouží k výběru zařízení, které je konfigurováno jako slave. Propojení mezi zařízením master a slave udává obr. 11.

Obr. 11: Propojení mezi masterem a slavem na sběrnici SPI (převzato z [11]).

Vývod SCK (Serial Clock) je hodinový signál k synchronizaci vysílání i přijmu dat, který generuje master, polaritu hodin lze nastavit (synchronizace na vzestupnou nebo sestupnou hranu). Hodinový signál SCK odstartuje zápis dat do datového registru SPI, vývod MOSI (Master Out Slave In) posílá data, která jsou přijímána slavem. Po vyslání celého bajtu se hodinový signál zastaví a v registru SPSR se nastaví příznak konce přenosu SPIF. Vývod MISO (Master In Slave Out) slouží k vyslání dat ze slavu do masteru. K ovládání kanálu SPI slouží tři registry: řídící registr SPCR (lze nastavit rychlost a formát přenosu), stavový registr SPSR (příznaky dokončení a kolize přenosu) a datový registr SPDR (vstupní a výstupní data), viz [11].

3.1.3 Sériové rozhraní TWI (I2C) Dalším typem sériového rozhraní je sběrnice označovaná jako TWI (Two-Wire Serial

Interface), známější označení může být I2C (vyvinutá firmou Philips Semiconductor), která je s TWI plně kompatibilní. Pomocí sběrnice TWI je k mikrokontroléru připojen obvod hodin reálného času typ DS1307 od firmy MAXIM-DALLAS, viz kapitola 3.4. Zatímco u sériového kanálu SPI se používá k obousměrnému přenosu dat dvojice vodičů (MISO, MOSI), u sběrnice TWI je použit pouze jeden datový vodič SDA. To znamená, že není umožněn duplexní přenos, každé zařízení musí mít individuální adresu a vysílání i přijímání dat je definováno TWI protokolem. Základní vlastnosti sériového rozhraní TWI mikrokontroléru ATmega64:

• podpora práce v režimu master nebo slave, • zařízení může pracovat jako vysílač i přijímač, • 7 bitový adresní prostor umožňuje až 128 různých slave adres, • podpora pro multimasterovou arbitráž, • rychlost přenosu dat až 400 kHz, • potlačení šumu pro obě linky sběrnice, • plně nastavitelná adresa slave obvodů, • možnost probuzení AVR z režimu spánku v případě adresace vnějším TWI obvodem.

master slave (mikrokontrolér) (paměť DataFlash)

MISO

MOSI

SCK

SS

MISO MOSI SCK SS

Page 24: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

24

Pro komunikaci mezi zařízením typu master a slave se používá datový vodič SDA (pin PD1) a vodič s hodinovým signálem SCL (pin PD0). Připojení jednotlivých zařízení na sběrnici uvádí obr. 12. Oba vodiče TWI sběrnice jsou připojeny na napájecí napětí přes pull-up rezistory, které zajistí úroveň logické jedničky v klidovém stavu. Obr. 12: Připojení zařízení na sběrnici TWI (převzato z [11]).

Master zahajuje a ukončuje přenos dat a také generuje hodinový signál SCL, viz [11]. Každý přenášený bit je spojen s jedním pulzem hodin. Úroveň na datovém vodiči SDA musí být konstantní v okamžiku vysoké úrovně SCL. Výjimku tvoří startovací a ukončovací podmínka. Přenos dat je zahájen startovací podmínkou (v okamžiku vysoké úrovně SCL dojde k sestupné hraně na SDA), poté následuje adresní paket a za ním pak jeden nebo více datových paketů ukončených ukončovací podmínkou (v okamžiku vysoké úrovně SCL dojde k vzestupné hraně na SDA), viz obr. 13. Obr. 13: Platnost dat, startovací a ukončovací podmínka u TWI (převzato z [11]).

Adresní pakety na TWI sběrnici mají délku 9 bitů a obsahují 7 bitovou adresu, řídící bit R/W a potvrzovací bit ACK. Datové pakety mají také délku 9 bitů a obsahují 8 bitové data a potvrzovací bit ACK. Rozhraní TWI je založeno na přerušení, k ovládání slouží registr přenosové rychlosti TWBR, řídící registr TWCR, stavový registr TWSR, datový registr TWDR a adresový registr TWAR, viz [10].

3.1.4 Jednotka USART Zkratka USART označuje univerzální synchronní a asynchronní sériový přijímač a

vysílač. Jedná se o obvod určený pro obousměrnou sériovou komunikaci. Toto rozhraní je použito pro komunikaci cyklopočítače s PC prostřednictvím převodníku USB na UART, typ FT232RL od firmy FTDI, viz kapitola 3.6.2. Mikrokontrolér ATmega64 obsahuje dvě jednotky USART (USART0 a USART1), USART0 podporuje pouze asynchronní provoz.

SDA SCL

ustálená data ustálená data Start Stop

1 0

Zařízení

1

Zařízení

N

Zařízení

3

Zařízení

2

SDA SCL

Pull-up

UCC master slave (mikrokontrolér) (RTC obvod)

Page 25: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

25

Základní vlastnosti jednotky USART mikrokontroléru ATmega64:

• plně duplexní provoz (může současně přijímat i vysílat), • asynchronní nebo synchronní režim, • při asynchronním režimu může pracovat jako master nebo slave, • generátor sudé/liché parity pro vysílač a hardwarové testování parity pro přijímač, • detekce ztráty znaku, chyby rámce, falešného start bitu, • dvojnásobná přenosová rychlost v asynchronním režimu.

Jednotka USART se skládá ze tří bloků:

• Generátor hodin – obsahuje synchronizační logiku pro hodinový vstup/výstup XCK. Používá se pro synchronní sériový režim.

• Vysílač – pokud jsou nastaveny všechny potřebné řídící registry, provede se kontrola, zda je vysílací buffer UDR připraven přijmout nová data, viz bit UDRE v registru UCSRA. Odesílaná data poté stačí zapsat do v/v datového registru UDR. Po úspěšném odeslání se nastaví příznak TXC (vysílání dokončeno) v řídícím a stavovém registru UCSRA.

• Přijímač – pokud jsou opět nastaveny všechny potřebné řídící registry, je po příjmu dat nastaven příznak RXC (příjem dokončen) v řídícím a stavovém registru UCSRA. Přijatá data je poté možno přečíst ve v/v datovém registru UDR.

Přijímač RXD a vysílač TXD je u mikrokontroléru ATmega64 vyveden na pinech PE0, PE1 (USART0) a na pinech PD2, PD3 (USART1), viz [10]. Aby mohl přijímač data správně identifikovat, používá se předem zvolená struktura datového rámce. Rámec pro asynchronní přenos dat obsahuje jeden start bit (vždy ve stavu log. 0.), 5 až 9 datových bitů v pořadí od LSB po MSB, volitelný paritní bit (parita může být sudá Even, lichá Odd nebo žádná) a jeden nebo dva stop bity (vždy ve stavu log. 1). Obr. 14. ukazuje strukturu použitého asynchronního rámce v módu 8O2 (8 datových bitů, lichá parita a 2 stop bity), přenášená data jsou 208.

Obr. 14: Asynchronní rámec jednotky USART v módu 8O2, data 208.

Přijímač i vysílač musí mít shodné nastavení datového rámce a také přenosové rychlosti. Požadovanou hodnotu přenosové rychlosti je třeba přepočítat s ohledem na frekvenci mikrokontroléru fosc a uložit do registru UBRRn, viz [10]:

116

−⋅

=BAUD

fUBRRn OSC , [ -; Hz, Bd ] (4)

kde fOSC hodinový signál mikrokontroléru; BAUD přenosová rychlost.

Start LSB MSB Parita Stop Stop 5V 0 0 0 0 0 1 0 1 1 0 1 1 0V

Page 26: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

26

3.2 Senzory

3.2.1 Hallův senzor TLE4905L Pro detekci magnetického pole byl vybrán Hallův senzor typ TLE4905L od firmy

Infineon, viz [4], jehož kompletní popis je uveden v kapitole 1.1.2. Senzor je k mikrokontroléru ATmega64 připojen vývodem Q. Na tomto vývodu je obdélníkový signál, jehož úroveň odpovídá přítomnosti (nízká úroveň) nebo nepřítomnosti (vysoká úroveň) magnetického pole. Mikrokontrolér měří pomocí čítače/časovače dobu periody mezi dvěma impulsy a následně počítá rychlost, frekvenci šlapání a další funkce. Zapojení Hallova senzoru k mikrokontroléru udává obr. 15. Hallovy sondy jsou připojeny k externím přerušením INT3 (rychlost) a INT2 (frekvence šlapání) mikrokontroléru.

Obr. 15: Připojení Hallova senzoru TLE4905L k mikrokontroléru (převzato z [4]).

3.2.2 Snímač EKG Bioelektrický signál, který je získáván pomocí povrchových elektrod umístěných na

hrudníku, je nutné zesílit. V lékařské diagnostické technice se k tomuto účelu velmi často používají přístrojové zesilovače, ty vynikají vysokou přesností, nízkým šumem, vysokým vstupním odporem, měnitelnou hodnotou napěťového zesílení a velkou hodnotou diskriminačního činitele CMRR. Jako vhodný přístrojový zesilovač byl zvolen obvod AD624AD od firmy Analog Device, viz [12]. Tento zesilovač je určen především pro použití s nízkoúrovňovými snímači. Základní parametry přístrojového zesilovače AD624AD:

• možnost programovatelného zesílení 1, 100, 200, 500 a 1000 přímo na čipu, • zesílení v rozmezí 1 až 10 000 je možno nastavit prostřednictvím externího rezistoru, • vysoká hodnota diskriminačního činitele CMRR, minimálně 130 dB při zesílení 500

až 1000, • nízká nelinearita, maximálně 0,001 % při zesílení 1 až 200, • vysoký vstupní odpor 10 GΩ, • napájecí napětí obvodu v rozsahu ±6 V až ±18 V.

Pouzdro zesilovače obsahuje celkem 16 vývodů, vzhled pouzdra s rozmístěním

jednotlivých vývodů udává obr. 16.

Mikrokontrolér Senzor

Page 27: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

27

Obr. 16: Rozmístění vývodů zesilovače AD624AD na pouzdru DIP (převzato z [12]).

Vývody 1 a 2 slouží jako invertující a neivertující vstupy zesilovače, vývod 9 je výstup. Vývody 11 až 13 se používají k nastavení zesílení 500, 200 a 100. Hodnota zesílení se nastavuje pomocí propojek. Chceme-li například zesílení 200, spojíme vývody 3 a 12. Pokud požadovanou hodnotu zesílení nelze dosáhnout pomocí interního rezistoru, lze použít rezistor externí. Externí rezistor se připojí mezi vývody 3 a 16. Zesílení G je poté dáno vztahem, viz [12]:

140 +=

GR

kG , [- ; Ω, Ω, -] (5)

kde RG velikost externího rezistoru . K vývodům 7 a 8 se připojuje napájecí napětí ±15 V. Vývod 6 je označován jako referenční svorka a používá se ke kompenzaci výstupu na ±10 V. Vývod 10 je obvykle připojen k výstupu přístrojového zesilovače a slouží jako zpětná vazba výstupního zesilovače. Zapojení přístrojového zesilovače ve funkci snímače EKG udává obr. 17, viz [13].

Obr. 17: Snímač EKG s přístrojovým zesilovačem AD624AD (převzato z [13]). Na vstupy zesilovače jsou připojeny dvě elektrody, které se připevňují k hrudníku. Třetí elektroda je přes rezistor 10M spojena se zemí. Propojovací kabely od elektrod by měly být co nejkratší a dobře stíněné, protože signály z elektrod jsou poměrně slabé. Na vstupu jsou

Page 28: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

28

kvůli bezpečnosti také připojeny antiparalelně ochranné diody, zkratující napětí vyšší než 0,7 V. Zesílení přístrojového zesilovače je nastaveno propojením vývodů 12 a 16, tím je dáno zesílení 200. Propojením vývodů 3, 11 a 13 dostaneme zesílení 600. Celkové zesílení obvodu je tedy 800. Protože signál EKG je bipolární, je výstup zesilovače stejnosměrně oddělen kondenzátorem 1 µF a rezistorem 680 kΩ, který je připojen na napájecí napětí +9 V. Tím dojde k posunu stejnosměrné složky směrem nahoru. Napájení celého obvodu je pomocí dvou 9 V baterií.

3.2.3 Realizace snímače EKG Při praktické realizaci snímače EKG se objevil problém s dostupností navrženého

přístrojové zesilovače AD624AD. Proto musela být zvolena náhradní varianta. První možností bylo použití hrudního pásu od firmy Sigma Sport, viz [14]. Druhá varianta byla volba jiného zesilovače pro zesílení signálu z elektrod.

Nejprve tedy byla testována vhodnost použití hrudního pásu. Výhodou zvoleného hrudního pásu je analogový nekódovaný přenos dat. Naproti tomu novější typy využívají digitální kódovaný přenos, což by řešení značně ztížilo. U hrudního pásu musely být zjištěny technické parametry jako je vysílací frekvence a způsob přenosu informací o tepové frekvenci. Tyto technické údaje byly poskytnuty technickým oddělením firmy Sigma Sport. Vysílací frekvence hrudního pásu je tedy 5,3 kHz a ve vysílaném signálu je obsažena pouze jedna informace a to je čas mezi dvěma srdečními impulsy. V kapitole 2.1 je tento čas označen jako R-R interval, viz obr. 6. Parametry hrudního pásu byly ověřeny následným měření na spektrální analyzátoru. Byla změřena vysílací frekvence 5,3 kHz a na osciloskopu byl zobrazen signál přenášející informaci o tepové frekvenci. Pomocí kurzorů byl změřen R-R interval a vypočtena velikost tepové frekvence podle vztahu:

RRTep

−= 60

, [tep/min; s, s,] (6)

kde R-R čas mezi dvěma srdečními impulsy (srdeční perioda).

Měření tepové frekvence pomocí hrudního pásu je zřejmě nejvhodnější řešení při použití u cyklopočítače, ale toto řešení nemohlo být realizováno z důvodů nedostatku technických podkladů pro návrh a realizaci bezdrátového přijímače.

Proto byla zvolena druhá varianta s návrhem zesilovače pro zesílení signálů z elektrod. Pro celé zapojení byl vybrán čtyřnásobný operační zesilovač TL084, viz [6],[15]. Doporučené napájecí napětí zesilovače je v rozsahu ±5 V až ±15 V. Pouzdro zesilovače DIL obsahuje celkem 14 vývodů, vzhled pouzdra s rozmístěním jednotlivých vývodů udává obr. 18.

Obr. 18: Rozmístění vývodů zesilovače TL084 na pouzdru DIL (převzato z [14]).

Page 29: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

29

Celé schéma zapojení snímače EKG včetně obvodu pro vytvoření umělé země je na obr. 19, viz [6].

Obr. 19: Snímač EKG se čtyřnásobným operačním zesilovačem TL084 (převzato z [6]).

Elektrody E1 a E2 umístěné na hrudníku, se připojí na vstup diferenčního zesilovače IC1C, který má nastaveno zesílení 100 podle vztahu:

16

5 +=R

RA , [- ; Ω, Ω, -] (7)

kde R5 velikost rezistoru R5; R6 velikost rezistoru R6. Rezistory R1, R2 a R4 na vstupech zesilovače IC1C zajistí velký vstupní odpor, 10 MΩ na invertujícím vstupu a 20 MΩ na neinvertujícím vstupu. Na vstupech jsou také ochranné Zenerovy diody stejně jako u návrhu se zesilovačem AD624AD. Signál z elektrod se přenáší střídavě přes kondenzátory C1 a C2, které společně s rezistory R1 a R2 tvoří horní propust s kmitočtem 1,6 Hz na potlačení stejnosměrných signálů. Kondenzátory C3 a C4 se používají k omezení maximálního přenášeného kmitočtu na 160 Hz a omezují šum zesilovače IC1C. Za zesilovačem IC1C je zapojen filtr IC1B se zesílením 1, který filtruje kmitočty nad 25 Hz a tím se potlačí síťový kmitočet 50 Hz. Na výstupu filtru je zapojen ještě zesilovač IC1A se zesílením 10. Celé zapojení je napájeno ze dvou 9 V baterií. Pomocí obvodu IC1D je vytvořena umělá zem.

Funkce snímače EKG byla otestována na nepájivém kontaktním poli. K připojení elektrod musel být použit stíněný kabel, aby bylo co nejvíce omezeno rušení. K tomuto účelo byl vybrán stínění kabel SYKFY 2x2x0,5, který byl rozdělen pro připojení jednotlivých

Page 30: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

30

elektrod E1, E2 a E3. S umístěním elektrod bylo experimentováno. Nejprve byly umístěny na levém i pravém zápěstí a třetí zemnící elektroda byla připojena na levé noze. Nejlepších výsledků však bylo dosaženo při připojení elektrod E1, E2 na hrudník a zemnící elektroda E3 byla připojena na břicho. Jako zobrazovací jednotka pro ověření funkce byl použit digitální osciloskop typ OWON PDS-5022S. První průběh na obr. 20 zobrazuje měření srdečního tepu při nastavené citlivosti 1 V/dílek a časové základně 500 ms/dílek. Druhý průběh na obr. 21 zobrazuje podrobněji měření tepu s časovou základnou 250 ms/dílek.

Obr. 20: Průběh signálu EKG při nastavení 500 ms/div a 1 V/div.

Obr. 21: Průběh signálu EKG při nastavení 250 ms/div a 1 V/div.

Na průbězích je patrné, že docházelo k mírnému rušení, což bylo také způsobeno zapojením na nepájivém kontaktním poli. Pro správnou funkci by měl být snímač tepu umístěn ve stíněné krabičce. Z obr. 21 lze vypozorovat jednotlivé EKG vlny, které jsou popsány v kapitole 2.1. Pomocí časových kurzorů osciloskopu byla změřena délka srdeční

Page 31: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

31

periody 650 ms a s využitím vztahu č. 6 byla vypočtena aktuální tepová frekvence 92 tepů za minutu.

Aby mohl být signál dále zpracován mikrokontrolérem, byly by nutné další úpravy signálu. Muselo by být odstraněno rušení, které se v průbězích projevuje, a také by bylo vhodné signál zesílit. Posledním krokem by pak byla úprava signálu tvarovačem impulzů, který by signál upravil do podoby vhodné pro zpracování v číslicové technice (dvoustavový signál). K tomuto účelu se hodí např. Schmittův klopný obvod s hysterezí.

3.3 Displej

3.3.1 Řadič HD44780 V dnešní době je většina znakových displejů založena na integrovaném obvodu

HD44780 od firmy Hitachi (případně kompatibilním typu), viz [16]. Jedná se o LCD (Liquid crystal display) kontrolér, který je doplněn další logikou potřebnou pro činnost displeje. Displeje s řadičem se vyrábí v několika základních provedeních 8x2 až 40x4, které se liší počtem sloupců a řádků. Paměť DD RAM (RAM, ve které je uložen obsah displeje) je pouze na 80 znaků, což stačí pro displeje 20x4 a 40x2. U displejů 40x4 jsou použity řadiče dva. Displeje mohou být ovládány libovolným mikrokontrolérem a to pomocí 8 nebo 4 bitové sběrnice. Napájecí napětí obvodu je v rozmezí od 2,7V do 5,5V.

3.3.2 Displej MC 1602C8-SYL K zobrazení všech měřených hodnot slouží displej MC1602C8-SYL od firmy

Everbouquet, viz [17]. Jedná se o standartní LCD s řadičem HD44780, který zobrazuje 16x2 znaků (2 řádky po 16 znacích). Displej má žlutozelené pozadí, obsahuje LED podsvícení a je typu STN (Super Twisted Nematic), tzn. že kontrastní poměr dipleje je 7:1 a pozorovací úhel 60°. Zapojení vývodů je standardní jako u většiny displejů, viz tab. 2. Tab. 2: Obsazení vývodů displeje MC 1602C8-SYL (převzato z [17]). Číslo vývodu Signál Funkce

1 GND Zem (0V) 2 UCC Napájecí napětí (+5V) 3 U0 Nastavení kontrastu displeje 4 RS Příkaz (0), data (1) 5 R/W Čtení (1), zápis (0) dat nebo příkazu 6 E Vstup povolení 7 DB0 Data/příkaz (dolní bit) 8 DB1 Data/příkaz 9 DB2 Data/příkaz 10 DB3 Data/příkaz 11 DB4 Data/příkaz 12 DB5 Data/příkaz 13 DB6 Data/příkaz 14 DB7 Data/příkaz 15 A Anoda podsvěcovací LED 16 K Katoda podsvěcovací LED

Page 32: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

32

Pro komunikaci s displejem je potřeba minimálně 6 a maximálně 11 vodičů a napájení 5 V. S řadičem je možné komunikovat po 8 bitové (DB0-DB7), nebo po 4 bitové sběrnici (DB4-DB7). Z důvodů ušetření vývodů mikrokontroléru byla vybrána 4 bitová komunikace. Zapojení displeje a mikrokontroléru při 4 bitové komunikaci udává obr. 22.

Obr. 22: 4 bitová komunikace mezi mikrokontrolérem a displejem.

• 8 bitová komunikace - zápis dat či příkazu probíhá tak, že se nastaví signál RS podle toho, zda se zapisují data (RS=1) nebo instrukce (RS=0). Signál R/W je trvale na logické nule (R/W=0 zápis na displej, R/W=1 čtení z displeje) Poté se aktivuje vstup E=1, na vodiče DB7 až DB0 se přivedou data a potvrdí se deaktivací vstupu E=0, jak uvádí [18].

• 4 bitová komunikace - způsob komunikace je totožný jako u 8 bitové komunikace.

Jediný rozdíl spočívá v tom, že se data posílají nadvakrát. Poté co dojde k aktivaci vstupu E=1, se na vodiče DB7 až DB4 přivedou nejprve horní 4 bity a potvrdí se deaktivací E=0. Následně se opět aktivuje vstup E=1, dojde k zápisu dolních 4 bitů na vodiče DB7 až DB4 a deaktivuje se vstup E=0. Časové průběhy jsou zakresleny v obr. 23.

Obr. 23: Časové průběhy zápisu příkazu/dat na displej (časy jsou v ns), (převzato z [17]).

RS E

DB7 až DB4

>140

<25 <25

>450 >450

>195 >10

>1000

+5 V

10 k

10 k DB0 GND DB1 UCC DB2 U0 DB3 DB4 DB5 DB6 DB7 E R/W A RS K

. . .

PC4 PC5 PC6 PC7 PC2

PC1 PC0

7 8 9 10 11 12 13 14 6 5 4

1 2 3 15 16

39 40 41 42 37 36 35

+5 V

Mikrokontrolér ATmega64 Displej MC 1602C8-SYL

22 R

Page 33: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

33

Displej obsahuje dva typy pamětí:

• DD RAM – v této paměti jsou uloženy znaky, které se zobrazují na displeji. Každý znak je zobrazen jako matice 5x8 bodů (většina znaků je menších). Znakovou sadu displeje uvádí obr. 24. Vztah mezi pozicí znaku a jeho hexadecimální adresou v DD RAM je popsán v tab. 3.

Obr. 24: Znaková sada displeje MC 1602C8-SYL (převzato z [17]). Tab. 3: Vztah mezi pozicí znaku a jeho hexadecimální adresou v DD RAM pro displej 16x2 (převzato z [17]). 1.řádek 2.řádek

• CG RAM – tato paměť umožňuje uživateli vytvořit až 8 vlastních znaků (můžeme nadefinovat českou diakritiku). Kódy těchto znaků jsou 00H až 07H.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF

Page 34: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

34

Pro ovládání i zápis znaků do displeje je k dispozici celkem 11 instrukcí, viz tabulka č. 4. Čas vykonání jednotlivých instrukcí je interval, který musí uplynout do poslání dalšího příkazu, jinak nebude operace úspěšná, viz [18]. Tab. 4: Seznam instrukcí pro ovládání a zápis znaků do displeje (převzato z [17]).

Signál Instrukce

R/S R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Čas

Vymaž displej 0 0 0 0 0 0 0 0 0 1 1,53 ms Návrat na začátek

0 0 0 0 0 0 0 0 1 * 1,53 ms

Volba režimu 0 0 0 0 0 0 0 1 I/D S 39 µs Zapni/ Vypni Displej

0 0 0 0 0 0 1 D C B 39 µs

Posun zobrazení/kurzoru

0 0 0 0 0 1 S/C R/L * * 39 µs

Nastavení komunikace

0 0 0 0 1 DL N F * * 39 µs

Nastavení adresy CG RAM

0 0 0 1 CG RAM adresa 39 µs

Nastavení adresy DD RAM

0 0 1 DD RAM adresa 39 µs

Čtení stavu displeje 0 1 BF CG RAM / DD RAM adresa 0 µs Zápis dat do CG/DD RAM

1 0 Zápis dat 43 µs

Čtení dat z CG/DD RAM

1 1 Čtení dat 43 µs

Popis jednotlivých instrukcí:

• Vymaž displej – smaže displej a kurzor nastaví na první pozici (adresa 0 v DD RAM). • Návrat na začátek – nastaví kurzor na první pozici. • Volba režimu – směr posuvu kurzoru I/D (0 - vlevo, 1 - vpravo), posun textu S (0 -

neposouvat, 1 - posouvat). • Zapni/ vypni displej – zapne displej D (0 - vypnout, 1 - zapnout), zapne kurzor C (0 -

vypnout, 1 - zapnout), zapne blikání kurzoru B (0 - vypnout, 1 - zapnout). • Posun zobrazení/ kurzoru – posune kurzor/text S/C (0 - posun kurzoru, 1 – posun

displeje) směrem R/L (0 - vlevo, 1 - vpravo) o jeden znak, DD RAM zůstává beze změny.

• Nastavení komunikace – výběr komunikace DL (0 - 4 bitová komunikace, 1 - 8 bitová komunikace), počet řádků na displeji N (0 - 1 řádek, 1 - 2 řádky) a typ velikosti fontu F (0 - 5x8 bodů, 1 - 5x10 bodů).

• Nastavení adresy CG RAM – přepnutí na zápis do CG RAM. • Nastavení Adresy DD RAM - přepnutí na zápis do DD RAM. • Čtení stavu displeje – čtení příznaku Busy – flag BF (0 – displej připraven, 1 – displej

zaneprázdněn) indikující probíhající interní operaci a čtení adresy CG RAM či DD RAM.

• Zápis dat do CG/DD RAM - zápis dat do CG RAM nebo DD RAM. • Čtení dat z CG/DD RAM – čtení dat do CG RAM nebo DD RAM.

Page 35: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

35

3.4 Obvod hodin reálného času

Pro přesné měření času a generování správného data a roku je nejvhodnější použít tzv. obvod RTC (Real Time Clock), neboli obvod hodin reálného času. Čítač/časovač mikrokontroléru se hodí spíše pro měření krátkých časových intervalů, potřebných v našem případě pro výpočet aktuální rychlosti a frekvence šlapání. Výhodou obvodu reálného času je také napájení pomocí záložní baterie, při výpadku napájení u mikrokontroléru by se muselo správné datum a čas znovu nastavovat. Údaje o čase a datu se zobrazují na displeji a také se ukládají s dalšími naměřenými hodnotami do paměti EEPROM. Jako vhodný obvod reálného času byl vybrán typ DS1307 od firmy MAXIM-DALLAS, viz [19]. Obvod počítá sekundy, minuty, hodiny, dny v týdnu, datum v měsíci, měsíce (včetně měsíců s méně než 31 dny) a roky až do roku 2100 (včetně opravy přestupného roku). Základní parametry RTC obvodu DS1307:

• umožňuje nastavení formátu 12 nebo 24 hodin s AM/PM indikátorem, • paměť RAM (nonvolativní) s kapacitou 56 Byte pro uložení dat, • datová komunikace pomocí rozhraní I2C, • I2C slave adresa obvodu 0b1101000, • programovatelný obdélníkový výstupní signál, • spotřeba menší než 500 nA při napájení z baterie v záložním režimu, • provozní napětí v rozsahu 4,5V až 5,5 V, při napájení z baterie připojené k pinu

VBAT 2 V až 3,5 V.

Obvod reálného času DS1307 komunikuje s mikrokontrolérem ATmega64 pomocí sběrnice TWI (I2C), popis sériového rozhraní TWI je uveden v kapitole 3.1.3. Pouzdro obvodu RTC obsahuje celkem osm vývodů, vzhled pouzdra s rozmístěním jednotlivých vývodů udává obr. 25.

Obr. 25: Rozmístění vývodů obvodu RTC na pouzdru SO (převzato z [19]).

Vývody SDA (datový vstup/výstup) a SCA (hodinový vstup) slouží ke komunikaci po sběrnici TWI, typické zapojení obvodu na sběrnici uvádí obr. 26. K vývodům X1 (vstup) a X2 (výstup) se připojí externí krystal o frekvenci 32,768 kHz. VBAT je záložní vstup podporující všechny standartní Lithiové baterie 3V, výrobce udává dobu zálohování více než 10 let u baterií s kapacitou 48mAh a vyšší. Jestliže napětí VCC klesne pod 1,25 x VBAT, obvod se přepne do záložního režimu.Vývod VCC slouží jako primární zdroj napájení, v tomto režimu se mohou data číst i zapisovat, dojde-li k poklesu napětí VCC a přepnutí do záložního režimu, není již možné provádět čtení a zápis, ale funkce měření času pokračuje i při nižším napětí. Výstup SWQ/OUT umožňuje nastavit obdélníkový výstupní signál o čtyřech frekvencích (1 Hz, 4 kHz, 8 kHz, 32 kHz). Čas a datum jsou inicializovány zapsáním do příslušného registru. Obsah registu je zapsán v BCD (Binary Coded Decimal) formátu.

Page 36: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

36

Obr. 26: Zapojení obvodu RTC na sběrnici TWI (převzato z [19]).

3.5 Paměť DataFlash

Z důvodu požadavku ukládání naměřených hodnot a jejich následnému přenosu do počítače, musela být vybrána paměť s dostatečnou kapacitou. Zvolena tedy byla sériová paměť DataFlash s kapacitou 16 Mbit typ AT45DB161D-SU od firmy ATMEL [20].

Na začátku měření se do paměti uloží datum vyjížďky, dále se ukládá denní ujetá vzdálenost, denní čas jízdy, celková ujetá vzdálenost, průměrná a maximální rychlost, frekvence šlapání a tepová frekvence. Tyto hodnoty se budou ukládat v intervalu každé 2 sekundy. Základní vlastnosti paměti AT45DB161D-SU:

• paměťová pole jsou rozdělena do tří úrovní zahrnujících sektory, bloky a stránky, • uživatelský nastavitelná velikost stránky 512 bajtů nebo 528 bajtů, • celkový počet stránek 4096, • kromě hlavní paměti jsou k dispozici dvě vyrovnávací paměti SRAM 512/528 bajtů, • maximální hodinová frekvence pro SPI komunikaci je 66MHz, • doba uchování dat 20 let, • napájecí napětí je v rozsahu 2,7 V až 3,6 V. Paměť s mikrokontrolérem komunikuje prostřednictvím sériového kanálu SPI, jehož

funkce je popsána v kapitole 3.1.2. Mikrokontrolér je nastaven v režimu master a paměť v režimu slave. Pouzdro paměti DataFlash obsahuje celkem osm vývodů, vzhled pouzdra s rozmístěním jednotlivých vývodů udává obr. 27.

Page 37: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

37

Obr. 27: Rozmístění vývodů paměti DatasFlash na pouzdru SOIC8 (převzato z [20]).

Pro komunikaci paměti prostřednictvím rozhraní SPI slouží následující vývody (označení se mírně liší od značení u mikrokontroléru):

• SI (Serial Input) – slouží k přesunu všech dat do paměti, včetně příkazů a adresních sekvencí. Vstup je řízen náběžnou hranou hodinového signálu SCK.

• SO (Seriál Output) – používá se k přesunu dat z paměti do mikrokontroléru. Výstup je řízen sestupnou hranou SCK.

• CS (Chip Select) – slouží k výběru slave zařízení, komunikace je aktivována log. 0 a ukončena přechodem do log. 1.

Vývod RESET je aktivní v log. 0, pokud není využit je doporučeno externí nastavení vysoké úrovně, vývod WP (Write Protection) se používá k ochraně proti přepsání, vývody VCC a GND jsou využity k napájení a jako zem.

Rozdělení paměťového pole na sektory, bloky a stránky udává obr. 28. Paměťový diagram ilustruje rozpis každé úrovně a podrobnosti jako je počet stránek za sektor a blok. Všechny programové operace paměti DataFlash se provádějí stránku po stránce. Operace vymazání může být uskutečněna na čipu, sektoru, bloku nebo úrovni stránky.

Obr. 28: Rozdělení paměťového pole paměti Dataflash na sektory, bloky a stránky (převzato z [20]).

Page 38: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

38

3.6 Převodník USB na UART

3.6.1 Sběrnice USB USB (Universal Serial Bus) je sériová sběrnice, která umožňuje k osobnímu počítači

připojit celou řadu zařízení, např. myši, klávesnice, tiskárny, pevné disky a další periferní zařízení. Oproti staršímu sériovému rozhraní RS-232 má USB mnohem větší možnosti, což je také dáno větší složitostí sběrnice.

Starší počítače a notebooky byly vybaveny většinou pouze jedním nebo dvěma USB konektory, novější PC obsahují čtyři a více konektorů. Konektory jsou ve dvou provedeních, které se liší podle směru zapojení. Konektor typu A se používá ve směru k hostitelskému zařízení (PC, HUB), naopak konektor typu B ve směru ke koncovému zařízení (periferie). V malých zařízeních jako jsou např. MP3 přehrávače nebo digitální fotoaparáty, se používají konektory typu Mini-B. Vzhled konektorů je uveden na obr. 29.

Obr. 29: USB konektory typu A a B (převzato z [21]). Tab. 5: Popis vývodů USB konektorů (převzato z [21]). Číslo pinu Barva vodiče Popis

1 Červená Napájecí napětí +5 V (Ucc) 2 Bílá Data – (negovaná data) 3 Zelená Data + (přímá data) 4 Černá GND (zem)

USB sběrnice využívá čtyři vodiče, viz tab. 5. Dva vodiče jsou použity k přenosu dat

(bílý a zelený), data se přenášejí po jednotlivých bitech a to diferenčně, což snižuje při vysokých přenosových rychlostech vlivy šumu a rušení. Datové vodiče nesou vzájemně negované signály. Zbývající dva vodiče (červený a černý) jsou použity k napájení a jako zem. USB používá dva standarty a to verzi 1.1 a novější 2.0. Tyto standarty se odlišují hlavně přenosovými rychlostmi, viz tab. 6. Tab. 6: Standarty USB a přenosové rychlosti (převzato z [22]).

Standart Rychlost Přenosový výkon USB 1.1/2.0 Low Speed 1,5 Mb/s USB 1.1/2.0 Full Speed 12 Mb/s USB 2.0 High Speed 480 Mb/s

Uvedené přenosové výkony platí pro jedno zařízení. Je-li k počítači připojeno více zařízení, rozděluje se šířka pásma mezi jednotlivá zařízení.

Page 39: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

39

Základní parametry sběrnice USB:

• možnost připojení zařízení na vzdálenost až 5 m, • lze připojit až 127 zařízení při použití hubu, • napájení zařízení přímo z konektoru (odběr do 100 mA, nebo při jednom zařízení na

sběrnici do 500 mA), • napěťové úrovně v rozsahu 0 až 3,3 V, • podpora Plug & Play (připojování a odpojování zařízení za provozu), • podpora operačními systémy Windows (98, 2000, ME, XP, Vista, atd.), Linux a MAC, • USB zajišťuje správné přidělení prostředků (IRQ, DMA, atd.).

3.6.2 Převodník FT232RL Pro přenos naměřených hodnot z cyklopočítače do PC bylo zvoleno připojení pomocí

sběrnice USB, protože starší sériové rozhraní RS-232 je u většiny dnešních počítačů nahrazeno právě USB rozhraním. Komunikaci s počítačem obstarává převodník FT232RL od firmy FTDI, viz [23]. Jedná se o jednočipový převodník USB na UART, který spojuje možnosti sběrnice USB spolu s jednoduchým připojením vnějších zařízení, protože komunikace sériovým asynchronním kanálem je jednodušší než po sběrnici USB. Po připojení do počítače a nainstalování ovladače VCP (Virtual COM Port – volně dostupný) dojde k vytvoření virtuálního sériového portu, který lze obsluhovat jako standartní sériový port COM. Kromě VCP ovladače existuje ještě druhá varianta a to jsou přímé ovladače D2XX, které umožňují aplikačnímu programu komunikovat s převodníkem pomocí kódu uloženého v dynamické knihovně DLL.

Základní parametry převodníku FT232RL:

• celý USB protokol přímo na čipu, • unikátní identifikační číslo, označované jako FTDIChip-ID, • podpora 7 nebo 8 bitového přenosu, 1 nebo 2 stop bity, parita (lichá, sudá, značená,

mezerová, žádná), • přenosové rychlosti lze nastavit v širokých mezích od 300 Bd až do 3 MBd, • plně integrovaná 1024 bit paměť EEPROM k uložení popisu zařízení a CBUS I/O

konfigurace • přijímací vyrovnávací paměť o velikosti 128 B a vysílací vyrovnávací paměť 256 B, • napájení obvodu je v rozsahu od 3,3 V do 5,25 V, lze napájet přímo z USB, • kompatibilita se standarty USB 1.1 a USB 2.0, • interní oscilátor 12 MHz, není potřeba externí krystal, • VCP ovladač podporován operačními systémy Windows (98, 2000, ME, XP, Vista, 7

atd.), Linux a MAC.

K řízení komunikace mezi rozhraním USART mikrokontroléru ATmega64 a obvodem FT232RL slouží dvojice vodičů TXD (výstup vysílaných dat, pin 1) a RXD (vstup přijímaných dat, pin 5), tato komunikace je popsána v kapitole 3.1.4. Na vývodech CBUS0 a CBUS1 je připojena LED dioda pro indikaci přenosu dat. Pouzdro převodníku obsahuje celkem 28 vývodů, vzhled pouzdra udává obr. 30.

Page 40: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

40

Obr. 30: Rozmístění vývodů převodníku FT232RL na pouzdru SSOP (převzato z [23]).

Napájení obvodu FT232RL je realizováno přímo z USB konektoru, čímž se šetří baterie. Připojení převodníku na sběrnici USB je řešeno pomocí USB konektoru typ B, viz obr. 31. Při napájení z USB je nutné dodržet základní pravidla uvedená v kapitole 3.7.1. Po připojení nesmí zařízení odebírat více než 100 mA a v režimu USB suspend nesmí být spotřeba vyšší než 2,5 mA. Zařízení s vyšší spotřebou než 100 mA mohou použít jeden z vývodů CBUS nakonfigurovaný jako PWREN#.

Obr. 31: Zapojení převodníku FT232RL při napájení ze sběrnice USB (převzato z [23]).

Page 41: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

41

3.7 Napájení

3.7.1 DC/DC měnič Celý obvod je napájen pomocí jedné 3 V lithiové baterie typ CR123A. Mikrokontrolér,

displej, Hallovy senzory a obvod hodin reálného času vyžadují napájecí napětí o velikosti 5V. Obvod RTC má navíc jednu záložní knoflíkovou 3 V baterii CR1220 pro zálohování chodu hodin i při výpadku napájení. Převodník USB na UART není napájen z baterie, ale přímo z konektoru USB po připojení do počítače. Zesilovač EKG je napájen samostatně ze dvou 9 V baterií. Pouze paměť DataFlash musí mít napájecí napětí nižší a to v rozsahu 2,7 V až 3,6 V. Změna napájecího napětí z 3 V na 5 V je realizována pomocí DC/DC měniče LT1300 od firmy Linear Technology, viz [24]. Základní vlastnosti DC/DC měniče LT1300:

• měnič pracuje od vstupního napětí 1,8 V • nastavitelné výstupní napětí 5 V nebo 3,3 V (pin SEL), • nastavitelný maximální výstupní proud 1 A nebo 400 mA (pin ILIM ), • nízký klidový proud 120 µA, • pevná pracovní frekvence vnitřního oscilátoru 155 kHz.

Pouzdro DC/DC měniče typu SOIC obsahuje celkem osm vývodů, vzhled pouzdra udává obr. 32.

Obr. 32: Rozmístění vývodů DC/DC měniče LT1308 na pouzdru SOIC (převzato z [24]).

3.7.2 Stabilizátor napětí Z důvodů požadavku nižšího napájecího napětí pro paměť DataFlash bylo nutné použít

stabilizátor napětí LD (Low Dropout) typ LT1121 CZ-3,3, který je také od firmy Linear Technology, viz [25]. Stabilizátor upravuje výstupní napětí DC/DC měniče o velikosti 5 V na velikost napájecího napětí potřebnou pro paměť DataFlash tedy 3,3 V. Základní vlastnosti stabilizátoru LT1121 CZ-3,3:

• rozsah vstupního napětí pro správnou činnost stabilizátoru je 4,3 V až 20 V, • pevné výstupní napětí 3,3 V, • výstupní proud 150 mA, • nízký klidový proud 30 µA.

Pouzdro stabilizátoru napětí typu TO-92 obsahuje celkem tři vývody, vzhled pouzdra udává obr. 33.

Page 42: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

42

Obr. 33: Rozmístění vývodů stabilizátoru napětí LT1121 CZ-3,3 na pouzdru TO-92 (převzato z [25]).

3.7.3 Program LTspiceIV Pro ověření správného návrhu celého napájecího obvodu byl použit program LTspiceIV.

Jedná se o volně dostupné simulační prostředí od firmy Linear Technology, viz [26]. Na obr. 34 je celkové zapojení DC/DC měniče a stabilizátoru. V zapojení jsou nastaveny parametry a vlastnosti použitých elektrolytických tantalových kondenzátorů a tlumivky. A dále je také vybrán přesný typ Schottkyho diody, pro co nejpřesnější provedení analýzy obvodu.

Obr. 34: Celkové zapojení DC/DC měniče LT1300 a stabilizátoru LT1121 CZ-3,3

(vytvořeno v [26]).

Page 43: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

43

Správná činnosti zapojení byla ověřena použitím přechodové analýzy, která v čase simuluje průběh výstupního napětí DC/DC měniče V(5 V) a také stabilizátoru V(3,3 V) po připojení napájecího napětí o velikosti 3 V V(in). Nastavení analýzy udává obr. 35. Pro provedení analýzy stačí pouze nastavit Stop time na 1 ms, časový krok se nastaví automaticky.

Obr. 35: Nastavení přechodové analýzy napájecího obvodu (převzato z [26]). Z obr. 36 je patrné, že po skokové změně napájecího napětí dojde k ustálení výstupního napětí DC/DC měniče a také stabilizátoru napětí za dobu cca 0,5 ms. Po uplynutí této doby je již napájecí napětí 5 V a 3,3 V konstantní.

Obr. 36: Průběh výstupního napětí DC/DC měniče V(5 V) a stabilizátoru napětí V(3,3 V) při

skokové změně vstupního napětí V(in), (vytvořeno v [26]).

Page 44: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

44

Po sestavení celého zařízení byla nejprve ověřena správná funkce navrženého napájecího obvodu. Na výstupu DC/DC měniče bylo změřeno napětí 5,01 V a na výstupu stabilizátoru napětí LD 3,30 V, což odpovídalo hodnotám uváděným výrobcem.

Přestože naměřené hodnoty napájecího napětí byly shodné s požadavky všech použitých obvodů, u mikrokontroléru se vyskytl problém při ISP programování. Ten byl nalezen právě v zapojení DC/DC měniče. Pin s označením Ilim byl při návrhu nechán nezapojen, což znamená, že maximální proudový odběr celého zařízení mohl být až 1 A. Měřením na osciloskopu AGILENT 54624A bylo zjištěno, že nezapojení pinu Ilim vedlo k většímu zvlnění napájecího napětí a tím došlo k nesprávné funkci mikrokontroléru. Zvlnění při nezapojeném pinu Ilim dosahovalo hodnot – 360 mV až + 650 mV od hodnoty napájecího napětí 5 V. Po uzemnění tohoto pinu došlo k částečnému snížení zvlnění na hodnoty – 200 mV až + 360 mV a tím byl vyřešen problém s rušením mikrokontroléru. Přesto jsou tyto hodnoty zvlnění stále poměrně vysoké a řešením by bylo použití několika kondenzátorů o více kapacitách, které odfiltrují zvlnění různých frekvencí na výstupu DC/DC měniče.

3.8 Návrh obvodového zapojení a DPS

Návrh obvodového zapojení celého zařízení byl vytvořen v editoru plošných spojů Eagle verze 5.6.0 od firmy Cadsoft, viz [27]. Obvodové zapojení lze nalézt v příloze A.1. Pasivní součástky (rezistory, kondenzátory, trimry), diody a krystaly byly navrženy v klasickém provedení. Všechny integrované obvody včetně mikrokontroléru jsou v provedení SMD. Knihovny programu Eagle obsahovaly většinu pouzder použitých součástek, pouze pro paměť DataFlash a DC/DC měnič musely být knihovny modifikovány.

Návrh plošného spoje byl vytvořen také v programu Eagle verze 5.6.0. Deska plošného spoje je v oboustranném provedení. Návrh desky z pohledu ze strany součástek (Top) i ze strany spojů (Bottom) lze nalézt v příloze A.2 a A.3. Na straně spojů je použita rozlévaná měď (tzv. polygon), která je připojena k nulovému potenciálu, čímž je zajištěn komplexní rozvod zemnění. Rozměry desky byly voleny s ohledem na rozměry použité přístrojové krabičky, viz [28]. Rozměry přístrojové krabičky jsou uvedeny v příloze A.5 a A.6.

Page 45: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

45

4 Návrh softwarové části

4.1 Programátor

Pro převod obslužného programu z vývojového prostředí do mikrokontroléru je třeba použít programátor. Při vývoji zařízení byl zvolen programátor AVRISP mkII od firmy ATMEL, viz [29]. Tento programátor podporuje programování všech 8 bitových mikrokontrolérů AVR, které jsou vybaveny ISP rozhraním. Jedná se o řady mikrokontrolérů TINY, MEGA, AT89 a AT90. Popis sériového programování mikrokontroléru ATmega64 je uveden v kapitole 3.1.1. Základní parametry programátoru AVRISP mkII:

• kompatibilita s vývojovým prostředím AVR Studio, • možnost programování paměti FLASH i EEPROM, • podpora programování propojek (fuses) a zámkových bitů (lock bit), • nastavitelná rychlost programování (50 Hz až 8 MHz).

Výhodou programátoru je připojení k PC pomocí rozhraní USB 2.0, ze kterého je také

přímo napájen. Blokové schéma zapojení programátoru s mikrokontrolérem je uvedeno na obr. 37. Obr. 37: Propojení ISP programátoru s mikrokontrolérem (převzato z [29]).

Pomocí LED diody umístěné na programátoru je indikován jeho aktuální stav. Zelená LED indikuje přítomnost napájecího napětí cílového MCU. Právě probíhající zápis nebo čtení dat je indikován oranžovou LED.

Z důvodů vzájemné kompatibility mezi cílovým zařízením a různými typy programátorů je rozmístění jednotlivých pinů ISP konektoru standardní jako u většiny programátorů. Doporučené zapojení ISP konektoru uvádí obr. 38.

Obr. 38: Rozmístění jednotlivých vývodů ISP konektoru (převzato z [29]).

PC

USB kabel

Cílový kabel

MCU

Převodník úrovní. Ochrana

USB

ovladač Cílový MCU

AVRISP mkII

Page 46: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

46

4.2 Vývojové prostředí

Pro vývoj aplikací s mikrokontroléry lze použít jazyk symbolických adres JSA (tzv. assembler), nebo vyšší programovací jazyky, zejména jazyk C. Výhodou vyšších programovacích jazyků je větší přehlednost výsledného kódu a také rychlejší vývoj aplikací. Při tvorbě obslužného programu cyklopočítače byl použit právě jazyk C. Při psaní programu v jazyce C je nutné použít překladač tohoto jazyka, který zdrojový kód přeloží nejprve do assembleru a poté do strojového kódu mikrokontroléru.

Jako vhodné vývojové prostředky pro mikrokontroléry AVR lze použít CodeVisionAVR od firmy HP Info Tech S.R.L, viz [30], [31] , nebo AVR Studio od firmy Atmel, viz [32].

Vývojové prostředí CodeVisionAVR obsahuje překladač jazyka C. Dále je umožněno automatické generování zdrojového kódu pro nastavení vnitřních periferií jako jsou čítače/časovače, externí přerušení, USART, rozhraní SPI, I2C, 1 WIRE a také obsluha vnějších obvodů např. LCD. Vzhled okna průvodce CodeWizardAVR pro nastavení automatického generování kódu je znázorněn na obr. 39. Jedná se o nastavení displeje s 16 znaky na řádek připojeného k portu C mikrokontroléru. Výhodou je, že kromě standardních knihoven jazyka C, obsahuje prostředí také knihovny pro obsluhu zmíněných periferií. Nevýhodou je omezení délky zdrojového kódu u volně dostupné verze.

Obr. 39: Okno průvodce CodeWizardAVR s nastavením displeje připojeného k portu C

(vytvořeno v [30]). Pro tvorbu obslužného programu bylo nakonec zvoleno AVR Studio verze 4.17. Jedná se

o volně dostupné vývojové prostředí. Určitou nevýhodou oproti CodeVisionAVR může být absence knihoven pro ovládání rozhraní (SPI, USART atd.) a dalších obvodů. Tyto knihovny jsou ale většinou volně dostupné na internetu. Výhodou AVR studia je neomezená délka kódu a možnost krokování aplikace nástrojem debugger.

Page 47: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

47

Po instalaci AVR studia, připojení ISP programátoru k PC a také hotové desce cyklopočítače, byl testován mikrokontrolér vyčtením jeho signatury. Průběh úspěšného ověření mikrokontroléru ATmega64 je patrný z obr. 40.

Obr. 40: Průběh ověření signatury mikrokontroléru ATmega64 (vytvořeno v [32]).

4.3 Měření a výpočet veličin

4.3.1 Aktuální rychlost Měření aktuální rychlosti se provádí pomocí Hallova senzoru, jehož popis a zapojení jsou

uvedeny v kapitolách 1.1.2 a 3.2.1. Měření rychlosti lze řešit několika způsoby z nichž každý má své výhody i nevýhody. Jako nejvhodnější řešení se ukázalo měření periody mezi dvěma impulsy, tedy doby jednoho otočení kola a následný výpočet rychlosti.

Při tomto způsobu měření byl použit 16 bitový čítač/časovač 1 v módu CTC a nastavena doba přetečení 10 ms. Nastavení doby přetečení se provádí podle následujícího vztahu, viz [10]:

)11(2_

AOCRN

ff IOclk

OCO +⋅⋅= , [Hz; Hz, -, -,] (8)

kde fclk_IO pracovní kmitočet mikrokontroléru; N dělící poměr; OCR1A registr pro manipulaci s rozlišením čítače.

Page 48: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

48

Po dosazení do vztahu č. 8. se získá hodnota registru OCR1A = 0x270F při předděličce N = 8, což odpovídá zvolené době přetečení 10 ms. K nastavení čítače/časovače 1 slouží funkce init_timer1(). void init_timer1() OCR1A = 0x270F; // doba p řete čení 10 ms TCCR1B = (1<<WGM12)|(1<<CS11); // režim CTC, d ěli čka 8 TCNT1H = 0; // obsah č/ č 1 TCNT1L = 1; // obsah č/ č 1 TIMSK = (1<<OCIE1A); // p řerušení 1x za 10 ms Pro obsluhu externího přerušení INT3, musely být nastaveny registry EICRA = (1<<ISC31) a EIMSK = (1<< INT3), čímž je nastaveno přerušení při sestupné hraně a povoleno přerušení INT3. Postup měření rychlosti je nejlépe patrný z vývojových diagramů, viz obr. 41.

Obr. 41: Vývojový diagram měření rychlosti.

Celé měření se spouští externím přerušením INT3, které reaguje na sestupnou hranu vyvolanou přiblížením magnetu k Hallovu senzoru. Tím dochází ke spuštění přičítání (inkrementaci) počtu přetečení v obsluze časovače Timer1_COMPA_vect. ISR(TIMER1_COMPA_vect) // p řerušení co 10ms if (Start_Speed >= 1) // za čátek m ěření periody p ři první oto čce CountS_OverFlow++; // výpo čet po čtu p řete čení if (CountS_OverFlow >= 400) // pokud se neobjeví mag net do 4 s konec . // nulování hodnot .

INT 3

Načtení TCNTI

Konec

T1OVF

Konec

Počet přetečení = 0

Výpočet veličin

T =počet přetečení*doba přetečení +TCNT1

Počet přetečení ++

Page 49: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

49

Při druhé sestupné hraně se spouští obsluha přerušení INT3, kdy se v prvním kroku uloží aktuální hodnota časovače uložená v registru TCNT1. Následně se provádí výpočet periody T, která je dána součinem počtu přetečení a doby přetečení (10 ms). K periodě je ale nutné pro zajištění co největší přesnosti přičíst obsah časovače z registru TCNT1. Tato hodnota odpovídá obsahu časovače od posledního přetečení, je tedy menší než 10 ms. ISR(INT3_vect) // obsluha externího p řerušení INT3 Start_Speed ++; Start_Time = 1; if (Start_Speed >= 2) // za čátek p ři druhé oto čce magnetu TimerS_TCNT1 = (0.01 / 0x270F)*TCNT1; // aktuální obsah časova če 1 Period_Speed = (CountS_OverFlow*Timer1_OverFlow)+T imerS_TCNT1;//perioda CountS_OverFlow = 0; // vynulování po čtu p řete čení . .

Po výpočtu periody dojde k vynulování počtu přetečení a provádí se výpočet aktuální

rychlosti v km/h.

6,3_

6,3 ⋅=⋅=Perioda

kolaObvod

T

sv , [km/h; m, s] (9)

kde s vzdálenost odpovídající nastavenému obvodu kola; T změřená perioda mezi dvěma impulsy.

Vypočtená rychlost se zobrazuje s přesností na jedno desetinné místo, proto byl použit následující zápis, ve kterém se nejprve vypočítá celá část a poté se doplní o desetinnou část. Rychlost = (ObvodKola_m* 3.6)/Period_Speed; // výpo čet aktuální rychlosti Rychlost_des = (((ObvodKola_m*3.6)/Period_Speed)-Ry chlost)*10; // desetiny

Pokud se magnet neobjeví do čtyř sekund, měření rychlosti končí a dochází k nulování

hodnot. Rozlišitelná změna rychlosti je u tohoto způsobu měření kolem 0,1 km/h. Přesnost samozřejmě záleží také na rychlosti, protože při větší rychlosti je počet přetečení za periodu menší, ale tato chyba se minimalizuje zmiňovaným přičítáním aktuálního obsahu časovače.

4.3.2 Maximální rychlost Výpočet maximální rychlosti se provádí velmi jednoduchou podmínkou pomocí příkazu

if, který neustále porovnává aktuální a maximální rychlost. Výpočet je opět rozdělen na celou a desetinnou část.

if (Rychlost > Rychlost_Max) // maximální rychlosti

Rychlost_Max = Rychlost; if (Rychlost_des > Rychlost_des_Max) // maximální ryc hlosti desetiny

Rychlost_des_Max = Rychlost_des;

Page 50: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

50

4.3.3 Průměrná rychlost Výpočet průměrné rychlosti lze rozdělit do dvou kroků. Narozdíl od výpočtu aktuální

rychlosti, která se počítá vydělením obvodu kola aktuální hodnotou periody, se u průměrné rychlosti musí vzdálenost daná obvodem kola postupně přičítat a s tím i hodnoty jednotlivých period. Track_Avg++; // p ři čítání násobk ů obvodu kola Time_Avg += Period_Speed; // p ři čítání period Rychlost_Avg = (Track_Avg*ObvodKola_m/Time_Avg)* 3. 6; // pr ůměrná rychlost Rychlost_des_Avg = (((Track_Avg*ObvodKola/Time_Avg) *3.6)- Rychlost_Avg)*10;

if (Rychlost > Rychlost_Avg) // porovnání rychlostí Avg=0b00000000; // rychlost roste -> šipka na horu else Avg=0b00000001; // rychlost klesá -> šipka do l ů

Vzorec pro výpočet průměrné rychlosti je stejný jako u aktuální rychlosti, viz vzorec č. 9. K výpočtu průměrné rychlosti je ještě přidána podmínka (if, else), která na displeji zobrazuje šipku pro srovnání aktuální a průměrné rychlosti.

4.3.4 Denní a celková vzdálenost Cyklopočítač umožňuje funkci měření denní a celkové ujeté vzdálenosti. Obě měření

fungují na stejném principu, kdy se postupně přičítá obvod kola. Je-li tento součet větší nebo roven 100, dojde k přičtení 0,1 km. Vzdálenost 100 m je tedy nejmenší měřená vzdálenost. V dalším kroku se postupně sčítají desetiny kilometrů, dokud není součet roven 1 km

Vzd += ObvodKola_m; // p ři čítání obvodu kola if (Vzd >= 100) // výpo čet desetin kilometr ů Vzdalenost_des++; Vzdalenost_des_celk++; Vzd=0; if (Vzdalenost_des == 10) // výpo čet denních kilometr ů Vzdalenost++; Vzdalenost_des = 0; if (Vzdalenost_des_celk == 10) // výpo čet celkových kilometr ů Vzdalenost_celk++; Vzdalenost_des_celk = 0;

Tento způsob měření je poměrně přesný. Vezmeme-li v úvahu například nejčastěji používané rozměry plášťů horského kola 26 x 2,1 palců nebo silničního kola 700 x 23C, je obvod kola přibližně 2,1 m. Postupným přičítáním obvodu kola bude měřená hodnota 100 m překročena při součtu 100,8 m. Chyba měření vzdálenosti je tedy 0,8 %, což například při

Page 51: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

51

vzdálenosti 100 km tvoří hodnotu 800 metrů. Pro dosažení vyšší přesnosti může být do výpočtu ještě přidána další podmínka pro vypočet zbytku vzdálenosti přesahující 100 m.

Vzd += ObvodKola_m; // p ři čítání obvodu kola if (Vzd>=100) // výpo čet desetin kilometr ů Vzd_zbytek = Vzd-100; // výpo čet hodnoty p řesahující 100 m Vzd_zbytek+=Vzd_zbytek; if (Vzd_zbytek>=100) // p ři čtení desetin kilometr ů zbytek Vzdalenost_des++; Vzdalenost_des_celk++; Vzd_zbytek = 0; Vzdalenost_des++; // p ři čtení desetin kilometr ů Vzdalenost_des_celk++; Vzd=0;

Postupným přičítáním zbytku až do hodnoty 100 m a následným přičtením k denní a celkové ujeté vzdálenosti se chyba měření vzdálenosti minimalizuje.

4.3.5 Denní čas jízdy Měření denního času jízdy se provádí v obsluze přetečení 16 bitového čítače/časovače 1

Timer1_COMPA_vect, který se také používá k měření aktuální rychlosti, viz kapitola 4.3.1. Doba přetečení časovače je tedy 10 ms. Měření času obsahuje tzv. funkci START/STOP, tzn. že měření času jízdy se spouští při první otočce magnetu a zastavuje se stejně jako měření rychlosti pokud se magnet neobjeví do čtyř sekund. Při opětovném rozjezdu se čas přičítá k času předchozímu. if (Start_Time == 1) // za čátek p ři první oto čce magnetu CountT_OverFlow++; // p ři čítání po čtu p řete čení if (CountT_OverFlow == 100) // výpo čet sekund Sekundy++; CountT_OverFlow = 0; if (Sekundy==60) // výpo čet minut Minuty++; Sekundy = 0; if (Minuty == 60) // výpo čet hodin Hodiny++; Minuty = 0; ...

Postup výpočtu je obdobný jako u vzdálenosti. Je-li počet přetečení časovače roven 100 dochází k přičítání sekund, následně minut a hodin.

Page 52: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

52

4.3.6 Aktuální frekvence šlapání Aktuální frekvence šlapání se měří podobným způsobem jako aktuální rychlost. Opět je

použit 16 bitový čítač/časovač 1. Vývojový diagram pro měření aktuální rychlosti na obr. 37 odpovídá i výpočtu aktuální frekvence šlapání. Rozdíl spočívá pouze v použití druhé Hallovy sondy připojené k přerušení INT2, které je také nastaveno na spouštění sestupnou hranou. ISR(INT2_vect) // obsluha externího p řerušení INT2 Start_Cad++; if (Start_Cad >= 2) // za čátek p ři druhé oto čce magnetu TimerC_TCNT 1 =(0.01 / 0x270F)*TCNT1; // aktuální obsah časova če 1 Period_Cad =(CountC_OverFlow*Timer1_OverFlow)+Time rC_TCNT1; // perioda CountC_OverFlow = 0; // nulování po čtu p řete čení . .

Po výpočtu periody dojde k vynulování počtu přetečení a provádí se výpočet frekvence šlapání v ot/min.

Tf

60= , [ot/min; s, s] (10)

kde T změřená perioda mezi dvěma impulsy.

4.3.7 Maximální frekvence šlapání Výpočet maximální frekvence šlapání je totožný jako u maximální rychlosti. Je zajištěn

pomocí podmínky if, která neustále porovnává aktuální a maximální frekvenci šlapání. if (Kadence > Kadence_Max) // maximální frekvence Kadence_Max = Kadence;

4.3.8 Průměrná frekvence šlapání Průměrná frekvence šlapání se vypočítá postupným přičítáním násobků šedesáti sekund a

jednotlivých period, poté se podle vzorce vycházejícího ze vztahu č. 10 vypočítá průměrná frekvence šlapání. Cad_Avg++; // p ři čítání násobk ů Cad_Time_Avg += Period_Cad; // p ři čítání period Kadence_Avg =((60*Cad_Avg)/Cad_Time_Avg); // pr ůměrná frekvence šlapání

4.3.9 Tepová frekvence Cyklopočítač obsahuje konektor pro připojení snímače tepu, který byl však realizován

jen částečně. Programové řešení cyklopočítače však měření tepu umožňuje. Konektor je připojen na externí přerušení INT7 mikrokontroléru. Softwarové řešení výpočtu aktuální, průměrné a maximální tepové frekvence je téměř totožné jako u frekvence šlapání. Vypočtené hodnoty se liší pouze v udávané jednotce, místo ot/min je zobrazován tep/min. Při výpočtu se používá vzorec číslo č. 6, který je uveden v kapitole 3.2.3. Jako zdroj impulsů pro otestování funkcí tepové frekvence byl použit Hallův senzor připojený ke konektoru pro snímač tepu.

Page 53: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

53

4.4 Zobrazení na displeji

Pro zobrazení měřených hodnot na displeji je použita knihovna pro komunikaci s LCD. Jedná se o dva soubory s názvy lcd_h.h a lcd_c.c, které jsou dostupné na internetu, viz [33], [34]. V knihovně byly nutné menší úpravy v hlavičkovém souboru lcd_h.h, kde musel být přepsán výstupní port, ke kterému je připojen displej a také čísla pinů, na kterých jsou řídící signály displeje (R/W, E a RS). V souboru lcd_c.c muselo být změněno nastavení portu ve funkci lcd_init(). Pro správnou funkci knihovny je nutné vložit hlavičkový soubor příkazem #include "lcd_h.h" do vytvořeného projektu. Pro ovládání a komunikaci s displejem byly použity některé funkce z knihovny. Jejich stručný přehled je uveden v tabulce č. 7. Tab. 7: Přehled použitých funkcí z knihovny LCD (převzato z [33]). Funkce Popis lcd_init( void ) Inicializace displeje – nastavení 4 bitové komunikace, zapnutí a

vymazání displeje lcd_clrscr( void ) Vymazání obsahu displeje a nastavení kurzoru na pozici (0, 0) lcd_gotoxy( char x, char y ) Přesun kurzoru na pozici (x, y) displeje lcd_putc( char c ) Zobrazeni jednoho znaku displeje lcd_puts( const char *s ) Zobrazení řetězce znaků na displeji lcd_command( char data ) Zápis 1 bytové instrukce do displeje lcd_data( char data ) Zápis 1 bytového datového slova do displeje

Příklad použití funkcí z knihovny LCD lze vidět v následujícím zdrojovém kódu, který

slouží pro zobrazení aktuální rychlosti v km/h. Před vlastní hodnotou rychlosti se pomocí funkce lcd_putc( ) zobrazuje šipka pro srovnávání aktuální a průměrné rychlosti. lcd_gotoxy(5,0); // p řesun na pozici (5,0) lcd_putc(Avg); // šipka pro srovnání rychlost í lcd_gotoxy(6,0); // p řesun na pozici (6,0) sprintf(buffer, "%3d,%1d km/h", Rychlost, Rychlost_ des); // konverze lcd_puts(buffer); // zobrazení rychlosti

Šipky pro porovnávání aktuální a průměrné rychlosti musely být nadefinovány jako nové

znaky a uloženy do paměti CGRAM displeje. Pro vytvoření nového znaku je nutné použít funkci lcd_command() pro nastavení adresy v paměti CGRAM. Nový znak se vytvoří pomocí funkce lcd_data() a po uložení nového znaku se musí provést vymazání displeje funkcí lcd_clrscr(). Zobrazení měření aktuální rychlosti včetně nově definovaného znaku uvádí obr. 42.

Obr. 42: Zobrazení měřených hodnot na displeji.

Page 54: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

54

4.5 Komunikace s obvodem hodin reálného času

Pro ovládání obvodu hodin reálného času DS1307, který komunikuje s mikrokontrolérem po sběrnici TWI, byla použita knihovna s názvem I2C Master Interface, která je volně ke stažení na internetu, viz [33]. Knihovna obsahuje dva soubory s názvem twimaster.c a hlavičkový soubor i2cmaster.h. Pro komunikaci s RTC obvodem byly použity některé funkce z knihovny. Popis těchto funkcí lze nalézt v tabulce č. 8. Tab. 8: Přehled použitých funkcí z knihovny I2C (převzato z [33]). Funkce Popis i2c_start_wait (unsigned char addr)

Vyvolání startovací podmínky, poslaní adresy I2C zařízení a směru komunikace. Pokud je zařízení zaneprázdněno, čeká až se připraví

i2c_rep_start (unsigned char addr)

Vyvolání opakovaného startu, poslaní adresy I2C zařízení a směru komunikace.

i2c_write (unsigned char data)

Poslaní jednoho bajtu do I2C zařízení

i2c_stop (void) Ukončení přenosu dat a uvolnění sběrnice I2C i2c_readNak (void) Čtení jednoho bajtu z I2C zařízení a vyvolání ukončovací podmínky

Pro zápis a čtení byly pro obvod hodin reálného času vytvořeny dvě funkce. První funkce

write_DS1307() slouží pro zápis hodnot do registrů obvodu a druhá funkce read_DS1307() se používá pro čtení registrů RTC obvodu. unsigned char write_DS1307(unsigned char reg, unsig ned char val) i2c_start_wait(DS1307+I2C_WRITE); // adresa RTC obvodu a režim zápisu i2c_write(reg); // zapíše adr esu registru i2c_write(val); // zapíše hodn otu do registru i2c_stop(); // nastaví ukon čovací podmínku return 0;

unsigned char read_DS1307 (unsigned char reg) unsigned char ret; i2c_start_wait(DS1307+I2C_WRITE); // adresa RTC obvodu a režim zápisu i2c_write(reg); // zapíše adre su registru i2c_rep_start(DS1307+I2C_READ); // adresa RTC o bvodu a režim čtení ret = i2c_readNak(); // čtení jednoho bytu z RTC i2c_stop(); // nastaví ukon čovací podmínku return ret;

Jak už bylo uvedeno v kapitole 3.4, informace o čase a datu jsou uloženy v registrech

RTC obvodu ve formátu BCD. Přehled jednotlivých registrů uvádí obr. 43. Aby bylo možné nastavit v úvodním menu cyklopočítač aktuální čas a datum, musely být napsány funkce pro převod z BCD kódu do desítkové soustavy a zpět. Jedná se o funkce bcd_dec() a dec_bcd().

char bcd_dec(char num) // p řevod z BCD do desítkové soustavy return (num >> 4)*10 + (num & 0x0F); char dec_bcd(char num) // p řevod z desítkové soustavy do BCD return ((num/10)<<4) | (num % 10);

Page 55: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

55

Po zapnutí přístroje se nejprve pomocí funkce read_DS1307() načte obsah registrů RTC obvodu a ty se následně převedou z BCD kódu do desítkové soustavy. V menu přístroje se poté provádí nastavení aktuálních hodnot, které se po opuštění menu převedou zpět z desítkové soustavy do BCD kódu. Funkce write_DS1307() tyto nové hodnoty zapíše do registrů RTC obvodu.

Obr. 43: Registry pro nastavení obvodu hodin reálného času (převzato z [19]).

4.6 Ukládání naměřených dat

Při návrhu hardwarové části cyklopočítače byla pro ukládání naměřených dat zvolena paměť DataFlash, viz kapitola 3.5. Při pozdějším návrhu softwarové části však bylo od tohoto návrhu upuštěno a data se ukládají do paměti EEPROM mikrokontroléru. Původně byl totiž předpoklad, že by se data ukládaly po určitých časových intervalech (např. 2 sekundy), což by mělo za následek větší nároky na kapacitu použité paměti. Nakonec byl způsob ukládání změněn s tím, že naměřená data se do paměti uloží jen tehdy, dojde-li k ukončení měření, tedy zastavení jízdního kola. Tento způsob snížil nároky na kapacitu paměti a tím mohla být použita paměť EEPROM. Cyklopočítač však obsahuje i popsanou paměť DataFlash, kterou je možné použít při vyšších požadavcích na ukládání dat.

Zařízení umožňuje ukládat data za posledních čtrnáct dnů. Po uložení posledního dne se data postupně ukládají opět od začátku. Data jsou v paměti EEPROM uspořádány do tabulky obsahující informace za jeden den. Do paměti se zapisují následující informace:

• datum vyjížďky ve formátu den.měsíc.rok, • denní a celková ujetá vzdálenost v km, • čas jízdy ve formátu hodiny:minuty:sekundy, • průměrná a maximální rychlost v km/h, • průměrná a maximální frekvence šlapání v ot/min, • průměrná a maximální tepová frekvence v tep/min.

Pro ovládání operací zápisu a čtení paměti EEPROM byla použita standardní knihovna

avr/eeprom, která je součástí vývojového prostředí AVR Studio. Stručný přehled použitých funkcí z knihovny lze nalézt v tabulce č. 9.

Page 56: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

56

Tab. 9: Přehled použitých funkcí z knihovny EEPROM (převzato z [32]). Funkce Popis eeprom_write_byte (uint8_t *__p, uint8_t __value)

Zápis jednoho bajtu (__value) na adresu v paměti EEPROM (__p)

eeprom_write_word (uint16_t *__p, uint16_t __value)

Zápis jednoho 16-bitového slova (__value) na adresu v paměti EEPROM (__p)

eeprom_read_word (const uint16_t *__p)

Čtení jednoho 16-bitového slova z adresy v paměti EEPROM (__p)

Po zapnutí cyklopočítače se z paměti EEPROM načtou údaje o obvodu kola v mm a také

o celkovém počtu ujetých kilometrů. ObvodKola_mm = eeprom_read_word(&ObvodK); // na čtení obvodu kola Vzdalenost_celk = eeprom_read_word(&SumaKM); // na čtení celkové vzdálenosti

Tyto informace jsou pomocí klíčového slova EEMEM uloženy do souboru s příponou .eep, kterým se programuje obsah paměti EEPROM. uint16_t EEMEM ObvodK = 2100; // uložení obvodu ko la do souboru .eep uint16_t EEMEM SumaKM = 0; // uložení celkového p očtu km Naměřená data se ukládají do paměti pomocí funkce eeprom_write_word (). Následující zdrojový kód ukazuje příklad zápisu data vyjížďky do paměti. eeprom_write_word(&Tabulka[TTabulka][DEN],MDatum); // zápis data eeprom_write_word(&Tabulka[TTabulka][MESIC],MMesice ); // zápis m ěsíce eeprom_write_word(&Tabulka[TTabulka][ROK],MRoky); // zápis roky

4.7 Přenos naměřených dat do PC

Pro přenos naměřených dat z paměti EEPROM do počítače se používá jednotka USART a převodník FT232RL jejichž popis je uveden v kapitole 3.1.4 a 3.6.2. Před zahájením komunikace musela být provedena inicializace použité jednotky USART0. To znamená nastavení přenosové rychlosti, datového rámce a povolení vysílače a přijímače. Hodnota přenosové rychlosti byla zvolena 9600 Bd. Při použitém externím oscilátoru 8 MHz je maximální chybovost přenosu 0,2 %. Formát datového rámce je v módu 8O2, tedy 8 datových bitů, lichá parita a 2 stop bity. Struktura tohoto rámce je uvedena na obr. 14. v kapitole 3.1.4.

Pro inicializaci jednotky USART0 byla vytvořena funkce s názvem USART0_init (). V registru UBRR0H je nastavena zvolená přenosová rychlost, v registru UCSR0B se provádí povolení vysílače a přijímače a v registru UCSR0C je nastaven datový rámec. void USART0_Init( unsigned int ubrr ) UBRR0H = (unsigned char)(ubrr>>8); //nastavení p řenosové rychlosti UBRR0L = (unsigned char)ubrr; UCSR0B = (1<<TXEN0)|(1<<RXEN0); // povolení vysil ače a p řijíma če UCSR0C = (1<<UPM01)|(1<<UPM00)|(1<<USBS0)|(1<<UCSZ0 1)|(1<<UCSZ00); // 8O2

Page 57: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

57

Dále byly napsány dvě funkce pro vysílání dat, první funkce USART0_Transmit () slouží pro vyslání jednotlivých znaků, druhá funkce transmitString () vysíla řetězec znaků. void USART0_Transmit( unsigned char data ) while ( !( UCSR0A & (1<<UDRE0)) ); // čekání na vyprázdn ění registru UDRE0 UDR0 = data; // vložení dat do bufferu, poslán í dat void transmitString(char* string) while (*string) USART0_Transmit(*string++); // vyslání řet ězce znak ů

Po připojení cyklopočítače přes rozhraní USB do počítače musely být nainstalovány VCP ovladače pro vytvoření virtuálního sériového portu COM. Posledním krokem byla instalce programu Terminal 1.9b, který je volně dostupný na internetu, viz [35]. V programu Terminal se provádí výpis přijatých dat. Při stisku klávesy “S“ dochází k potvrzení správného připojení k PC vypsáním nápisu “OK”. Výpis naměřených dat se provádí stiskem klávesy “V“. Vzhled programu Terminal s vypsáním naměřených dat uvádí obr. 44.

Obr. 44: Výpis naměřených dat v programu Terminal (vytvořeno v [35]).

Page 58: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

58

5 Manuál k obsluze

5.1 Rozvržení cyklopočítače Obr. 45: Rozvržení ovládacích prvků cyklopočítače.

Na obr. 45 je uveden celkový vzhled přístroje. K nastavení všech parametrů a k pohybu v menu slouží celkem 4 tlačítka:

• Tlačítko 1 (TL1) - úvodní menu - výstup z úvodního menu - změna hodnot - návrat po změně hodnot - hlavní menu - vymazání hodnot kromě celkové vzdálenosti

• Tlačítko 2 (TL2) - úvodní menu - posun v menu dopředu - zvýšení nastavených hodnot - hlavní menu - posun v menu dopředu

• Tlačítko 3 (TL3) - úvodní menu - posun v menu dozadu - snížení nastavených hodnot - hlavní menu - posun v menu dozadu

• Tlačítko 4 (TL4) - úvodní menu - aktivace podsvícení displeje - hlavní menu - aktivace podsvícení displeje Na levé straně přístroje jsou tři konektory pro připojení Hallových senzorů pro měření rychlosti a frekvence šlapání (kadence) a snímače tepu. Na pravé straně se nachází USB konektor typu B pro připojení do počítače.

5.2 Základní nastavení

Po vložení baterie typu CR123A se na displeji zobrazí úvodní menu pro přednastavení cyklopočítače.

Hallův senzor rychlost TL4 Hallův senzor USB kadence Snímač tepu

TL1 TL2 TL3

25,2 km/h Clock 12:58:01

Baterie +

Ano - výstup z menu posun v menu

výstup do hlavního menu

Ukoncit: Ano

25,2 km/h Clock 12:58:01

Page 59: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

59

Při stisku tlačítka 3 pro pohyb v menu dopředu se zobrazí nastavení obvodu kola v mm. Při potvrzení změny tlačítkem 1 se pomocí tlačítek 2 (-) a 3 (+) provádí změna obvodu kola.

Při opětovném stisku tlačítka 3 pro pohyb v menu dopředu se zobrazí nastavení času a data. Při potvrzení změny tlačítkem 1 se pomocí tlačítek 2 (-) a 3 (+) provádí změna hodnot v rozsahu 0-23 hodin, 0-59 sekund, 0-59 minut, 1.-31. den, 1.-12. měsíc a 0.-99. rok.

5.3 Funkce měření

Po nastavení parametrů v úvodním menu se přístroj přepne do hlavního menu ve kterém se provádí měření. V horním řádku displeje se zobrazuje aktuální rychlost v km/h. Ve spodním řádku se pomocí tlačítek 2 a 3 provádí pohyb v menu. První dvě funkce zobrazují aktuální čas (Clock) a datum (Date).

Změnit - nastavení hodin posun v menu

Změnit - nastavení minut posun v menu

Změnit - nastavení sekund posun v menu

Zpět – návrat do nabídky - 1 hod + 1 hod

Zpět – návrat do nabídky - 1 min + 1 min posun v menu

Zpět – návrat do nabídky - 1 s + 1 s

Hodiny: 12 Zmenit

Minuty: 58 Zmenit

Sekundy: 01 Zmenit

Hodiny: 12 Zpet - +

Minuty: 58 Zpet - +

Sekundy: 01 Zpet - +

Změnit - nastavení data posun v menu

Změnit - nastavení měsíce posun v menu

Změnit - nastavení roků posun v menu

Zpět – návrat do nabídky - 1 den + 1 den

Zpět – návrat do nabídky - 1 měs. + 1 měs. posun v menu

Zpět – návrat do nabídky - 1 rok + 1 rok

Datum: 18 Zmenit

Mesic: 05 Zmenit

Rok: 2010 Zmenit

Datum: 18 Zpet - +

Mesic: 05 Zpet - +

Rok: 2010 Zpet - +

25,2 km/h Clock 12:58:01

25,2 km/h Date 18.05.2010

Změnit - nastavení obvodu posun v menu

Zpět – návrat do nabídky - 1 mm + 1 mm

Obvod kola: 2100 Zmenit

Obvod kola: 2100 Zpet - +

Page 60: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

60

První funkcí měření je čas jízdy (Time) s funkcí START/STOP, která automaticky spouští měření času při rozjezdu a ukončuje měření při zastavení. Přístroj měří denní ujetou vzdálenost (Dst) a celkovou ujetou vzdálenost (Total) v km. Kromě aktuální rychlosti zobrazované v horním řádku displeje se měří průměrná rychlost (Avg) a maximální rychlost (Max) v km/h. Průměrná rychlost je srovnávána s aktuální rychlostí šipkou zobrazenou v horním řádku displeje. Funkce označená (Cad) provádí měření aktuální frekvence šlapání v ot/min. Dále se meří průměrná frekvence šlapání (Avg) a maximální frekvence šlapání (Max) v ot/min. Hodnotu aktuální tepové frekvence v tep/min měří funkce označená (Puls). Dále se měří průměrná (Avg) a maximální (Max) tepová frekvence v tep/min.

25,2 km/h Cad 105 ot/min

25,2 km/h Avg 85 ot/min

25,2 km/h Max 126 ot/min

25,2 km/h Dist 42,5 km

0,0 km/h Total 1262,2 km

25,2 km/h Time 01:45:16

25,2 km/h Avg 24,3 km/h

25,2 km/h Max 62,8km/h

25,2 km/h Puls 124 tep/min

25,2 km/h Avg 138 tep/min

25,2 km/h Max 162 tep/min

Page 61: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

61

6 Výsledky práce

6.1 Realizace hardwarové části

Pří realizaci hardwarové části cyklopočítače se stalo nejproblematičtější měření tepové frekvence. Po prostudování možností řešení byl sestaven snímač srdečního tepu se zesilovačem TL084. Jeho funkce byla testována zobrazením průběhů srdečního tepu na osciloskopu, viz kapitola 3.2.3. Dále byly navrženy úpravy signálu EKG, aby mohl být signál zpracován mikrokontrolérem. Tyto úpravy by spočívaly v potlačení rušení, zesílení signálu a vytvoření dvoustavového signálu např. Schmittovým klopným obvodem s hysterezí.

Při sestavení vlastního cyklopočítače se vážnější komplikace neobjevily. Pouze u DC/DC měniče musel být uzemněn nejprve nezapojený pin Ilim, sloužící k omezení proudového odběru. Při neuzemnění tohoto pinu docházelo k rušení mikrokontroléru, způsobeného větším zvlnění napájecího napětí. Hodnoty zvlnění napájecího napětí bez uzemněného a s uzemněným pinem Ilim byly změřeny na osciloskopu, viz kapitola 3.7.3. U paměti DataFlash byla potřeba nižšího napájecího napětí 3,3 V vyřešena stabilizátorem napětí. Při použití nižšího napětí než 3,3 V (doporučené 3 V) by nastal problém při komunikaci po sériovém rozhraní SPI. Na vodiči MISO by byla při použití napájecího napětí 3 V vysoká úroveň VOH = 2,8 V, avšak minimální hodnota vysoké úrovně napětí u mikrokontroléru je VIH = 3 V. Připojení Hallových senzorů přes konektory umožňuje výměnu za jazýčkové spínače, nebo za senzory s odlišnými parametry např. pro detekci bipolárního magnetického pole.

6.2 Realizace softwarové části

Jakmile byl přístroj sestaven, došlo nejprve k testování mikrokontroléru a to pomocí vyčtení jeho signatury ve vývojovém prostředí AVR Studio, viz kapitola 4.2. Po úspěšném ověření byla v prvním kroku zprovozněna komunikace s displejem pomocí popsané knihovny. Zobrazení dat na displeji usnadnilo následné programování všech funkcí cyklopočítače. Navržený software splňuje všechny požadavky zadání. Cyklopočítač provádí měření veškerých funkcí rychlosti, frekvence šlapání, tepové frekvence, vzdálenosti, času a zobrazuje aktuální čas a datum. Z důvodů částečné realizace snímače tepové frekvence byl jako zdroj impulsů pro testování funkcí měření tepu použit Hallův senzor. Po zapnutí přístroje lze v úvodním menu nastavit obvod kola, denní čas a datum. Po přepnutí do hlavního menu se provádí měření všech hodnot a také ukládání dat do paměti EEPROM. Uložená data lze odeslat přes USB rozhraní do počítače.

6.3 Testování a technické parametry

Testování funkcí proběhlo instalací celého zařízení na jízdní kolo, s následným porovnáním s cyklopočítačem od firmy Cateye typu Enduro 8, viz [36]. Po nastavení shodných obvodů kola u obou cyklopočítačů proběhlo testování. Po ujetí vzdálenosti 1,6 km zobrazovaly obě zařízení totožnou vzdálenost a také čas jízdy 3 minuty 46 sekund. Průměrná a maximální rychlost byla u vyrobeného cyklopočítače 26,6 km/h a 46,9 km/h. Cyklopočítač Cateye zaznamenal průměrnou rychlost 26,7 km/h a maximální 47,1 km/h. Odchylky měření mezi oběma cyklopočítači byly v řádech desetin km/h, což je při reálném použití

Page 62: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

62

zanedbatelné. Testování frekvence šlapání nemohlo být zrealizováno, protože cyklopočítač Cateye Enduro 8 tuto funkci neumožňuje.

Další testování se týkalo spotřeby elektrické energie. Při vypnutém podsvícení displeje je maximální odběr proudu 80 mA, při zapnutém podsvícení se odběr proudu zvýší na 140 mA. Aby bylo dosaženo co možná nejdelšího chodu cyklopočítače je vhodné používat podsvícení displeje co nejméně. Výdrž použité baterie GP CR123A s kapacitou 1400 mAh je okolo 18 hodin provozu. Pro zvýšení doby provozu je možné použít např. dvě tužkové baterie. V tabulce č. 10 jsou uvedeny technické parametry cyklopočítače. Celkový vzhled sestaveného zařízení bez přístrojové krabičky je uveden na obr. 46.

Tab. 10: Technické parametry cyklopočítače

Rozsah měřených hodnot Rychlost 2 - 255 km/h Frekvence šlapání 15 - 255 ot/min Tepová frekvence 15 - 255 tep/min Čas jízdy 0 - 255:59:59 h:min:s Denní vzálenost 0,1 - 65535 km Celková vzdálenost 0,1 - 65535 km

Napájení Napájecí napětí 1,8 – 4,5 V Spotřeba proudu 80 – 140 mA Typ baterie 1x CR123A

Rozměry a hmotnost Šířka 113 mm Délka 63 mm Výška 28 mm Hmotnost 100 g

Obr. 46: Celkový vzhled cyklopočítače bez přístrojové krabičky.

Page 63: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

63

Závěr

Bakalářská práce se zabývá použitím magnetických senzorů a snímačů EKG pro realizaci cyklopočítače s měřičem frekvence šlapání. V kapitole o magnetických senzorech je vysvětlen princip Hallova jevu, rozdělení Hallových senzorů a následně uveden popis vybraného Hallova senzoru TLE4905L. Tento senzor byl zvolen pro jeho vhodné parametry, jako jsou detekce unipolárního magnetického pole a spínaný binární výstup usnadňující komunikaci s mikrokontrolérem. Ze snímačů EKG byly vybrány povrchové elektrody a dále byl popsán průběh EKG, vysvětlující princip měření počtu tepů za minutu.

Při návrhu hardwarové části byla nejdůležitější volba vhodného mikrokontroléru. Nakonec byl vybrán mikrokontrolér ATmega64, který vyhovuje velikostí programové i datové paměti a především dostatečným počtem vstupně/výstupních portů pro připojení všech obvodů. Komunikace Hallova senzoru s mikrokontrolérem je velmi jednoduchá, protože probíhá prostřednictvím jednoho signálového vodiče, zapojení je uvedeno v kapitole 3.2.1. U snímačů EKG byla situace složitější, protože bylo nutné zvolit vhodný zesilovač pro zesílení bioelektrického signálu z povrchových elektrod. K zobrazeni všech naměřených hodnot slouží znakový displej o rozměrech 16x2, což poskytuje dostatečný přehled o všech funkcích. Ke generování aktuálního času a data je použit obvod hodin reálného času typ DS1307, který umožňuje zálohovat chod hodin pomocí záložní baterie. Všechny naměřené hodnoty se ukládají do paměti EEPROM mikrokontroléru, která nabízí velikost paměti 2 kB. Připojení k počítači zajišťuje převodník USB na UART typ FT232RL, díky kterému je možné přenést všechny naměřené hodnoty do PC. Celý obvod je napájen z jedné 3 V lithiové baterie. Změna napájecího napětí na požadovanou hodnotu 5 V se provádí DC/DC měničem. Pro dosažení hodnoty napájecího napětí 3,3 V pro paměť DataFlash se využívá stabilizátor napětí.

Obslužný program cyklopočítače je napsán v jazyce C. Pro vývoj a naprogramování mikrokontroléru bylo použito vývojové prostředí AVR Studio a ISP programátor AVR ISP mkII. V návrhu softwarové části je podrobně rozebráno programové řešení výpočtu všech měřených veličin. Pro komunikaci s displejem a obvodem RTC byly použity knihovny, které jsou popsány v kapitole 4.4 a 4.5. Po návrhu a otestování obslužného programu byl pro cyklopočítač sepsán manuál, který obsahuje popis základních nastavení a funkcí přístroje. Testování cyklopočítače proběhlo srovnáním naměřených hodnot sestaveného cyklopočítače s cyklopočítačem firmy Cateye. Průběh testování včetně přehledu technických parametrů přístroje je uveden v kapitole 6.3.

Page 64: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

64

Seznam literatury [1] FROHN, M.; OBERTHÜR, W.; SIEDLER, H.-J.; WIEMER, M.; ZASTROW, P.

Elektronika – polovodičové součástky a základní zapojení. Praha: BEN – technická literatura, 2006. 480 pages. ISBN 80-7300-123-3.

[2] VOJÁČEK, Antonín. Magnetické senzory s Hallovým efektem - 1. princip. Hw.cz

[online]. Listopad 2007 - [cit. Listopad 2009]. Dostupné z WWW: <http:// automatizace.hw.cz/magneticke-senzory-s-hallovym-efektem-1-princip>.

[3] HONEYWELL. Solid State Sensors SS490 Series Miniature Ratiometric Linear [online]. Freeport - [cit. listopad 2009]. Dostupné z WWW: <http://content.

honeywell.com/sensing/prodinfo/solidstate/catalog/c20020.pdf>. [4] INFINEON. Uni- and Bipolar Hall IC Switches for Magnetic Field Applications

[online]. Listopad 2007 - [cit. listopad 2009]. Dostupné z WWW:<http://www. infineon.com/dgdl/Data_Sheet_TLE49x5L_Family_V1_5.pdf?folderId=db3a30431689f4420116a096e1db033e&fileId=db3a304316f66ee801173f11d5a23c96>.

[5] VOJÁČEK, Antonín. Mag. senzory s Hallovým efektem - 4. díl senzory s digit.

výstupem. Hw.cz [online]. květen 2008 - [cit. Listopad 2009]. Dostupné z WWW: <http://automatizace.hw.cz/mag-senzory-s-hallovym-efektem-4-dil-senzory-s-digit-vystupem>.

[6] VALEČKO, Zdeněk a kol. Bioelektronika v amatérské praxi, 1. díl. Praha: BEN –

technická literatura, 2005. 224 pages. ISBN 80-7300-122-5. [7] KOLÁŘ, Radim. Přednášky z předmětu Lékařská diagnostická technika BLDT.

[online]. 2009 - [cit. prosinec 2009]. Dostupné z WWW: <https://www.vutbr.cz/ elearning>.

[8] CARR, Joseph J.; BROWN, John M. Introduction to Biomedical Equipment

Technology, Fourth Edition. New Jersey: Prentice Hall, 2000. 743 pages. ISBN 0-13-010492-2.

[9] E. J. MEDICAL CARE. Elektroda EKG typ F [online]. [cit. prosinec 2009]. Dostupné

z WWW: <http://www.aej.cz/Tpopis.html>. [10] ATMEL. ATmega64, 8-bit AVR Microcontroller with 64K Bytes In-System

Programmable Flash [online].Červenec 2009 - [cit. prosinec 2009]. Dostupné z WWW: <http://www.atmel.com/dyn/resources/prod_documents/doc2490.pdf >.

[11] MATOUŠEK, David. Práce s mikrokontroléry ATMEL ATmega16, 4. díl. Praha:

BEN – technická literatura, 2006. 320 pages. ISBN 80-7300-174-8. [12] ANALOG DEVICES. Precision Instrumentation Amplifier AD624. [online]. 1999 -

[cit. prosinec 2009]. Dostupné z WWW: <http://www.analog.com/static/imported-files/data_sheets/AD624.pdf>.

Page 65: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

65

[13] PICOTECH. Electrocardiogram (ECG) project for Drdaq. [online]. [cit. prosinec 2009]. Dostupné z WWW: <http://www.picotech.com/applications/ecg.html>.

[14] SIGMA SPORT. PC 15. [online]. [cit. duben 2010]. Dostupné z WWW:<http://

www.sigmasport.com/en/produkte/pulscomputer/topline/pc_15/>. [15] ALLDATASHEET. TL084 - General PurposeJ-FET quad operational amplifiers.

[online]. 1999 - [cit. duben 2010]. Dostupné z WWW:< http://pdf1.alldatasheet. com/datasheet-pdf/view/25385/STMICROELECTRONICS/TL084.html >.

[16] ALLDATASHEET. HD44780 - Dot Matrix Liquid Crystal Display Controller/Driver

- Hitachi Semiconductor. [online]. [cit. listopad 2009]. Dostupné z WWW: <http://pdf1.alldatasheet.com/datasheet-pdf/view/63673/HITACHI/HD44780.html>.

[17] DATASHEET ARCHIVE. MC1602C8-SYL [online]. [cit. leden 2010]. Dostupné z

WWW: < http://www.datasheetarchive.com/datasheet-pdf/077/DSAE0057279.html >. [18] MATOUŠEK, David. Práce s inteligentnínimi displeji LCD, 1. díl. Praha: BEN –

technická literatura, 2006. 224 pages. ISBN 80-7300-121-7. [19] MAXIM-DALLAS. DS1307,64 x 8, Serial, I2C Real-Time Clock [online]. Říjen 2008

- [cit. prosinec 2009]. Dostupné z WWW: <http://datasheets.maxim-ic.com/en/ds/ DS1307.pdf>.

[20] ATMEL. AT45DB161D, 16-megabit 2.5-volt or 2.7-volt DataFlash® [online]. Duben

2009 - [cit. prosinec 2009]. Dostupné z WWW: <http://www.atmel.com/dyn/ resources/prod_documents/doc3500.pdf>.

[21] MALÝ, Martin. USB 2.0 – díl 1. Hw.cz [online]. Únor 2005 - [cit. Listopad 2009].

Dostupné z WWW: <http://hw.cz/Rozhrani/ART1232-USB-2.0---dil-1.html>. [22] MATOUŠEK, David. USB prakticky s obvody FDTI – 1 díl; Měření, řízení a regulace

pomocí několika jednoduchých přípravků. Praha: BEN – technická literatura, 2003. 262 pages. ISBN 80-7300-103-9.

[23] FTDI CHIP. FT232R USB UART ( USB - Serial) I.C.[online]. Prosinec 2009 - [cit.

únor 2010]. Dostupné z WWW: <http://www.ftdichip.com/Documents/ DataSheets/ DS_FT232R_V205.pdf>.

[24] LINEAR TECHNOLOGY. LT1300 - Micropower High Efficiency 3.3/5V Step-Up DC/DC Converter. [online]. [cit. leden 2010]. Dostupné z WWW: <http://cds.linear. com /docs/Datasheet/lt1300.pdf >.

[25] LINEAR TECHNOLOGY. LT1121 - Micropower Low Dropout Regulators with Shutdown [online]. [cit. leden 2010]. Dostupné z WWW: <http://cds.linear. com/docs/Datasheet/1121ff.pdf >.

[26] LINEAR TECHNOLOGY. LTspice IV [online]. [cit. leden 2010]. Dostupné z WWW:

<http://ltspice.linear.com/software/LTspiceIV.exe >.

Page 66: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

66

[27] CADSOFT. EAGLE Layout Editor [online]. [cit. duben 2010]. Dostupné z WWW: <http://www.cadsoft.de/index.htm >.

[28] HAMMOND MANUFACTURING. Multipurpose Plastic Enclosures (1591XX series)

[online]. [cit. duben 2010]. Dostupné z WWW: < http://www.hammondmfg.com /dwg2XX.htm >.

[29] ATMEL. AVRISP mkII In-System Programmer [online]. 2005 - [cit. duben 2010].

Dostupné z WWW: <http://www.atmel.com/dyn/resources/prod_documents/ AVRISP mkII_UG.pdf>.

[30] HP InfoTech S.R.L. CodeWizardAVR. [online]. [cit. duben 2010]. Dostupné z WWW:

<http://www. hpinfotech.ro/index.html>. [31] VÁŇA, Vladimír. Atmel AVR programování v jazyce C; Popis práce ve vývojovém

prostředí CodeVisionAVR C. Praha: BEN – technická literatura, 2003. 216 pages. ISBN 80-7300-102-0.

[32] ATMEL. AVR Studio 4. [online]. [cit. duben 2010]. Dostupné z WWW:<http://www.

atmel.com/dyn/Products/tools_card.asp?tool_id=2725>. [33] FLEURY, Peter. Peter Fleury Online. [online]. 2006 -[cit. květen 2010]. Dostupné z

WWW:< http://homepage.hispeed.ch/peterfleury/avr-software.html >. [34] FRÝZA, T; FEDRA, Z; ŠEBESTA, J. Učební texty laboratorního cvičení předmětu

BMPT. [online]. 2009 -[cit. květen 2010]. Dostupné z WWW:< http://www.urel.feec. vutbr.cz/ ~fryza/downloads/bmpt_pocitace.pdf >.

[35] OLMR, Vít. Terminal – sériový terminál pro Windows. [online]. Květen 2000 -[cit.

květen 2010]. Dostupné z WWW:< http://hw.cz/teorie-praxe/art1928-terminal-seriovy-terminal-pro-windows.html>.

[36] CATEYE. Enduro 8. [online]. 2010 - [cit. květen 2010]. Dostupné z WWW:

< http://www.cateye.com/en/product_detail/254>.

Page 67: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

67

Seznam symbolů, veličin a zkratek AAMI Association for the Advancement of Medical Instrumentation ACK Acknowledge, potvrzovací bit B magnetická indukce BAUD přenosová rychlost v bitech za sekundu, bps BCD Binary Coded Decimal, dvojkově reprezentované dekadické číslo CPU Central Processing Unit, procesor CS Chip Select, výběr čipu CTC Clear Timer on Compare Match d tloušťka vrstvy polovodiče D2XX přímý ovladač DLL Dynamic Library, dynamická knihovna DMA Direct Memory Access, přímý přístup do paměti E Enable, vstup povolení EAGLE Easily Applicable Graphical Layout Editor EEG Elektroencefalogram EEPROM Electronically Erasable Programmable Read-Only Memory, elektricky

mazatelná paměť ROM EKG Elektrokardiogram fclk_IO pracovní kmitočet mikrokontroléru fOSC hodinový signál mikrokontroléru FTDI Future Technology Devices International GND Ground, zem I2C Inter-Integrated Circuit, sériová sběrnice IC proud procházející Hallovou sondou IRQ Interrupt ReQuest, požadavek na přerušení JTAG Joint Test Action Group, standart pro testování plošných spojů, pamětí atd. LCD Liquid Crystal Displey, displej z tekutých krystalů LSB Least Significant Bit, nejméně významný bit MCU Microcontroller, mikrokontrolér MIPS Milion Instructions per Second, milion instrukcí za sekundu MISO Master In Slave Out, vstup do masteru výstup ze slavu MOSI Master Out Slave In, výstup z masteru vstup do slavu MSB Most Significant Bit, nejvíce významný bit N dělící poměr OCR1A Output Compare Register, registr pro manipulaci s rozlišením čítače. PWM Pulse Width Modulation, pulzně šířková modulace Q elektrický náboj R/W Read/Write, čtení/zápis dat nebo příkazu RAM Random Access Memory, paměť pro dočasné uložení programu i dat RG velikost externího rezistoru RH Hallův činitel RICS Reduced Instruction Set Computer, počítač s redukovanou instrukční sadou R-R čas mezi dvěma srdečními impulsy (srdeční perioda) RS identifikace instrukcí nebo dat RTC Real-Time Clock, hodiny reálného času RXC Receive Complete, příjem dokončen RXD Receiver, přijímač s vzdálenost odpovídající nastavenému obvodu kola

Page 68: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

68

SCK Serial Clock, hodinový signál SCL Synchronous Clock, hodinový signál SDA Synchronous Data, datový kanál SI Serial Input, sériový vstup SMD Surface Mount Device, součástky pro povrchovou montáž SO Serial Output, sériový výstup SPCR SPI Control Register, řídící registr SPI SPDR SPI Data Register, datový registr SPI SPI Serial Peripheral Interface, sériové periferní rozhraní SPIF SPI Interrupt Flag, příznak přerušení SPI SPSR SPI Status Register, stavový registr SPI SS Slave Select, výběr zařízení slave STN Super Twisted Nematic, pasivní LCD T změřená perioda mezi dvěma impulsy. . TWAR TWI (Slave) Address Register, adresový registr TWI TWBR TWI Bit Rate Register, registr přenosové rychlosti TWI TWCR TWI Control Register, řídící registr TWI TWDR TWI Data Register, datový registr TWI TWI Two-Wire Serial Interface, sériové rozhraní TWSR TWI Status Register, stavový registr TXC Transmit Complete, vysílání dokončeno TXD Transmitter, vysílač UCSRA USART Control and Status Register A, řídící a stavový registr A USART UDR USART I/O Data Register, I/O datový registr USART UDRE USART Data Register Empty, datový registr prázdný USART Universal Synchronous Asynchronous Receiver Transmitter, univerzální synchroní a asynchroní seriové rozhraní USB Universal Serial Bus, univerzální sériová sběrnice v rychlost elektronů VCP Virtual COM Port, virtuální port COM WP Write Protection, ochrana proti přepsání XCK Transfer Clock, hodinový vstup/výstup

Page 69: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

69

Seznam příloh A Návrh zařízení ................................................................................................................ 70

A.1 Obvodové zapojení................................................................................................... 70 A.2 Deska plošného spoje – top (strana součástek) ........................................................ 71 A.3 Deska plošného spoje – bottom (strana spojů)......................................................... 71 A.4 Rozmístění součástek – top (strana spojů) ............................................................... 71 A.5 Přístrojová krabička – spodní strana ....................................................................... 72 A.6 Přístrojová krabička – boční strana .......................................................................... 72

B Seznam součástek ........................................................................................................... 73

Page 70: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

70

A Návrh zařízení A.1 Obvodové zapojení

Page 71: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

71

A.2 Deska plošného spoje – top (strana součástek)

Rozměr desky 106x55 [mm], měřítko M1:1 A.3 Deska plošného spoje – bottom (strana spojů)

Rozměr desky 106x55 [mm], měřítko M1:1

A.4 Rozmístění součástek – top (strana spojů)

Rozměr desky 106x55 [mm], měřítko M1:1

Page 72: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

72

A.5 Přístrojová krabi čka – spodní strana

A.6 Přístrojová krabi čka – boční strana

Page 73: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

73

B Seznam součástek

Označení Typ Pouzdro Popis C1 CK 10N X7R 5 mm Keramický kondenzátor 10nF C2 CK 100N X7R 5 mm Keramický kondenzátor 100nF C3 CT 4M7/16V 2,54 mm Elektrolytický tantalový kondenzátor 4,7 µF C4 CK 100N X7R 5 mm Keramický kondenzátor 100nF C5 CK 4N7 X7R 5 mm Keramický kondenzátor 4,7 nF C6 CK 4N7 X7R 5 mm Keramický kondenzátor 4,7 nF C7 CK 4N7 X7R 5 mm Keramický kondenzátor 4,7 nF C8 CK 4N7 X7R 5 mm Keramický kondenzátor 4,7 nF C9 CK 22P/100V 5 mm Keramický kondenzátor 22pF C10 CK 22P/100V 5 mm Keramický kondenzátor 22pF C11 CT 100M/10V 5 mm Elektrolytický tantalový kondenzátor 100 µF C12 CT 100M/10V 5 mm Elektrolytický tantalový kondenzátor 100 µF C13 CT 1M/16V 2,54 mm Elektrolytický tantalový kondenzátor 1 µF C14 CK 100N X7R 5 mm Keramický kondenzátor 100nF C15 CK 100N X7R 5 mm Keramický kondenzátor 100nF C16 CK 100N X7R 5 mm Keramický kondenzátor 100nF C17 CK 100N X7R 5 mm Keramický kondenzátor 100nF D1 1N5817 DO15 Usměrňovací Schottkyho dioda G1 CR1220 12,5x2 mm Knoflíková lithiová baterie G2 CR123A 34,5x16,8 mm Lithiová baterie IC1 ATmega64 TQFP64 Mikrokontrolér IC2 LT1300 SOIC8 DC/DC měnič IC3 LT1121CZ-3.3 TO-92 Stabilizátor napětí IC4 AT45DB161D SOIC8 Paměť DataFlash IC5 DS1307 SO Obvod hodin reálného času IC6 FT232RL SSOP Převodník USB na UART JP1 S2G20 2,54 mm Konektorový kolík lámací JP1 Jumper 2.54 mm Jumper - zkratovací propojka černá K1 PSH02-03WG 2,54 mm Vidlice zahnutá 3 piny K2 PSH02-03WG 2,54 mm Vidlice zahnutá 3 piny K3 PSH02-03WG 2,54 mm Vidlice zahnutá 3 piny L1 DL16-10 SMD 0705 Tlumivka 10 µH L2 TLEC24-100K 3x6 mm Tlumivka 10 µH

LCD MC1602C8-SYL 80x36 mm LC displej 16x2 LED1 LED 3mm 2MA/Y 3 mm LED 3mm 2mA žlutá LED2 LED 3mm 2MA/Y 3 mm LED 3mm 2mA žlutá

Q1 Q 37,768 kHz 3x8mm Krystal hodinový Q2 QM 8MHz HC49U-S Krystal 8MHz R1 MPR 270R 0207 Rezistor 270R R2 MPR 10k 0207 Rezistor 10 kΩ R3 MPR 10k 0207 Rezistor 10 kΩ R4 MPR 10k 0207 Rezistor 10 kΩ R5 MPR 4k7 0207 Rezistor 4,7 kΩ R6 MPR 4k7 0207 Rezistor 4,7 kΩ R7 MPR 1k2 0207 Rezistor 1,2 kΩ R8 MPR 1k2 0207 Rezistor 1,2 kΩ R9 MPR 10k 0207 Rezistor 10 kΩ R10 PT6HK010 PT6HK Trimr 10 kΩ R11 MPR 5k 0207 Rezistor 5 kΩ

Page 74: VYSOKÉ U ČENÍ TECHNICKÉ V BRN Ě · 2016. 1. 6. · department of radio electronics cyklopo ČÍta Č s m ĚŘ iČem frekvence cyklocomputer with frequency meter bakalÁ ŘskÁ

74

R12 MPR 22R 0207 Rezistor 22 Ω R13 MPR 1k 0207 Rezistor 1 kΩ R14 MPR 1k 0207 Rezistor 1 kΩ R15 MPR 270R 0207 Rezistor 270R S1 TACTA-68N-F B3F-31 Spínač TACT úhlový S2 TACTA-68N-F B3F-31 Spínač TACT úhlový S3 TACTA-68N-F B3F-31 Spínač TACT úhlový S4 TACTA-68N-F B3F-31 Spínač TACT úhlový X1 USB1X90B PCB USB B USB B zásuvka