ESKÉ VYSOKÉ UENÍ TECHNICKÉ Fakulta elektrotechnická Katedra mení
Diplomová práce Penos a zpracování signál senzor úhlových rychlostí
Praha 2007
Michal Reinštein
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Prohlášení Prohlašuji, že jsem celou diplomovou práci vypracoval samostatn pod vedením Ing. Jana Roháe, Ph.D. Uvedl jsem veškerou použitou literaturu a publikace, ze kterých jsem erpal.
V Praze dne
podpis
ii
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Podkování Pedevším bych chtl podkovat panu Ing. Janu Roháovi, Ph.D., který m zasvtil do problematiky a pomáhal mi po dobu celé práce ešit technické nejasnosti a komplikace. Rovnž mu dkuji za cenné pipomínky k psané podob této práce, které mi umožnily sladit formu a obsahovou stránku do výsledné podoby. Dále bych chtl podkovat všem mým blízkým za podporu, mému strýkovi za cenné rady po jazykové stránce a mé pítelkyni za porozumní a trplivost.
iii
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Abstrakt Diplomová práce se zabývá penosem signál senzor úhlových rychlostí z rotaního stolku a jejich zpracováním pomocí Kalmanovy filtrace. Obsahuje teoretické podklady ke Kalmanov filtraci podpoené simulací pro Matlab na vytvoeném modelu senzoru úhlových rychlostí. Z hlediska penosu a zpracování signál práce popisuje návrh a realizaci micího systému se signálovým procesorem a grafickým uživatelským rozhraním pro PC. Funkce systému je ovena mením na rotaním stolku, vetn mení pevodních charakteristik vybraných senzor úhlových rychlostí.
Abstract The thesis concerns transfer of angular rate sensor signals from rotational table and signal processing using Kalman filtration. It includes theoretical background for Kalman filtration supported by simulation for Matlab using created angular rate sensor model. Regarding signal transfer and processing thesis describes design and implementation of measuring system with digital signal processor and graphical user interface for PC. Functionality of the system is verified by measurements taken on the rotational table, including measuring the transfer characteristics of selected angular rate sensors.
iv
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
OBSAH 1
ÚVOD .....................................................................................................................................1
2
TEORETICKÝ ROZBOR....................................................................................................2 2.1
METODY PENOSU SIGNÁL ..................................................................................2
2.2
TECHNOLOGIE BLUETOOTH ....................................................................................3
2.2.1
Penos dat pomocí Bluetooth...................................................................................3
2.2.2
BT modul a rotaní stolek .......................................................................................4
2.3
2.3.1
Senzory úhlových rychlostí v inerciálních naviganích systémech ........................5
2.3.2
Zásadní pojmy z oblasti senzoriky ..........................................................................7
2.4
3
SENZORY ÚHLOVÝCH RYCHLOSTÍ........................................................................5
KALMANOVA FILTRACE...........................................................................................9
2.4.1
Princip Kalmanovy filtrace......................................................................................9
2.4.2
Kalmanv filtr pro lineární stochastický systém ...................................................11
2.4.3
Kalmanv filtr pro nelineární stochastický systém ...............................................14
POPIS EŠENÍ ...................................................................................................................16 3.1
NÁVRH SYSTÉMU .....................................................................................................17
3.1.1 3.2
OBVODOVÁ REALIZACE SYSTÉMU .....................................................................19
3.2.1
Blok vstupních obvod..........................................................................................19
3.2.2
Blok zpracování.....................................................................................................23
3.2.3
Blok výstupních obvod........................................................................................26
3.2.4
Blok napájení.........................................................................................................27
3.2.5
Orientaní schéma .................................................................................................29
3.3
PROGRAMOVÉ VYBAVENÍ SYSTÉMU..................................................................30
3.3.1
Návrh programového vybavení .............................................................................30
3.3.2
Programové vybavení pro procesor.......................................................................32
3.3.3
Ovládací uživatelské rozhraní ...............................................................................38
3.4
4
Požadavky kladené na systém ...............................................................................17
APLIKACE KALMANOVA FILTRU .........................................................................43
3.4.1
Kalmanv filtr pro senzory úhlových rychlostí.....................................................43
3.4.2
Využití Kalmanova filtru k urení neortogonalit tíosé soustavy..........................47
3.4.3
Postup zjištní neortogonalit tíosé soustavy ........................................................48
MENÍ POMOCÍ NAVRŽENÉHO SYSTÉMU...........................................................51 4.1
KONFIGURACE MICÍHO SYSTÉMU ..................................................................52 v
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
4.1.1
Ovení základních funkcí micího systému .......................................................52
4.1.2
Konfigurace systému pro rotaní stolek ................................................................53
4.1.3
Propojení navrženého systému s PC......................................................................54
4.2
MENÍ PEVODNÍCH CHARAKTERISTIK SENZOR ......................................55
4.2.1
Pevodní charakteristiky senzor XRS150............................................................55
4.2.2
Pevodní charakteristiky senzor ENV05D ..........................................................60
4.2.3
Vliv rotaního stolku na mení ............................................................................63
4.3
VLIV ZRYCHLENÍ NA VÝSTUPNÍ ÚDAJE SENZOR .........................................66
5
ZHODNOCENÍ DOSAŽENÝCH VÝSLEDK ...............................................................67
6
ZÁVR .................................................................................................................................68
7
LITERATURA ....................................................................................................................69
8
SEZNAM OBRÁZK A TABULEK ................................................................................70
9
8.1
Seznam obrázk.............................................................................................................70
8.2
Seznam tabulek..............................................................................................................72
PÍLOHA ............................................................................................................................73 9.1
PÍLOHA 1: Obvodové schéma systému – Orcad Capture 9.2 ...................................73
9.2
PÍLOHA 2: Schéma tištných spoj – Layout Plus....................................................74
9.3
PÍLOHA 3: Souástková základna .............................................................................75
9.4
PÍLOHA 4: Parametry Bluetooth modulu BT232 ......................................................76
9.5
PÍLOHA 5: Kalmanv filtr (pro MATLAB 7.0) ........................................................77
9.6
PÍLOHA 6: KF pro model senzoru úhlové rychlosti (pro MATLAB 7.0) .................78
9.7
PÍLOHA 7: Skript pro analýzu namených dat (pro MATLAB 7.0)........................80
9.8
PÍLOHA 8: Základní parametry AD7734...................................................................83
9.9
PÍLOHA 9: Základní parametry ADSP-2189MKST-300 ..........................................84
9.10
PÍLOHA 10: Základní parametry AM29LV001B......................................................85
9.11
PÍLOHA 11: Obsah piloženého CD ..........................................................................86
vi
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
1 ÚVOD V dnešní dob tém každá úloha z oblasti micí a pístrojové techniky úzce souvisí s problematikou penosu informace, tedy pedzpracování výstupních signál a následného penosu namených dat. Micí systémy jsou oborem pomrn novým. První íslicové micí systémy vznikaly na pelomu šedesátých a sedmdesátých let dvacátého století v souvislosti s rozvojem programovatelných kalkulátor. Vývoj moderních technologií stále otevírá v této oblasti nové možnosti; s využitím procesorové techniky se micí systémy postupn specializují dle požadavk na rychlost a kapacitu penosu, délku penosové cesty a pesnost zpracování. Díky dostupnosti kvalitních elektronických souástek a integrovaných obvod, nevyjímaje signálové procesory, není již problém takový systém v laboratorních podmínkách navrhnout a realizovat. A práv proto je hlavním cílem této práce nejen volba vhodné penosové cesty, ale i realizace micího systému pro penos dat a zpracování signál. Vedlejším cílem práce pak je provést pomocí navrženého systému mení specifikovaná v zadání diplomové práce. Diplomová práce je lenna do osmi kapitol vetn píloh a doplnna o CD s veškerou dokumentací, namenými daty a zdrojovými kódy vyvinutých program. Teoretická ást práce tvoí druhou kapitolu, kde je popsána zvolená penosová cesta s využitím technologie Bluetooth, dále pak obsahuje struný náhled do oblasti senzor úhlových rychlostí a podrobný rozbor teorie Kalmanovy filtrace. Tetí kapitolu tvoí podrobný popis návrhu a realizace micího systému. Vedle dokumentace jednotlivých obvodových ástí je v této kapitole zdokumentováno veškeré vytvoené programové vybavení; tedy program pro signálový procesor, grafické uživatelské rozhraní pro PC, kód Kalmanovy filtrace pro Matlab a programy pro analýzu namených dat. Tetí kapitola rovnž obsahuje návrh metody pro kalibraci senzor úhlových rychlostí pomocí Kalmanovy filtrace. tvrtá kapitola obsahuje konfiguraci systému pro rotaní stolek, popis a výsledky provedených mení na vybraných senzorech úhlových rychlostí. Závrené zhodnocení dosažených cíl diplomové práce vetn možných rozšíení a vylepšení systému do budoucna tvoí pátou kapitolu.
1
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
2 TEORETICKÝ ROZBOR Tato ást diplomové práce obsahuje všechny teoretické podklady nezbytné pro splnní zadání. Nejprve je popsána problematika penosu dat a odvodnn výbr zvolené penosové cesty, které je následn podízen i návrh systému. Dále jsou rozebrány základní vlastnosti a využití senzor úhlových rychlostí, pro jejichž mení je systém primárn navrhován. Vše je doplnno o teorii Kalmanovy filtrace.
2.1 METODY PENOSU SIGNÁL K realizaci jednoduchého penosu íslicových dat nebo ke složité komunikaci v distribuovaných micích systémech je výbr správného typu penosové cesty vždy prvním krokem. Penosová cesta je klíovým faktorem pi volb mronosné veliiny a jejího následného kódování pedevším z hlediska elektromagnetické sluitelnosti systém, mezi kterými chceme data penášet. Díky rozvoji v oblasti vysokofrekvenních bezdrátových sítí, a už jde o nové technologie, i komunikaní protokoly, se v micích systémech ím dál astji využívá bezdrátových penos dat. To v principu zahrnuje jak dálkové penosy kamkoli na zemský povrch pomocí sít satelit, tak i pipojení PC k internetu pomocí infraportu, tedy optický penos v infraerveném svtelném spektru na vzdálenost pokud možno co nejmenší. V dnešní dob je mnoho možností, jak penášet bezdrátov data. Na vzdálenosti zajímavé pro
micí
systémy
se
využívá
nejastji
bu
optoelektronických
systém,
nebo
vysokofrekvenního rádiového penosu, konkrétn pak technologie Bluetooth (dále jen BT). Je-li teba penášet data na vzdálenosti vtší, než nabízí BT, nebo naopak jsou-li kladeny vtší nároky z hlediska zabezpeení dat, pak je vhodnou metodou penos pomocí Wi-Fi1. Wi-Fi sice klade vtší nároky na spotebu a poizovací cenu zaízení, avšak penos dat je nejen rychlejší, ale i celý systém lze snadno pipojit na sít, a už LAN2 ,i WAN3.
1
Wireless Fidelity network Local Area Network – lokální sí 3 Wide Area Network – rozlehlá sí (internet) 2
2
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
2.2 TECHNOLOGIE BLUETOOTH 2.2.1 Penos dat pomocí Bluetooth Co vlastn technologie Bluetooth (dále jen BT) nabízí? BT je celkem levná metoda penosu dat vysokofrekvenní rádiovou cestou, známá též jako IEEE 802.15.1, která byla vyvinuta v roce 1994 Jaapem Haartsenem (Ericsson Radio Systems, Nizozemí). BT slouží k vytvoení soukromé komunikaní sít PAN4, která propojí vybraná elektronická zaízení, a to pi velmi nízké spoteb. Jedná se pedevším o PC a periferie, mobilní telefony, PDA5, herní konzole nebo tiskárnu, a to do vzdálenosti specifikované dle své tídy (viz tabulka 1).
Tída Bluetooth
max. povolený výkon
max. povolený výkon
DOSAH
zaízení
[mW]
[dBm]
[m]
1
100
20
~ 100
2
2,5
4
~ 10
3
1
0
~1
Tabulka 1: Tídy Bluetooth zaízení Pomocí technologie BT, konkrétn verze 2.0, je možné penášet data rychlostí 3 Mb/s, a to do vzdálenosti až 100 metr. Dje se tak v bezlicenním ISM pásmu na frekvenci 2,45GHz. Pásmo je rozdleno na 79 kanál, každý o šíi 1 MHz, které se pepínají rychlostí až 1600 za sekundu. Pes BT sí je možné nyní propojit celkem až 8 aktivních zaízení (255 neaktivních), a to na bázi Master-Slave, kde master zaízení velmi rychle pepíná mezi zaízeními typu slave (metoda ízení round-robin). Samozejm zámna rolí master/slave je kdykoli možná. Takto vytvoená sí se nazývá piconet. Od roku 2007 by se na trhu mly objevit BT moduly fungující nejen jako master, ale zárove i jako sí ový bridge, a umožnit tak propojení více BT sítí dohromady (vytvoit tzv. scatternet). Do budoucna se poítá s integrací BT technologie i do ultrafialového pásma (UWB) na základ Multi-Band Orthogonal Frequency Division Multiplexing (MB-OFDM). MB-OFDM by umožnilo rychlejší a vtší toky dat, jako je napíklad audiovizuální penos ve vysoké kvalit, a samozejm i zlepšení zabezpeení.
4 5
Private Area Network Personal Digital Assistant
3
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
2.2.2 BT modul a rotaní stolek Prostedí rotaního stolku nedává moc možností, jak jinak penášet data než bezdrátov. BT modul poslouží pouze jako náhrada klasického sériového propojení pomocí kabelu nebo penosu v infraervené oblasti pomocí infraportu. Takové propojení lze realizovat bu s pomocí dvou RS232 bluetooth modul (jako napíklad BTM-P-RS232 od firmy Czechlabs6 nebo BT232 od firmy Roalan7), nebo RS232 modul pipojený do PC nahradit USB Dongle adaptérem v pípad, že PC postrádá integrovaný BT modul. Jak zvolený BT232 modul, tak i adaptér viz obrázek 1.
Obrázek 1: Bluetooth moduly BT232 a BT USB Dongle adaptér (MSI)
V dnešní dob je na trhu velké množství takovýchto modul s velmi podobnými parametry, proto rozhodující byla pi výbru pedevším dostupnost a cena. Nakonec byl zvolen modul BT232 od firmy Roalan, jehož hlavní parametry zobrazuje tabulka 2, podrobnjší seznam parametr je pak souástí pílohy 9.4. 1200 b/s až 115,2 kb/s max. 100 m Cannon DB-9 5.0 ~ 12 VDC 1. externí adaptér 2. USB kabel 3. baterie 4. pin 9 na DB-9 65mm X 35 mm (2.6" X 1.4") €86 / jednotlivý modul €155 / pár modul
Penosová rychlost Dosah Konektor Napájení Možnosti napájení: Rozmry CENA
Tabulka 2: Parametry zvoleného Bluetooth modulu BT232
6
více na www.czechlabs.com více na www.roalan.com
7
4
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
2.3 SENZORY ÚHLOVÝCH RYCHLOSTÍ Senzory úhlových rychlostí se využívají v rzných aplikacích jako prostedek ke sledovaní rotaního pohybu uritého zaízení, ke stabilizaci daného zaízení nebo pro vyhodnocování polohových úhl. Mená úhlová rychlost je vždy vztažena k ose citlivosti použitého senzoru. Nejbžnjšími pípady využití senzor úhlové rychlosti jsou: x
stabilizace dráhy letu (autopiloty, navádní strategických/taktických stel, torpéd),
x
využití ve zptnovazebních obvodech (prmyslové aplikace),
x
stabilizaní úlohy (stabilizace plošin v prostoru),
x
navigace (lodní a letecká doprava, vesmírné aplikace).
2.3.1 Senzory úhlových rychlostí v inerciálních naviganích systémech Senzory úhlových rychlostí, jejichž charakteristiky a vlastnosti byly testovány a meny pomocí navrženého systému, mají pedpokládané využití pedevším jako souást systém inerciální navigace. Inerciální naviganí systém (dále jen INS) je autonomní systém závislý na dostupnosti pesného vyhodnocení poáteního stavu a pesného mení úhlových rychlostí a zrychlení psobících na letadlo. Typické INS se skládají ze soustavy tí navzájem kolmých akcelerometr a tí senzor úhlových rychlostí. Dle zpsobu realizace základny pro umístní akcelerometr se rozlišuje systém s pohyblivou základnou a tzv. strapdown systém. Pohyblivá základna je stabilizována ve vodorovné rovin elktro-mechanickými prvky na základ mení polohových úhl pomocí gyroskop, ímž se zaruuje stálá poloha stabilizované plošiny v prostoru, tj. ve vodorovné rovin. U strapdown systému odpovídá souadnicová soustava soustav letadla (INS je pevn spojen s trupem letadla). Mechanická složitost a komplexita je tak nahrazena matematickými výpoty, které provádí naviganí poíta. Na základ informace ze senzor úhlových rychlostí a díky znalosti poáteních poloh os citlivosti akcelerometr je možné provádt pepoet vektoru zrychlení do požadované naviganí soustavy. Po provedení korekce gravitaního a Coriolisova zrychlení lze dvojnásobnou integrací urit polohu letadla ve zvolené soustav. Blokové schéma viz Obrázek 2 popisuje mechanismus výpotu naviganí rovnice.
5
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
korekce gravitaního zrychlení korekce Coriolisova zrychlení
3x akcelerometr
transformace souadnic
naviga ní po íta
poátení poloha
3 x senzor úhlové rychlosti
vyhodnocení polohy RYCHLOST
Obrázek 2: Senzory úhlových rychlostí jako souást strapdown systému inerciální navigace V dnešní dob mají senzory úhlových rychlostí rzná využití, která závisejí pedevším na pesnosti a stabilit senzor, viz obrázek 3.
100°/s
10°/s
ízení po trase, robotika, vojenské stely, automobilový prmysl
1°/s
0.1°/s
Navigace, navádní na cíl, stabilizace, automobilový prmysl
10°/h
Navádní na cíl, stabilizace s GPS
1°/h
Taktické navádní na cíl, letecký prmysl
0.1°/h
Pesnost senzoru
0.01°/h
Navigace s periodickým sesouhlasením
Autonomní navigace
Obrázek 3: Využití senzor úhlových rychlostí Rozlišujeme nkolik základních typ senzor úhlových rychlostí a gyroskop:
1. Mechanické: RIG (Rate Integrating Gyro), DTG (Dynamically Tuned Gyro) 2. Rezonanní: HRG (Hemispherical Resonant Gyro), μVSG (Vibrating Silicon Gyro) 3. Optické gyroskopy: RLG (Ring Laser Gyro), FOG (Fibre Optic Gyro) Obrázek 4: Senzor ADXRS150
6
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Charakteristiky vybraných senzor úhlových rychlostí rzných typ shrnuje tabulka 3. Jedním z cíl diplomové práce je práv navrhnout a realizovat systém (viz kapitola 3.2), který umožuje testování a ovení základních charakteristik vybraných senzor a umožní jejich kalibraci.
CHARAKTERISTIKA
ADXRS150
ENV-05D
VSG2000
Princip
vibraní
piezoelektrický
vibraní
Micí rozsah
± 150 q/s
± 60 q/s
± 100 q/s
Citlivost
12,5 mV/q/s
25 mV/q/s
20 mV/q/s
Rozlišení
0,08 q/s
0,1 q/s
0,01 q/s
Drift
------
9 q/s
-----
Teplotní závislost
------
±5 % FS
±2 % FS
Linearita
0,1 % FS
0,5 % FS
0,2 % FS
Cena
1 000 K
9 000 K
60 000 K
Tabulka 3: Charakteristické vlastnosti vybraných senzor úhlových rychlostí
2.3.2 Zásadní pojmy z oblasti senzoriky V dnešní dob se tém žádné mení neobejde bez chyb, resp. nejistot zpsobených a už náhodnými vnjšími vlivy, chybami metody, nebo nepesnostmi výrobních technologií. Zásadní pojmy z oblasti senzoriky, se kterými bude nadále pracováno, vystihuje tabulka 4. Nejastjší zpsob, jak se vyvarovat zkreslených a nepesných výsledk, spoívá v používání kalibrovaného zaízení a následné kompenzaci chyb, napíklad pomocí filtr nebo zptnovazebních obvod. Nutným základem pro ob tyto metody je pesná identifikace systému a vytvoení matematického modelu. Popisované postupy asto vedou v praxi na sérii kompromis mezi pesností modelu a koeficient kalibrace.
BIAS
ROZLIŠENÍ SCALE FACTOR
BIAS je obecn termín popisující prmrnou hodnotu z velkého množství dat. Z hlediska chyb je bias napíklad offset naptí/proudu na výstupu inerciálního senzoru, kde naptí/proud je úmrný úhlové rychlosti nebo zrychlení, tedy systematická chyba. BIAS STABILITY udává zmnu hodnoty biasu v prbhu asu. Ve spojitosti se senzory úhlových rychlostí má jednotky [ /h] a lze jej vypoíst metodou Allan Variance dle [3]. ROZLIŠENÍ popisuje nejmenší množství mené veliiny, které je detekovatelné daným senzorem. Pro senzory úhlových rychlostí se udává ve stupních za sekundu. SCALE FACTOR (SF) neboli konstanta proporcionality popisuje citlivost senzoru. Je vztahem mezi výstupním signálem a jednotkou mené veliiny, což napíklad u inerciálních senzor mže být daný poet milivolt na stupe za sekundu. Dává do souvislosti výstupní signál a vstupní pohyb, maximální a minimální zmny úhlové rychlosti zachytitelné senzorem.
7
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
ANGLE RANDOM WALK (ARW) je specifická míra šumu udávaná v jednotkách [°/ h]. Je pímo aplikovatelná na výpoty úhl, tedy na pípady, kdy je senzor úhlových rychlostí využit k mení úhl. Z definice jedná se o prmrnou smrodatnou odchylku, která nastane pi integrování výstupního signálu za úelem zisku hodnoty úhlu. ARW lze vyjádit vztahy:
ANGLE RANDOM
ARW [q / s ]
WALK
DRIFT
KALIBRACE
KOMPENZACE
1 § [q] · 1 V¨ ¸ 60 © [h] ¹ BW [ Hz ]
ª§ [q] · 2 º 1 PSD «¨ ¸ [ Hz ]1 » 60 ¬«© [h] ¹ ¼»
kde je smrodatná odchylka signálu, BW efektivní šíka pásma senzoru a PSD výkonová hustota šumu. DRIFT popisuje rychlost, s jakou se daná chyba nebo nepesnost s asem mní. V inerciálních naviganích systémech se pojem DRIFT využívá ke kvantifikaci celého sytému, a vystihuje tak psobení nkolika chyb najednou (udáván v námoních mílích za hodinu). KALIBRACE je metoda pro zpesnní hodnoty elektrických signál na výstupu senzor aplikací dodateného matematického aparátu. Princip metody spoívá v porovnání analogových nebo digitálních signál na výstupu senzor s pesnými známými signály a následné matematické korekci. Pedpokladem pro kalibraci jsou pedevším namené charakteristiky kalibrovaných senzor. Ideální kalibrace pak znamená pro každý senzor uložit sady kalibraních koeficient, nejlépe elektronicky, na ip, jenž je souástí micího systému nebo pímo integrován do jednotlivých senzor. KOMPENZACE je metoda korekce systematických chyb napíklad u inerciálních senzor s cílem zvýšit pesnost, tj. snaha získat na výstupu pravou hodnotu sledované veliiny. Odstranit však lze jen takové chyby, které lze matematicky modelovat a signál nebo jeho zmna zpsobená chybou je mitelná. V praxi bývá kompenzace rzn složitá, od konstantní korekce jednoho parametru až po polynomiální korekce s asov promnnými koeficienty.
Tabulka 4: Definice zásadních pojm z oblasti senzoriky dle [3] Pesnost senzor se odvíjí pedn od vlastního typu, tedy principu, na nmž senzor pracuje. To shrnuje pro základní rozdlení senzor tabulka 5 (informace erpány z [9]).
Mechanické Optické Resonan ní
Bias Stability
Angle Random Walk
Scale Factor
RIG/DTG
0,1q/h 0,001q/h
0,1q/ h 0,001q/ h
1000 ppm
RLG
1q/h 0,01q/h
0,1q/ h 0,01q/ h
10 1 ppm
FOG
10q/h 0,001q/h
0,01q/ h 0,0001q/ h
1000 20 ppm
HRG
10q/h 0,001q/h
0,01q/ h 0,0001q/ h
200 50 ppm
VSG
0,1q/s 5q/h
1q/ h 0,1q/ h
1% 1000 ppm
Tabulka 5: Oekávatelné pesnosti senzor úhlových rychlostí
8
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
2.4 KALMANOVA FILTRACE Kalmanv filtr je klasickým píkladem využití metody adaptivní filtrace. V principu se jedná o nástroj, jenž nalézá nejastji využití k integraci dat z nkolika zdroj informací tak, aby se zajistil lepší odhad stavu i stav systému, než by bylo možné dosáhnout za pomoci libovolného z dostupných zdroj. Kalmanv filtr tedy odpovídá postupu optimálního LMMSE (linear minimum mean square error) odhadu, kdy pozorováním vstup a výstup systému je možné odhadnout na základ daného kritéria jeho stav. Stavem systému se v tomto pípad rozumí veliina nebo veliiny, které nejsou pímo mitelné a jejichž hodnoty nejsou pesn známé. Tento druh filtrace se proto opírá o znalost vnitního stavového popisu zvoleného stochastického systému, na jehož základ filtr odhaduje dle stav aktuálních stavy budoucí. Stochastický systém mže být jak lineární, tak i nelineární, spojitý i diskrétní, avšak jsou to práv diskrétní Kalmanovy filtry, jež jsou v souasné dob preferovány. Je tomu tak pedevším díky dostupnosti výkonných signálových procesor, které poskytují dostaten výkonný výpoetní aparát pro implementaci složitých a výpoetn nároných algoritm.
2.4.1 Princip Kalmanovy filtrace
K pochopení principu Kalmanovy filtrace (dále jen KF) v míe nezbytné pro její aplikaci na složitjších systémech je nutné vyjít ze základ statistického potu. Následné odvození je spíše výkladové, podrobné odvození lze najít v [3].
Ze statistického hlediska je KF kombinací nezávislých odhad s cílem získat co nejlepší, tedy optimální odhad. Nech x1 a x2 jsou nezávislé odhady veliiny x mající stední hodnotu
Px
( x , V 1 a V 2 jsou jejich variance (rozptyly), dle definice:
V x2
P( x P
x)
2
P x (P x )2
(2.1)
2
Odhady jsou kombinovány pomocí váhových koeficient, tedy vytvoíme vážený odhad xˆ : xˆ
w1 x1 w2 x2 ,
kde w1 a w2 jsou váhové koeficienty takové, že w1 w2
(2.2) 1
Pro optimální odhad je nutné zaruit minimální varianci, tedy maximální pravdpodobnost. Nech ( xˆ je stední hodnota odhadu, a tudíž platí: ( xˆ
w1( x1 w2 ( x2
(2.3) 9
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Nech variance odhadu xˆ je V 2 . Za pedpokladu, že x1 a x2 jsou nezávislé odhady, platí:
( x1 ( x1 x2 ( x2 Pro váhové koeficienty oznaené w2
1 w V 2 2
V2
2 1
0
(2.4)
w a w1 1 w pak z (2.4) vyplývá:
w2V 22
(2.5)
Je-li požadován navíc minimální rozptyl, nutno vyjít z první derivace, tj.ešit rovnici: dV 2 dw
2 1 w V 12 2 wV 22
0
(2.6)
Vyešením rovnice pro optimální váhu w platí:
V 12 V 12 V 22
w
(2.7)
Dosazením do (2.2) a (2.5) je pak dán optimální odhad xˆ :
V 22 x1 V 12 x2 xˆ V 12 V 22
(2.8)
V Kalmanov filtraci je jeden z odhad získán aktualizací nejlepšího pedchozího odhadu (na základ rovnic systému) a druhý z mení, a to v každém kroku filtrace. Nech x2 je odhad získaný z mení, který má zlepšit aktualizovaný odhad x1 . Pak na základ výše uvedeného lze formulovat rovnice: xˆ
x1 w x1 x2
(2.9)
V 2 V 12 1 w
(2.10)
Pevodem odvozených rovnic do maticového tvaru jsou získány rovnice pro vícerozmrný pípad. Nech x1 a x2 jsou n-rozmrné vektory s n u n kovarianními maticemi P1 a P2 , pak: xˆ
I W x1 Wx2
x1 W x1 x2 ,
(2.11)
kde xˆ je nyní vektor optimálních odhad a váhová matice W zaruuje stejn jako v jednorozmrném pípad minimální varianci, I je jednotková matice. V praxi je však k dispozici pouze m mení, zn. y2 , kde y2 je ve vztahu pouze k nkterým prvkm x , což lze popsat: y2
Cx2 ,
(2.12)
kde C je m u n matice.
10
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Pro optimální odhad sestavený z jednoho odhadu x1 s variancí P1 , druhého odhadu y2
Cx2 s variancí R a váhové matice W xˆ
x1 KC x1 x2
KC ( K je doplující váhová matice) platí:
I KC x1 Ky2
(2.13)
Podobn z definice pro P , tj. varianci optimálního odhadu xˆ , a postupem popsaným v [3] je odvozen vztah8:
P
I KC P1 I KC
T
KRK T
(2.14)
Aby odhad byl optimální, nutno nyní najít váhovou matici K takovou, že diagonální prvky
P , tedy variance x , jsou volbou K minimalizovány. K tomu dochází pi splnní podmínky: K
T T PC R CPC 1 1
1
(2.15)
Za této podmínky pro nejlepší odhad xˆ veliiny x a jeho varianci P zárove platí: xˆ
x1 K Cx1 y2
(2.16)
P
P1 KCP1
(2.17)
Proces hledání matice K popsaný rovnicemi (2.15) až (2.17) je podstatou Kalmanova filtru. Následující kapitoly popisují jeho aplikace na lineární a nelineární diskrétní stochastický systém. 2.4.2 Kalmanv filtr pro lineární stochastický systém
U lineárního diskrétního stochastického systému platí, že výstup je lineární funkcí stavového vektoru a je popsán rovnicemi:
x(k 1)
A x(k ) B u (k ) v(k )
y (k ) C x(k ) D u (k ) w(k ) kde je
x(k)
stavový vektor,
u(k)
vektor ídicích veliin,
y(k)
vektor výstupních veliin,
v(k), w(k)
poruchové veliiny odpovídající šumu procesu a šumu mení,
A, B, C, D
matice popisující dynamický systém,
k
celé íslo.
(2.18) (2.19)
Rovnice (2.18) a (2.19) je možné graficky znázornit pomocí blokového schématu viz obrázek 5.
8
Odvození vztahu není nezbytné k pochopení problematiky a pesahuje rámec této diplomové práce. Pi dalším postupu postaí akceptovat výsledek odvození popsaného v literatue [3].
11
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
model procesu
model mení
D u(k)
B
x(k+1)
+ +
x(k) zpoždní
+
C
+
+
y(k)
+
v(k)
A
w(k)
Obrázek 5: Stavový model dynamického lineárního systému Poruchové veliiny v(k) a w(k) jsou v optimálním pípad považovány za nekorelované bílé šumy s nulovou stední hodnotou a kovarianními maticemi Q a R. Kovarianní matice ve své podstat odpovídají šumu. Nabývá-li napíklad šum mení malých hodnot, bude vykazovat malé hodnoty rovnž matice R. Jak vyplyne dále z rovnic (2.23) až (2.27), Kalmanovo zesílení bude pak velké, což v principu znamená, že odhad vnitního stavu xˆ je dvryhodný. v(k ) | N (0, Q) ; w(k ) | N (0, R) kde Q
P (k )
ª v(k ) º ½ E ®« > v(k ) w(k )@¾ » ¯ ¬ w(k ) ¼ ¿
ªQ «ST ¬
( v k v k
T
a R ( wk wk
Sº , R »¼
T
( 2.20)
( 2.21)
kde P(k) je kovarianní matice chyb odhadu. Matice S pro nekorelované šumy je nulová, tj. S={0}, což vede na matici s nenulovými prvky pouze na diagonále.
Cílem Kalmanova filtru je urit odhad stavového vektoru x(k+1) a kovarianní matici chyb odhadu P(k+1), k emuž se využívá kritérium LMMSE. Algoritmus odhadu postavený na tomto kritériu se skládá z asového a datového kroku: asový krok: (provedení odhad)
1. Odhad budoucí hodnoty stavového vektoru na základ znalosti aktuálního stavu. 2. Na základ odhadu stavového vektoru se urí odhad výstupního vektoru souasn s odhadem kovarianní matice chyby odhadu. 3. Na základ zmených reálných dat se provede korekce odhadu stavového vektoru a kovarianní matice, tedy datový krok. Datový krok, tedy vlastní filtrace, je proveden v okamžiku, kdy jsou k dispozici zmená
data. Bhem datového kroku je možné data svázat, a tudíž provést fúzi senzor. Cyklus Kalmanova filtru lze graficky znázornit viz obrázek 6. 12
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
asový krok: PREDIKCE
u k y k
xˆ k | k
P k | k
xˆ k 1| k
P k 1| k
ZPOŽDNÍ
Poátení podmínky:
xˆ 0 | 1 , P 0 | 1
Datový krok: FILTRACE
xˆ k | k 1
P k | k 1
Obrázek 6: Cyklus Kalmanova filtru
Tento cyklus rovnž popisuje následující iterativní algoritmus:
Inicializace:
P(0)
P(0 | 1); x (0)
x (0 | 1); Q; R
Výpoet:
K (k )
P(k | k 1) C T (C P(k | k 1) C T R) 1
(2.23)
x (k | k )
x ( k | k 1) K ( k ) ( y C x ( k | k 1))
(2.24)
P (k | k )
P(k | k 1) K (k ) C P(k | k 1)
(2.25)
(2.22)
x (k 1| k )
A x (k | k )
(2.26)
P (k 1| k )
A P(k | k ) AT Q
(2.27)
Rovnice (2.24) a (2.25) odpovídají datovému kroku, v kterém se provádjí korekce odhadu z minulého kroku na základ zmené hodnoty výstupního vektoru y. Tento krok má tudíž filtraní charakter. Rovnice (2.26) a (2.27) se vztahují k asovému kroku, tedy k predikci budoucího stavu na základ stavu aktuálního. Od okamžiku, kdy filtr dosáhne ustáleného stavu, platí, že K (k )
K (k 1)
konst. Rovnice (2.23) až (2.27) uvádjí jen jeden z možných postup
výpotu. V pedchozím textu se uvažovaly nekorelované bílé šumy s normálním rozložením hustoty pravdpodobnosti. Jestliže nelze šumy považovat za bílé, tzn. frekvenn omezené (barevné), je nutné použít „blicích filtr“.
13
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Propojení modelu dynamického stochastického systému a Kalmanova filtru je zobrazeno na
u
6
B
x
C
zpoždní
v
A
w
6 y
Model systému
obrázku 7.
K
korekce
chyba
6 predikce y
Kalmanv filtr
mené hodnoty výstupního vektoru y
6
C
zpoždní
odhad vektoru x
A
Obrázek 7: Propojení Kalmanova filtru a modelu systému
Popsaný algoritmus umožuje použití i v situacích, kdy matice modelu A a C jsou asov promnné. Filtr se pak jen chová jako lineární systém s asov promnným parametrem K. Kalmanovo zesílení K je úmrné pomru Q/R, emuž je úmrná i rychlost reakce Kalmanova filtru.
2.4.3 Kalmanv filtr pro nelineární stochastický systém
V praxi obvykle platí, že vtšina systém je nelineárních. V takovém pípad je nutné parametry systému linearizovat v okolí zvoleného pracovního bodu. Existuje nkolik možných zpsob, jak linearizaci provést. Jedním z ešení je aplikace Rozšíeného Kalmanova filtru (dále EKF. Nelineární systém je možno popsat rovnicemi: x k 1
f x k , u k , v k
vk | N (0, Qk ) ,
( 2.28)
y k 1
h x k , u k , w k
wk | N (0, Rk ) ,
( 2.29)
kde f i h jsou nelineární funkce.
Jedním z pístup je linearizace vzhledem k nominální trajektorii. „Trajektorií“ je myšlena množina stav, tedy urité ešení stochastického systému, a pívlastek „nominální“ jen upesuje, že náhodné promnné vyskytující se ve zvoleném ešení nabývají pedpokládaných 14
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
hodnot. Jsou-li funkce popisující nelineární systém spojité, vetn derivací, lze odchylky zpsobené nelinearitou aproximovat Taylorovým rozvojem práv kolem nominální trajektorie. Velkou nevýhodou linearizace kolem nominální trajektorie je zvtšování odchylky skutené trajektorie od nominální v prbhu asu, což se projeví jako nárst vah vyšších ád Taylorova rozvoje. Efektivní zpsob, jak tomu zabránit, je náhrada nominální trajektorie trajektorií poítanou, ímž se zamezí nárstu odchylky obou trajektorií. K vhodnému ešení to však nevede, a to pedevším kvli nárstu výpoetní náronosti. Pestože implementace výše popsaných metod linearizace je v praxi pomrn snadnou záležitostí, daleko efektivnjší, a to pedevším z hlediska kvality aproximace, je využití EKF. EKF lineárn aproximuje pouze chyby vyhodnocení stavového vektoru, a tudíž se aproximace pohybuje v menším rozsahu hodnot než u výše popsaných metod, které navíc vyhodnocují i odchylky jednotlivých trajektorií od skutených. Algoritmus EKF je shodný s algoritmem lineárního Kalmanova filtru jen s tím rozdílem, že matice A a C jsou definovány pomocí parciálních derivací nelineárních funkcí podle vnitních stav systému, tedy Jakobiány. Podrobnjší popis lze nalézt napíklad v [1] a [3]. S využitím EKF se v rámci této diplomové práce nepoítá. Další možnou variantou pro nelineární systémy je modifikace EKF, tzv. Unscented Kalman Filter (dále UKF). Popis algoritmu UKF však pekrauje rámec této diplomové a s jeho
využitím se rovnž nepoítá. Algoritmy Kalmanových filtr, jmenovit tedy lineárního KF, rozšíeného EKF a UKF, jsou vzájemn kompatibilní. Proto lze asový krok EKF nebo UKF kombinovat s libovolným krokem datovým.
15
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3 POPIS EŠENÍ Hlavním cílem této práce bylo vytvoení micího systému pro mení charakteristik senzor úhlových rychlostí pomocí rotaního stolku. Na základ analýzy rzných metod penosu dat, a už metalickou, optickou, i bezdrátovou cestou, se ukázalo jako nejschdnjší a nejsnáze realizovatelné ešení pomocí technologie Bluetooth. Využití této technologie zajiš uje požadovanou penosovou cestu, vetn kvality penosu a zabezpeení. Komunikace s BT moduly probíhá pomocí sériové linky RS232 . Nejdležitjší ástí systému je kvalitní 24bitový AD pevodník AD7734 využitý k digitalizaci vstupních analogových signál a signálový procesor ADSP2189M, který s potebnou rychlostí celý systém ídí a provádí vlastní zpracování vstupních signál. Nejen že jsou ob klíové souástky pln kompatibilní, jsou i lehce dostupné, cenov pijatelné a nekladou zvláštní nároky na napájení a podprné obvody, které lze realizovat bžn dostupnými levnými souástkami. Vlastní návrh celého systému je podrobn popsán v kapitole 3.1, vetn požadovaných parametr a postupu realizace. Výbr souástkové základny a její implementace jsou pak rozebírány v kapitole 3.2. K návrhu desky plošných spoj, simulaci Kalmanovy filtrace, programování procesoru a tvorb grafického uživatelského rozhraní bylo nutno vyžít nkolika vývojových prostedí. Veškeré programové vybavení systému a vyvinutý software jsou popsány v kapitole 3.3. Zdrojové kódy vetn podrobných obvodových schémat jsou pak souástí pílohy, viz kapitola 9.
16
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.1 NÁVRH SYSTÉMU Návrh celého systému se ídil následujícím schématem, viz obrázek 8.
(1)
(2)
(3)
(4)
Výbr vhodné penosové cesty
Stanovení požadavk kladených na systém, na jeho vlastnosti a principiální blokové schéma
Výbr prostedí pro návrh obvodového schématu a schématu tištných spoj
Volba vhodné sou ástkové základny (viz píloha 8.3)
(5)
Návrh obvodového schématu v prostedí Orcad Capture 9.2 (viz píloha 8.1)
(6)
Návrh schématu tištných spoj v prostedí Orcad Layout Plus 9.2 (viz píloha 8.2 )
(7)
(8)
(9)
(10)
Výroba desky plošných spoj, osazení souástkami, úprava ochranného krytu
Využití služeb firmy Prago Board, s.r.o.
Oživení, testování a ladní navrženého systému s využitím zakoupeného vývojového kitu ADSP2189 EZ-KIT Lite od firmy Analog Devices.
Tvorba programového vybavení systému v prostedí Visual DSP++, programování pamti v prostedí PG4UW 2.3 (programátor LabProg – 48LV), simulace a modelování v prostedí Matlab 7.0, tvorba uživatelského rozhraní v prostedí LabWindows CVI 7.1
Mení charakteristik senzor úhlových rychlostí pomocí funkního systému
Obrázek 8: Schéma popisující jednotlivé fáze návrhu systému
3.1.1 Požadavky kladené na systém
Dkladnou analýzou zadání a souástkové základny byly stanoveny nezbytn nutné vlastnosti a požadované parametry navrhovaného systému. x
VSTUPY: o možnost pipojení až ty senzor úhlových rychlostí s napájecím naptím 5V o uvažovaný výstupní rozsah senzor 0V až 5 V, frekvence ádov v desítkách Hz o co nejkvalitnjší vzorkování signálu (dostatená rychlost vzorkování pro
požadovanou vysokou rozlišovací schopnost) 17
Michal Reinštein
x
Penos a zpracování signál senzor úhlových rychlostí
VÝSTUPY: o filtrovaný signál o formát výstupu shodný se standardem sériového rozhraní RS232 o penosová cesta umožující dostaten rychlý penos dat z pohyblivé základny
rotaního stolku se zanedbatelným vlivem na kvalitu penášených dat x
VLASTNÍ SYSTÉM:
Musí umožovat následující: o zpracování vstupních analogových signál ze senzor úhlových rychlostí o filtrace mených signál – potlaení šumu o mení pevodní charakteristiky senzor úhlových rychlostí o penosu dat do PC o malé rozmry, nízká cena
Z výše uvedených požadavk kladených na systém bylo navrženo složení systému, jaké zobrazuje principiální blokové schéma na obrázku 9). OBVODY NAPÁJENÍ ZDROJ Baterie 12V
STABILIZÁTORY, REFERENCE BUDI RS232
4x SENZORY ÚHLOVÝCH RYCHLOSTÍ
BT MODUL
VÝSTUPNÍ OBVODY
A/D PEVODNÍK
PROCESOR
VSTUPNÍ OBVODY
PAM
ROTANÍ STOLEK
PC
OBVODY ZPRACOVÁNÍ
BT MODUL
Obrázek 9: Principiální blokové schéma navrženého systému
18
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.2 OBVODOVÁ REALIZACE SYSTÉMU Z principiálního blokového schématu na obrázku 9 vyplývá, že použité obvody lze rozdlit do ty základních blok: blok vstupních obvod, blok zpracování, blok výstupních obvod a blok napájení. Pi návrhu desky tištných spoj a výbru souástkové základny šlo pedevším o minimalizaci náklad a rozmr pi souasném splnní požadavk na pesnost mení. Souástky v SMD pouzdrech byly upednostovány.
3.2.1 Blok vstupních obvod
Blok vstupních obvod je tvoen analogov-digitálním pevodníkem a podprnými obvody pro analogovou ást systému. Použitý AD pevodník má oznaení AD7734 (parametry viz píloha 9.5). Jedná se o tykanálový 24bitový AD pevodník se sigma-delta modulací. AD pevodníky se sigma-delta modulací pracují na principu vyrovnávání náboje se vzorkovanou zptnou vazbou, která udržuje nulovou stední hodnotu na integraním kondenzátoru. Každý AD pevodník tohoto typu je tvoen sigma-delta modulátorem a íslicovým FIR9 filtrem s konenou odezvou. Sigma-delta modulátor pevádí vstupní naptí na naptí s pilovým prbhem, které je následn porovnáváno v komparátoru, jehož výstupní signál je poté vzorkován v D-klopném obvodu. Výstupní signál klopného obvodu má pak impulsní prbh s promnnou stídou. Z informace dané stídou lze rekonstruovat pvodní analogový signál. Souástí FIR filtru je i decimátor, který umožuje redukci vzorkovacího kmitotu. Aby pi vzorkování nedocházelo k pekrývání frekvenní spekter, tzv. aliasingu, je nutné zajistit splnní vzorkovací vty, tedy zajistit, aby vzorkovací kmitoet byl nejmén dvojnásobkem horní mezní frekvence vzorkovaného signálu, tedy
f vz ! 2 f max . Zvolený
vzorkovací kmitoet 1kHz tuto podmínku spluje. Obecn platí, že signál za antialiasingovými filtrem by ml být pod rozlišovací schopností AD pevodníku. Z tohoto dvodu byly navrženy RC filtry, fungující jako dolnofrekvenní propust. Volba hodnot odporu a kondenzátoru se ídila schématem vnitního zapojení analogových vstup AD pevodníku, viz obrázek 10.
9
Finite Impulse Response
19
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 10: Vnitní zapojení analogových vstup AD pevodníku
Na základ mení pímo na první verzi systému (realizovaného už pímo deskou plošných spoj) bylo však prokázáno, že volba jakéhokoli antialiasingového filtru v podob RC lánku by zpsobila vtší nepesnosti, než odstranila. Zvolený AD pevodník díky decimaci zajiš uje dostaten kvalitní pedzpracování signálu. Decimátor vychází ze skutené vzorkovací frekvence, která je až 15 kHz v závislosti na požadované rozlišitelnosti. Vedle zdroje chyb, jako je aliasing, je nutné brát pi návrhu systému ohled i na vnitní strukturu zvoleného AD pevodníku. Každý kanál AD7734 je vybaven multiplexorem a za ním záchytným zásobníkem, ze kterého signály vstupují do sigma-delta modulátoru. Katalog dodávaný výrobcem udává, že zásobník stejn jako modulátor mohou zpsobit konstantní posuvnou chybu, tedy offset. AD pevodník umožuje potlait tuto chybu pomocí okamžitého prmrování, tzv. chopping mód. Chopping mód je výpoet prmrné hodnoty získané ze dvou konverzí, tedy odmr, pi pravidelné reverzaci vstup multiplexorem. Vnitní strukturu AD pevodníku popisuje obrázek 11. Vstupní signály:
fMCLK / 2
AIN ZÁSOBNÍK
BIAS
MULTIPLEXOR
+
- MODULÁTOR
DIGITÁLNÍ FILTER
BIASHI
BIASLO
chopping +
Výstupní data v požadovaném formátu
DIGITÁLNÍ ROZHRANÍ
-
BLOK ARITMETICKÝCH REGISTR (KALIBRACE)
Obrázek 11: Vnitní struktura kanálu AD pevodníku 20
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
S využitím prmrování budou data na výstupu daleko pesnjší, avšak doba konverze se tak nutn musí zvýšit. Parametry AD7734 v tomto zvoleném režimu popisuje tabulka 6.
Doba konverze [μs]
Frekvence výstupu
Vstupní rozsah / Efektivní
RMS Šumu
rozlišení (Bity)
dat [Hz]
[μV]
± 10V
0 až 10V
± 5V
0 až 5V
2686
372
21.0
20.0
20.0
19.0
9.6
999
1001
20.3
19.3
19.3
18.3
15.5
499
2005
19.7
18.7
18.7
17.7
22.7
395
2534
19.5
18.5
18.5
17.5
26.1
207
4826
19.0
18.0
18.0
17.0
39.2
166
6041
18.7
17.7
17.7
16.7
46.0
82
12166
17.3
16.3
16.3
15.3
120.0
Tabulka 6: Typické parametry AD7734 s využitím prmrování (chopping)
Pevodník AD7734 je na desce zapojen dle doporueného schématu udávaného výrobcem na jeden ze dvou sériových port DSP procesoru, konkrétn na SPORT0, viz obrázek 12.
Obrázek 12: Signálové propojení DSP procesoru a AD pevodníku
Vlastní obvodovou realizaci propojení vystihuje obrázek 13. Na vstupy AIN0 až AIN3 jsou pivedeny vstupní analogové signály vedené z konektor ošetených blokovacími kondenzátory.
21
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 13: Obvodové schéma propojení DSP procesoru a AD pevodníku Snadná realizace pipojení, dostupnost a pesnost konverze pro zvolenou vzorkovací frekvenci byly hlavními dvody pro výbr tohoto AD pevodníku.
22
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.2.2 Blok zpracování
Hlavním úkolem bloku zpracování je píjem digitalizovaného signálu z AD pevodníku a jeho zpracování, jedná se proto o digitální ást systému. Digitalizace, zpracování a odesílání signálu je ízeno DSP procesorem ADSP-2189M10 (základní parametry viz píloha 9.9). K procesoru je pipojena pam typu FLASH s oznaením AM29LV001B (základní parametry viz píloha 9.10 ). Zvolený procesor ADSP-2189M je kompatibilní s pevodníkem AD7734, což usnaduje jejich propojení a ízení pevodníku AD7734 pomocí pímého zápisu do jeho registr. Oscilátor na frekvenci až 37,5 MHz zajistí dobu instrukního cyklu pouhých 13,3 ns. Architekturou procesoru je navíc dáno, že taktovací frekvence oscilátoru uruje jen polovinu instrukního cyklu, proto procesor bží ve skutenosti na frekvenci dvakrát vtší, tedy 75 MHz. Pro snadné odvození hodinového kmitotu o frekvenci 6,144 MHz pro AD pevodník byl vybrán oscilátor na frekvenci 24,576 MHz. Vlastní odvození pomocí ítae ve funkci dliky tymi popisuje zapojení na obrázku 16. Procesor je vybaven krom dvou sériových port i 16bitovým vnitním DMA11 a bajtovým DMA portem, jež umožují pímý pístup do pamti a zrychlují tak naítání a ukládání dat. Procesor má integrovanou RAM pam o velikosti 192 kB, a to nakonfigurovanou jako 32k 24bitových slov pamti programu a 48k 16bitových slov pamti dat. Oproti starším DSP procesorm ady ADSP-21xx je tento typ vybaven novými instrukcemi umožujícími napíklad bitové operace, zaokrouhlování, globální maskování perušení. Pipojení pamti AM29LV001B k procesoru ADSP-2189M vychází ze schématu doporueného výrobcem (viz obrázek 14). Zapojení je modifikováno a pam pipojena jako Byte Memory. Vstupn-výstupní prostor (I/O Space) je v této aplikaci nevyužit, stejn jako
rozšíení pam ového prostoru (Overlay Memory). Pro nahrání programu do pamti je nutno využít externí programátor pipojený k PC. Nezanedbatelná výhoda procesoru je jeho snadná dostupnost a rovnž snadná dostupnost podprných obvod.
10 11
Celé oznaení typu ADSP 2189MKST-300 Direkt Memory Access = pímý pístup do pamti
23
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 14: Obecné schéma pro pipojování I/O periferií a pamtí k procesoru Obvodové propojení tí klíových souástek, tedy AD pevodníku, procesoru a pamti, bylo nutno doplnit krom patiné napájecí sít i podprnými obvody zajiš ujícími potebný hodinový kmitoet, resetování a monitorování systému. Resetování systému je zajištno tlaítkem pipojeným k dohlížecímu obvodu DS1233A (viz obrázek 15), jež plní následující funkce: x
automaticky restartuje procesor pi výpadku napájení,
x
monitoruje stav ovládacího tlaítka,
x
pi stisku tlaítka odstraní zákmity a zajistí patinou zavádcí dobu procesoru (350ms),
x
s pesností 10% až 15% monitoruje napájecí naptí procesoru (3,3V).
Obrázek 15: Zapojení dohlížecího obvodu DS1233A a tlaítka pro resetování procesoru 24
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Klíovými obvody pro správný chod procesoru a jeho periferií je distribuce hodinového signálu, který udává takt spolen procesoru a AD pevodníku. Hodinový kmitoet procesoru je odvozen pímo z oscilátoru SG-615 a má takt 24,576 MHz. Za pomocí ítae ve funkci dliky tymi (viz obrázek 16) je od kmitotu procesoru odvozen kmitoet AD pevodníku o taktu 6,144 MHz.
Obrázek 16: Zapojení oscilátoru SG-615 a obvod pro generování hodinového kmitotu K monitorování stavu procesoru bylo navrženo zapojení signálních LED diod (viz obrázek 17), které signalizují stav PFx (Programmable Flag) pin a FLx (Flag) pin. Diody jsou využívány pouze k testování a ladní programového vybavení procesoru. Výpo et hodnoty odporu R kde Ucc = 3,3V a parametry LED jsou Uf = 2,1V, If = 20mA platí:
R
U
cc
U f If
3,3 2,1 60: , 0, 02
tedy pro zvolenou hodnotu R = 51 bude proud LED 24mA
Obrázek 17: Zapojení soustavy LED pro monitorování procesoru
Po odladní programového vybavení nebyla svtelná signalizace z dvodu minimalizace proudového odbru dále využívána. To znamenalo pokles zátže na zdroj v podob baterie pi plném využívání svtelné signalizace tém o tetinu.
25
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.2.3 Blok výstupních obvod
Blok výstupních obvod tvoí budi sériové linky ADM3202 v zapojení dle schématu doporueného výrobcem (viz obrázek 18). Slouží k sériovému asynchronnímu penosu dat dle standardu RS232, a to až do rychlosti 460 kb/s. Obvody ADM3202 obsahují mni naptí s nábojovou pumpou, který je poteba k transformaci nap ových úrovní TTL (zde 3,3 V) na úrovn vyhovující RS232 (-3 V až -23 V pro logickou 1 a 3 V až 23 V pro logickou 0). K vytvoení nábojové pumpy slouží extern zapojené tantalové kondenzátory o velikosti 100 nF. Obvod ADM3202 je pipojen mezi sériový port procesoru (SPORT1) a BT modulu.
Obrázek 18: Zapojení budie ADM3202 pro komunikaci po sériové lince
26
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.2.4 Blok napájení
Blok napájení pro tuto desku se skládá ze zdroje naptí, tí stabilizátor realizovaných integrovanými obvody LE33CZ, LF50CDT a LE25ABZ a nap ové reference ADR421BR pro AD pevodník AD7734. Vzhledem k citlivosti analogového napájení senzor na šum,byla jako zdroj napájení zvolena extern pipojená 12V baterie. Do série s baterií je zapojena dioda 1N4005, zajiš ující ochranu obvod proti pepólování zdroje. Jelikož se navrhovaný systém skládá z analogové a digitální ásti, jež musí mít oddlené jak napájecí vodie , tak i uzemnní, bylo tomu teba napájecí sí pizpsobit. Oddlení analogové a digitální zem a realizace napájecí sít 5V popisuje schéma na obrázku 19. Všechny použité stabilizátory v bloku napájení jsou levné, lehce dostupné, vhodných rozmr a parametr.
Obrázek 19: Obvody zdroje naptí - oddlení digitální a analogové napájecí sít 5V Stabilizátor LF50CDT stabilizuje napájecí naptí z 12V dodávaných baterií na 5,0V. Je
zdrojem pro analogovou ást AD pevodníku a jeho referenci ADR421, tyi extern umístné senzory a BT modul. Zátž stabilizátoru a maximální proudový odbr shrnuje tabulka 7. Pro maximální spotebu zhruba 320mA je LF50CDT dodávající až 1A vyhovující. Stabilita výstupního naptí ± 2% vyhovuje všem pipojeným souástkám a spluje nároky na požadované parametry.
Ozna ení sou ástky
Proudový odbr [mA]
AD pevodník: AD7734 – analogová ást Pipojený senzor (4x) Bluetooth modul Reference: ADR421BR
13,5 max. 20 max. 200 27
CELKEM
240,5 mA + X*20 dle typu a po tu senzor
Tabulka 7: Proudový odbr a zatížení stabilizátoru pro napájecí sí 5.0V 27
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Stabilizátor LE33CZ stabilizuje napájecí naptí z 5V na výstupu LF50CDT na 3,3V (viz
obrázek 20), a je proto zdrojem jak pro digitální ást AD pevodníku, tak i pro procesor, budi ADM3202, pam AM29LV001B a podprné obvody vyžadující napájení 3,3V. Pro maximální spotebu zhruba 56mA je LF50CDT dodávající až 100mA vyhovující. Stabilita výstupního naptí ± 2% vyhovuje všem pipojeným souástkám a spluje nároky na požadované parametry.
Ozna ení sou ástky
Proudový odbr [mA]
AD pevodník:AD7734 – digitální ást
1
Logické hradlo: 74LVX14D Dohlížecí obvod: DS1233A Oscilátor: SG-615 íta: 74HC4024 Budi RS232: ADM3202 Pam : AM29L001B
0,02 8 28 0,004 – 0,08 3mA v klidovém režimu, 12mA v provozním 7mA pi tení, 15mA pi programování/mazání
CELKEM
56,1 mA
Tabulka 8: Proudový odbr a zatížení stabilizátoru pro napájecí sí 3,3V Stabilizátor LE25ABZ stabilizuje napájecí naptí z 5V na výstupu LF50CDT na 2.5V
(viz obrázek 20) a je využit pouze jako zdroj napájení procesoru ADSP-2189M. Pi maximálním odbru 32-36 mA v pracovním režimu procesoru je dodávaný proud 100mA postaující. Rovnž stabilita výstupního naptí ± 1% spluje nároky na požadované parametry. Poslední ástí blok obvod napájení je 2.5V nap ová reference ADR421BR (viz obrázek 21).
Obrázek 20: Obvody LE33CZ a LE25ABZ pro stabilizaci napájecího naptí na 3,3V a 2,5V
Obrázek 21: Obvody pesné napové reference 2,5V
28
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.2.5 Orientaní schéma
Souástky popsané v kapitole 3.2 byly vyžity k osazení desky plošných spoj a jejich orientaní rozmístní popisuje obrázek 22. Pro podrobnjší popis vlastního propojení nutno použít obvodové schéma viz píloha 9.1 nebo pímo schéma viz píloha 9.2. Kompletní souástková základna je pak souástí pílohy 9.3.
15
16
17
18
19
20
21
22
23
24
1
14
2
13
12
3
11
4
10
5
9
8
7
6
Obrázek 22: Orientaní schéma zapojení 1 2 3 4 5 6 7 8 9 10 11 12
ADS2189MKST-300 Procesor AM29LV001B Pam (1 Mb) 74LVX14D Logické hradlo (NEG) Konektor FLAG (FL0, FL1, FL2) Otvor pro uchycení do krabiky DS1233A Watchdog circuit Tlaítko - restartovaní desky 74HC4024 íta (6.144 MHZ) SG615 Oscilátor (24.576 MHz) Konektor SENZOR4 (AIN3) Konektor SENZOR3 (AIN2) Konektor SENZOR2 (AIN1)
13 14 15 16 17 18 19 20 21 22 23 24
Konektor SENZOR1 (AIN0) Konektor napájení (12V Baterie) ADR421Reference 2.5V AD7734 A/D Pevodník LF50CDT Stabilizátor 5V LE33CZ Stabilizátor 3.3V LE25ABZ Stabilizátor 2.5V Konektor BTpwr (Napájení pro BT) Konektor SPORT1 (TFS1,RFS1,SCLK) Konektor SPORT1 Data (DT1, DR1) Konektor BTdat (RxD, TxD, GND) ADM3202 Budi sériové linky
Tabulka 9: Tabulka vysvtlivek pro obrázek 22
29
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.3 PROGRAMOVÉ VYBAVENÍ SYSTÉMU Univerzálnost a flexibilita jakýchkoli micích systém se signálovými procesory se v dnešní dob odvíjí pedevším od softwarového vybavení. Složité algoritmy pro zpracování signál nalézají s rostoucím výkonem procesor stále vtší uplatnní, a umožují tak tolerovat hardwarové nedokonalosti, díve v dob ist analogových obvod naprosto nepípustné. To umožuje v praxi úspšn využívat hlavn systémy sestavené z nízkonákladových komponent, jejichž sériová výroba je velmi atraktivní pedevším z ekonomického hlediska. 3.3.1 Návrh programového vybavení
Program pro procesor ADSP-2189MKST-300 byl tvoen v programovacím prostedí VisualDSP++. VisualDSP++ je postaveno na programovacím jazyku Assembler pro danou adu
procesor (ADSP218x) a doplnné o možnost využití v dnešní dob hojn používaného jazyka C++. Bhem návrhu bylo nezbytné v prostedí Matlab7.0 ovit algoritmus Kalmanovy filtrace na vytvoeném modelu senzoru úhlových rychlostí; více viz kapitola 3.3.3. Prostedí Matlab rovnž posloužilo ke zpracování a analýze namených dat. Nemén dležité uživatelské ovládací rozhraní bylo vytvoeno v prostedí LabWindows CVI 7.1. Podrobn komentovaný program pro procesor i pro uživatelské rozhraní jsou souástí pílohy na CD. Pi vývoji celého komplexního programového vybavení systému byla snaha držet se následujících zásad správného programování:
(1)
Analýza zadání a požadavk na programové vybavení
(2)
Dekompozice zadání na menší ešitelné problémy
(3)
Programování jednotlivých ástí
(4)
Prbžné testování na vývojovém kitu a poté na navrženém systému
(5)
Tvorba ovládacího uživatelského rozhraní
Informace a podklady nezbytné k programovaní byly získány z manuál dodávaných výrobcem (viz píloha na CD). K testování a ladní navrhovaných program byl použit vývojový kit s oznaením ADSP-2189M EZ-KIT Lite se shodným procesorem a sériovým rozhraním, zajiš ujícím snadné propojení PC s vývojovým prostedím. Proceduru tvorby programu, jeho testování a nahrání do pamti navrženého systému shrnuje vývojový diagram na obrázku 23 .
30
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Linkovací soubor (.LDF)
KROK 1: Architektura procesoru a cílové pamti
KROK 2: Generování kódu
Generování kódu v Assembleru (.DSP, .ASM)
Assembler EASM218x
Generování kódu v jazyce C (.C)
Linker linker.exe
C Kompilátor cc218x
KROK 3: Ovení a kontrola systému
VisualDSP Debugger debugapp
Testování hardware Navržený systém
KROK 4: Ovení a kontrola programu
Testování software ADSP2189M EZ Kit
Funk ní kód? NE
ANO
Programování pamti PG4UWarc
Obrázek 23: Vývojový diagram popisující tvorbu programu pro navržený systém Jak vyplývá z obvodových schémat, procesor ADSP2189M má dva sériové porty, tj. SPORT0 a SPORT1, které jsou komunikaními rozhraními pro celý navržený systém. SPORT0
obsluhuje komunikaci na desce mezi procesorem a AD pevodníkem, SPORT1 komunikuje s uživatelským rozhraním nazvaným ADSP2189M GUI bžícím na PC, které je k systému pipojeno bezdrátov pomocí Bluetooth modul. Programové vybavení pro procesor je podrobn popsáno v kapitole 3.3.2, uživatelské rozhraní pak v kapitole 3.3.3.
31
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.3.2 Programové vybavení pro procesor
Kód programu pro procesor byl z hlediska lepší itelnosti rozdlen do nkolik soubor: x
constant.h – hlavikový soubor s definicemi konstant
x
Main.dsp – definice vektor perušení, vstupní bod programu, volání procedur
x
SPORT_Ini.dsp – inicializace parametr a režim sériových port
x
UART.dsp – obsluha asynchronní komunikace pes SPORT1
x
SPORT0.dsp – obsluha komunikace a ízení AD pevodníku
x
SPORT1.dsp – obsluha SPORT1 (nahrazeno UART), perušení od SPORT1 nevyužívána
x
Interface.dsp – rozhraní pro komunikaci s PC pomocí UART
CONSTANT.H: Soubor constant.h obsahuje veškeré definice konstant klíových pro bh programu, a to: definice systémových registr, parametr softwarového UART, definice pro ízení sériových port a AD pevodníku, definice velikosti zásobník pro práci s daty. Z nastavení jednotlivých konstant vyplývá nastavení celého systému, které udává tabulka 10.
Definice pro registry v pameti procesoru ADSP2189M SPORT1_Autobuf 0x3fef SPORT1_RFSDIV 0x3ff0 SPORT1_SCLKDIV 0x3ff1 SPORT1_Control_Reg 0x3ff2 SPORT0_Autobuf 0x3ff3 SPORT0_RFSDIV 0x3ff4 SPORT0_SCLKDIV 0x3ff5 SPORT0_Control_Reg 0x3ff6 SPORT0_TX_Channels0 0x3ff7 SPORT0_TX_Channels1 0x3ff8 SPORT0_RX_Channels0 0x3ff9 SPORT0_RX_Channels1 0x3ffa TSCALE 0x3ffb TCOUNT 0x3ffc TPERIOD 0x3ffd DM_Wait_Reg 0x3ffe System_Control_Reg 0x3fff Definice pro ovladani programovatelnych flagu Flag_Control 0x3fe6 Flag_Set 0x3fe5 Definice pro softwarový UART CRYSTAL_FREQ_IN_kHZ BAUDRATE PERIOD LED_Rate tx_num_of_bits rx_num_of_bits RX_BIT_ADD TX_BIT_ADD
24576 Frekvence pouziteho oscilatoru 9600 Pozadovana prenosova rychlost [b/s] pro UART ((CRYSTAL_FREQ_IN_kHZ * 2000 / (3 * BAUDRATE)) - 1) (3*BAUDRATE/2) Blikani @ 1s 10 = TX datove bity ( vcetne start a stop bitu ) 8 = RX datove bity ( start&stop bity nepocitany ) 0x0100 = 1 <
Definice pro ízení sériových port SCLKDiv0 0x0017 RFSDiv0 0x0000 SCLKDiv1 0x0000 RFSDiv1 0x5FFF Definice pro inicializaci a ovladani AD prevodniku IDLEMOD b#00000000
SCLKDIV = CLKOUT_frequency /(2*SCLK_frequency) - 1 RFSDIV = SCLK_frequency / RFS_frequency - 1
Píkaz pro AD pevodník – pepnutí do IDLE módu
32
Michal Reinštein
SINGLEDUMP b#01011000 SINGLE b#01010000 CONTINUOUS b#00111100 CAL_ZS_SELF b#10011000 CAL_ZS_CHAN b#11011000 CAL_FS_CHAN b#11111000 CHSET_5V b#00000011 CHSET_x5V b#00000010 CHSET_10V b#00000001 CHSET_x10V b#00000000 CH1TIME b#10101110 CH2TIME b#10101110 CH3TIME b#10101110 CH4TIME b#10101110 Nastavení zásobník pro práci s daty a píkazy AVERAGE 256 AVshift 6 RX0Buff_length (AVERAGE*2) TX0Buff_length 60 FBuff_length 512
Penos a zpracování signál senzor úhlových rychlostí
Píkaz pro AD pevodník – pepnutí do SINGLE DUMP módu Píkaz pro AD pevodník – pepnutí do SINGLE módu Píkaz pro AD pevodník – pepnutí do CONTINUOUS módu Píkaz pro AD pevodník – kalibrace Píkaz pro AD pevodník – kalibrace nuly pro píslušný kanál Píkaz pro AD pevodník – kalibrace maxima rozsahu pro píslušný kanál Píkaz pro AD pevodník – nastavení rozsahu: 0 až 5V Píkaz pro AD pevodník – nastavení rozsahu: -5 až 5V Píkaz pro AD pevodník – nastavení rozsahu: 0 až 10V Píkaz pro AD pevodník – nastavení rozsahu: -10 až 10V Píkaz pro AD pevodník – Kanál 0: FW = AEh frekvence vzorkování 1001 Hz Píkaz pro AD pevodník – Kanál 1: FW = AEh frekvence vzorkování 1001Hz Píkaz pro AD pevodník – Kanál 2: FW = AEh frekvence vzorkování 1001 Hz Píkaz pro AD pevodník – Kanál 3: FW = AEh frekvence vzorkování 1001 Hz = poet vzork na prmrování pro 4 kanály AVERAGE = 4x(2^AVshift) = délka zásobníku pijímaných dat RX0Buff = délka zásobníku vysílaných píkaz TX0Buff = délka zásobníku zpracovaných (zprmrovaných) dat F_Buff
Tabulka 10: Tabulka definovatelných konstant urujících parametry celého systému
MAIN.DSP: Soubor Main.dsp obsahuje tabulku vektor perušení (viz obrázek 24) a je vstupním bodem celého programu. Po natení programu probhne inicializace systémových registr nastavením výchozích hodnot, následuje volání inicializaních a obslužných procedur: x
inicializace programovatelných flag (nastavení jako výstup a nulování),
x
nastavení parametr a režimu sériových port (viz SPORT_Ini.dsp),
x
inicializace UART (viz UART.dsp),
x
inicializace AD pevodníku (viz SPORT0.dsp),
x
pedání ízení bhu programu rozhraní (viz Interface.dsp).
Po dokonení inicializace bží program v uzavené smyce rozhraní, kde eká na perušení definovaná v tabulce vektor perušení (viz obrázek 24). Tabulka vektor perušení definuje instrukce vykonávané pi vzniku daného perušení. Procesorem jsou využívána celkem tyi perušení, která jsou blíže popsána v SPORT0.DSP: x
perušení od AD pevodníku, vyvolané signálem /RDY pechodem do logické 0 pi
dokonení konverze dat na nkterém z micích kanál, x
perušení od SPORT0 pi dokonení píjmu dat a pi zahájení vysílání dat,
x
perušení od asovae generované s rychlostí trojnásobnou penosové rychlosti UART,
které je nastavováno dynamicky za bhu programu (uložením opkódu instrukce jump UART na adresu 0x28 bhem inicializaní procedury UART).
33
Michal Reinštein
Perušení od AD pevodníku
Penos a zpracování signál senzor úhlových rychlostí
.section/pm seg_rth;
JUMP START; NOP; NOP; NOP; jump RDY; NOP; NOP; NOP; RTI; NOP; NOP; NOP; RTI; NOP; NOP; NOP; SPORT0_TX_INT: jump SPORT0_tx; NOP; NOP; NOP; SPORT0_RX_INT: jump SPORT0_rx; NOP; NOP; NOP; RTI; NOP; NOP; NOP; RTI; NOP; NOP; NOP; SPORT1_TX_INT: jump SPORT1_tx; NOP; NOP; NOP; SPORT1_RX_INT: jump SPORT1_rx; NOP; NOP; NOP; TIMER_INT: /*jump UART*/ NOP; NOP; NOP; RTI; RTI; NOP; NOP; NOP; RDY_INT:
Perušení od vysílání po SPORT0
Perušení od pijmu po SPORT0 Perušení od asovae
// Reset // IRQ2 // IRQL1 (PF6) // IRQL0 (PF5) // SPORT0_TX // SPORT0_RX // IRQE (PF4) // BDMA // SPORT1 TX // SPORT1 RX // TIMER // POWERDOWN
0x00 0x04 0x08 0x0C
0x1C 0x20 0x24 0x28 0x2C
Obrázek 24: Program pro procesor definující tabulku vektor perušení
UART.DSP: Program definovaný souborem UART.dsp slouží pro obsluhu a ízení sériového portu SPORT1 k asynchronnímu penosu dat po sériové lince RS232. Program zajiš uje píjem a vysílání 8bitových dat dle definovaného standardu a parametr pro RS232. Parametry komunikace jsou definovány v hlavikovém souboru constant.h (tabulka 10) a lze je dle poteby mnit. Jakoukoli zmnu však nutno brát v úvahu pi inicializaci komunikace pomocí rozhraní ADSP2189M GUI (kapitola 3.3.3 ) a patin RS232 nakonfigurovat (obrázek 29). SPORT1 je pro asynchronní komunikaci nakonfigurován v režimu Flag_In/Flag_Out. Tento režim umožuje pin procesoru DT1 (pin .37) nastavovat do stavu logické 1 i logické 0 programov píkazem flag_out a vyítat logickou úrove pinu DR1 (pin .40) píkazem flag_in. UART využívá vnitního asovae procesoru tak, že hlavní obslužná rutina perušení (UART) je volána rychlostí trojnásobnou rychlosti penosu dat. V perušení asovae, pokud mají být vyslána njaká data, nastaví se pin DT1 na požadovanou úrove. Otestuje se, zda UART již pijímá. Pokud ne, provede se test pinu DR1 na indikaci start bitu. Je-li indikován start bit, UART provede inicializaci píjmu dat. Pokud UART již pijímá, vyte píslušný bit dle stavu DR1 pinu. Píjem a vysílání jednotlivých bit nastává proto pi každém tetím perušení od asovae. Vše je ošeteno píslušnými píznaky a poítadly, aby se zamezilo vzniku hazardních stav.
SPORT_Ini.DSP: Tento soubor obsahuje kód pro nastavení parametr a režim sériových port. Sériový port SPORT1 je nastaven v režimu Flag_In/Flag_Out a je ízen pomocí UART. Sériový port SPORT0 funguje v automatickém sériovém módu (alternate framing mode) na frekvenci 1,024 MHz. (signál SCLK viz obrázek 25) SPORT0 je synchronizován výstupním signálem TFS,
34
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
který je na rozdíl od obrázku 25 invertován a logickou úrovní 0 signalizuje vysílání dat. Signál TFS díky zapojení viz obrázek 13 synchronizuje jak píjem po SPORT0 (tvoí vstupní signál RFS), tak i píjem AD pevodníku (tvoí vstupní signál /CS viz obrázek 25). Prbhy signál pro toto nastavení viz obrázek 26.
Obrázek 25: Prbhy signál pro komunikaci s AD pevodníkem
Obrázek 26: Prbhy signál pro komunikaci po SPORT0
SPORT0.DSP: Soubor SPORT0.dsp obsahuje program pro poátení nastavení AD pevodníku, obsluhu sériového portu SPORT0 a zpracování perušení od AD pevodníku (perušení RDY).
35
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Poátení nastaveni AD pevodníku probíhá vysláním sekvence píkaz (viz obrázek 27), ve které je pomocí konstant definovaných v constant.h (viz tabulka 10) nastaven rozsah a vzorkovací frekvence pro každý ze ty micích kanál.
.var/circ ADC_Setup[18] = b#00000001, b#00000000, // I/O Port Register: /RDY pro kazdy kanal b#00101000, CHSET_5V, // Channel Setup Registers: 0 - 3 b#00101001, CHSET_5V, b#00101010, CHSET_5V, b#00101011, CHSET_5V, b#00110000, CH1TIME, // Channel Conversion Time Registers: 0 - 3 b#00110001, CH2TIME, b#00110010, CH3TIME, b#00110011, CH4TIME;
Dle constant.h definuje micí rozsah kanálu
Dle constant.h definuje vzorkovací frekvenci kanálu
Obrázek 27: Datová sekvence pro nastavení parametr micích kanál AD pevodníku ízení sériového portu SPORT0 spoívá v obsluze dvou perušení: perušení pi dokonení píjmu dat (SPORT0_rx) a perušení pi zapoetí vysílání dat (SPORT_tx). Pro SPORT0 jsou definovány celkem ti zásobníky (jejich velikost dle constant.h viz tabulka 10): x
zásobník vysílaných dat obsahuje píkazy vysílané po SPORT0 do AD pevodníku,
x
zásobník pijímaných dat obsahuje data pijatá po SPORT0 z AD pevodníku,
x
zásobník filtrovaných dat obsahuje vždy stídav íslo kanálu a 16bitové íslo odpovídající
prmru ze 64 vzork namených dat pro daný kanál.
SPORT0_tx: Procesor v rutin perušení od zapoetí vysílání dat otestuje, zda zásobník
vysílaných dat obsahuje njaké píkazy pro AD pevodník. Pokud ano, vyšle daný píkaz po SPORT0 a vygeneruje opt perušení, ímž takto postupn vyšle všechny píkazy na zásobníku a zásobník vyprázdní. Zásobník mže být nezávisle na vysílání rozšiován o další píkazy. Vysílané píkazy tak tvoí signál DIN viz obrázek 25.
RDY: Procesor v rutin perušení vyvolané signálem RDY (viz obrázek 25) nejprve nate
ukazatel na micí kanál, se kterým momentáln probíhá komunikace. Dle ukazatele pidá na zásobník vysílaných dat sekvenci píkaz pro vytení pijímaných dat, která tvoí signál DOUT (viz obrázek 25). Je-li zapnut režim kontinuálního odmru dat, je následn pidána na zásobník vysílaných dat sekvence píkaz pro zapoetí odmru na dalším micím kanálu AD pevodníku. Toto se dje cyklicky postupn pes všechny micí kanály. Souasn s vysíláním jsou data z AD pevodníku pijímána generováním perušení SPORT_rx v okamžiku pítomnosti dat na DOUT. 36
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
SPORT0_rx: Procesor v obslužné rutin perušení od dokonení píjmu dat po SPORT0
pijatá data postupn zpracovává. Data z AD pevodníku jsou tvoena 8 bity status registru, který obsahuje informace o meném kanálu (íslo micího kanálu, polaritu meného naptí, signalizaci peteení rozsahu a stability nap ové reference), a 16 datovými bity, které odpovídají menému naptí dle definovaného rozsahu. Veškerá pijímaná data jsou prbžn ukládána na zásobník pijímaných dat. S každou pijatou hodnotou naptí, jejíž status registr odpovídá požadavkm (rozsah nepetekl, správná polarita), je pro každý kanál vytváen jejich souet v soutové promnné. Odpovídá-li poet dat v zásobníku pijímaných dat hodnot definované konstantou AVERAGE (soubor constant h, viz tabulka 10), je obsah soutové promnné vydlen12 potem sítaných hodnot. Takto vypotený prmr s výchozím nastavením na 64 vzork pro každý kanál je uložen na zásobník filtrovaných dat, a to stídav, nejprve íslo kanál, pak hodnota zmeného naptí.
INTERFACE.DSP: Program definovaný souborem Interface.dsp obsluhuje ovládání systému pes sériovou linku RS232. Aplikace ADSP2189M GUI (viz kapitola 3.3.3) je tomuto rozhraní pizpsobena. Program bží v uzavené smyce, ve které je prbžn vysílán obsah zásobníku filtrovaných dat a pomocí UART jsou zpracovávány píkazy píchozí po RS232: x
píkaz „S“ – provede se odmr jedné hodnoty uložením sekvence pro jeden odmr na
zásobník vysílaných dat (slouží k testování AD pevodníku), x
píkaz „X“ – zahájí se kontinuální odmr dat (za sekvencí píkaz pro vytení dat z AD
pevodníku je automaticky pidána sekvence píkaz pro zapoetí dalšího odmru), x
píkaz „C“ – zahájí kalibraci AD pevodníku, bhem které je postupn pipojováno naptí
definující dolní a horní rozsah micího kanálu na analogové vstupy systému pro každý kanál, pipojení je nutno potvrdit píkazem „Y“, samotná kalibrace pak probhne automaticky, x
píkaz „R“ – peruší mení a uvede AD pevodník do výchozího nastavení pomocí
sekvence píkaz viz obrázek 27.
12
Dlení se provádí bitovým posunem o konstantu odvozenou z hodnoty AVERAGE a to aby platilo
AVERAGE
4* 2 AVshift , kde AVshift je udává poet posouvaných bit.
37
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.3.3 Ovládací uživatelské rozhraní
Vývojové prostedí LabWindows CVI 7.1 umožnilo navrhnout a naprogramovat grafické rozhraní v podob uživatelsky pívtivé aplikace pro PC. Rozhraní ve své pvodní verzi mlo být pouze grafickou nadstavbou programového vybavení implementovaného do pamti navrženého systému. Pozdji však bylo rozšíeno o funkce ulehující pedevším mení, jako napíklad možnost ukládat namené hodnoty do MS Excel i ídit regulátor rotaního stolku. Uživatelské rozhraní nazvané ADSP2189M GUI se skládá z jednoho pehledného hlavního panelu s nkolika popsanými ovládacími prvky (viz obrázek 28). Ovládání je intuitivní, doplnné o grafické indikátory zobrazující stav aplikace a textové rozhraní monitorující bh programu, mení a komunikaci. Zdrojový kód je souástí pílohy na CD.
16
15
1 2 3 4 5 6 7 8 9 10 11
12
13
14
Obrázek 28: Hlavní ovládací panel aplikace ADSP2189M GUI.
38
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
ÍSLO
POPIS
1
Lišta hlavního menu obsahující píkazy pro ovládání aplikace. Tlaítko pro konfiguraci parametr sériové linky RS232, po které probíhá komunikace s deskou ADSP2189M Board pipojenou pomocí Bluetooth modul. Konfiguraní panel viz Obrázek 29, popis vlastního fyzického propojení je v kapitole 4.1.3. Pepína pro inicializaci a ukonení komunikace s micí deskou doplnný o barevnou indikaci stavu pipojení, popípad chyby v nastavení parametr komunikace. ( erná = vypnuto, zelená = zapnuto, ervená = došlo k chyb) Ovládací prvky pro zapnutí / vypnutí micích kanál micí desky. Pepína pro inicializaci i ukonení kontinuálního mení. ( erná = vypnuto, zelená = zapnuto, ervená = došlo k chyb, žlutá = režim jednoho odmru) Tlaítko pro inicializaci jednoho odmru.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Tlaítko inicializující vyslání RESET sekvence pro AD pevodník na micí desce. Tlaítko inicializující kalibraní sekvenci AD pevodníku na micí desce. Kalibrace probíhá na základ potvrzovacího dialogu, který uživatele instrukcemi navede na korektní kalibraci. Barevná indikace prbhu kalibrace AD pevodníku na micí desce. ( zelená = kanál nakalibrován, ervená = kanál není nakalibrován – výchozí nastavení ) Tlaítko pro inicializaci komunikace s pipojeným regulátorem rotaního stolku. ( erná = vypnuto, zelená = zapnuto, ervená = došlo k chyb) Pole pro vstupní hodnotu požadovaných otáek rotaního stolku ( °/ s ). Maximální rozsah omezen systémem dle možností rotaního stolku. Znaménková indikace smyslu otáení stolku. (kladná hodnota = otáení po smru hodinových ruiek, záporná hodnota = otáení proti smru h.r.) Zobrazení odezvy rotaního stolku (aktuální hodnota otáek stolku ve ( °/ s ) ošetená o znaménkovou indikaci smru otáení). Textové rozhraní informující o bhu programu, mení a komunikaci. Slouží k monitorování aplikace, a výpisu vzniklých chyb. Plocha pro informativní zobrazení prbh mených signál. ( erná = výstup regulátoru, ervená = 1. kanál, modrá = 2.kanál, zelená = 3. kanál, žlutá = 4. kanál) Panely zobrazení základních parametr zmených dat ( poet vzork, minimální, maximální a aktuální zmená hodnota). Vstupní pole pro hodnotu pevodní konstanty senzoru meného na zvoleném kanálu v (mV/°/s). Pro hodnotu 1 (mV/°/s) mené hodnoty odpovídají naptí (V) na výstupu senzoru.
Tabulka 11: Tabulka vysvtlivek pro obrázek 28 se struným popisem jednotlivých ovládacích prvk rozhraní ADSP2189M GUI.
Obrázek 29: Konfiguraní panel aplikace ADSP2189M GUI. 39
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Uživatelské rozhraní ADSP2189M GUI bylo vytvoeno za úelem jednoduchého navázání komunikace s navrženou micí deskou a umožuje následující: x
Nastavení parametr sériové linky:
(tlaítko RS232_SETUP … 2 , spuštní panelu viz obrázek 29) x
Navázání komunikace s pipojenou deskou pes Bluetooth:
(pepína KOMUNIKACE … 3 ) x
Zapnutí / vypnutí zvolených micích kanál:
(výbrové okénko Kanál X … 4 ) x
Kontinuální mení na zvolených kanálech s vykreslováním zmených dat do grafu a zobrazením parametr dat na informativních panelech jednotlivých kanál:
(pepína M ENÍ … 5) x
Možnost jednoho zkušebního odmru:
(tlaítko JEDEN_ODMR … 6) x
Resetování nastavení AD pevodníku na pipojené desce ADSP2189M Board:
(tlaítko ADC_RESET … 7) x
Kalibrace AD pevodníku na desce ADSP2189M Board:
(tlaítko KALIBRACE … 8) x
Navázání komunikace s regulátorem rota ního stolku:
(výbr komunikaního portu MOŽNOSTI/REGULÁTOR_COM/ a spuštní pepínaem REGULACE_OTÁEK … 10) x
Nastavení otá ek rota ního stolku:
(pole pro íselnou hodnotu … 11) x
Uložení namených dat do aplikace MS Excel:
(MOŽNOSTI/GRAF/ULOŽIT_DO_MS_EXCEL) x
Smazání namených dat a zobrazených prbh: (MOŽNOSTI/GRAF/SMAZAT) stejn jako smazání textového monitorovacího okna: (MOŽNOSTI/TEXTOVÉ_OKNO/SMAZAT)
Aplikace je zabezpeená proti možným chybám jak programovým, tak i ze strany uživatele. A už výjimky vyvolané aplikací MS Excel, i chyby pi navazování komunikace po RS232 jsou aplikací odchytávány a zpracovány formou chybové hlášky pro uživatele. Rozhraní samo pedchází kritickým stavm zpsobeným uživatelem zamykáním ovládacích prvk. 40
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Jednotlivé kontrolní prvky jsou aktivní pouze v pípad, že jejich použití nezpsobí narušení bhu jak aplikace, tak pipojeného micího systému. Pro klíová rozhodnutí, jako je smazání namených dat i vyslání resetovací sekvence, je teba projít potvrzovacím dialogem. Pro monitorování bhu aplikace a výpis varovných hlášek bylo použito jednoduché informativní textové rozhraní (viz obrázek 30), které umožuje sledovat jak poínání uživatele, tak i odezvy pipojeného micího systému i regulátoru rotaního stolku. Co se komunikace s regulátorem rotaního stolku týe, je naprosto nezávislá na vlastním micím systému. Zmený výstup z rotaního stolku lze však uložit do MS Excel stejným zpsobem jako data získaná z micího systému.
Obrázek 30: Textové monitorovací okno aplikace ADSP2189M GUI Z programátorského hlediska je aplikace komplexní kombinací Callback funkcí spouštných jako odezva na poin uživatele pi manipulaci s grafickými ovládacími prvky rozhraní. Na pozadí aplikace bží sériová komunikace s pipojeným micím systémem i regulátorem rotaního stolku a pár jednoduchých datových a píkazových parser, jež zpracovávají píchozí data a zobrazují je jako textový i grafický výstup. Veškeré naprogramované funkce strun shrnuje tabulka 12.
JMÉNO FUNKCE
STRUNÝ POPIS
main ()
Vstupní bod programu, pedá kontrolu grafickému rozhraní.
ApplicationSetup ()
Nastavení výchozího nastavení aplikace, inicializace promnných.
swRS232 ()
Inicializace i ukonení komunikace s deskou ADSP2189M Board.
CommCallback1 ()
Obsluha dat píchozích z pipojené desky, jejich parser a vyhodnocení.
SendRS232()
Vysílání jakýchkoli dat nebo píkazu na zvolený komunikaní port.
Exit ()
Korektní ukonení aplikace, ošetení chyb, uzavení komunikaních port.
ShutdownExcel ()
Ukonení spojení s aplikací MS Excel, její korektní uzavení.
ClearObjHandle ()
Pomocná funkce pro korektní uzavení aplikace MS Excel a jejích souástí.
ReportAppAutomationError ()
Obsluha chybových hlášení pi práci s aplikací MS Excel.
ConfigCallBack ()
Zobrazení panelu nastavení parametr sériové komunikace (Obrázek 29).
SetConfigParms ()
Nastavení aktuálních parametr komunikace na konfiguraním panelu.
GetConfigParms ()
Natení parametr komunikace z konfiguraního panelu.
CloseConfigCallback ()
Uzavení konfiguraního panelu.
EnablePanelControls ()
Obsluha grafických ovládacích prvk dle stavu komunikace.
DisplayRS232Error ()
Obsluha chybových hlášení pi práci se sériovou linkou RS232.
41
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
K1Callback ()
Obsluha zapínání / vypínání micího kanálu íslo 1.
K2Callback ()
Obsluha zapínání / vypínání micího kanálu íslo 2.
K3Callback ()
Obsluha zapínání / vypínání micího kanálu íslo 3.
K4Callback ()
Obsluha zapínání / vypínání micího kanálu íslo 4.
SingleCallback ()
Vyslání píkazu pro jeden odmr na desku ADSP2189M Board.
swMeasureCallback ()
Vyslání píkazu pro kontinuální odmr na desku ADSP2189M Board.
ResetCallback ()
Vyslání píkazu pro reset AD pevodníku na desku ADSP2189M Board.
CalibrationCallback ()
Provedení komunikace zajištující korektní kalibraní sekvenci.
MConfigCallBack ()
Obsluha píkazu pro konfiguraci komunikace z hlavního pulldown menu.
MOutputClearCallback ()
Obsluha píkazu pro smazáni textového výstupu.
MCalibCallback ()
Obsluha píkazu pro kalibraci z hlavního pulldown menu.
MSingleCallback ()
Obsluha píkazu pro jeden odmr z hlavního pulldown menu.
MResetCallback ()
Obsluha píkazu pro kontinuální odmr z hlavního pulldown menu.
MExcelCallback ()
Obsluha píkazu pro uložení dat do aplikace MS Excel.
MClearGraphCallback ()
Obsluha píkazu pro smazání namených dat z hlavního pulldown menu.
MComport1Callback ()
Obsluha píkazu pro konfiguraci komunikace z hlavního pulldown menu.
MComport2Callback ()
Obsluha píkazu pro konfiguraci komunikace z hlavního pulldown menu.
MComport3Callback ()
Obsluha píkazu pro konfiguraci komunikace z hlavního pulldown menu.
swRotCallback ()
Inicializace i ukonení komunikace s regulátorem rotaního stolku.
RotCallback ()
ízení regulátoru rotaního stolku zadáváním požadovaných otáek.
CommCallback2 ()
Obsluha dat píchozích z regulátoru, jejich parser a vyhodnocení.
KP1Callback
Obsluha zmny nastavení pevodní konstanty senzoru pro kanál 1.
KP2Callback
Obsluha zmny nastavení pevodní konstanty senzoru pro kanál 2.
KP3Callback
Obsluha zmny nastavení pevodní konstanty senzoru pro kanál 3.
KP4Callback
Obsluha zmny nastavení pevodní konstanty senzoru pro kanál 4.
Tabulka 12: Seznam funkcí aplikace ADSP2189M GUI a jejich struný popis.
42
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
3.4 APLIKACE KALMANOVA FILTRU
3.4.1 Kalmanv filtr pro senzory úhlových rychlostí
Programovací prostedí Matlab 7.0 umožnilo vytvoit obecný model senzoru úhlových rychlostí a následn na nj aplikovat algoritmus Kalmanova filtru. Nejprve byla provedena simulace vlastního Kalmanova filtru. Zdrojový kód algoritmu napsaného obecn pro jakýkoli model definovaný jako promnná typu systém pro Matlab je souástí pílohy 9.5. V píloze 9.6 je pak zdrojový kód vytvoené funkce, která umožuje pro zvolené vstupní parametry provést simulaci Kalmanovy filtrace na modelu senzoru úhlových rychlostí popsaného rovnicemi (3.1) a (3.2). Zadáním parametr lze simulaci upravit pro daný konkrétní senzor i micí systém. Simulaci lze spustit voláním funkce: KF_gyro (fvz, N, G, Amp, UR, SM, SP, DR), kde jednotlivé parametry popisuje tabulka 13.
fvz
Vzorkovací frekvence micího systému (Hz)
UR
N
Poet krok Kalmanova filtru
SM Rozsah amplitudy šumu mení (V)
G
Pevodní konstanta (°/s/V)
SP
Amp Amplituda meného signálu senzoru (V)
Referenní naptí (V)
Rozsah amplitudy šumu procesu (V)
DR Drift zpsobující zkreslení signálu (V)
Tabulka 13: Parametry pro simulaci Kalmanovy filtrace na modelu senzoru úhlových rychlostí pomocí funkce KF_gyro() Model senzoru úhlových rychlostí vychází z defininí rovnice:
Z G u uR ,
(3.1)
kde Z je úhlová rychlost, G pevodní konstanta senzoru13, u mené naptí a u R referenní naptí. Zvolený model byl aproximován stavovými maticemi systému a stavovým vektorem xˆ : § 0 1· §1· A ¨ ¸, B ¨ ¸, C ©0 1 ¹ © 0¹
G
0 , D
§ u uR · 0, xˆ ¨ ¸ © uR ¹
(3.2)
ást kódu programu pro Matlab, která definuje model senzoru úhlových rychlostí, je popsána na obrázku 31. Kód popisuje rovnice pro vytvoení požadovaných signál s aditivním 13
G je pevodní konstanta mající jednotky (°/s/V), katalogy od výrobc senzor úhlových rychlostí však udávají pevodní konstantu vždy v (mV/°/s), proto je nutné použít pevodní vztah K=1000 / G, kde K odpovídá pevodní hodnot v katalogu.
43
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
náhodným šumem, které simulují funkci senzoru úhlových rychlostí. Programem je také definován šum mení, šum procesu, šum zpsobený driftem a od nich odvozené kovarianní matice modelu procesu Q a modelu mení R tak, jak popisuje blokové schéma propojení modelu systému a Kalmanova filtru viz obrázek 7. Pro takto definovaný model byly provedeny simulace s rzn nastavenými parametry, což umožnilo ovení návrhu modelu Kalmanova filtru.
% Generovani nahodnych sumu: randn('state',0); uw = SM^2*randn(1,N+1); %sum mereni randn('state',0); uv = SP^2*randn(1,N+1); %sum procesu randn('state',0); dr = DR^2*randn(1,N+1); %sum zpusobeny driftem SPP = cov(uv); % vypocet kovariancni matice sumu procesu SMM = cov(uw); % vypocet kovariancni matice sumu mereni u_RW(1)=0; for i=2:N+1, u_RW(i) = u_RW(i-1) + dr(i)*T; end SDD = cov(u_RW); % vypocet kovariancni matice sumu refernce %************************************************************************ % Matice stavoveho popisu systemu: A = [0 -1;0 1]; B = [1;0]; C = [G 0]; D = 0; %************************************************************************ % Vytvoreni mereneho, referencniho a vstupniho signalu: r_w = Amp/2*sin(2*pi*.05*t)+Amp/2; % simulace rotace senzoru (sinus) u_s = r_w/G + ur0; % definice idealniho prubehu uhlove rychlosti u = u_s + uw; % idealni prubeh zatizeny sumem mereni m_w = G*(u - ur0); % definice mereneho (korekcniho) signalu ur = ur0 + u_RW; % definice referencniho signalu (vliv driftu) u_s = r_w/G + ur; % signal ovlivneny driftem u_in = u_s + uv; % vstupni signal ovlivneny sumem procesu %************************************************************************ % Nastaveni kovariancnich matic: Q = diag([SPP,SDD*1e-5]); % kov. matice modelu procesu Q R = SMM; % kov. matice modelu mereni R
Obrázek 31: Kód programu pro Matlab použitý k vytvoení obecného modelu senzoru úhlových rychlostí, na kterém byla provedena simulace Kalmanovy filtrace. Pro snadnjší interpretaci výsledk byl pedpokládán senzor úhlových rychlostí s pevodní konstantou 1 V/°/s, jehož výstupní signál ml rozsah 0V až 5V pi použité referenci 2,5 V. Šum mení byl nadhodnocen na 0,5 Vpp, piemž pro reálná mení lze pedpokládat šum ádov desetkrát menší. Simulace provedená funkcí KF_gyro(100; 10000; 1; 5; 2,5; 0,5; 0,05; 0,001) dosáhla následujících výsledk v podob graf zachycujících prbhy pozorovaných signál. Tyto prbhy jsou zobrazeny viz obrázek 32 až obrázek 34.
44
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Detailní zobrazení viz Obrázek 28
Obrázek 32: Výsledky simulace Kalmanova filtru pro model senzoru úhlových rychlostí, zobrazen je mený signál siln ovlivnný šumem, ideální prbh signálu a signál odhadovaný Kalmanovým filtrem.
Obrázek 33: Detailní zobrazení prbh filtrace Kalmanovým filtrem, viz obrázek 32
45
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 34: Výsledky simulace Kalmanova filtru pro model senzoru úhlových rychlostí; zobrazen je skutený prbh konstantního referenního signálu a jeho odhadu pomocí Kalmanova filtru. Výsledky simulace potvrdily skutenost, že Kalmanovým filtrem lze kvalitn odhadovat nejen prbh výstupního signálu zvoleného modelu senzoru úhlových rychlostí, ale pedevším i vnitní stavy systému, jako napíklad prbh signálu referenního naptí (viz obrázek 34), jenž vypovídá o vlivu driftu senzoru. Z hlediska užitenosti a použitelnosti Kalmanova filtru nutno zdraznit, že kvalita odhadu v nezanedbatelné míe záleží pedevším na komplexnosti a vrnosti vytvoeného modelu. ím vrnji se model piblíží k podob reálného systému, tím lepší výsledky Kalmanv filtr podává. Pro složitjší a komplikovanjší systémy, jakým mže být napíklad celý systém inerciální navigace, se úloha vtšinou pesouvá z oblasti lineární do oblasti nelineární, kde prostý Kalmanv filtr již nepostauje. V takovém pípad je nezbytné použít nkterý z algoritm Kalmanovy filtrace pro nelineární systémy, jak popisuje kapitola 2.4.3.
46
Michal Reinštein
3.4.2
Penos a zpracování signál senzor úhlových rychlostí
Využití Kalmanova filtru k urení neortogonalit tíosé soustavy
INS systém strun popsaný v kapitole 2.3 je instalován do letadla tak, aby osy jeho souadnicové soustavy byly totožné s osami letadla, tedy pínou, podélnou a vertikální osou, ke kterým jsou vztaženy Eulerovy polohové úhly (píný náklon, podélný sklon a kurz). Osy citlivosti senzor použitých v INS mohou být orientovány rzn, vždy ale existuje transformace mezi souadným systémem letadla a osami citlivosti senzor. Aby bylo možné provést transformaci ze soustavy senzor do soustavy letadla, je nutné zjistit její pípadnou neortogonalitu. To lze provést kalibrací neortogonalit senzor zpsobených tím, že jednotlivé osy citlivosti soustavy senzor na sebe nejsou navzájem kolmé. V této kapitole je popsána metoda zjištní neortogonalit tíosé soustavy senzor úhlových rychlostí s využitím Kalmanovy filtrace popsané v kapitole 2.4. Nech je dána ortogonální tíosá soustava x0, y0, z0 (viz obrázek 35) a k ní soustava neortogonální soustava x, y, z , kde úhly x, y , z udávají velikost neortogonalit.
Obrázek 35: Tíosá soustava s vyznaenými úhly neortogonalit Navrhovaná metoda kalibrace neortogonalit vychází ze dvou mení na rotaním stolku pomocí navrženého micího systému a zpracování namených dat vytvoeným skriptem pro Matlab 7.0 s názvem KF_calib, jehož zdrojový kód je souástí pílohy na CD. Skript KF_calib využívá algoritmu Kalmanova filtru k co nejpesnjšímu odhadu mené úhlové rychlosti, která by pro úely zjiš ování neortogonalit mla být konstantní. Skript má nkolik vstupních parametr, které popisuje tabulka 14. Výstupem skriptu je krom odhad 47
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
úhlových rychlostí i velikost úhlu vždy mezi referenní osou (osou rotace bhem mení) a osou, v níž je men vliv neortogonalit. Tedy pro soustavu na obrázku 35 s referenní osou x = x0 jde o úhly xy, xz, které lze ve výsledku získat výpotem z podílu píslušných složek odhadnutého vektoru vnitních stav systému. N
Poet vzork namených / simulovaných dat
Axy
Pro úel simulace nastavení úhlu xy
SM
Rozsah amplitudy šumu mení (V)
Axz
Pro úel simulace nastavení úhlu xz
DR
Drift zpsobující zkreslení signálu (V)
Urx0
Urotx Naptí mené senzorem s osou citlivosti v ose x
Ury0
Uroty
Urz0
Urotz
(V) Naptí mené senzorem s osou citlivosti v ose y (V) Naptí mené senzorem s osou citlivosti v ose z (V)
Kx
Wx
Úhlová rychlost odpovídající naptí Urotx (°/s)
Ky
Wy
Úhlová rychlost odpovídající naptí Uroty (°/s)
Kz
Wz
Úhlová rychlost odpovídající naptí Urotz (°/s)
Referenní naptí senzoru s osou citlivosti v ose x (V) Referenní naptí senzoru s osou citlivosti v ose y (V) Referenní naptí senzoru s osou citlivosti v ose z (V) Pevodní konstanta senzoru s osou citlivosti v ose x (°/s /V) Pevodní konstanta senzoru s osou citlivosti v ose y (°/s /V) Pevodní konstanta senzoru s osou citlivosti v ose z (°/s /V)
Tabulka 14: Vstupní parametry skriptu KF_calib pro kalibraci neortogonalit tíosé soustavy senzor úhlových rychlostí Algoritmus Kalmanova filtru byl implementován stejným zpsoben jako v kapitole 3.4.1; zmnny byly pouze matice systému a vektor vnitních stav: §1 0 0· ¨ ¸ A ¨0 1 0¸, B ¨0 0 1¸ © ¹
0 ,
C
§1 0 0· ¨ ¸ ¨ 0 1 0¸, D ¨0 0 1¸ © ¹
§ Zx · 0 , xˆ ¨¨ Z y ¸¸ ¨Z ¸ © z¹
§ · Zx ¨ ¸ ¨ cos D xy Z x ¸ ¨¨ ¸¸ © cos D xz Z y ¹
(3.3)
Pro využití skriptu KF_calib ke kalibraci na reálných namených datech tíosé soustavy senzor je nutno nahradit vektory Wx, Wy a Wz namenými daty a poet krok Kalmanova filtru N nastavit dle potu namených vzork. 3.4.3 Postup zjištní neortogonalit tíosé soustavy
Navržená metoda kalibrace neortogonalit vychází z tíosé soustavy definované na obrázku 35 a lze ji popsat postupem: 1.
Z tíosé soustavy senzor úhlových rychlosti je jeden senzor zvolen jako referenní.
2.
Nech osa x je referenní osou, tedy x = x0, a odpovídá ose citlivosti referenního senzoru
úhlové rychlosti. Osa y tak leží v referenní rovin x0, y0 a s osou x0 svírá úhel 90 + z. Osa z je
48
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
pak definována rotací osy z0 okolo osy x0 o malý úhel x a následn rotací okolo osy y0 o úhel y. Osy x, y, z odpovídají tedy osám citlivosti senzor a úhly x, y , z úhlm neortogonalit. 3.
Rotací celé soustavy konstantní úhlovou rychlostí na rotaním stolku okolo referenní osy
x = x0 lze na referenním senzoru namit úhlovou rychlost x danou otákami stolku. Senzor s osou citlivosti v ose y namí pak úhlovou rychlost y a senzor s osou citlivosti v ose z pak z. V ideálním pípad pro ortogonální soustavu jsou y a z nulové, ve skutenosti
však
odpovídají vztahm:
4.
Zy
cos D xy Z x
(3.4)
Zz
cos D xz Z x
(3.5)
Aplikací skriptu KF_calib na namená data lze získat odhady x, y, z a úhly xy, xz.
Píklad výstupu skriptu pro simulaci nastavených úhl xy = 86,666°, xz = 93,333° a mené otáky x = 20°/s viz obrázek 36 a obrázek 37.
Obrázek 36: Odhad prbhu úhlové rychlosti pepotené ze simulovaného zašumného konstantního signálu ze senzoru úhlové rychlosti (náhodným šumem 150mV a x = 20°/s). Simulace provedena pro N = 10000 vzork
49
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
¨ Obrázek 37: Vypotené úhly xy, xz pro simulované prbhy úhlových rychlostí zobrazené viz obrázek 36. Simulace provedena pro N = 10000 vzork a otáky x = 20°/s. 5.
Vzhledem k tomu, že mení v osách y a z jsou navzájem nezávislá a závisí pouze na
úhlové rychlosti vzhledem k ose rotace, zbývá už pouze urit poslední úhel yz. Ten lze získat zvolením referenní osy y = y0 a rotací celé soustavy okolo této osy ve stejném smyslu jako v pípad, kdy referenní osou byla osa x. 6.
Aplikací skriptu KF_calib na namená data lze stejným výpotem, jako byl pi referenci
v ose x získán úhel xy, urit i velikost úhlu yz . 7.
Na základ znalosti úhl xy, xz a yz je možné vypoíst hledané velikosti neortogonalit x,
y, z dle vztah:
D z D xy 90q
(3.6)
D y D xz 90q
(3.7)
D x D yz 90q
(3.8)
50
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
4 MENÍ POMOCÍ NAVRŽENÉHO SYSTÉMU Navržený systém byl realizován s ohledem na laboratorní podmínky a na prostedí, v nmž bude pevážn využíván. Vlastní systém vetn plastového ochranného krytu je zobrazen na fotografiích (viz obrázek 38).
Obrázek 38: Fotografie navrženého systému
51
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
4.1 KONFIGURACE MICÍHO SYSTÉMU K úloze mení charakteristik senzor úhlových rychlostí bylo nutné micí systém doplnit krom PC také o regulátorem ovládaný rotaní stolek a mené senzory. 4.1.1 Ovení základních funkcí micího systému Po zdlouhavém oživování systému, které se neobešlo bez komplikací, byl systém testován
a byly oveny jeho základní funkce, a to v tomto sledu: 1. naítání programu z externí pamti na desce systému do procesoru, 2. navázání a ovení komunikace s PC pomocí Bluetooth modul, 3. jednoduché mení konstantního signálu na každém kanálu AD pevodníku. Ke každému kanálu14 AD pevodníku byl pipojen signál konstantního naptí odpovídající polovin rozsahu výstupu senzoru, tedy 2,50100 V. Pro každý kanál bylo odmeno 20 hodnot, kde jedna hodnota odpovídá prmru ze 64 vzork zmených AD pevodníkem vzorkovací frekvencí 1001 Hz. Výsledky mení shrnuje tabulka 15. Kanál 0 (V) 2,50100
Kanál 1 (V) 2,50100
Kanál 2 (V) 2,50100
Kanál 3 (V) 2,50100
2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501449585 2,501754761 2,501754761 2,501907349 2,501373291 2,501678467 2,501754761 2,501907349 2,501373291 2,501754761 2,501754761 2,501907349 Prmrné hodnoty pro jednotlivé kanály (V): 2,501377106 2,501724243 2,501754761 2,501907349 Odchylky od mené hodnoty pro jednotlivé kanály (V): 0,0003771 0,000724 0,000755 0,000907
Tabulka 15: Tabulka dat zmených pi kontrole základních funkcí navrženého systému. 14
Kanály íslovány 0 až 3 dle oznaení v dokumentaci od výrobce.
52
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
K mení charakteristik senzor úhlových rychlostí je využíváno 16 bit, tedy rozlišitelnost AD pevodníku je 5 / 216 = 7,6 ·10-5 V. Odchylky od prmru zmených hodnot (viz tabulka 15) jsou vlivem šumu micího systému zhruba o ád vyšší, než je rozlišovací schopnost AD pevodníku.
4.1.2 Konfigurace systému pro rotaní stolek
Micí systém vetn senzor byl upevnn na nosnou plošinu rotaního stolku vybavenou úchytnými drážkami. Obrázek 39 zobrazuje rotaní stolek a jeho propojení s regulátorem. Regulátor rotaního stolku lze ovládat run pomocí tlaítek pro zvyšování / snižování rychlosti otáení a zastavení stolku. Pro pesné ovládání rotaního stolku a monitorování výstupních údaj o rychlosti otáení bylo využito grafické rozhraní ADSP2189M GUI (viz kapitola 3.3.3) instalované na PC a pipojené pomocí sériové linky RS232.
Regulátor rotaního stolku pipojený k PC
Konektor pro pipojení rotaního stolku k regulátoru
Sériový konektor rotaního stolku pro pipojení k PC (RS232)
Svtelná indikace a tlaítka pro nastavení otáek rotaního stolku
Baterie 12V pro napájení celého micího systému vetn senzor
Rota ní stolek – nosná plošina pro upevnní celého micího systému
Sníma otáek rotaního stolku
Úchytná drážka
Obrázek 39: Regulátorem ovládaný rotaní stolek
53
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
4.1.3 Propojení navrženého systému s PC
Navržený micí systém je propojen s PC pomocí sériové linky RS232 realizované párem bu BT232 modul (popis a parametry viz kapitola 2.2.2), nebo v pípad propojení s PC postrádajícím sériový port dvojicí BT232 / BT USB Dongle. Základem pro realizaci propojení je vyvedení pin z konektor zn. BTdat a BTpwr na desce (viz obrázek 22) na píslušné piny konektoru typu DB9 Cannon, a to dle schématu:
Obrázek 40: Schéma pipojení BT modulu k navrženému systému pomocí DB9 Cannon Konektor DB9 Cannon je poté pipojen na BT232 modul. Výchozí nastavení modulu BT232 je popsané v tabulce 16 a je totožné s výchozím nastavením parametr sériové linky micího systému. Zmna v parametrech sériové linky by si vyžádala zmnu patiných konstant v programu (soubor constant.h). Propojení dvou BT232 modul nahrazujících sériový kabel probíhá automaticky, bez nutnosti mnit provozní mód BT232, tedy výchozí mód 0 (zn. 1:1 connection). Pro pipojení k PC pomocí BT USB Dongle modulu je nutné BT232 modul pipojený k navrženému systému pekonfigurovat, tedy nastavit mód 1 (zn. connection waiting). Zmna provozních mód i parametr je podrobnji popsána v manuálu použitých modul.
PENOSOVÁ RYCHLOST [b/s] POET DATOVÝCH BIT [ b ] POET STOP-BIT [b] PARITA (žádná / lichá / sudá) KONTROLA (žádná / hardware)
9600 8 1 žádná žádná
Tabulka 16: Výchozí nastavení parametr sériové linku BT232 modulu
54
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
4.2 MENÍ PEVODNÍCH CHARAKTERISTIK SENZOR Dle zadání byly zmeny pevodní charakteristiky jednotlivých senzor úhlových rychlostí v rozsahu (0 - 100)°/s, a to XRS150 od firmy Analog Device a ENV05D od firmy Murata.
4.2.1 Pevodní charakteristiky senzor XRS150 POSTUP MENÍ:
1.
upevnní a konfigurace systému na rotaní stolek dle kapitol 4.1.2 a 4.1.3,
2.
zapojení tí senzor XRS150EB15 (viz obrázek 41 a obrázek 42) na nepájivém poli dle pokyn uvedených v katalogu od výrobce a upevnní na rotaním stolku,
3.
spuštní aplikace ADSP2189M GUI (viz kapitola 3.3.3),
4.
navázání komunikace s regulátorem rotaního stolku a micím systémem,
5.
nastavování požadovaných otáek na regulátoru, automatické mení signál senzor,
6.
uložení namených dat do souboru aplikace MS Excel,
7.
zpracování namených dat v prostedí Matlab (skript MES_XRS150.m).
Obrázek 41: Senzor úhlových rychlostí XRS150EB Senzor XRS150 lze pipojit na jakýkoli konektor zn. 10, 11, 12, 13 viz Obrázek 22 nebo zn. Senzor1 až Senzor4 na schématu viz píloha 8.1: PIN na XRS150EB 1 (AVCC) 13 (PDD) 2 (RATEOUT) 8 (AGND)
PIN konektoru 1 1 2 3
Obrázek 42: Pipojení senzor XRS150EB k navrženému micímu systému 15
XRS150EB je oznaení senzoru XRS150 napájeného na desce s vyvedenými jednotlivými piny, tj. Evaluation Board
55
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
ZPRACOVÁNÍ NAMENÝCH DAT:
Vzorkovací frekvence micího systému byla nastavena na 1001 Hz. Micí systém vždy odesílal prmrnou hodnotu ze 64 vzork do PC. Všechny ti senzory byly zmeny zárove, každý byl pipojen na jeden micí kanál. Namená data výstupního naptí senzor a signálu otáek z regulátoru rotaního stolku byla uložena do souboru MES_XRS150.xls, který je souástí pílohy na CD a obsahuje celkem 2424 vzork pro každý senzor. Ke zpracování namených dat byl vytvoen skript MES_XRS150.m pro Matlab (viz píloha 9.7), který je rovnž souástí pílohy na CD. Skript z namených dat uril hodnotu referen ního naptí pro nulové otáky, pevodní konstantu daného senzoru a z vypotených
hodnot zobrazil požadované zmené prbhy a vypo tené pevodní charakteristiky. Na zmených charakteristikách se projevil vliv rotaního stolku v podob zkreslení prbhu aditivním periodickým signálem. Skript využívá Fourierovu transformaci (FFT) signálu k nalezení frekvencí tohoto signálu (viz kapitola 4.2.3). VÝSLEDKY MENÍ:
Zmené hodnoty naptí na výstupu senzor XRS150 zobrazuje obrázek 43.
Obrázek 43: Zmené prbhy naptí na výstupu senzor XRS150 Hodnoty referenního naptí pro nulové otáky u R a pevodních konstant udává Tabulka 17. SENZOR Referen ní naptí uR (V) Pevodní konstanta (mV//s) 2,31227 12,58279 XRS150 zn. 1 2,44829 12,34577 XRS150 zn. 2 2,27015 12,87720 XRS150 zn. 3 Tabulka 17: Tabulka hodnot referenního naptí a pevodních konstant senzor XRS150 56
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Prbhy úhlové rychlosti senzor XRS150 pepotené pomocí hodnot v tabulce 17 jsou spolu se signálem z rotaního stolku zobrazeny na obrázku 45 až obrázku 47.
Obrázek 44: Prbh úhlové rychlosti mený regulátorem rotaního stolku
Obrázek 45: Zmený prbh úhlové rychlosti senzoru XRS150 zn. 1 57
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 46: Zmený prbh úhlové rychlosti senzoru XRS150 zn. 2
Obrázek 47: Zmený prbh úhlové rychlosti senzoru XRS150 zn. 3
58
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Pevodní charakteristiky zmených senzor XRS150 jsou zobrazeny viz obrázek 48, obrázek 49 a obrázek 50.
Obrázek 48: Pevodní charakteristika senzoru XRS150 zn.1
Obrázek 49: Pevodní charakteristika senzoru XRS150 zn.2
59
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 50: Pevodní charakteristika senzoru XRS150 zn.3
ZHODNOCENÍ MENÍ:
Pro ti senzory XRS150 byly zmeny pevodní charakteristiky a vypoteny pevodní konstanty viz tabulka 17. Pevodní charakteristiky vykazovaly pedpokládaný lineární prbh. Vypotené pevodní konstanty odpovídaly rozsahu
(11,25 y 13,75) mV/°/s udávanému
výrobcem. Zkreslení mených prbh naptí vlivem rotaního stolku je popsáno viz kapitola 4.2.3.
4.2.2 Pevodní charakteristiky senzor ENV05D POSTUP MENÍ:
1.
upevnní a konfigurace systému na rotaní stolek dle kapitol 4.1.2 a 4.1.3,
2.
pipojení dvou senzor ENV05D (viz obrázek 51) dle pokyn uvedených v katalogu od
výrobce a upevnní na rotaním stolku, 3.
spuštní aplikace ADSP2189M GUI (viz kapitola 3.3.3),
4.
navázání komunikace s regulátorem rotaního stolku a micím systémem,
5.
nastavování požadovaných otáek na regulátoru, automatické mení signál senzor,
6.
uložení namených dat do souboru aplikace MS Excel,
7.
zpracování namených dat v prostedí Matlab (skript MES_ENV05D.m).
60
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
1 (VCC)
Senzor ENV05D lze pipojit na jakýkoli konektor zn. 10, 11, 12, 13 viz Obrázek 22 nebo zn. Senzor1 až Senzor4 na schématu viz píloha 8.1:
2 (GND)
3 (OUT)
PIN na ENV05D 1 (VCC) 2 (GND) 3 (OUT)
PIN konektoru 1 2 3
Obrázek 51: Senzor ENV05D a popis pipojení k navrženému micímu systému
ZPRACOVÁNÍ NAMENÝCH DAT:
Vzorkovací frekvence micího systému byla nastavena na 1001 Hz. Micí systém vždy odesílal prmrnou hodnotu ze 64 vzork do PC, stejn jako pi mení senzor XRS150. Namená data výstupního naptí senzor a signálu otáek z regulátoru rotaního stolku byla uložena do souboru MES_ENV05D.xls, který je souástí pílohy na CD a obsahuje celkem 3952 vzork pro každý senzor. Ke zpracování namených dat byl vytvoen skript MES_ENV05D.m pro Matlab, který plnil stejnou funkci jako skript MES_XRS150.m (viz píloha 9.7), jen pro jiná vstupní data.
VÝSLEDKY MENÍ:
Zmené hodnoty naptí na výstupu senzor ENV05D zobrazuje obrázek 52.
Obrázek 52: Zmené prbhy naptí na výstupu senzor ENV05D Hodnoty referenního naptí pro nulové otáky u R a pevodních konstant udává tabulka 18 61
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
SENZOR ENV05D zn. 1 ENV05D zn. 2
Referen ní naptí uR (V) 2.5483 2.6115
Pevodní konstanta (mV//s) 21.62807 21,73056
Tabulka 18: Tabulka hodnot referenního naptí a pevodních konstant senzor ENV05D Pevodní charakteristiky senzor ENV05D jsou zobrazeny viz obrázek 53 a obrázek 54.
Obrázek 53: Pevodní charakteristika senzoru ENV05D zn.1
Obrázek 54: Pevodní charakteristika senzoru ENV05D zn.2 62
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
ZHODNOCENÍ MENÍ:
Pro dva senzory ENV05D byly zmeny pevodní charakteristiky a vypoteny pevodní konstanty viz tabulka 18. Pevodní charakteristiky vykazovaly pedpokládaný lineární prbh. Vypotené pevodní konstanty však neodpovídaly rozsahu (23,0 y 27,0) mV/°/s udávanému výrobcem. Odchylovaly se o 3,3719 mV/°/s pro senzor ENV05D zn.1 a o 3,2694 mV/°/s pro ENV05D zn. 2 od typické hodnoty pevodní konstanty.Zkreslení meného prbhu naptí vlivem rotaního stolku bylo stejné pro senzory XRS150 i ENV05D (viz kapitola 4.2.3).
4.2.3 Vliv rotaního stolku na mení
Vliv rotaního stolku se projevil jako periodický aditivní šum superponovaný na výstupní naptí senzoru úhlových rychlostí. Pomocí Fourierovy transformace (algoritmus FFT, N = 512 bod) byly nalezeny první harmonické frekvence pro jednotlivé otáky stolku (viz tabulka 19).
Obrázek 55: Prbh výstupního naptí senzoru úhlových rychlostí XRS150 s patrným vlivem šumu zpsobeného rotaním stolkem.
63
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
ÚHLOVÁ RYCHLOST
Frekvence (Hz) XRS150 zn.1
Frekvence (Hz) XRS150 zn.2
Frekvence (Hz) XRS150 zn.3
10
0.3055
0.3055
0.3055
20
0.2443
0.2443
0.2443
30
0.3360
0.3360
0.3360
40
0.4582
0.4582
0.4582
50
0.5804
0.5804
0.5804
60
0.7026
0.7026
0.7026
70
0.8248
0.8248
0.8248
80
0.9470
0.9470
0.9470
90
1.0386
1.0386
1.0386
100
1.1608
1.1608
1.1608
Tabulka 19: Tabulka prvních harmonických frekvencí šumu zpsobeného rotaním stolkem v závislosti na rychlosti otáení stolku Namené hodnoty frekvencí narstaly lineárn (viz obrázek 56) se zvyšujícími se otákami rotaního stolku totožn pro všechny senzory. Do rychlosti ~ 10 °/s šum neml žádnou výraznou harmonickou složku (viz obrázek 57), vliv rotaního stolku se uplatoval až od ~10 °/s.
1,0 Hz
85,88 °/s
Obrázek 56: Graf závislosti první harmonické frekvence šumu na rychlosti otáení stolku
64
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 57: Grafy výkonové spektrální hustoty šumu pro rychlosti otáení stolku 10, 20, 30, 40, 50, 60, 70, 80, 90 a 100 °/s senzoru XRS150 zn.1 Z lineárního prbhu namených frekvencí v závislosti na velikosti otáek rotaního stolku vyplývá, že se jedná bu o vadný zub na kole pevodovky nebo vzhledem k nízké frekvenci o závadu pímo na hídeli. Dle prbhu na obrázku 56 odpovídá frekvenci 1 Hz úhlová rychlost otáení 85,88 °/s, tedy vliv rotaního stolku se projevuje nejvíce pi pootoení nosné plošiny o každých 85,88°. Jedna z možností, jak vliv rotaního stolku odstranit, je vyžití úzkopásmové zádrže o šíi zhruba 0,5 Hz, jejíž frekvence by se mnila v závislosti na rychlosti otáení stolku dle zmené lineární charakteristiky viz obrázek 56.
65
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
4.3 VLIV ZRYCHLENÍ NA VÝSTUPNÍ ÚDAJE SENZOR Vliv zrychlení na výstupní údaj senzor úhlových rychlostí byl zmen pomocí vibraního zaízení v zapojení dle blokového schématu viz obrázek 58. Pro mení byl zvolen jeden senzor typu XRS150 (zn.1) a jeden typu ENV05D (zn.1). Bhem mení bylo sledováno výstupní naptí senzor pro nulové otáky, tedy hodnota referenního naptí senzoru. Zrychlení bylo meno v rozsahu od 0,2 g do 0,8 g pro frekvence v rozsahu od 30 Hz do 80 Hz. ENV05D
AKCELEROMETR
PC IEEE 488
XRS150
DIGITÁLNÍ MULTIMETR
GENERÁTOR
ZDROJ 15V
NÁBOJOVÝ ZESILOVA
ÚTLUMOVÝ LÁNEK 1:50
VIBRANÍ ZAÍZENÍ
VIBRANÍ ZAÍZENÍ SE SENZORY
VÝKONOVÝ ZESILOVA
ZDROJ 5V
DIGITÁLNÍ MULTIMETR
Obrázek 58: Blokové schéma zapojení úlohy pro mení vlivu zrychlení na výstupní údaj senzor úhlových rychlostí pomocí vibraního zaízení.
Výsledky mení byly shodné pro oba typy senzor. Oba senzory prokázaly odolnost vi vibracím v meném rozsahu; vibrace nemly na výstupní údaj senzor žádný vliv. Výsledek mení odpovídá popisu uvádnému v katalogu výrobcem a dle výrobce je shodný pro všechny osy. Výrobce popisuje dva zetelné vlivy, a to posun referenního naptí pro nulové otáky a indukovaný statický šum o rozsahu amplitud ádov do dvou desítek mV pro zrychlení zhruba 10g a frekvence 20 Hz až 20 kHz. Pevodní konstanta senzoru je ovlivnna teprve až zrychlením dosahujícím ádov nkolika stovek m/s2. Nejvíce citlivý na zrychlení je senzor v oblasti své rezonanní frekvence 14 kHz, a to v pásmu o šíi 40 Hz. Pesnjší popis vlivu zrychlení na výstupní údaje senzor úhlových rychlostí udávají katalogy od výrobc . 66
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
5 ZHODNOCENÍ DOSAŽENÝCH VÝSLEDK Hlavním cílem této diplomové práce bylo navrhnout a realizovat systém pro penos signál senzor úhlových rychlostí z rotaního stolku. Obvodové schéma bylo navrženo ve vývojovém prostedí Orcad, deska plošných spoj v prostedí Layout Plus. Penos z rotaního stolku byl realizován pomocí Bluetooth modul. Pi ovování funkcí micího systému byla zjištna odchylka meného naptí od skuteného, zpsobená šumem, o ád vyšší, než je rozlišovací schopnost použitého AD pevodníku, která je 7,6·10-5 V. Pesnost mení systému je však postaující, proto lze považovat jeho funkci za ovenou. Realizovaný micí systém lze využít pro mení až ty analogových výstupních signál senzor v rozsazích +5 V, ±5 V, +10 V a ±10 V s pesností 7,6·10-4 V. Vzorkovací frekvenci systému lze volit v rozsahu 371 Hz až 12166 Hz pomocí navrženého softwaru. Tento software byl speciáln vytvoen pro úely mení úhlových rychlostí a kalibrace senzor úhlových rychlostí. Bližší informace ohledn navrženého programu pro procesor a uživatelského rozhraní pro PC je možné nalézt v kapitole 3.3. S využitím navrženého systému byly zmeny pevodní charakteristiky senzor úhlových rychlostí XRS150 a ENV05D v rozsahu (0 y 100) °/s. Zjištné pevodní konstanty senzor XRS150 byly 12,5827 mV/°/s, 12,3457 mV/°/s a 12,8772 a ležely v rozsahu udávaném výrobcem, a to (11,25 y 13,75) mV/°/s. Pevodní konstanty senzor ENV05D byly 21,6280 mV/°/s a 21,7305 mV/°/s. U tchto senzor bylo zjištno, že pevodní konstanty leží mimo rozsah udávaný výrobcem, což je (23,0 y 27,0) mV/°/s. Pomocí vibraního zaízení byl na senzorech XRS150 a ENV05D zjiš ován vliv vibrací rozsahu (0,2 y 0,8) g pro frekvence v rozsahu (30 y 80) Hz. Mení nepotvrdilo vliv zrychlení na výstupní údaje senzor úhlových rychlostí, proto lze pedpokládat, že platí specifika udávaná výrobcem. Vzhledem k rozsahu zadání diplomové práce nebyla z asových dvod realizována kalibrace neortogonalit tíosé soustavy senzor úhlových rychlostí. Pouze byl navržen postup, jehož správnost byla potvrzena na základ simulace v prostedí Matlab. Navržená metoda je funkní za pedpokladu zajištní nulové odchylky zvolené referenní osy rotace od skutené osy rotace soustavy. Pro praktická mení je splnní výše uvedeného pedpokladu velmi nároné, proto byla rovnž navržena metoda, která využívá nejen tíosou soustavu senzor úhlových rychlostí, ale i akcelerometr ve funkci inklinometru. Takto doplnná micí soustava by mla být schopna minimalizovat nutnost znalosti natoení tíosé soustavy senzor úhlové rychlosti. Výsledky kalibrace tíosé soustavy senzor úhlové rychlosti budou prezentovány v rámci obhajoby diplomové práce. 67
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
6 ZÁVR Tato diplomová práce se skládá ze tí hlavních ástí: první - teoretické, druhé - zabývající se realizací micího systému, a tetí - obsahující výsledky mení.
Teoretická ást diplomové práce obsahuje volbu a popis penosové cesty pro penos signál senzor úhlových rychlostí z rotaního stolku pomocí technologie Bluetooth. Jsou popsány vlastnosti senzor úhlových rychlostí vzhledem k jejich využití v systémech inerciální navigace. Práce dále obsahuje teoretické podklady, odvození a princip Kalmanova filtru se zamením na dynamické lineární systémy. Teorie Kalmanovy filtrace pro nelineární dynamické systémy je strun zmínna, pesahuje však rozsah této práce. ást zabývající se realizací obsahuje podrobný popis návrhu a kompletní dokumentaci vytvoeného micího systému. Je popsána obvodová realizace a zdokumentováno programové vybavení pro signálový procesor micího systému a grafické uživatelské rozhraní pro PC. Dále práce obsahuje popis a výsledky aplikace Kalmanova filtru na modelu senzoru úhlových rychlostí a popis postupu pro kalibraci neortogonalit pomocí Kalmanova filtru. Poslední, tetí ást práce obsahuje ovení funkcí navrženého micího systému, jeho konfiguraci pro rotaní stolek a návod na propojení s PC. Práce dále obsahuje výsledky mení pevodních charakteristik senzor úhlových rychlostí a vlivu zrychlení na výstupní údaje senzor.
Závrem lze shrnout, že požadovaný micí systém byl navržen, realizován a úspšn využit pi mení pevodních charakteristik senzor úhlových rychlostí. Proto se s ním do budoucna poítá k realizaci laboratorní úlohy pro pedmt Pístrojové systémy letadel i Kontrola letadlových systému. Je možné jej však využít i k bžnému mení v laboratorních podmínkách. Použitý signálový procesor umožuje další rozšíení systému modifikací softwaru, napíklad doplnním o Kalmanv filtr i algoritmus pro kalibraci neortogonalit tíosé soustavy senzor.
68
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
7 LITERATURA [1] Grewal, M.S., Andrews, A.P.: Kalman filtering – Theory and Practice Using Matlab, NY USA 2001 [2] Rogers, R.M.: Applied Mathematics in Integrated Navigation Systems, Reston USA 2003 [3] Titterton, D.H., Weston, J.L.: Strapdown Inertial Navigation Technology, London UK 1997 [4] Kocourek, P., Novák, J.: Penos informace, VUT 2004 [5] Vedral, J., Fischer, J.: Elektronické obvody pro micí techniku, VUT 2004 [6] Vobecký, J., Záhlava, V.: Elektronika, Grada Publishing 2001 [7] Hlavá, V., Sedláek, M.: Zpracování signál a obraz, VUT 2005 [8] Haasz, V., Roztoíl, J., Novák J.: íslicové micí systémy, VUT 2000 [9] Barthe S., Cros G., Polez L., Dussy S., Marchand L.: The study of MEMS failure mechanisms and Reliability / Qualification testing methods, ESTEC October 2005, 5th (ESA, EADS
Atrium and CNES joint project) [10] Madisetti Vijay, K., Williams Douglas, B. Digital signal processing handboook, Atlanta USA 1999 [11] Kreidl, M., a kolektiv: Diagnostické systémy, VUT 2001 [12] Bishop, G., Welch, G.: An Introduction to the Kalman Filter, North Carolina USA 2001 [13] Analog Devices, Inc : ADSP218x Instruction set, USA November 2004 [14] Analog Devices, Inc : ADSP218x Hardware reference, USAFebruary 2001 [15] Analog Devices, Inc :ADSP-2189M EZ-KIT Lite Evaluation System Manual, USA 2003 [16] Analog Devices, Inc : VisualDSP++ 2.0 Assembler and Preprocessor Manual for ADSP 2189x DSPs, USA 2001
[17] The Applications Engineering Staff of Analog Devices, DSP Division: Digital signal processing applications using the ADSP-2100 family, New Jersey USA 1990
[18] http://www.fi.muni.cz/usr/jkucera/pb071/uvodc.htm#pole 24.7.2006 [19] http://en.wikipedia.org/wiki/Kalman_filter
10.4.2006
[20] http://en.wikipedia.org/wiki/Gyroscopes
10.4.2006
[21] http://en.wikipedia.org/wiki/Inertial_navigation
10.4.2006
Odkazy na internetové stránky výrobc použitých sou ástek:
[22] ANALOG DEVICES, Inc:
http://www.analog.com 18.5.2005
[23] GM ELECTRONIC, s.r.o.:
http://www.gme.cz
[24] CZECHLABS s.r.o.: [25] ROALAN Ltd.:
http://www.czechlabs.com
http://www.roalan.com
18.5.2005 10.5.2005 18.6.2006 69
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
8 SEZNAM OBRÁZK A TABULEK 8.1 Seznam obrázk Obrázek 1: Bluetooth moduly BT232 a BT USB Dongle adaptér (MSI) .........................................4 Obrázek 2: Senzory úhlových rychlostí jako souást strapdown systému inerciální navigace .......6 Obrázek 3: Využití senzor úhlových rychlostí ...............................................................................6 Obrázek 4: Senzor ADXRS150 ........................................................................................................6 Obrázek 5: Stavový model dynamického lineárního systému ........................................................12 Obrázek 6: Cyklus Kalmanova filtru .............................................................................................13 Obrázek 7: Propojení Kalmanova filtru a modelu systému...........................................................14 Obrázek 8: Schéma popisující jednotlivé fáze návrhu systému .....................................................17 Obrázek 9: Principiální blokové schéma navrženého systému......................................................18 Obrázek 10: Vnitní zapojení analogových vstup AD pevodníku ..............................................20 Obrázek 11: Vnitní struktura kanálu AD pevodníku ..................................................................20 Obrázek 12: Signálové propojení DSP procesoru a AD pevodníku ............................................21 Obrázek 13: Obvodové schéma propojení DSP procesoru a AD pevodníku ...............................22 Obrázek 14: Obecné schéma pro pipojování I/O periferií a pamtí k procesoru ........................24 Obrázek 15: Zapojení dohlížecího obvodu DS1233A a tlaítka pro resetování procesoru ..........24 Obrázek 16: Zapojení oscilátoru SG-615 a obvod pro generování hodinového kmitotu ..........25 Obrázek 17: Zapojení soustavy LED pro monitorování procesoru...............................................25 Obrázek 18: Zapojení budie ADM3202 pro komunikaci po sériové lince...................................26 Obrázek 19: Obvody zdroje naptí - oddlení digitální a analogové napájecí sít 5V .................27 Obrázek 20: Obvody LE33CZ a LE25ABZ pro stabilizaci napájecího naptí na 3,3V a 2,5V .....28 Obrázek 21: Obvody pesné napové reference 2,5V ..................................................................28 Obrázek 22: Orientaní schéma zapojení......................................................................................29 Obrázek 23: Vývojový diagram popisující tvorbu programu pro navržený systém ......................31 Obrázek 24: Program pro procesor definující tabulku vektor perušení ....................................34 Obrázek 25: Prbhy signál pro komunikaci s AD pevodníkem................................................35 Obrázek 26: Prbhy signál pro komunikaci po SPORT0 ..........................................................35 Obrázek 27: Datová sekvence pro nastavení parametr micích kanál AD pevodníku...........36 Obrázek 28: Hlavní ovládací panel aplikace ADSP2189M GUI. .................................................38 Obrázek 29: Konfiguraní panel aplikace ADSP2189M GUI.......................................................39 Obrázek 30: Textové monitorovací okno aplikace ADSP2189M GUI ..........................................41 Obrázek 31: Kód programu pro Matlab použitý k vytvoení obecného modelu senzoru úhlových rychlostí, na kterém byla provedena simulace Kalmanovy filtrace.......................................44 Obrázek 32: Výsledky simulace Kalmanova filtru pro model senzoru úhlových rychlostí, zobrazen je mený signál siln ovlivnný šumem, ideální prbh signálu a signál odhadovaný Kalmanovým filtrem. .........................................................................................45 Obrázek 33: Detailní zobrazení prbh filtrace Kalmanovým filtrem, viz Obrázek 32 ..............45 Obrázek 34: Výsledky simulace Kalmanova filtru pro model senzoru úhlových rychlostí; zobrazen je skutený prbh konstantního referenního signálu a jeho odhadu pomocí Kalmanova filtru. ...................................................................................................................46 Obrázek 35: Tíosá soustava s vyznaenými úhly neortogonalit ..................................................47 Obrázek 36: Odhad prbhu úhlové rychlosti pepotené ze simulovaného zašumného konstantního signálu ze senzoru úhlové rychlosti (náhodným šumem 150mV a x = 20°/s). Simulace provedena pro N = 10000 vzork ..........................................................................49 Obrázek 37: Vypotené úhly xy, xz pro simulované prbhy úhlových rychlostí zobrazené viz Obrázek 36. Simulace provedena pro N = 10000 vzork a otáky x = 20°/s. ....................50 Obrázek 38: Fotografie navrženého systému ................................................................................51 70
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
Obrázek 39: Regulátorem ovládaný rotaní stolek .......................................................................53 Obrázek 40: Schéma pipojení BT modulu k navrženému systému pomocí DB9 Cannon ............54 Obrázek 41: Senzor úhlových rychlostí XRS150EB ......................................................................55 Obrázek 42: Pipojení senzor XRS150EB k navrženému micímu systému ..............................55 Obrázek 43: Zmené prbhy naptí na výstupu senzor XRS150 ..............................................56 Obrázek 44: Prbh úhlové rychlosti mený regulátorem rotaního stolku ...............................57 Obrázek 45: Zmený prbh úhlové rychlosti senzoru XRS150 zn. 1..........................................57 Obrázek 46: Zmený prbh úhlové rychlosti senzoru XRS150 zn. 2..........................................58 Obrázek 47: Zmený prbh úhlové rychlosti senzoru XRS150 zn. 3..........................................58 Obrázek 48: Pevodní charakteristika senzoru XRS150 zn.1 ........................................................59 Obrázek 49: Pevodní charakteristika senzoru XRS150 zn.2 ........................................................59 Obrázek 50: Pevodní charakteristika senzoru XRS150 zn.3 ........................................................60 Obrázek 51: Senzor ENV05D a popis pipojení k navrženému micímu systému .......................61 Obrázek 52: Zmené prbhy naptí na výstupu senzor ENV05D ............................................61 Obrázek 53: Pevodní charakteristika senzoru ENV05D zn.1 ......................................................62 Obrázek 54: Pevodní charakteristika senzoru ENV05D zn.2 ......................................................62 Obrázek 55: Prbh výstupního naptí senzoru úhlových rychlostí XRS150 s patrným vlivem šumu zpsobeného rotaním stolkem. ...................................................................................63 Obrázek 56: Graf závislosti první harmonické frekvence šumu na rychlosti otáení stolku.........64 Obrázek 57: Grafy výkonové spektrální hustoty šumu pro rychlosti otáení stolku 10, 20, 30, 40, 50, 60, 70, 80, 90 a 100 °/s senzoru XRS150 zn.1 .................................................................65 Obrázek 58: Blokové schéma zapojení úlohy pro mení vlivu zrychlení na výstupní údaj senzor úhlových rychlostí pomocí vibraního zaízení. ....................................................................66
71
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
8.2 Seznam tabulek Tabulka 1: Tídy Bluetooth zaízení ................................................................................................3 Tabulka 2: Parametry zvoleného Bluetooth modulu BT232............................................................4 Tabulka 3: Charakteristické vlastnosti vybraných senzor úhlových rychlostí ..............................7 Tabulka 4: Definice zásadních pojm z oblasti senzoriky dle [3] ...................................................8 Tabulka 5: Oekávatelné pesnosti senzor úhlových rychlostí......................................................8 Tabulka 6: Typické parametry AD7734 s využitím prmrování (chopping) ...............................21 Tabulka 7: Proudový odbr a zatížení stabilizátoru pro napájecí sí 5.0V ...................................27 Tabulka 8: Proudový odbr a zatížení stabilizátoru pro napájecí sí 3,3V ...................................28 Tabulka 9: Tabulka vysvtlivek pro Obrázek 22 ...........................................................................29 Tabulka 10: Tabulka definovatelných konstant urujících parametry celého systému .................33 Tabulka 11: Tabulka vysvtlivek pro Obrázek 28 se struným popisem jednotlivých ovládacích prvk rozhraní ADSP2189M GUI. ........................................................................................39 Tabulka 12: Seznam funkcí aplikace ADSP2189M GUI a jejich struný popis. ...........................42 Tabulka 13: Parametry pro simulaci Kalmanovy filtrace na modelu senzoru úhlových rychlostí pomocí funkce KF_gyro() ......................................................................................................43 Tabulka 14: Vstupní parametry skriptu KF_calib pro kalibraci neortogonalit tíosé soustavy senzor úhlových rychlostí ....................................................................................................48 Tabulka 15: Tabulka dat zmených pi kontrole základních funkcí navrženého systému. ..........52 Tabulka 16: Výchozí nastavení parametr sériové linku BT232 modulu ......................................54 Tabulka 17: Tabulka hodnot referenního naptí a pevodních konstant senzor XRS150 .........56 Tabulka 18: Tabulka hodnot referenního naptí a pevodních konstant senzor ENV05D ........62 Tabulka 19: Tabulka prvních harmonických frekvencí šumu zpsobeného rotaním stolkem v závislosti na rychlosti otáení stolku ..................................................................................64
72
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9 PÍLOHA 9.1 PÍLOHA 1: Obvodové schéma systému – Orcad Capture 9.2
73
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.2 PÍLOHA 2: Schéma tištných spoj – Layout Plus
74
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.3 PÍLOHA 3: Souástková základna PO ET
REFERENCE
NÁZEV
1 1 25
ADM3202 AD7734 C1,C3,C9,C12,C13,C14,C17, C18,C20,C23,C24,C25,C27, C28,C30,C31,C32,C33,C34, C35,C37,C38,C39,C40,C41 C2,C10,C15 C4,C5,C43,C44,C45,C46, C47 C11 C42 D1 D2,D3,D4,D5,D6,D7 J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 L2,L1 R16,R17,R18,R20,R21,R22 R23,R24,R27 R25 SW1 U2 U3 U4 U5 U6 U7 U8 U9 U11 U12
Budi ADM3202 AD Pevodník AD7734 C 100n
3 7 1 1 1 6 1 1 1 1 1 1 1 1 1 1 2 6 3 1 1 1 1 1 1 1 1 1 1 1 1
C 2M2 C 10n C 10M C 1n C 1N4007 Dioda L-HSMG-C150 Con2 12V Con4 Senzor4 Con2 SPORT1 Data Con3 FLAG Con2 BTpwr Con3 BTdat Con4 Senzor1 Con4 Senzor2 Con4 Senzor3 Con3 SPORT1 Synch. Tlumivka TL10uH R 51 R 10k R 33 Tlaítko P-B1720A Reference ADR421BR Stabilizátor LE33CZ Stabilizátor LE25ABZ Procesor ADSP2189M Pam AM29LV001B íta 74HC4024 Oscilátor SG-615 Stabilizátor LF50CDT Log. hradlo 74LVX14D Watchdog DS1233A
75
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.4 PÍLOHA 4: Parametry Bluetooth modulu BT232 1200, 2400, 4800, 9600, 19200, 38400, 57600 a 11520[b/s] žádná, hardware (RTS/CTS, DTR/DSR/DCD, vnitní smyka) žádná, sudá, lichá 1 nebo 2 max. 100 m Cannon DB-9 2.402 ~ 2.483 GHz(ISM band) GFSK (Hopping Frequency type: 1,600 times/sec) 79 (každý 1 MHz) 64 bitové šifrování min. 80 dBm 5.0 ~ 12 VDC 1. externí adaptér 2. USB kabel Možnosti napájení: 3. baterie 4. pin 9 na DB-9 65mm X 35 mm (2.6" X 1.4") Rozmry -20~+75 C Teplotní rozsah max. 85% Vlhkost €86 / jednotlivý modul CENA €155 / pár modul Podrobnjší informace na www.roalan.com Penosová rychlost Flow Control Parita Stop bity Dosah Konektor Penosové pásmo Modulace Poet kanál Zabezpeení Citlivost Napájení
76
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.5 PÍLOHA 5: Kalmanv filtr (pro MATLAB 7.0) % KF - Kalmanuv Filtr v.1.0 ( Michal Reinstein, CVUT FEL) % ------------------------------------------------------------------% POUZITI: s = KF(s), kde "s" je promenna typ "system" % ------------------------------------------------------------------% POPIS SYSTEMU: x = Ax + Bu + v % y = Cx + w % kde: v ~ N(0,Q) ... v je gaussovsky sum s kovarianci Q % w ~ N(0,R) ... w je gaussovsky sum s kovarianci R % ------------------------------------------------------------------% PROMENNE: % s.x = odhad stavoveho vektoru % s.y = vektor vystupu - pozorovatel % s.u = vstupni ridici vektor % s.A = matice systemu % s.P = kovariance odhadu stavoveho vektoru % s.B = matice vstupu, optional % s.Q = kovariancni matice sumu procesu % s.R = kovariancni matice sumu mereni % s.C = vystupni matice pozorovatele % POPIS PROGRAMU: % (1) definovani stavovych promennych systemu: A,B,C,Q,R % (2) definovani pocatecnich hodnot: x,P % (3) nastaveni/vypocet pozorovatele a vektoru rizeni: y,u % (4) volani filtru KF -> odhad a aktualizace: x,P % (5) navrat na krok (3) a opakovat % INICIALIZACE: % x = inv(C)*y <=> pokud není vektor x definovan, vypocte se % P = inv(C)*R*inv(C') <=> kovariancni matice nastavena na nekonecno % ------------------------------------------------------------------function s = KF(s) % Nastaveni vychozich hodnot: if ~isfield(s, 'x'); s.x = nan*y; end if ~isfield(s, 'P'); s.P = nan; end if ~isfield(s, 'y'); error('Chybí vektor pozorovatele'); end if ~isfield(s, 'u'); s.u = 0; end if ~isfield(s, 'A'); s.A = eye(length(x)); end if ~isfield(s, 'B'); s.B = 0; end if ~isfield(s, 'Q'); s.Q = zeros(length(x)); end if ~isfield(s, 'R'); error('Chybí kovarianní matice šumu meení'); end if ~isfield(s, 'H'); s.C = eye(length(x)); end if isnan(s.x) % Inicializace stavoveho vektoru z prvniho pozorovani if diff(size(s.C)) error('Matice pozorovatele musí být tvercová a invertibilní k provedení autoinicializace'); end s.x = inv(s.C)*s.y; s.P = inv(s.C)*s.R*inv(s.C'); else % Odhad stavoveho vektoru a kovariancni matice: s.x = s.A*s.x + s.B*s.u; s.P = s.A * s.P * s.A' + s.Q; % Vypocet Kalmanova zesileni: K = s.P*s.C'*inv(s.C*s.P*s.C'+s.R); % Filtrace - korekce pomoci pozorovatele y: s.x = s.x + K*(s.y - s.C*s.x); s.P = s.P - K*s.C*s.P; % VYSLEDEK FILTRACE: zaktualizovany stavovy vektor x a kovariancni matice P end return
77
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.6 PÍLOHA 6: KF pro model senzoru úhlové rychlosti (pro MATLAB 7.0) function KF_gyro(fvz, N, G, Amp, ur0, SM, SP, DR) % % function KF_gyro(fvz, N, G, Amp, ur0, SM, SP, DR) % %************************************************************************** % Aplikace Kalmanova filtru na model senzoru uhlove rychlosti % Michal Reinstein, CVUT FEL %************************************************************************** % VSTUPNI ARGUMENTY FUNKCE: % fvz ... vzorkovaci frekvence [Hz] ... ~ 100 Hz % N ... pocet hodnot diskretniho signalu ... ~ 10000 vz % G ... prevodni konstanta gyra [o/s/V] ... ~ 0.02 o/s/V % Amp ... amplituada harmonickeho signalu gyra ... ~ 5 V % ur0 ... referencni napeti [V] ... ~ 2.5 V % SM ... sum mereni [V] ... ~ 0.5 V % SP ... sum procesu (reference)[V] ... ~ 0.05 V % DR ... drift [V] ... ~ 0.001 V %************************************************************************** if (nargin ~= 8) 'Chyba v poctu vstupnich argmentu funkce >> help KF_gyro' return; end % Definice casoveho vektoru: T = 1/fvz; % vzorkovaci perioda [s] t = 0:T:N*T; % casovy vektor %************************************************************************** % Generovani nahodnych sumu: randn('state',0); uw = SM^2*randn(1,N+1); %sum mereni randn('state',0); uv = SP^2*randn(1,N+1); %sum procesu randn('state',0); dr = DR^2*randn(1,N+1); %sum zpusobeny driftem SPP = cov(uv); % vypocet kovariancni matice sumu procesu SMM = cov(uw); % vypocet kovariancni matice sumu mereni u_RW(1)=0; for i=2:N+1, u_RW(i) = u_RW(i-1) + dr(i)*T; end SDD = cov(u_RW); % vypocet kovariancni matice sumu refernce %************************************************************************** % Matice stavoveho popisu systemu: A = [0 -1;0 1]; B = [1;0]; C = [G 0]; D = 0; %************************************************************************** % Vytvoreni mereneho, referencniho a vstupniho signalu: r_w = Amp/2*sin(2*pi*.05*t)+Amp/2; % simulace rotace senzoru (sinus) u_s = r_w/G + ur0; % definice idealniho prubehu uhlove rychlosti u = u_s + uw; % idealni prubeh zatizeny sumem mereni m_w = G*(u - ur0); % definice mereneho (korekcniho) signalu ur = ur0 + u_RW; % definice referencniho signalu (vliv driftu) u_s = r_w/G + ur; % signal ovlivneny driftem u_in = u_s + uv; % vstupni signal ovlivneny sumem procesu % Vykresleni signalu: figure; hold on; zoom on; grid on; plot(t, m_w,t, u_in); legend('Mereny signal','Vstupni signal'); %************************************************************************** % Nastaveni pocatecnich podminek Kalmanovy filtrace a kovariancnich matic: Q = diag([SPP,SDD*1e-5]); % kov. matice modelu procesu Q R = SMM; % kov. matice modelu mereni R Ph = eye(2); % kovariancni matice P = [Q S; S' R] x0 = [0; ur0]; % pocatecni stavovy vektor xh = x0; %**************************************************************************
78
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
for i = 1:N+1 % KALMANOVA FILTRACE (N kroku) %----- Casovy krok KF: % Predikce budouciho stavu na zaklade stavu aktualniho xm = A*xh + B*u_in(i); % odhad stavu x(k+1|k) Pm = A*Ph*A' + Q; % kovariancni matice P(k+1|k) % urcuje duveru v model procesu %----- Datovy krok KF: % Provedeni korekci odhadu z predchoziho kroku na zaklade zmerene % hodnoty vystupniho vektoru K = Pm*C' / (C*Pm*C' + R); % vypocet Kalmanova zesileni e = m_w(i) - (C*xm + D*u_in(i)); % vypocet odchylky odhadu xh = xm + K*e; % odhad stavu x(k|k) yh = C*xm + D*u_in(i); % odhad vystupu yp(k|k) Ph = Pm - K*C*Pm; % kovariancni matice P(k|k) %----- Ulozeni vypoctenych hodnot zesileni, stavu a kovariancni matice: YHdat(:,i) = yh; XMdat(:,i) = xm; XHdat(:,i) = xh; Kdat(:,i) = K; end %************************************************************************** % Vykresleni vysledku filtrace: colordef black; figure; hold on; zoom on; grid on; plot(t, m_w(1, :), 'y'); plot(t, r_w(1, :), 'g'); plot(t, YHdat(1, :), 'r'); legend('Mereny signal','Idealni prubeh','Odhadovany prubeh'); colordef white; figure; plot(t,XMdat(2,:),t,ur); grid on;zoom on; legend('Odhadnuty signal reference','Skutecny signal reference');
79
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.7 PÍLOHA 7: Skript pro analýzu namených dat (pro MATLAB 7.0) Skript pro Matlab s názvem MES_XRS150.m je souástí pílohy na CD. Obsahuje namená data, která kvli velkému množství jsou v tištné podob pílohy vynechána.
%************************************************************************** % Skript pro analyzu namerenych dat senzru XRS150 % Michal Reinstein, CVUT FEL %************************************************************************** Fvz = 1001; % Vzorkovaci frekvence [Hz] T=(0:(1/(Fvz/64)/60):(size(rot,1)-1)*(1/(Fvz/64))/60);% Casovy vektor [min] %************************************************************************** % Vypocet hodnoty reference (prumer mereneho napeti pro nulove otacky) ref1 = mean(xrs1(1:64)); ref2 = mean(xrs2(1:64)); ref3 = mean(xrs3(1:64)); REF = [ref1 ref2 ref3]; % Vypocet prevodnich konstant k1, k2 a k3 len = 0; temp = 0; for i=1:size(xrs1, 1) if rot(i) ~= 0 len = len + 1; temp = temp + rot(i)/(xrs1(i)-ref1); end end k1 = temp/len; sprintf('Prevodni konstanta senzoru XRS150 zn.1: %f (mV/°/s)',1/k1*1000) len = 0; temp = 0; for i=1:size(xrs2, 1) if rot(i) ~= 0 len = len + 1; temp = temp + rot(i)/(xrs2(i)-ref2); end end k2 = temp/len; sprintf('Prevodni konstanta senzoru XRS150 zn.2: %f (mV/°/s)',1/k2*1000) len = 0; temp = 0; for i=1:size(xrs3, 1) if rot(i) ~= 0 len = len + 1; temp = temp + rot(i)/(xrs3(i)-ref3); end end k3 = temp/len; sprintf('Prevodni konstanta senzoru XRS150 zn.1: %f (mV/°/s)',1/k3*1000) % Zobrazeni zmerenych prubehu napeti figure; hold on; zoom on; plot(T, xrs1, 'r'); plot(T, xrs2, 'b'); plot(T, xrs3, 'g'); legend('Senzor XRS150 zn.1', 'Senzor XRS150 zn.2', 'Senzor XRS150 zn.3'); title('Prubehy napeti na vystupu senzoru XRS150'); xlabel('Cas (min)');ylabel('Napeti (V)'); % Zmerene charakteristiky figure; hold on; zoom on; plot(T, k1*(xrs1 - ref1), 'r');
80
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
title('Zmerena charakteristika senzoru XRS150 zn. 1 v rozsahu (0 - 100)°/s'); xlabel('Cas (min)');ylabel('Uhlova rychlost (°/s)'); figure; hold on; zoom on; plot(T, k2*(xrs2 - ref2), 'g'); title('Zmerena charakteristika senzoru XRS150 zn. 2 v rozsahu (0 - 100)°/s'); xlabel('Cas (min)');ylabel('Uhlova rychlost (°/s)'); figure; hold on; zoom on; plot(T, k3*(xrs3 - ref3), 'b'); title('Zmerena charakteristika senzoru XRS150 zn. 3 v rozsahu (0 - 100)°/s'); xlabel('Cas (min)');ylabel('Uhlova rychlost (°/s)'); figure; hold on; zoom on; plot(T, rot, 'k'); title('Prubeh uhlove rychlosti mereny regulatorem rotacniho stolku'); xlabel('Cas (min)');ylabel('Uhlova rychlost (°/s)'); % ZPRACOVANI NAMERENYCH DAT: data = zeros(256, 10, 3); % Tvorba prevodni datove matice z xrs1: Pchar(1:size(xrs1(121:256), 1), 1, 1) = xrs1(121:256); Pchar(1:size(xrs1(301:520), 1), 2, 1) = xrs1(301:520); Pchar(1:size(xrs1(573:684), 1), 3, 1) = xrs1(573:684) ; Pchar(1:size(xrs1(785:1012), 1), 4, 1) = xrs1(785:1012) ; Pchar(1:size(xrs1(1069:1264), 1), 5, 1) = xrs1(1069:1264) ; Pchar(1:size(xrs1(1293:1528), 1), 6, 1) = xrs1(1293:1528) ; Pchar(1:size(xrs1(1569:1740), 1), 7, 1) = xrs1(1569:1740) ; Pchar(1:size(xrs1(1769:2016), 1), 8, 1) = xrs1(1769:2016) ; Pchar(1:size(xrs1(2065:2276), 1), 9, 1) = xrs1(2065:2276) ; Pchar(1:size(xrs1(2297:2424), 1), 10, 1) = xrs1(2297:2424) ; % Tvorba prevodni datove matice z xrs2: Pchar(1:size(xrs2(121:256), 1), 1, 2) = xrs2(121:256) ; Pchar(1:size(xrs2(301:520), 1), 2, 2) = xrs2(301:520) ; Pchar(1:size(xrs2(573:684), 1), 3, 2) = xrs2(573:684) ; Pchar(1:size(xrs2(785:1012), 1), 4, 2) = xrs2(785:1012) ; Pchar(1:size(xrs2(1069:1264), 1), 5, 2) = xrs2(1069:1264) ; Pchar(1:size(xrs2(1293:1528), 1), 6, 2) = xrs2(1293:1528) ; Pchar(1:size(xrs2(1569:1740), 1), 7, 2) = xrs2(1569:1740) ; Pchar(1:size(xrs2(1769:2016), 1), 8, 2) = xrs2(1769:2016) ; Pchar(1:size(xrs2(2065:2276), 1), 9, 2) = xrs2(2065:2276) ; Pchar(1:size(xrs2(2297:2424), 1), 10, 2) = xrs2(2297:2424) ; % Tvorba prevodni datove matice z xrs3: Pchar(1:size(xrs3(121:256), 1), 1, 3) = xrs3(121:256) ; Pchar(1:size(xrs3(301:520), 1), 2, 3) = xrs3(301:520) ; Pchar(1:size(xrs3(573:684), 1), 3, 3) = xrs3(573:684) ; Pchar(1:size(xrs3(785:1012), 1), 4, 3) = xrs3(785:1012) ; Pchar(1:size(xrs3(1069:1264), 1), 5, 3) = xrs3(1069:1264) ; Pchar(1:size(xrs3(1293:1528), 1), 6, 3) = xrs3(1293:1528) ; Pchar(1:size(xrs3(1569:1740), 1), 7, 3) = xrs3(1569:1740) ; Pchar(1:size(xrs3(1769:2016), 1), 8, 3) = xrs3(1769:2016) ; Pchar(1:size(xrs3(2065:2276), 1), 9, 3) = xrs3(2065:2276) ; Pchar(1:size(xrs3(2297:2424), 1), 10, 3) = xrs3(2297:2424) ; % Tvorba datove matice z xrs1: data(1:size(xrs1(121:256), 1), 1, 1) = k1*(xrs1(121:256)-ref1); data(1:size(xrs1(301:520), 1), 2, 1) = k1*(xrs1(301:520)-ref1); data(1:size(xrs1(573:684), 1), 3, 1) = k1*(xrs1(573:684)-ref1); data(1:size(xrs1(785:1012), 1), 4, 1) = k1*(xrs1(785:1012)-ref1); data(1:size(xrs1(1069:1264), 1), 5, 1) = k1*(xrs1(1069:1264)-ref1); data(1:size(xrs1(1293:1528), 1), 6, 1) = k1*(xrs1(1293:1528)-ref1); data(1:size(xrs1(1569:1740), 1), 7, 1) = k1*(xrs1(1569:1740)-ref1); data(1:size(xrs1(1769:2016), 1), 8, 1) = k1*(xrs1(1769:2016)-ref1); data(1:size(xrs1(2065:2276), 1), 9, 1) = k1*(xrs1(2065:2276)-ref1); data(1:size(xrs1(2297:2424), 1), 10, 1) = k1*(xrs1(2297:2424)-ref1); % Tvorba datove matice z xrs2: data(1:size(xrs2(121:256), 1), 1, 2) = k2*(xrs2(121:256)-ref2); data(1:size(xrs2(301:520), 1), 2, 2) = k2*(xrs2(301:520)-ref2);
81
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
data(1:size(xrs2(573:684), 1), 3, 2) = k2*(xrs2(573:684)-ref2); data(1:size(xrs2(785:1012), 1), 4, 2) = k2*(xrs2(785:1012)-ref2); data(1:size(xrs2(1069:1264), 1), 5, 2) = k2*(xrs2(1069:1264)-ref2); data(1:size(xrs2(1293:1528), 1), 6, 2) = k2*(xrs2(1293:1528)-ref2); data(1:size(xrs2(1569:1740), 1), 7, 2) = k2*(xrs2(1569:1740)-ref2); data(1:size(xrs2(1769:2016), 1), 8, 2) = k2*(xrs2(1769:2016)-ref2); data(1:size(xrs2(2065:2276), 1), 9, 2) = k2*(xrs2(2065:2276)-ref2); data(1:size(xrs2(2297:2424), 1), 10, 2) = k2*(xrs2(2297:2424)-ref2); % Tvorba datove matice z xrs3: data(1:size(xrs3(121:256), 1), 1, 3) = k3*(xrs3(121:256)-ref3); data(1:size(xrs3(301:520), 1), 2, 3) = k3*(xrs3(301:520)-ref3); data(1:size(xrs3(573:684), 1), 3, 3) = k3*(xrs3(573:684)-ref3); data(1:size(xrs3(785:1012), 1), 4, 3) = k3*(xrs3(785:1012)-ref3); data(1:size(xrs3(1069:1264), 1), 5, 3) = k3*(xrs3(1069:1264)-ref3); data(1:size(xrs3(1293:1528), 1), 6, 3) = k3*(xrs3(1293:1528)-ref3); data(1:size(xrs3(1569:1740), 1), 7, 3) = k3*(xrs3(1569:1740)-ref3); data(1:size(xrs3(1769:2016), 1), 8, 3) = k3*(xrs3(1769:2016)-ref3); data(1:size(xrs3(2065:2276), 1), 9, 3) = k3*(xrs3(2065:2276)-ref3); data(1:size(xrs3(2297:2424), 1), 10, 3) = k3*(xrs3(2297:2424)-ref3); % Vypocet prumerne hodnoty otacek a frekvencni analyza N = 512; % pocet bodu DFT for k=1:3 figure; zoom on; hold on; for j=1:10 ind = 0; for i=1:size(data, 1) if (data(i, j, k)==0) ind = ind +1; % Vypocet prumerne hodnoty PREV(ind, j, k) = mean(Pchar(1:(i-1), j, k)); STR(ind, j, k) = mean(data(1:(i-1), j, k)); % Datovy vektor - stridava slozka y = (data(1:(i-1), j, k)-STR(ind, j, k))'; % Vypocet DFT pro N bodu Y = fft(y,N); % Vykonove spektrum signalu (PSD) Pyy = Y.* conj(Y) / N; % Vektor frekvenci f = Fvz/64*(0:N/2)/N; % Vypocet nejvyraznejsi frekvence [fmax index]=max(Pyy(1:N/2+1)); subplot(5, 2, j); plot(f,Pyy(1:N/2+1)) xlabel('Frekvence (Hz)');ylabel('PSD (W/Hz)'); break; end end title(sprintf('XRS150 zn.%d, UHLOVA RYCHLOST: %f (°/s), f: %f (Hz)',k, STR(ind, j, k), f(index))); end figure; zoom; plot((0:10:100), [REF(k) PREV(:,:, k)]) title(sprintf('Prevodni charakteristika senzoru XRS150 zn. %d v rozsahu (0 - 100)°/s', k)); xlabel('Uhlova rychlost (°/s)');ylabel('Napeti (V)' ); grid on; end
82
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.8 PÍLOHA 8: Základní parametry AD7734
83
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.9 PÍLOHA 9: Základní parametry ADSP-2189MKST-300
84
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.10 PÍLOHA 10: Základní parametry AM29LV001B
85
Michal Reinštein
Penos a zpracování signál senzor úhlových rychlostí
9.11 PÍLOHA 11: Obsah piloženého CD
Souástí této diplomové práce je piložené CD, které obsahuje data a zdrojové kódy všech vytvoených program. Piložené CD má následující adresáovou strukturu:
Název adresáe Data
Documents
Obsah Veškerá namená data ve formátu pro MS Excel x
MES_ENV05D.xls – data ze senzoru ENV05D
x
MES_XRS150.xls – data ze senzoru XRS150
Tento dokument v elektronické podob x
diplomova_prace.pdf
Documents \ Datasheets
Dokumentace od výrobc všech použitých souástek
Documents \ Board
Schématu tištných spoj pro Layout Plus x
Documents \ Schema
Obvodové schéma pro Orcad Capture 9.2 x
Programs \ ADSP GUI v2.1
Rotational_Table.opj
Zdrojové kódy aplikace ADSP GUI x
Programs \ ADSP Interface v3.0
ADSP2189M.MAX
ADSP_GUI.exe
Zdrojový kód pro procesor ADSP2189M (pro nahrání do pamti pomocí programátoru nap. PG4UWarc) x
Programs \ Matlab
ADSPInterface.bnm
Zdrojové kódy pro Matlab 7.0 x
KF.m – obecný algoritmus Kalmanova filtru
x
KF_gyro.m – KF pro model senzoru
x
KF_calib.m – KF pro kalibraci neortogonalit
x
MES_XRS150.m – analýza dat MES_XRS150.xls
x
MES_ENV05D.m – analýza dat MES_ENV05D.xls
86