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



Podobné dokumenty
Rozhraní mikrořadiče, SPI, IIC bus,..

TCP2RTU. Transparentní převodník protokolu MODBUS TCP na MODBUS RTU/ASCII. Tři varianty: pro RS422, RS485 a RS232


Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/

PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem

CQ485. Opakovač a převodník linek RS485 a RS422. S aktivní i pasivní obnovou dat

IMPLEMENTACE ČTENÍ A ZÁZNAMU NA SD KARTU

Router Modbus RTU RS485 / Modbus TCP

Základní normalizované datové přenosy

LAN/RS-Port (VERZE 2)

Převodník USB na RS232. Milan Horkel

JUMO mtron T Měřicí, regulační a automatizační systém

AWGD 46 MWGD 46. Dveřní moduly APS mini / APS mini Plus s rozhraním WIEGAND s podporou zámků APERIO. Uživatelská příručka

TDL500. Systém elektronické evidence návštěvnosti TDL500

TEPL2344 Technická dokumentace PŘEVODNÍK TEPLOTY. typ TEPL2344 s rozhraním RS232.

Praktické úlohy- 2.oblast zaměření

Registrační teploměr

1 Podrobná specifikace Yunifly Datasheet

WAP LAN/WLAN AP/klient. Uživatelský manuál

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

DataLab IO. DataLab PC/IO

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

Architektura počítače

NWA Příručka k rychlé instalaci. Dvoupásmový bezdrátový přístupový bod N třídy business

Kompaktní procesní stanice

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

MyIO - webový komunikátor

Elektronická stavebnice: Deska s jednočipovým počítačem

Převodník Ethernet RS232 s Modbus RTU / TCP routerem

Operační paměti počítačů PC

Obsah. 1. Upozornění. 2. Všeobecný popis

Převodník Ethernet RS485 s Modbus RTU / TCP routerem

Řídící jednotka AirBasic 2

Převodník WiFi RS232

PCU Procesorová jednotka. Příručka uživatele. Platí od výr. č Střešovická 49, Praha 6, s o f c o s o f c o n.


Datalogger Teploty a Vlhkosti

TECHNICKÁ DOKUMENTACE TERMINÁL SEMBOX

CZ Manuál. Zařízení s OS Android. Import a distribuce: RECALL s.r.o.

P-334U. Bezdrátový Wi-Fi router kompatibilní s normou a/g. Příručka k rychlé instalaci

Vestavné systémy BI-VES Přednáška 5

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Záznamník teploty ZT, ZT1ext Návod k použití

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

Návod k obsluze. CEM-538M koax./ethernet bridge master. CES-532D koax./ethernet bridge client

Rychlá instalační příručka TP-LINK TL-WR741ND

Temp-485. Teplotní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem

Technické prostředky počítačové techniky

MLE2 a MLE8. Datalogery událostí

PC-D218-ID. pro 2-vodičový systém D2. Uživatelský návod.

Rozhraní mikrořadiče, SPI, IIC bus,..

SB8485. Převodník USB na 8x RS485/RS září 2010 w w w. p a p o u c h. c o m

ŘÍDÍCÍ ČLEN GCD 411. univerzální procesorový člen pro mikropočítačové systémy. charakteristika. technické údaje

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

CZ Manuál Import a distribuce: RECALL s.r.o.

OBSAH. Balení obsahuje: VYSVĚTLENÍ POJMŮ ZPROVOZNĚNÍ ZAŘÍZENÍ

FTC08 instalační manuál k dotykovému panelu systému Foxys

STŘEDOŠKOLSKÁ TECHNIKA 2013

Novinky u zařízení pro sériovou komunikaci. Michal Kahánek

Seznamte se se zařízením Mobile WiFi

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

PROTOKOL O LABORATORNÍM CVIČENÍ

Komunikační jednotka MEg202.2

Založeno Vypracoval: Ing. Vladimír Povolný HATEL. 168 x 118 x 54 mm. provozní teplota -5 až +50 C ochrana IP 30 24V DC (20 až 30V), 0 je uzeměná

Rozšiřující modul s protokolem MODBUS

ExperimentalCar. Kurz vyhodnocení komfortu jízdy na sedadle experimentálního vozidla, rozšíření rozsahu WiFi sítě

Uživatelský manuál. KNXgal. řízení zabezpečovacích ústředen. Galaxy ze sběrnice KNX. napájeno ze sběrnice KNX. indikace komunikace na KNX

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY

RTU RTU. Podklady pro dokumentaci. Gateway to Modbus RTU RESET USB MODBUS RTU RS 485 DATA. Made in EU DATA

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J.

ROZHRANÍ 4 VSTUPŮ/VÝSTUPŮ. 4x OPTICKY ODDĚLENÉ LOG. VSTUPY 4x RELÉ SPÍNACÍ VÝSTUPY OVLÁDÁNÍ: LINKA RS232

Základní deska (mainboard, motherboard)

PROCESOR. Typy procesorů

Snímače teploty a vlhkosti s komunikací po RS485 protokolem Modbus RTU - řada PHM

DM4.3 odmagnetovací modul

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Microchip. PICmicro Microcontrollers

DWL-2000AP+ Než začnete. Kontrola obsahu dodávky

Servisní menu a nastavení IP-390

DIGITAL PROCESSOR DIGITAL TERRESTRIAL COMPATIBLE

PK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 ( )

SA-GSMALL. Instalační manuál

Řídicí systémy řady 400 str.2 z 16 MICROPEL

Adresovatelný převodník rozhraní RS48/RS232 ELO E250. Uživatelský manuál


Elektronické záznamové zařízení EZZ 01

Stručný návod k obsluze Instalace ovladače GW-7100U pod Windows 98, ME, 2000 a XP Instalace obslužného programu pod Windows 98, ME, 2000 and XP

Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška 11 (12)

Návod k instalaci, provozu a údržbě brány MODBUS. Návod k instalaci, provozu a údržbě. Brána Modbus

Komunikace v síti GSM/GPRS

VELKOKAPACITNÍ PAMĚŤOVÉ ZAŘÍZENÍ PRO OBVODY FPGA

PROSTŘEDKY AUTOMATICKÉHO ŘÍZENÍ Úloha č. 3 Dálková správa s využitím WIFI technologie

CZ Manuál. Zařízení s ios. Import a distribuce: RECALL s.r.o.

Ovládací PTZ klávesnice SC-3100 Uživatelský a instalační manuál

Děkujeme vám, že jste si zakoupili USB Wi-Fi modem E5 (dále jen zařízení).

Řídící jednotka pro 2 čtečky SL20

Transkript:

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 ZPRACOVÁNÍ TELEMETRICKÝCH ÚDAJŮ RC MODELŮ LETADEL PROCESS OF TELEMETRIC S ENTRIES OF RC MODELS PLANES SEMESTRÁLNÍ PROJEKT BACHELOR S PROJECT AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR BRNO, 2012 Tomáš Žák Ing. Jan Prokopec, Ph.D.

ABSTRAKT Bakalářská práce se zaměřuje na problematiku snímání stavu RC modelu letadla, během letu. Je zde detailně rozebrána vnější tak i vnitřní struktura, včetně komunikace. Cílem práce je navrhnutí funkční desky pro snímání stavu RC letadla během letu, k tomu je použita součástka akcelerometr umožňující snímat přetížení. V digitální podobě je pak následně přeposílá k vyhodnocení přes Wi-Fi převodník do počítače, kde jsou následně data zpracována. V příloze je uvedeno celkové schéma zapojení včetně seznamu použitých součástek. KLÍČOVÁ SLOVA mikrokontrolér, mikroprocesor, ATMEGA64A, zásobník, paměť, ALU, registr, akcelerometr, MMA7455L, g-cell buňka, SPI, Sériové rozhrání, EEPROM, Slave, Master, AVR, Wi-Fi, RS232, Latronix, Matchport, 802.11 b/g, převodník.

ABSTRACT Bachelor s project focuses on problematic about scanning state of RC plane model, during the fly. In detail there is described internal and external structure, including communication. Main objective of work is design functional board for scanning state of RC plane model, during the fly. There is used akcelerometer for scanning actual overload of plane. Accelerometer sends measured data of overload in digital form over Wi-Fi converter to computer, where data are processed. List of used components is in the enclosure. KEYWORDS microcontroller, microprocessor, ATMEGA64A, stack, memory, ALU, register, accelerometer, MMA7455L, g-cell, SPI, Seriál interface, EEPROM, Slave, Master, AVR, Wi-Fi, RS232, Latronix, Matchport, 802.11 b/g, converter.

ŽÁK, T. Zpracování telemetrických údajů RC modelů letadel. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií. Ústav radioelektroniky, 2012. 41 s., 18 s. příloh. Bakalářská práce. Vedoucí práce: Ing. Jan Prokopec, Ph.D.

PROHLÁŠENÍ Prohlašuji, že svou bakalářskou práci na téma Zpracování telemetrických údajů RC modelů letadel 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/nebo majetkových a jsem si plně vědom následků porušení ustanovení 11 a následujících zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb. V Brně dne...... Tomáš Žák PODĚKOVÁNÍ Děkuji vedoucímu bakalářské práce Ing. Janu Prokopcovi, Ph.D. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce. V Brně dne...... Tomáš Žák

OBSAH Seznam obrázků Seznam tabulek ix x Úvod 11 1 Návrh zařízení 12 1.1 Blokové schéma zařízení... 12 1.2 Akcelerometr... 13 1.2.1 Obecný popis akcelerometru... 13 1.2.2 Softwarový popis akcelerometru... 14 1.2.3 Rozložení a funkce jednotlivých pinů... 15 1.2.4 Popis funkce akcelerometru... 16 1.2.5 Realizace akcelerometru... 17 1.3 Převodník Matchport b/g... 17 1.3.1 Popis převodníku... 18 1.3.2 Softwarový popis převodníku přes webové rozhrání... 18 1.3.3 Problémy s převodníkem přes bezdrátové rozhrání... 21 1.3.4 Softwarový popis převodníku přes sériovou linku... 22 1.3.5 Rozložení jednotlivých pinů převodníku... 23 1.4 SPI Sériové periferní rozhrání... 25 1.4.1 Popis rozhrání SPI... 25 1.4.2 Mód SLAVE... 27 1.4.3 Mód MASTER... 27 1.4.4 Mód DATOVÝ... 27 1.4.5 Popis registrů... 28 2 Obvodová realizace 31 2.1 Popis návrhu schématu... 31 2.2 Schéma výsledného zapojení... 32 2.3 Schéma zapojení pro sérivou komunikaci... 33 3 Řídící software 34 vii

3.1 První část obslužného programu... 34 3.2 Druhá část obslužného programu... 36 3.3 Třetí část obslužného programu... 38 4 Závěr 39 Literatura 40 Seznam symbolů, veličin a zkratek 41 Seznam příloh 42 viii

SEZNAM OBRÁZKŮ Obr. 1.1: Navržené blokové schéma... 12 Obr. 1.2: Blokové schéma vnitřního uspořádání akcelerometru [1]... 13 Obr. 1.3: Horní pohled na rozložení pinů akcelerometru... 15 Obr. 1.4: Zjednodušený model g-cell buňky... 16 Obr. 1.6: Webové rozhrání převodníku Network [8]... 19 Obr. 1.12: Sériové rozhrání převodníku vstup do setup menu [8]... 22 Obr. 1.13: Sériové rozhrání převodníku setup menu [8]... 22 Obr. 1.14: Sériové rozhrání převodníku nastavení položek [8]... 23 Obr. 1.15: Blokové schéma vnitřního uspořádání SPI [2]... 25 Obr. 1.16: Blokové schéma komunikace mezi zařízeními Master a Slave [2]... 26 Obr. 3.1: Vývojový diagram pro měření a posílání naměřených dat pro mikrokontrolér... 36 Obr. 3.2: Obr. 3.3: Vývojový diagram pro přijímání naměřených dat pro počítač, programem Matlab... 37 Vývojový diagram pro zpracování naměřených dat pomocí programu Matlab... 38 Obr. 4.1: Blokové schéma vnitřní struktury CPU mikroprocesoru Atmel ATMEGA64A [2]... 45 Obr. 4.2: Soubor univerzálních pracovních registrů [2]... 49 Obr. 4.3: Rozdělení Flash paměti programu [2]... 51 Obr. 4.4: Rozdělení paměti dat typu SRAM [2]... 52 Obr. 4.5: Blokové schéma zapojení mikrokontroléru ATMEGA64A [2]... 57 ix

SEZNAM TABULEK Tab. 1.1: Tabulka popisu rozložení jednotlivých pinů akcelerometru... 15 Tab. 1.2: Tabulka popisu rozložení jednotlivých pinů převodníku... 24 Tab. 1.3: Tabulka datového módu... 27 Tab. 1.4: Tabulka kontrolního registr SPCR [2]... 28 Tab. 1.5: Tabulka nastavení předděličky hodinového cyklu... 29 Tab. 1.6: Tabulka stavového registru SPSR [2]... 29 Tab. 1.7: Tabulka datového registru SPSR [2]... 30 Tab. 4.1: Stavový registr [2]... 47 Tab. 4.2: Rozložení jednotlivých bitů zásobníku [2]... 50 Tab. 4.3: Tabulka konfigurace paměti typu SRAM... 51 x

ÚVOD Cílem práce je realizace univerzální desky s mikroprocesorem pro zaznamenávání stavu RC modelu letadla během letu. Během letu je snímáno přetížení RC modelu a data jsou vysílána bezdrátově do počítače. Z důvodu kratší doby schopnosti létání RC modelů a neustálému měření při letu, nebylo u vybraných komponentů hleděno moc na spotřebu, avšak vybrané součástky jsou schopny pracovat v režimu se sníženou spotřebou a tím prodloužit svoji výdrž na baterii. Předpokládaná výdrž při aktuální konfiguraci součástek se pohybuje okolo 6 hodin provozu. Na začátku práce je popis akcelerometru, který realizuje samotné snímání přetížení RC modelu. Je zde uvedeno, na jakém principu funguje samotné snímání a v jakých modech a osách je akcelerometr schopen měřit. Dále je zde popsán převodník RS232/Wi-Fi, který zajišťuje samotné přeposílání naměřených dat do počítače. Poslední části je popsána samotná komunikace, která probíhá mezi mikrokontrolérem a akcelerometrem, přes sériové rozhrání SPI. Jsou zde uvedeny nejdůležitější registry, které jsou nutné pro samotnou komunikaci. V seznamu příloh je uvedeno výsledné zapojení celého zařízení. V příloze práce je popsán použitý mikroprocesor, který realizuje celou funkci zařízení. Jsou zde uvedeny jeho parametry, rozdělení paměti a popis jeho nejdůležitějších registrů. Změřená data, která jsou přijata počítačem, jsou následně zpracována programem Matlab. Cílem programu je vykreslit po dokončení letu a zpracování dat, grafy přetížení, zrychlení a rychlosti. 11

1 NÁVRH ZAŘÍZENÍ 1.1 Blokové schéma zařízení Navržené zařízení se skládá z několika funkčních celků, mikrokontroléru, akcelerometru a převodníku z RS232 na Wi-Fi. Princip zařízení je založen na měření telemetrických údajů a jejich zasílání do počítače přes bezdrátovou komunikaci. Na požadavek mikrokontroléru, je z akcelerometru vyčteno přetížení v jednotlivých osách, následná data jsou poslána přes mikrokontrolér do převodníku, který posílá změřené údaje do počítače. V počítači jsou údaje zpracovány pomocí programu Matlab a následně je vykreslen graf pro zrychlení, přetížení a rychlost letu RC modelu. Komunikace mezi mikrokontrolérem a akcelerometrem probíhá pomocí sběrnice SPI, která je popsána dále. Komunikace mezi mikrokontrolérem a převodníkem probíhá pomocí sériové linky. Obr. 1.1: Navržené blokové schéma 12

1.2 Akcelerometr Nedílnou součástí přípravku je i součástka zvaná akcelerometr. Není to zas tak složité zařízení, jak by se mohlo zdát a jeho využití je velmi široké. Nejvíce ho využíváme právě tam, kde je vykonáván nějaký pohyb. Akcelerometr má schopnost měřit přetížení a to převést do digitální podoby. Záleží také na typu akcelerometru, který vyžadujeme. Existují akcelerometry schopné měřit pouze ve dvou osách anebo měří všechny osy tedy X, Y a Z. Musíme si také uvědomit, zdali chceme, aby výstup z akcelerometru byl analogový, to znamená, aby se na jeho výstupu objevovala různě velká hodnota napětí v závislosti na zrychlení anebo jestli požadujeme, aby byl akcelerometr digitální a na jeho výstupu se objevila hodnota ve formě,,jedniček a nul. S akcelerometrem se setkáme například v mobilech, kde je použit pro snímání polohy mobilu, v hodinkách a nejvíce se uplatňuje v počítačové technice, kde slouží k ochraně pevných disků při pádů notebooku. V práci byl akcelerometr použit pro zaznamenávání průběhu letu modelu letadla, konkrétně k měření zrychlení, přetížení a rychlosti letadla. 1.2.1 Obecný popis akcelerometru Vybraný typ akcelerometru byl MMA7455L. Součástka je integrována do pouzdra LGA-14. Její rozměry jsou velmi malé, což ji předurčuje pro použití v zařízeních, která vyžadují menší rozměry. Vybraný typ akcelerometru je schopen měřit ve všech třech osách a naměřená data jsou vysílána v digitální podobě, jedná se tedy o akcelerometr s digitálním výstupem. Akcelerometr je také schopen měřit až ve třech různých velikostech přetížení, konkrétně jsou to 2g, 4g a 8g. Obsahuje 14 pinů, které jsou nezbytné pro funkčnost celé součástky. Akcelerometr vyžaduje poměrně malé hodnoty napětí a podporuje stand-by režim, takže je to i úsporná součástka. Blokové schéma akcelerometru a vnitřní zapojení je zde: Obr. 1.2: Blokové schéma vnitřního uspořádání akcelerometru [1] 13

1.2.2 Softwarový popis akcelerometru Typ MMA7455L obsahuje 31 registrů, které jsou nezbytné pro správnou funkčnost a činnost celého akcelerometru. Seznam registrů je uveden v katalogovém listě výrobce. Komunikaci je možné uskutečnit pomocí sběrnice SPI nebo I2C. Volba komunikace závisí pouze na daném uživateli, je tedy na něm, zda-li zvolí komunikaci přes SPI a nebo I2C. Jak komunikace probíhá pomocí sběrnice SPI je uvedeno v kapitole SPI Sériové periferní rozhrání. Přes sběrnici SPI je možné přistupovat k 28 registrům a pomocí nich můžeme daný akcelerometr ovládat anebo zjišťovat naměřené hodnoty. Akcelerometr také obsahuje vektory přerušení, které jsou především využívány v pulsním módu měření. Při samotné komunikaci s akcelerometrem je nutné si uvědomit, že při vyslání požadavku na výčet aktuálních hodnot přetížení v jednotlivých osách musíme vždy posílat požadavek jen na jednu konkrétní osu, nelze tedy posílat jeden požadavek na více os. Je také nutné při výčtu hodnoty přetížení dané osy počkat, až akcelerometr naplní posuvný registr a teprve po této době je schopen akcelerometr naměřené hodnoty přetížení poslat do mikrokontroléru. Akcelerometr dále umožňuje nastavit způsoby měření přetížení, může si vybrat z těchto způsobů měření: Measurement mode (Měřící) Level detection mode (Úrovňový) o Motion detection (Pohybový) o Freefall detection (Volný pád) Pulse detection mode (Pulsní) o Single pulse detection (Jednopulsní) o Freefall detection (Volný pád) o Double pulse detection (Dvojpulsní) V práci je akcelerometr nastaven na mód Measurement mode, tedy měřící. Uvedený mód, používá k měření přetížení všechny tři osy a měří v celém rozsahu akcelerometru. V tomto módu akcelerometr měří neustále přetížení v jednotlivých osách. Rychlost obnovování měření jednotlivých os je 125 Hz, tedy 8 ms. Dále je možné si zvolit způsob měření, máme na výběr mezi měřením absolutních hodnot přetížení, tedy v celém rozsahu nebo měřením pouze kladného nebo jen záporného přetížení. V tomto módu je též možné vypnout měření jednotlivých os, vypnutí se nastavuje pomocí registru CTL1, který se nachází na adrese $18. 14

1.2.3 Rozložení a funkce jednotlivých pinů Rozložení jednotlivých pinů je patrné z obrázku, jedná se o pohled shora, a protože je tento typ akcelerometru v SMD provedení, jsou místo klasických pinů použity pájecí plošky. Stručný popis jednotlivých pinů a jejich funkce je uveden v tabulce pod obrázkem. Obr. 1.3: Horní pohled na rozložení pinů akcelerometru Číslo pinu Značka pinu Stručný popis pinu Typ pinu 1 DVDD_IO Napájení pro digitální vstupní/výstupní piny Vstupní 2 GND Zem Vstupní 3 N/C Žádné vnitřní zapojení. Je možné jej nechat nezapojený anebo propojený se zemí. Vstupní 4 IADDR0 I 2 C adresní bit 0 Vstupní 5 GND Zem Vstupní 6 AVDD Napájení Vstupní 7 CS SPI povoleno (0), I 2 C povoleno (1) Vstupní 8 INT1/DRDY Přerušení č. 1 / Data připravena Výstupní 9 INT2 Přerušení č.2 Výstupní 10 N/C Žádné vnitřní zapojení. Je možné jej nechat nezapojený anebo propojený se zemí. Vstupní 11 N/C Žádné vnitřní zapojení. Je možné jej nechat nezapojený anebo propojený se zemí. Vstupní 12 SDO SPI Sériový výstup dat Výstupní 13 SDA/SDI/SDO I 2 C Sériový výstup dat (SDA), SPI Sériový Otevřená vstup dat (SDI), 3 vodičové rozhrání zátěž/vstupní/výstupní Sériových výstupních dat (SDO) 14 SCL/SPC I 2 C a SPI Sériové hodiny Vstupní Tab. 1.1: Tabulka popisu rozložení jednotlivých pinů akcelerometru 15

1.2.4 Popis funkce akcelerometru Princip funkce akcelerometru je založen na snímání kapacitně citlivých buněk označovaných jako g-cell buňky. Dále jsou zde přítomny obvody pro úpravu signálu ASIC. Celý citlivý prvek je hermeticky uzavřen. G-cell buňka je založena na mechanické struktuře vytvořené z polovodičových materiálů (polysilicon). Zrychlení je indikováno pomocí změny kapacity, kdy při pohybu dojde k vychýlení pohyblivé části z její klidové polohy a tím ke změně kapacity. Struktura g-cell buňky je uvedena na obrázku: Obr. 1.4: Zjednodušený model g-cell buňky Chceme-li zjistit jaká je kapacita mezi destičkami, lze využít následující ho vztahu: C S ε d = (1.1) C Kapacita mezi deskami [F] ɛ - Permitivita prostředí kondenzátoru [F*m -1 ] S Plocha destiček [m 2 ] d Vzdálenost jednotlivých destiček [m] Obvody ASIC používají techniku spínaných kondenzátorů k měření kapacity g-cell buňky. Data o přetížení se získávají porovnáváním kapacit dvou g-cell buněk, jedná se o samotnou měřící buňku a o buňku referenční. Rozdíl jejich kapacit je následně převeden A/D převodníkem do digitální podoby. Obvody ASIC mají filtry, kterými se dá dále upravit signál k získání vysoké úrovně digitálního výstupního napětí úměrného velikosti zrychlení. 16

1.2.5 Realizace akcelerometru Před samotným zapojením a zapájením do desky je nutné si uvědomit, jak daný akcelerometr vlastně funguje. Jak je možné vyčíst z katalogového listu, tak nikdy nedosáhneme toho, aby u akcelerometru byly všechny osy nulové, vždy bude jedna z os vykazovat nějakou počáteční hodnotu, jestliže je akcelerometr v klidovém stavu. V práci, po zapojení je výchozí osa Z, která by měla ve výchozí poloze a zapojení indikovat hodnotu 0x3F. Výsledné zapojení akcelerometru a celé desky je uvedeno v kapitole Obvodová realizace. 1.3 Převodník Matchport b/g Použitý převodník je zde využit jako komunikační prvek mezi samotným mikrokontrolérem a počítačem, který je na tento převodník připojen. Komunikace mezi mikrokontrolérem a převodníkem probíhá po sériové lince, komunikace mezi počítačem a převodníkem probíhá pomocí bezdrátového připojení. V práci je převodník nastaven takto: o IP adresa: 192.168.1.1 o Maska podsítě: 255.255.255.0 o Rozhrání komunikace: Bezdrátové o Vysílací kanál převodníku: 11 o Typ sériové komunikace: RS232 o Nastavení pravidel komunikace sériové linky: 8 bit, 1 stop bit, bez parity o Komunikační port pro sériovou linku převodníku: 9090 o Režim komunikace: Ad-Hoc o Jméno sítě: VUTRC o Zabezpečení: Není o Bez DHCP o IP adresa počítače, na který jsou data posílána: 192.168.1.2 o Komunikační port pro sériovou linku počítače: 9091 o Typ komunikačního balíčku: UDP o Typ Datagramu: 01 o Rychlost sériové linky: 9600 Baud 17

1.3.1 Popis převodníku Převodník komunikuje po sériové licence typu RS232, avšak podporuje ještě komunikaci po sériové lince typu RS485. Rychlost komunikace sériové linky je možné nastavit až do 921 kbps. Zvolený převodník umožňuje propojení s počítačem, buď pomocí bezdrátového připojení, které je uskutečněno pomocí protokolů IEEE 802.11b a IEEE 802.11g a nebo pomocí ethernetového připojení (LAN) s rychlostí 10/100 Mbps. Bohužel, však tento převodník neumožňuje, aby byly obě připojení zároveň aktivní. Ve výchozím stavu je aktivní bezdrátové připojení. Převodník též obsahuje osm konfigurovatelných pinů označených jako CP1-8, těmto pinům je možné přiřadit různé speciální funkce, jako například restartování do výchozího továrního nastavení apod. K převodníku je možné připojit až dvě sériové linky. Pro správnou funkčnost převodníku je nutné jej napájet 3,3V napětí. Při aktivní bezdrátové komunikaci odebírá převodník kolem 350 ma, pokud komunikace neprobíhá, klesne spotřeba proudu na 160 ma. 1.3.2 Softwarový popis převodníku přes webové rozhrání V bezdrátovém režimu umožňuje převodník zvolit dva typy sítě. Prvním typem je Ad- Hoc, kdy se převodník chová jako server a je možné se na něj připojit z počítače. Druhým typem je Infrastructure, v tomto režimu je převodník schopen se sám připojit do již vytvořené bezdrátové sítě, avšak je nutné převodník nejdřív pro tuto síť nastavit. V režimu Ad-Hoc umožňuje převodník zabezpečit komunikaci pomocí WEP šifrování, pokud je převodník v režimu Infrastructure, umožňuje zabezpečit komunikaci pomocí WEP, WPA a WPA2 šifrování. V tomto případě však není nutné použít zabezpečení komunikace pomocí šifrování, protože nejsou po bezdrátové síti přenášena žádná důležitá, popřípadě zneužitelná data, dále je možné nastavit číslo kanálu, ve kterém převodník vysílá. Převodník je možno konfigurovat třemi způsoby a to buď pomocí připojení bezdrátového, ethernetového a nebo pomocí sériové linky. Pokud se rozhodneme nastavovat převodník pomocí sériové linky, je možné pro tyto účely využít například programu Terminal, který zajišťuje komunikaci mezi počítačem a převodníkem po sériové lince v reálném čase. V případě nastavování převodníku pomocí bezdrátového a nebo ethernetového programu, je možné využít programu dostupného na stránkách výrobce a nebo pomocí běžného internetového prohlížeče. Převodník obsahuje webové rozhrání, ve kterém je možné ho pohodlně nakonfigurovat do požadovaného nastavení, abychom se však dostali do webového rozhrání, je nutné znát IP adresu převodníku. 18

Obr. 1.5: Webové rozhrání převodníku Network [8] Po přihlášení do webového rozhrání převodníku je první položka Network (Síť). Pod touto položkou je možné nastavit, s jakým rozhráním bude převodník pracovat, zda-li v bezdrátovém a nebo ethernetovém. Dále je možné nastavit, aby převodník měl statickou adresu, která je neměnná, a nebo dynamickou, tedy aby převodníku byla adresa přidělena. Posledním nastavením je možnost nastavení rychlosti komunikace pro ethernetové rozhrání, případě zatržení položky Auto Negotiate dojde k automatickému zjištění rychlosti. Pod položkou Server je možné nastavit heslo pro komunikaci přes rozhrání Telnet. Další důležitou volbou je TCP Keepalive, který nám zajišťuje, jak dlouho bude převodník čekat, než zkusí zkontrolovat připojení. V případě, že připojení není aktivní, ukončí převodník komunikaci. Další důležitou volbou je CPU Perfomance Mode, který nám zajišťuje různý takt procesoru převodníku. Pokud je na Low (nízký), tak odezva převodníku je pomalejší, ale za to převodník má menší spotřebu, pokud je na High je situace opačná. Frekvence taktu CPU jsou následující: o Low 26 MHz o Regular 48 MHz o High 88 MHz Další položkou je Host List, ve kterém jsou uvedena zařízení, ke kterým se má převodník připojovat. Ve výchozím nastavení je Host List deaktivován a k převodníku se může připojit jakékoliv zařízení. Pokud je Host List aktivován a není k němu připojeno žádné zařízení, tak převodník projíždí jednotlivé položky Host Listu a kontroluje k němu připojená zařízení do té doby, dokud není nalezeno zařízení, které odpovídá jedné z položek Host Listu. 19

Převodník je schopen komunikovat až s dvěma sériovými linkami. Linky je možné nastavit pomocí webového rozhrání. Můžeme nastavit typ protokolu RS232 nebo RS485, dále je možné nastavit komunikační rychlost sériové linky, počet bitů, paritu a počet stop bitů. Dále je možné zapnout tzv.,,balíčkování (Enable Packing), to je možné využít například, když posíláme více dat najednou. Poslední položkou je vymazání vstupního a výstupního zásobníku, při různých možnostech nastavení. Další možností nastavení pro sériovou linku je způsob, pomocí kterého komunikačního protokolu budou data posílána do počítače. V práci je využita první možnost a to protokol UDP. Další volbou v nastavení je tzv.,,datový typ. Pomocí něj je možné nastavit, s kolika a jakými počítači bude převodník komunikovat. Podle nastavení datového typu je možné nakonfigurovat zbytek nastavení, jedná se konkrétně o IP adresu a komunikační port cílového počítače, nastavení komunikačního portu samotného převodníku. Převodník umožňuje posílat naměřená data současně až na patnáct počítačů, které jsou na něj současně připojeny. Aby bylo možné data posílat na více počítačů současně, je nutné definovat jejich IP adresy do tabulky adres. Druhou možností je pomocí protokolu TCP. U tohoto komunikačního protokolu je možné nastavit navíc oproti typu UDP ještě ochranu pomocí hesla. Toto heslo je vyžadováno vždy při příchozí komunikaci. Dále je zde možné povolit komunikaci pomocí rozhrání telnet. U tohoto rozhrání je můžeme také nastavit tzv.,,list uživatelů (Use Hostlist). V případě, že je list uživatelů povolen, převodník tento list prochází do té doby, dokud nenajde odpovídající adresu IP počítače, po té hledání ukončí. V případě, že dojde k odpojení, převodník začne znovu vyhledávat odpovídající adresu IP. Pokud dojde k výpadku spojení mezi převodníkem a počítačem, je možné nastavit, po jakou dobu bude převodník čekat a snažit se znovu obnovit spojení. Jednou z posledních možností konfigurace je nastavení chování LED diody, máme na výběr mezi trvale zhasnutou LED diodou anebo mezi blikající LED diodou po dobu připojení počítače. Předposlední možností nastavení převodníku je nastavení Wi-Fi sítě. První je SSID, to určuje jméno, pod kterým je vidět vytvořená síť pomocí převodníku. Dále volíme typ sítě a to mezi Ad-Hoc a nebo Infrastructure, více k typu sítě je napsáno na začátku kapitoly 1.3.2. V pokročilých nastaveních je možné upravit maximální rychlost vysílání dat až na 54 Mbps, což odpovídá maximální rychlosti protokolu IEEE 802.11g. Dále máme možnost nastavit minimální rychlost vysílaných dat, její minimální hodnota je 1 Mbps. V případě výpadku nebo ztráty spojení, je možné nastavit počet špatně vyslaných paketů, pokud dojde k překročení této hodnoty, pokusí se převodník znovu navázat spojení. Poslední důležitou položkou je tzv.,,správce napájení rádia (Radio power management). Pokud je správce povolen, dojde ke snížení spotřeby, avšak naroste přístupová doba. Správce napájení rádia, není přístupný pro Ad-Hoc mód. 20

Poslední položkou je nastavení konfigurovatelných pinů. K dispozici jich je celkem 8. U každého pinu je možné zvolit jeho směr komunikace, zdali je vstupní anebo výstupní. Další položkou je Trigger input, ten slouží pro zaslání upozornění na emailovou schránku. Poslední možností nastavení pro jednotlivé piny je, při jaké úrovni napětí na daném pinu dojde ke spuštění nadefinované funkce. Pokud je zvolena úroveň Low, dojde ke spuštění funkce tehdy, je-li daný pin spojen se zemí. Při úrovni High je tomu naopak. Mezi nejdůležitější funkce patří: o Reset do výchozího nastavení pro bezdrátové rozhrání o Reset do výchozího nastavení pro ethernetové rozhrání V případě, že není možné navázat spojení s převodníkem je možné jej uvést do továrního nstavení. o Diagnostika pomocí LED V případě poruchy dojde k rozblikání LED, pomocí kterého je možné určit typ poruchy, tabulka uvedená s jednotlivými poruchami je uvedena v datasheetu převodníku. o Volba RS485 Umožňuje vybrat typ komunikace sériové linky a to buď RS232 a nebo RS485 1.3.3 Problémy s převodníkem přes bezdrátové rozhrání Během programování a nastavení převodníku se objevila komunikační chyba. Chyba se týká komunikace mezi převodníkem a některými druhy bezdrátových karet. V mém případě nastala chyba při připojení notebooků s bezdrátovou kartou Intel Wi-Fi Link 1000BGN a 5100 AGN k převodníku. Na jednom je nainstalován Windows 7 a na druhém byl pokusně nainstalován Windows 8. Oba notebooky měly nainstalované nejnovější ovladače od výrobce. Chyba se projevovala na obou noteboocích stejně. Chyba spočívala v tom, že notebook viděl bezdrátovou síť vytvořenou převodníkem, avšak při prvním pokusu o spojení došlo k připojení na převodník, ale již dále nedocházelo k vzájemné komunikaci a nebylo možné se dostat do webového rozhrání převodníku. Při odpojení od převodníku a druhém pokusu o připojení, již odmítal se notebook připojit a vybíhalo chybové hlášení o nezdařeném připojení. Problém se vyřešil přeinstalováním ovladačů od bezdrátové karty. Zkoušením předchozích revizí ovladačů bylo zjištěno, že poslední revizí, se kterou je převodník s notebookem schopen komunikovat je revize uvolněná do konce ledna roku 2011, konkrétně se jedná o verzi ovladače 13.5.0.6, po této době se mi již komunikaci nepovedlo rozchodit. Jestli se chyba vyskytuje i u bezdrátových karet jiných výrobců, bohužel nemám možnost odzkoušet. 21

1.3.4 Softwarový popis převodníku přes sériovou linku Kromě konfigurace převodníku přes webové rozhrání je možné nastavit převodník i přes sériovou linku. Ke konfiguraci převodníku byl využit volně dostupný program Terminal ve verzi 1.9, který je právě určen pro komunikaci přes sériovou linku v reálném čase. Pro správnou komunikaci je nutné nastavit také komunikační pravidla, která jsou následující: o Komunikační rychlost 9600 baud o Počet posílaných bitů 8bit o Bez parity o Stop bity 1 stop bit o Bez průběžné kontroly Pokud jsou správně nastavena komunikační pravidla, je možné se spojit s převodníkem. Nejdříve je nutné převodník restartovat a přes komunikační program k němu poslat do 5 vteřin, než začne převodník načítat zaváděcí program, sekvenci tří malých písmen x. Pokud převodník zaznamená sekvenci, zobrazí se následující výzva: Obr. 1.6: Sériové rozhrání převodníku vstup do setup menu [8] Dále je nutné potvrdit vstup do setup menu pomocí klávesy enter ( u programu Terminal se jedná o zaškrtnutou položku +CR, kdy dochází k automatickému odeslání klávesy enter ). Pokud převodník nezaznamená stisknutí klávesy enter, objeví se sekvence znaků,,!?! a převodník začne načítat zaváděcí program. V opačném případě dojde k výpisu jaké je aktuální nastavení převodníku a na konci se vypíše následující menu: Obr. 1.7: Sériové rozhrání převodníku setup menu [8] 22

Jak je patrné z obrázku, položky v setup menu jsou podobné jako položky ve webovém rozhrání. Pro vstup do jakékoliv položky v setup menu je nutné zadat číslo a potvrdit klávesou enter. Například pro nastavení bezdrátové sítě je nutné vložit číslo 4 a potvrdit klávesou enter. Další nastavení je podobné a nebo stejné jako při nastavení pomocí webového rozhrání. Převodník se postupně například zeptá na následující sekvenci nastavení: Obr. 1.8: Sériové rozhrání převodníku nastavení položek [8] Při nastavování IP adresy převodníku se jednotlivé části adresy nastavují postupně a vždy se jednotlivá část musí potvrdit klávesou enter. Jak je dále patrné z obrázku, u jednotlivých položek jsou závorky, v těchto závorkách jsou uvedeny aktuální hodnoty nastavení. Pro ukončení nastavení převodníku je nutné použít položky označené pod čísly 8 a 9, kdy v případě položky 8 nedojde k uložení nastavených změn v převodníku. Po potvrzení dojde k restartování převodníku a následnému zavádění programu. 1.3.5 Rozložení jednotlivých pinů převodníku Pin Název Funkce Pin Název Funkce 1 RESET IN Aktivní při nízké úrovni. Min. doba pro spuštění je 2ms. 2 GND Zem 3 NC Není zapojen 4 NC Není zapojen 5 TXD1 7 RTS1 9 RXD1 Vysílání dat, 1.sériová linka, port 0 Požadavek pro vyslání dat pro 1.sériovou linku Příjem dat, 1.sériová linka, port 0 6 TX+ 8 TX- Ethernet vysílání + Ethernet vysílání - 10 TXCT Ethernet centrální vodič 23

11 CTS1 Potvrzení pro vyslání dat pro 1.sériovou linku 12 RXCT pro vysílání Ethernet centrální vodič pro příjem 13 CP1 Konfigurační pin 14 RX+ Ethernet příjem + 15 CP2 Konfigurační pin 16 RX- Ethernet příjem - 17 CP3 Konfigurační pin 18 ELED1 Ethernet link 19 CP4 Konfigurační pin 20 ELED2 Ethernet aktivita 21 TXD2 Vysílání dat, 2.sériová linka, port 1 22 WLAN LED Stavová LED pro bezdrátovou síť 23 RTS2 25 RXD2 27 CTS2 Požadavek pro vyslání dat pro 2.sériovou linku Příjem dat, 2.sériová linka, port 1 Potvrzení pro vyslání dat pro 2.sériovou linku 24 NC Není zapojen 26 NC Není zapojen 28 RES 29 CP5 Konfigurační pin 30 RES Rezervován pro budoucí použití Rezervován pro budoucí použití 31 CP6 Konfigurační pin 32 NC Není zapojen 33 CP7 Konfigurační pin 34 NC Není zapojen 35 CP8 Konfigurační pin 36 NC Není zapojen 37 3.3V Napájení 38 NC Není zapojen 39 GND Zem 40 NC Není zapojen Tab. 1.2: Tabulka popisu rozložení jednotlivých pinů převodníku 24

1.4 SPI Sériové periferní rozhrání Jedná se o základní rozhrání, které nám umožňuje komunikaci mezi jednotlivými součástkami. Typickým příkladem takové komunikace je třeba komunikace mezi mikroprocesorem a nějakou součástkou. 1.4.1 Popis rozhrání SPI Obr. 1.9: Blokové schéma vnitřního uspořádání SPI [2] 25

Sériové periferní rozhrání umožňuje vysoko-rychlostní synchronní přenos dat mezi mikroprocesorem ATMEGA64A a ostatními zařízeními. Celý systém sběrnice SPI, obsahuje dva posuvné 8 bitové registry a hlavní (master) generátor hodinového cyklu. SPI master začíná komunikační cyklus tím, že nastaví pin Slave select (SS ) do nízké úrovně. Master a Slave připraví data, která budou poslána, do posuvných registrů a Master začne generovat potřebné hodinové pulsy na pinu SCK, které jsou nutné pro uskutečnění výměny dat. Data z Masteru do Slave jsou vždy vyslána přes pin Master Out (výstupní) Slave in (vstupní) (MOSI). Ze zařízení Slave jsou odeslána data do zařízení Master přes pin Master in Slave out (MISO). Po každé uskutečněné komunikaci je zařízení Slave synchronizováno nastavením vysoké úrovně na pinuss. Pokud je mikroprocesor nastaven jako Master, sběrnice SPI, nemá automatickou kontrolu nad pinem SS. Musí být proto ošetřen v uživatelském programu, předtím než může začít komunikace. Pokud je to vyřešeno, zápisem bytu do datového registru sběrnice SPI, začne generování hodinové cyklu a zařízení master pošle 8bitů do zařízení Slave. Po odeslání těchto bitů se zastaví generátor hodinového cyklu a nastaví bit SPIF do logické 1 ve stavovém registru sběrnice SPI. Bit SPIF nám značí příznak dokončení přenosu. Pokud je povolen bit SPIE v registru SPCR, je vyvoláno přerušení. Zařízení Master může pokračovat v komunikaci, jestliže zapíšeme do registru SPDR a nebo nastavíme vysokou úroveň na pinu SS. Poslední příchozí byte je zachycen v registru zásobníku pro pozdější použití. Pokud je mikroprocesor nastaven jako Slave, je sběrnice SPI neaktivní do doby než je na pinu SS přivedena vysoká úroveň. V tomto stavu je program schopen aktualizovat obsah datových registrů, registru SPDR, ale data nejsou vyslána do doby, dokud není nastaven pin SS do nízké úrovně. Po odeslání těchto bitů se zastaví generátor hodinového cyklu a nastaví bit SPIF do logické 1 ve stavovém registru sběrnice SPI. Bit SPIF nám značí příznak dokončení přenosu. Pokud je povolen bit SPIE v registru SPCR, je vyvoláno přerušení. Poslední příchozí byte je zachycen v registru zásobníku pro pozdější použití. Systém sběrnice SPI, má jednonásobný zásobník na straně vysílaného signálu a dvojnásobný zásobník na straně příjmu signálu. To znamená, že byte, který je vysílaný, nemůže být zapsán do datového registru SPI předtím, než je dokončen celý posílací cyklus. Přijímaný byte, musí být přečten z datového registru SPI předtím, než přijde byte následující, jinak dojde ke ztrátě prvního bytu. Obr. 1.10: Blokové schéma komunikace mezi zařízeními Master a Slave [2] 26

1.4.2 Mód SLAVE Pokud je SPI nastaven jako Slave, potom pin SS je vždy vstupní. Pokud je na pinu SS nízká úroveň, sběrnice SPI je aktivní a pin MISO je nastaven výstupní, pokud je nastaven uživatelem. Všechny ostatní piny jsou vstupní. Pokud je na pinu SS vysoká úroveň, sběrnice SPI je neaktivní, tudíž nepřijímá žádná data a zároveň zařízení Slave okamžitě resetuje vysílací a přijímací logiku a přijímací posuvný registr. 1.4.3 Mód MASTER Je-li SPI nastaven jako Master, to znamená, že bit MSTR v registru SPCR má hodnotu log. 1, může si uživatel zvolit směr pinu SS. Pokud je pin SS nastaven jako výstupní, nemá vliv na sběrnici SPI a je považován za pin pro řízení SS pinu zařízení Slave. Pokud je pin SS nastaven jako vstupní, musí být na pinu udržována vysoká úroveň, která je nezbytná pro Master SPI operace. Pokud se však stane, že na pinu SS bude nízká úroveň, může to systém SPI považovat jako pokus o navázání komunikace od jiného zařízení Master a může začít vysílat data jako zařízení Slave. Existují následující dvě možnosti k odstranění této nežádoucí funkce: MSTR bit v registru SPCR musí mít hodnotu log. 0 a SPI se stane zařízením Slave. Výsledkem této operace je, že se piny MOSI a SCK stanou vstupními. Příznakový bit SPIF v registru SPSR je nastaven do hodnoty log. 1 a pokud je povoleno přerušení od sběrnice SPI a zároveň je povoleno globální přerušení, dojde ke spuštění obsluhy přerušení. 1.4.4 Mód DATOVÝ Existují čtyři kombinace SCK (systémových hodin) fáze a polarity, které jsou zjišťovány kontrolními bity CPHA a CPOL. Tyto stavy uvádí následující tabulka: CPOL=0, CPHA=0 CPOL=0, CPHA=1 CPOL=1, CPHA=0 CPOL=1, CPHA=1 Náběžná hrana Sestupná hrana SPI mód Vzorek (roste) Systém (klesá) 0 Systém (roste) Vzorek (klesá) 1 Vzorek (klesá) Systém (roste) 2 Systém (roste) Vzorek (klesá) 3 Tab. 1.3: Tabulka datového módu 27

1.4.5 Popis registrů SPI kontrolní registr SPCR Tab. 1.4: Tabulka kontrolního registr SPCR [2] Bit 7 SPIE: SPI Interrupt Enable ( Povolení přerušení SPI) Je-li tento bit v log. 1 je vyvoláno přerušení, za předpokladu že je bit SPIF v log. 1 v registru SPSR a pokud je povoleno globální přerušení. Bit 6 SPE: SPI Enable (Povolení SPI) Pokud je bit v log. 1 je sběrnice SPI povolena, tento bit musí být vždy povolen, chcemeli provádět operace s SPI. Bit 5 DORD: Data Order (Uspořádání dat) Pokud je bit v log. 1 jsou nejdříve vysílány nejméně významné bity. Pokud je bit v log 0. jsou nejdříve vysílány nejvíce významné bity. Bit 4 MSTR: Master/Slave select (Výběr Master/slave) Pokud je bit v log. 1 pracuje SPI v režimu Master, pokud je bit v log. 0 pracuje SPI v režimu Slave. Pokud je pin SS nastaven jako vstupní a jeho vstupu je nízká úroveň během nastavování bitu MSTR do hodnoty log. 1, bit MSTR bude vynulován a příznakový bit SPIF v registru SPSR bude v hodnotě log. 1. Uživatel musí znovu nastavit bit MSTR a znovu povolit režim Master. Bit 3 CPOL: Clock polarity (Hodinová polarita) Pokud je bit v log. 1, pak na pinu SCK je nastavena vysoká úroveň. Pokud je bit v log. 0, je pak na pinu SCK nastavena nízká úroveň. Bit 2 CPHA: Clock phase (Fáze hodin) Nastavení fáze hodin detekuje, zdali je vzorek na náběžné hraně anebo na sestupné hraně SCK. Pokud je v log.0 je vzorek na náběžné hraně, pokud je bit v log.1 je vzorek na sestupné hraně SCK. 28

Bit 1,0 SPR1, SPR0: SPI Clock Rate Select (Nastavení předděličky hodinového cyklu) Tyto dva kontrolní byty určují velikost předděličky hodinového cyklu. Tyto 2 bity jsou aktivní, pouze pokud zařízení pracuje v modu Master, v modu Slave nemá nastavení bitů efekt na hodinový cyklus. Nastavení předděličky je uvedeno v následující tabulce: Tab. 1.5: Tabulka nastavení předděličky hodinového cyklu SPI stavový registr SPSR Tab. 1.6: Tabulka stavového registru SPSR [2] Bit 7 SPIF: SPI Interrupt Flag (Příznakový bit přerušení) Příznakový bit SPIF je nastaven pokaždé do hodnoty log. 1, když dojde k dokončení sériového přenosu. Je také vyvoláno přerušení od SPI, pokud je povoleno globální přerušení. Bit 6 WCOL: Write COLlision flag (Příznakový bit kolizního zápisu) Bit WCOL je nastaven do hodnoty log. 1 tehdy, dojde-li během přenosu k zápisu do datového registru SPDR. 29

Bit 0 SPI2X: Double SPI Speed Bit (Dvourychlostní bit SPI) Je-li hodnota tohoto bitu v log. 1, dojde k dvojnásobnému zvýšení frekvence SCK v Master modu. To znamená, že minimální perioda SCK bude dvě periody hodinového signálu CPU. Pokud zařízení je v režimu Slave, je garantovaná rychlost nejvýše fosc/4 a méně. SPI stavový registr SPSR Tab. 1.7: Tabulka datového registru SPSR [2] Datový registr je určen pro přenos mezi souborovým registrem a posuvným registrem SPI. 30

2 OBVODOVÁ REALIZACE 2.1 Popis návrhu schématu Práce se skládá ze tří hlavních částí. První částí je mikrokontrolér, který je zde použit jako řídící prvek celého zapojení. Použitý mikrokontrolér je od firmy Atmel a jedná se o model ATMEGA64A v pouzdře TQFP64 určeného pro SMD montáž. Další částí je akcelerometr, který je zde použit pro měření přetížení, jedná se o typ MMA7455L v pouzdře LGA-14 určeného také pro SMD montáž. Poslední částí je převodník z RS-232 na Wi-Fi. Použitý převodník je výrobkem firmy Lantronix, jedná se o typ Matchport b/g. Rozměry desky jsou určeny především použitým převodníkem, který je největší součástkou. Při návrhu zapojení bylo potřeba řešit několik věcí. Především komunikaci mikrokontroléru s akcelerometrem, kde je použita sběrnice SPI. Pro sběrnici SPI je u mikrokontroléru vyhrazen port B. Pro zavedení programu do mikrokontroléru slouží rozhrání JTAG, které je zapojeno do portu F. Pro vytvoření hodinových pulzů je použit 12 MHz oscilátor, který je ve formě integrovaného obvodu s nastavenými parametry a je připojen na piny XTAL1 a XTAL2 mikroprocesoru. Zapojení bylo doplněno stabilizátorem napětí zajišťující stálé napětí 3,3V pro všechny obvody. O stavu celého zapojení nás informují tři LED diody, jedna dioda informuje, zda-li je obvod napájen, druhá nás informuje formou blikání o posílání dat do převodníku a poslední dioda je u převodníku a informuje, zda-li je někdo na převodník připojen, pokud ano, tak dioda svítí, pokud ne je dioda zhasnutá. Dále tato dioda informuje o chybách převodníku, různou délkou svitu. Význam těchto chybových hlášení je uveden v datasheetu výrobce. Desku plošných spojů jsem navrhl pomocí programu EAGLE. Při návrhu desky plošných spojů šlo o snahu, aby obvodové propojení bylo ze strany součástek a napájení součástí bylo na spodní straně desky. Při kontrole parametrů obvodu výpočtem bylo zjištěno, že ztráta na stabilizátoru nepřekračuje hodnotu 0,8 W a podle doporučení výrobce není nutné použít chladič. Druhé schéma je určeno pro zapojení převodníku desky, která umožňuje jeho konfiguraci přes sériové rozhrání. Konfigurace přes sériovou linku je vhodná, pokud dojde ke špatnému nastavení převodníku a nelze se již k jeho konfiguraci dostat jiným způsobem. Pro přizpůsobení sériové linky převodníku a COM portu počítače byl použit převodník MAX3232CPE. Na této desce byl použit stabilizátor TS1084, který zajišťuje napětí 3,3V pro celou desku. Zapojení je doplněno tlačítkem pro restartování převodníku. 31

2.2 Schéma výsledného zapojení Schéma zapojení výsledného výrobku 32

2.3 Schéma zapojení pro sérivou komunikaci Schéma zapojení pro konfiguraci převodníku RS232/Wi-Fi po sériové lince 33

3 ŘÍDÍCÍ SOFTWARE Celý obslužný program je rozdělen do tří částí. První část je obslužný program pro mikrokontrolér, který zajišťuje samotnou komunikaci a předání naměřených dat mezi akcelerometrem a převodníkem. Druhá část obslužného programu je skript,,mereni běžící na počítači v programu Matlab, který přijímá naměřená data přes bezdrátovou síť a po ukončení letu uloží naměřená data do souboru, který si uživatel sám pojmenuje. Třetí část obslužného programu je také realizována pomocí programu Matlab a stará se o samotný výpočet naměřených hodnot. Při spuštění skriptu,,vypocet, se nejdříve program zeptá na jméno souboru a pokud je soubor nalezen, dojde k jeho zpracování, pokud soubor nalezen není v adresáři, program zahlásí chybové hlášení o nenalezení příslušného souboru. 3.1 První část obslužného programu Prvním nutným krokem je samotná inicializace jednotlivých zařízení. U mikrokontroléru jde především o nastavení přerušení, nastavení módu komunikace a nastavení I/O portů. U akcelerometru nastavujeme typ modu, ve kterém akcelerometr bude měřit, v práci je zvoleno přetížení 8g. Nastavení registrů pro ukládání hodnot a definování typu měření, který je v práci zvolen na mód nepřetržitý, jedná se o tzv. Measurement mód, více k tomuto typu je uvedeno v kapitole 1.2.2. Nastavení akcelerometru probíhá pomocí sběrnice SPI. Převodník není nutné inicializovat. Po zapnutí se však začne převodník inicializovat sám a to do posledního známého stavu, nastavení je indikováno blikající LED diodou, která po skončení samotné inicializace zhasne. V případě, že je někdo na převodník připojen LED dioda svítí. Po inicializaci se program dostane do nekonečné smyčky, kde probíhá resetování watchdogu a kontroluje se, jestli bit en_usart je v jedničce. V případě, že je bit en_usart je v 1, je vyvolána funkce putchar, která nejdříve zakáže jakékoliv přerušení, vyšle po sériové lince naměřenou hodnotu přetížení osy X a následně opět povolí přerušení a navrátí se zpět do nekonečné smyčky. Po úspěšném odeslání osy X dojde k vyvolání přerušení sériovou linkou, kdy jsou odeslány zbývající osy, tzn. Y a Z a poté dojde opět k návratu do nekonečné smyčky. Pokud bit en_usart není v 1, čekáme na spuštění přerušení od časovače. V případě přerušení od časovače je vyslán požadavek po sběrnici SPI do akcelerometru na získání aktuálního přetížení v jednotlivých osách a dojde k nastavení bitu en_usart do 1 a ke změně stavu LED diody indikující získání dat. 34

Start Inicializace mikrokontrolé ru Inicializace akcelerometru Inicializace XPORT While (1) Časovač >0,2s Ano Ne Ne Reset Watchdog Komparace časovače Pokud en_usart=1 Ano Funkce putchar 35

Funkce putchar Přerušení od sériové linky Zákaz všech přerušení Pokud je tx_counter<3 Vyslání osy X do převodníku Povolení všech přerušení Ano Odeslání os Y a Z Ne RET RET Obr. 3.1: Vývojový diagram pro měření a posílání naměřených dat pro mikrokontrolér 3.2 Druhá část obslužného programu Druhou částí je program, který je v počítači a přijímá data od převodníku pomocí bezdrátového rozhrání. Program běží v nekonečné smyčce a kontroluje vstupní data. Pokud data přichází, dochází k jejich zaznamenávání. V případě, že je však komunikace ukončena, dojde k porušení podmínky, protože není splněna podmínka daného počtu přijatých prvků, v tomto případě tří. Dojde k ukončení smyčky a program vyzve uživatele, aby si pojmenoval soubor, do kterého se uloží naměřená data. Následně dojde k ukončení komunikace a program se ukončí s hlášením, že uložení bylo úspěšné. 36

Start Zaznamenání času Spuštění komunikace s převodníkem While (1) Pokud se count 3 Ne Zazname návání hodnot Ano Ukončení smyčky Dotaz na jméno souboru Jméno souboru Uložení času a neměřných hodnot do souboru Uzavření komunikace Uložení bylo úspěšné Konec Obr. 3.2: Vývojový diagram pro přijímání naměřených dat pro počítač, programem Matlab 37

3.3 Třetí část obslužného programu Třetí část obslužného programu nám zajišťuje výpočet jednotlivých požadovaných veličin a to konkrétně zrychlení, přetížení a rychlosti. Po spuštění skriptu vyzve program, abychom zadali jménu souboru pro otevření. Po otevření se v programu vypíše, v kolik hodin a kdy byl let uskutečněn. Poté dojde k výpočtu jednotlivých veličin pomocí cyklů a po skončení cyklů dojde vždy k vykreslení grafu s jednotlivou veličinou. Pokud vše proběhne v pořádku, zobrazí program za každou částí výpočtu hlášku o úspěšném dokončení. Po vypočtení všech tří veličin je program ukončen. Obr. 3.3: Vývojový diagram pro zpracování naměřených dat pomocí programu Matlab 38

4 ZÁVĚR Bakalářská práce vznikla za účelem vytvoření univerzálního zařízení pro snímání stavu RC modelu letadla během letu a odeslání naměřených dat do počítače v reálném čase. Po uvážení a doporučení vedoucího práce jsem zvolil akcelerometr MMA7455L, který tvoří jeden z hlavních obvodů práce. Dalším důležitým obvodem je převodník z RS232 na WiFi, který zaručuje bezdrátový přenos dat do počítače. Jeho nevýhoda je ovšem pořizovací cena, která je pro vybraný model poměrně vysoká. V práci je důkladně popsán akcelerometr, mikroprocesor, převodník a sběrnice SPI tak, aby čtenář pochopil základní funkci a princip těchto zařízení. Samotné výsledné zapojení je uvedeno v příloze. Při vytváření výrobku nebyla zahrnuta možnost, že může dojít k nesprávnému nastavení převodníku a tím pádem k jeho nefunkčnosti, pokud dojde k tomuto stavu, je možné využít dvě cesty řešení. První cesta je uvedení převodníku zpět do původního nastavení pomocí konfigurovatelného pinu, na kterém je nastavena funkce továrního obnovení. Ovšem, aby byla tato funkce využitelná, musí být daný pin ošetřen již při vytváření desky, což však není zahrnuto v této práci. Proto je nutné v případě poruchy využít druhé řešení a tím je uvedení převodníku do původního nastavení pomocí sériové linky. Pro toto řešení však bylo nutné navrhnout další samostatnou desku. Největší část na obou deskách zabírá samotný převodník. Obě dvě desky jsou napájeny stabilizátory s výstupním napětím 3,3V, které je nutné dodržet, protože jej vyžaduje samotný převodník. Napájení je zajištěno pomocí čtyř tužkových baterií velikosti AA, případě desky, která je umístěna na RC modelu letadla, druhou desku je možné napájet díky svorkám různými zdroji napětí, například 5V napájecím zdrojem. Samotný obslužný program je rozdělen na tři části. První část je program pro obsluhu mikrokontroléru a pro zajištění poslání dat pomocí převodníku. Druhá část je skript běžící v Matlabu, který zaznamenává hodnoty posílané převodníkem. Poslední třetí část se stará o samotný výpočet. Bylo vhodnější rozdělit program pro zaznamenání hodnot a následný výpočet do dvou celků ze dvou důvodů. Prvním důvodem je, že kdyby byly hodnoty hned počítány a vykresleny do grafu, mohlo by docházet k chybám v případě, že by program nestíhal při náročnějších výpočtech. Druhým důvodem je, že uživatel má možnost si otevřít již dříve uskutečněný let. Výstupem práce jsou grafy s veličinami přetížení, zrychlení a rychlosti, které jsou vypočítány a následně vykresleny pomocí programu Matlab. 39

LITERATURA [1] Freescale [online]. 2004-2011 [cit. 2011-12-03]. MMA745xL Product Summary Page. Dostupné z WWW: <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=mma745xl&webp ageid=1084288158625737424209&nodeid=01126911184209&frompage=tax>. [2] Atmel [online]. 2011. 2011 [cit. 2011-12-03]. Atmel Corporation - Atmel AVR 8- and 32- bit Microcontrollers - megaavr. Dostupné z WWW: <http://www.atmel.com/dyn/products/product_card.asp?part_id=4534&category_id=163& family_id=607&subfamily_id=760>. [3] CadSoftusa [online]. 2011 [cit. 2011-12-03]. Libraries PCB Component Libraries CadSoft EAGLE. Dostupné z WWW: <Libraries PCB Component Libraries CadSoft EAGLE >. [4] Pinouts [online]. 2006-2011 [cit. 2011-12-03]. RJ 45 pinout. Dostupné z WWW: <http://pinouts.ws/rj-45-pinout.html>. [5] Pajatrb [online]. 2002-2011 [cit. 2011-12-03]. PaJa - Elektronika - Eagle. Dostupné z WWW: <http://paja-trb.unas.cz/elektronika/eagle.html>. [6] GitHub [online]. 2011 [cit. 2011-12-03]. SparkFun.lbr at master from sparkfun/sparkfun- Eagle-Library - GitHub. Dostupné z WWW: <https://github.com/sparkfun/sparkfun- Eagle-Library/blob/master/SparkFun.lbr>. [7] LANTRONIX. MatchPort b/g Integration Guide [online]. Revize C. United States of America, 2008, 2008 [cit. 2012-04-22]. Dostupné z: http://www.lantronix.com/pdf/matchport_ig.pdf [8] LANTRONIX. Match Port b/g User Guide [online]. Revize D. United States of America, 2010, 2010 [cit. 2012-04-22]. 2010. Dostupné z: http://www.lantronix.com/pdf/matchport_ug.pdf [9] MAXIM INTEGRATED PRODUCTS. MAX3232CPE Datasheet [online]. 3/1999. United States of America, 3/1999, 3/1999 [cit. 2012-04-22]. Rev. 5. Dostupné z: http://www.gme.cz/dokumentace/433/433-106/dsh.433-106.1.pdf [10] HALLIDAY, DAVID, ROBERT RESNICK a JEARL WALKER. Fyzika: Vysokoškolská učebnice obecné fyziky. Fifth Editon Extended. USA: John Wiley & Sons, Inc, 1997. ISBN 80-214-1869-9. [11] VÁŇA, Vladimír. Mikrokontroléry Atmel AVR: Programování v jazyce C. Praha: Nakladatelství BEN, 2006. ISBN 80-7300-102-0. Dostupné z: http://shop.ben.cz/121139 40

SEZNAM SYMBOLŮ, VELIČIN A ZKRATEK ε S d Permitivita, dielektrická konstanta Plocha destiček Vzdálenost destiček C Elektrická kapacita 41

SEZNAM PŘÍLOH A Mikrokontrolér 43 A.1 Parametry mikroprocesoru Atmel ATMEGA64A... 43 A.2 Struktura jednotky CPU mikroprocesoru ATMEL64A... 45 A.3 Stavový registr... 47 A.4 Soubor univerzálních pracovních registrů... 48 A.5 X-, Y- a Z- registry... 49 A.6 Stack pointer (Zásobník)... 49 A.7 Paměťové prostory AVR... 50 B Návrh zařízení 54 B.1 Deska plošného spoje top (strana součástek) pro výsledné zapojení... 54 B.2 Deska plošného spoje bottom (strana spojů) pro výsledné zapojení... 55 B.3 Deska plošného spoje top (strana součástek) pro sériovou linku... 55 B.4 Deska plošného spoje bottom (strana spojů) pro sériovou linku... 56 B.5 Blokové schéma mikroprocesoru Atmel ATMEGA64A... 57 C Seznam součástek 58 42