Fakulta elektrotechnická. Programové vybavení pro drive-by-wire



Podobné dokumenty
Výzkumné centrum spalovacích motorů a automobilů Josefa Božka - 5. kolokvium Josefa Božka 2009, Praha,

Komunikační standard FlexRay

Stud. skupina: 3E/96 Číslo úlohy: - FSI, ÚMTMB - ÚSTAV MECHANIKY TĚLES, MECHATRONIKY A BIOMECHANIKY REAL TIME CONTROL

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

KS 40-1 pro hořáky Speciální regulátor pro průmyslové hořáky

Smart Sensors and Wireless Networks Inteligentní senzory a bezdrátové sítě

Vývojové práce v elektrických pohonech

INTELIGENTNÍ SNÍMAČE

Ovládání RC modelu pomocí Wi-fi. Pavel Valenta

Konfigurace řídicího systému technikou Hardware In The Loop

Microchip. PICmicro Microcontrollers

1 Podrobná specifikace Yunifly Datasheet

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Průmyslové pece Tepelné procesy Sušárny a klimatizační komory Zkušebny Technologické linky Stroje

Model helikoptéry H1

Měnič pro obloukové svařování řízený signálovým procesorem

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

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

Obrázek č. 7.0 a/ regulační smyčka s regulátorem, ovladačem, regulovaným systémem a měřicím členem b/ zjednodušené schéma regulace

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

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

Pro model vodárny č. 2.; navrhněte a odzkoušejte vhodné typy regulátorů (P, PI, I, PD a PID), za předpokladu, že je:

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

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

Aplikace číslicového řízení

Architektura počítače

FU-48 / 72 / 86 / 96 série

PŘEVODNÍK SNÍMAČE SIL NA USB PRO ZOBRAZENÍ V PC DSCUSB. KRÁTKÁ PŘÍRUČKA PRO OBSLUHU A KONFIGURACI Revize červenec 2014

Laboratorní zdroj - 6. část

Inovace výuky předmětu Robotika v lékařství

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Cílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Obr. 1: Brick s moduly [3]

NÁVRH LQG ŘÍZENÍ PRO FYZIKÁLNÍ MODEL KULIČKY NA TYČI

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Local Interconnect Network - LIN

Obsah přednášky. Úvod. Úvod

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Pohon na Točnu Návod k Použití (software v. 8)

dvblogic DVB-T tuner

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Maturitní témata - PRT 4M

FA200 a FA211 série. Uživatelská příručka. obchod@zutemer.cz servis@zutemer.cz 1

Ṡystémy a řízení. Helikoptéra Petr Česák

Hardware. Z čeho se skládá počítač

universální monitorovací program

MyIO - webový komunikátor

Datalogger Teploty a Vlhkosti

Blast Rozhraní DeviceNet

VÝVOJ NOVÉHO REGULAČNÍHO ALGORITMU KOTLE VERNER S PODPOROU PROGRAMU MATLAB

» Dynamický systém. » Samovolné chování. » Přinucení reaktoru k jinému chování. »Např. reaktor s exotermní reakcí

Malá měřicí drezína MMD pro měření geometrie tratě

Hardwarové implementace komunikačního protokolu LIN (Local Interconnect Network) osmibitovými mikroprocesory a jejich srovnání

Řízení modelu letadla pomocí PLC Mitsubishi

Úvod do mobilní robotiky NAIL028

dvblogic DVB-T Tuner DVB-MFD2

Univerzální jednočipový modul pro řízení krokových motorů

Regulátor MaxVU. Stručný návod k použití

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Číslicový otáčkoměr TD 5.1 AS

TECHNICKÝ MANUÁL. Obj. č.:

CHARAKTERISTIKY MODELŮ PC

Universal Serial Bus. Téma 12: USB. Komunikační principy Enumerace Standardní třídy zařízení

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

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

Elektronická kapacitní dekáda - BASIC

Obslužný software. vizualizaci zařízení

M7410G VLASTNOSTI MALÝ POHON VENTILŮ S KOMUNIKACÍ LON TECHNICKÉ INFORMACE. Pohon LON je určen pro decentralizované řízení budov a

Filmová odparka laboratorní úlohy

PŘÍLOHA. nařízení Komise v přenesené pravomoci,

HW počítače co se nalézá uvnitř počítačové skříně

Současné trendy vývoje moderních aplikací s elektrickými pohony

Určeno pro studenty kombinované formy FS, předmětu Elektrotechnika II. Vítězslav Stýskala, Jan Dudek únor Sylabus tématu

Druhá generace palivoměru LUN 5275 pro letoun EV-55

Obecný popis základní jednotky

Úvod do architektur personálních počítačů

Profilová část maturitní zkoušky 2013/2014

DÁLKOVÁ SPRÁVA ŘÍDICÍCH SYSTÉMŮ V PROSTŘEDÍ CONTROL WEB 5

Mikroprocesorový regulátor MRS 04 1xxx

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Servozesilovače. Digitální servozesilovače TGA, TGP

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

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ. Katedra elektromechaniky a výkonové elektroniky. Regulace jednofázového napěťového střídače

Přijímač CAN-2. Uživatelská příručka. Vaše nové rádiové dálkové ovládání

Vyšší odborná škola a Střední průmyslová škola, Šumperk, Gen. Krátkého 1, Šumperk

KONTROLA PŘESNOSTI VÝROBY S VYUŽITÍM MATLABU

Západočeská univerzita v Plzni Fakulta aplikovaných věd KKY/LS2. Plzeň, 2008 Pavel Jedlička

Robotický manipulátor

evodníky Univerzita Tomáše Bati ve Zlíně Ústav elektrotechniky a měření Přednáška č. 14 Milan Adámek adamek@fai.utb.cz U5 A

LOGIC. Stavebnice PROMOS Line 2. Technický manuál

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Návrh konstrukce odchovny 3. dil

ŘÍZENÍ FYZIKÁLNÍHO PROCESU POČÍTAČEM

IMPLEMENTACE AUTOMATIZOVANÉHO MĚŘENÍ HRTF V MATLABU

POKOJOVÁ JEDNOTKA S MODULAČNÍM PROGRAMOVATELNÝM REGULÁTOREM

XXXIII Celostátní olympiáda znalostí elektriky a elektroniky Krosno 25. března 2010 TEST PRO ELEKTRONICKOU SKUPINU

3. D/A a A/D převodníky

Počítačové sítě. Miloš Hrdý. 21. října 2007

MULTIZNAČKOVÁ DIAGNOSTIKA INTELIGENTNÍ DIAGNOSTIKA

Výzkumné centrum spalovacích motorů a automobilů Josefa Božka 2. kolokvium Josefa Božka, Praha

1. Metody měření parametrů trolejového vedení

Transkript:

České vysoké učení technické v Praze Fakulta elektrotechnická BAKALÁŘSKÁ PRÁCE Programové vybavení pro drive-by-wire Praha, 2009 Autor: Radek Beneš

Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně apoužil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené vpřiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorskýmaozměněněkterých zákonů (autorský zákon). V Praze dne podpis i

Poděkování Děkuji především vedoucímu práce ing. Janu Malínskému za odborný dohled nad celou mou prací. Dále děkuji kolektivu katedry měření, kteří byly s moji prací nějak vzpjati. V neposlednířadě děkuji své rodině zapodporuadůvěru, kterou ve mě vložili. ii

Abstrakt Cílem práce je vytvoření programového vybavení pro komunikační modulyspod- porou sběrnice FlexRay. Moduly zajišt ují implementaci techniky drive-by-wire sloužící k natočení kolpřední nápravy vozidla. Řízená náprava je za účelem simulace byl vytvořen vhodným simulinkovým modelem a doplněna navrženým regulátorem zaručující její bezchybný chod a korektní ovladání. Abstract The main objective of this bachelor thesis is programming software for communications modules with FlexRay bus support. The implementation of drive-by-wire technology is provided by created hardware modules, serving for front axle steer wheel. The front axle for simulations is defined by suitable simulink model and contains designed controller warranting fault tolerant running and correct handling. iii

iv

vložit originální zadání!!!!! v

vi

Obsah Seznam obrázků Seznam tabulek ix xi 1 Úvod 1 1.1 Problematika drive-by-wire... 1 2 FlexRay 3 2.1 Popis standardu FlexRay... 3 2.2 Komunikace na sběrnici... 4 2.3 Komunikačnírámec... 6 2.4 Typy stanic na sběrnici... 7 2.5 Synchronizace stanic... 7 2.6 Start sběrnice... 8 3 Model a řízení 11 3.1 Reálný model... 11 3.2 Návrh modelu... 13 3.3 Požadavky na regulátor a jeho návrh... 13 4 Ovládací prvky modelu 17 4.1 Senzor natočení volantu a kontrolní senzor natočení kol... 17 4.2 Motor pro natočení kol... 18 4.3 Technické vybavení ovládacích modulů... 18 4.3.1 Mikroprocesor ARM7 - STR710FZ... 19 4.3.2 FlexRay řadič - MFR4310... 19 4.3.3 H-můstek pro řízení motoru - VNH2SP30-E... 20 vii

5 Programování modulů 21 5.1 Převod hodnoty senzoru natočení volantu... 21 5.2 Načítání hodnoty ze senzoru... 22 5.3 Programová podoba regulátoru...... 24 5.4 Porovnání s navrženým modelem... 26 6 Závěr 27 Literatura 29 A Vývojové diagramy obslužného programu B Obsah přiloženého CD C Návrh zapojení senzorové části modulu I V VII viii

Seznam obrázků 2.1 Komunikační cyklus na sběrnici FlexRay... 5 2.2 Porovnání statického a dynamického segmentu... 5 2.3 Komunikačnírámec... 6 2.4 Výpočet konečné odchylky pro korekci... 8 2.5 Ukázka korekce rychlosti a offsetu... 8 2.6 Časové schéma startu sběrnice... 9 2.7 Blokový diagram startupu sítě... 10 3.1 Fotografie simulačního vozítka - bugina... 11 3.2 Obecné schéma řízení po drátech... 12 3.3 Integrace sběrnice FlexRay do buginy... 12 3.4 Zapojení PI regulátoru s Anti-Windup kompenzací... 14 3.5 Odezva na skok regulované soustavy s PI regulátorem s Anti-Windup kompenzací abezní... 15 3.6 Odezva na skok obsahujícíšum vstupující do regulované soustavy s PI regulátorem s Anti-Windup kompenzací... 15 3.7 Výsledná pozice pólů vsisotool... 16 4.1 Deska modulu... 18 A.1 Vývojový diagram obsluhy přerušení FlexRay... I A.2 Vývojový diagram obsluhy senzoru volantu... II A.3 Vývojový diagram regulátoru natočení kol... III C.1 Schéma zapojení senzorovéčásti 1.díl... VII C.2 Schéma zapojení senzorovéčásti 2.díl... VIII ix

x

Seznam tabulek 2.1 Stanoveni parametru k... 7 4.1 Vlastnosti procesoru... 19 4.2 Připojení můstku k procesoru... 20 4.3 Ovládání můstku - Při EN A =EN B =1... 20 5.1 Připojení senzoru k procesoru... 23 xi

xii

Kapitola 1 Úvod Tímto úvodem je nastíněno hlavní téma práce. Následující kapitola je věnována sběrnici FlexRay, jež byla využita pro komunikaci mezi jednotlivými moduly. Dále přichází nařadu popis samotného reálného modelu, na kterém se bude technologie drive-by-wire prezentovat. Navazuje kapitola s popisem jednotlivých akčních členů a senzorů potřebných k bezproblémové funkčnosti modelu. Nakonec je zařazena kapitola věnovaná programování jednotlivých modulů. 1.1 Problematika drive-by-wire Řízení po drátech, jak zní doslovný překlad, patří do skupiny metod x-by-wire. Tyto metody se všeobecně zabývají nahrazením či doplněním klasických, mechanických prvků za prvky z řad elektroniky a elektromechaniky. Již několik let se bezpečně používá v letecké dopravě metoda fly-by-wire. Jejím zavedením do běžného provozu se odstranilo mnoho mechanických komplikací jak v samotném návrhu letadel, tak při jejich běžném denním provozu. Fakt nižší poruchovosti a většího bezpečí se jistě kladně podepsal i na nákladech spojených s leteckou dopravou. Celá skupina drive-by-wire pod sebe slučuje tři systémy řízení. Steer-by-wire zajišt uje přenos úhlu natočení z volantu na natočení nápravy s koly, brake-by-wire je systém pro obsluhu brzd bez přítomnosti centrálních brzdných okruhů a pod pojmem drive-by-wire se skrývá stabilizace podvozku a kooperace s předchozími dvěma metodami. Kompletní spojení těchto systémů zjednoduší konstrukci a sníží poruchovost nejdůležitějších prvků v automobilu. 1

2 KAPITOLA 1. ÚVOD Zdánlivě nejjednodušší se pro projekt zdála realizace metody steer-by-wire, proto také byla zvolena pro tuto práci. V praxi steer-by-wire znamená rozpojenířídící tyče, která vede od volantu k řízené nápravě. K volantu se připojí senzor natočení akřízené nápravě se připojí elektromotor a kontrolní senzor natočení kol.

Kapitola 2 FlexRay 2.1 Popis standardu FlexRay Standard FlexRay byl prioritně vytvořen pro automobilový průmysl, ale je možné jej využít i v jiných odvětvích (Waraus, D., 2008). U jeho zrodu stály přední značky automobilismu a výrobci elektroniky jako Daimler-Chrysler, BMW, Ford, Volkswagen, Freescale, Bosch a Phillips. Jmenované značky založily konsorcium spravující standard FlexRay, jehož nejnovější verze (V2.1) je vyladěna k naprosté dokonalosti a je plně podporována řadičem MFR4310 od firmy Freescale. Mezi největšípřednosti standardu patří nekolizní přístup na sběrnici pomocí metody TDMA 1 (Kocourek, P. a Novák, J., 2004), vysoká přenosová rychlost až 10 Mbps, garance doručení přenášených dat a možnost použití zdvojené komunikační cesty. Vněkterých případech ale není potřeba použít tak vyspělou sběrnici. Naskýtá sezde možnost využití komunikačních mostů na staršítypysběrnic jako je například hojně využívaný CAN 2 nebo LIN 3. Tato práce navazuje na bakalářskou práci Michala Vinkláře (Vinklář, M., 2008), který měl za úkol vytvořit technické vybavení pro drive-by-wire. Z tohoto důvodu je zde rozebrána programováčást standardu FlexRay. 1 TDMA = Time Division Multiple Access 2 CAN = Controller Area Network 3 LIN = Local Interconnect Network 3

4 KAPITOLA 2. FLEXRAY 2.2 Komunikace na sběrnici Základní rozdělení komunikace je na statickou a dynamickou část. Statický segment komunikačního cyklu je zprostředkován pomoci metody TDMA. Jak již bylo uvedeno, díky této přístupové metodě je garantován přenos dat a je využíván převážně pro data s vysokou prioritou. Pro dynamický segment je použita přístupová metoda FTDMA 4. Dynamický segment je určen pro data, která nevyžadují nízkou hodnotu zpoždění. Při komunikaci je nutné použít alespoň dva sloty statického segmentu, maximálně však 1023 slotů. Dynamický segment nemusí být vůbec použit. Dále je v komunikačním cyklu začleněno symbolové okno a místo pro klidový stav. Symbolové okno je využíváno pro tři stavové symboly: CAS Collision Avoidance Symbol se využívá na coldstart nodech při startování komunikace na sběrnici MTS Media Access Test Symbol je kódováním totožný se symbolem CAS, ale tento symbol mohou používat všechny stanice bez rozdílu. Rozlišení, o jaký symbol se jedná, se zjistí až v protocol statusu. WUS WakeUp Symbol probouzí stanice před vlastním spuštěním sítě Na konci každého komunikačního cyklu je umístěn Network Idle Time. Ten má zaúkol korigovat lokální chybyčasových základen jednotlivých stanic. Jeho délkasezmění nazá- kladě vyhodnocení této chyby o určitý počet mikrotiků. Vše je vidět na přehledném obrázku obr. 2.1. 4 FTDMA = Flexible Time Division Multiple Access

2.2. KOMUNIKACE NA SBĚRNICI 5 Obrázek 2.1: Komunikační cyklus na sběrnici FlexRay Nejmenší společnou komunikační jednotkou všech stanic umístěných na sběrnici je jeden makrotik (1 MT). Tento makrotik je dále rozdělen na celistvý počet menších jednotek nazvaných mikrotik (1 μt). Jak je vidět z obr. 2.1, odpovídá 1μT = 12,5-200 ns. Mikrotik je v komunikaci zaveden kvůli zpřesnění velikosti makrotiku. Z makrotiků jsou složeny komunikační sloty a ze slotů jsou vytvořeny komunikační segmenty. Názorné použití segmentů je vidět z obr. 2.2 Obrázek 2.2: Porovnání statického a dynamického segmentu

6 KAPITOLA 2. FLEXRAY 2.3 Komunikační rámec Každému slotu náleží maximálně jeden komunikační rámec. Ten je složen ze tříčástí - hlavičkového, datového a kontrolního segmentu. V hlavičkovém segmentu je prvních 5 bitů vyhrazeno jako indikačních (viz níže). Dalších 11 bitů tvoříidrámce, následováno 7 bity, které určují, kolik dat je v rámci přenášeno. Aby bylo možné hlavičku zkontrolovat, je zde 11 bitový CRC segment. Nakonec je zařazeno 6 bitů, které označujíčíslo cyklu. V datovém segmentu je prostor pro přenášená data, který jepředem označený v hlavičkovém segmentu. Jeho maximální velikost je 127 dvoubytů. Do kontrolním segmentu se dosadí kontrolní CRC součty pro přenášená data. Obrázek 2.3: Komunikační rámec Zde jsou uvedeny indikační bity hlavičkového segmentu: I1 Rezervovaný bit je určen pro budoucí rozlišení verzí. I2 Indikátor preambule datového segmentu svoji aktivitou rozhoduje o tom, co se nachází nazačátku datového segmentu. U dynamického segmentu je na začátku dat ID zprávy a data statického segmentu začínají network managment vektorem. I3 Indikátor nulového rámce indikuje, že rámec nenese žádná data. I4 Indikátor synchronizačního rámce slouží k synchronizaci časových základen všech stanic, které tuto zprávu akceptují. Musí být odeslána pouze statickým segmentem a na oba kanály současně. I5 Indikátor startovacího rámce se používá se při startu sítě. Výlučně s I4.

2.4. TYPY STANIC NA SBĚRNICI 7 2.4 Typy stanic na sběrnici Normal node Běžná stanice připojená nasběrnici bez zvláštních úkolů vůči sběrnici. Coldstart node Stanice využívaná pro start neaktivní sítě. Vysílá ve statickém slotu rámec s příznaky startup a sync. Rámec je vysílán na oba kanály A i B. Pro start sítě je nutné mít alespoň dvě tyto stanice. Sync node Vysílá na oba kanály sítě ve statickém slotu rámec s příznakem sync. Maximální počet stanic je 15. 2.5 Synchronizace stanic Jak bylo v úvodu zmíněno, standard FlexRay využívá nekolizní přístup na sběrnici. K tomu aby byla komunikace na sběrnici opravdu nekolizní, je zapotřebí všechny stanice časově synchronizovat. Synchronizace se provádí nazákladě měření odchylky mezi skutečnýmapředpokládaným příchodem synchronizačního rámce. Tyto odchylky se vyhodnocují podle algoritmu FTM (Fault-Tolerant Midpoint). Smysl algoritmu spočívá v sestupném seřazení všech odchylek a následném vyškrtnutí k maximálních a minimálních odchylek. Parametr k se volí dle tabulky 2.1. Ze zbylých odchylek se vybere maximální a minimální hodnota a vypočte se aritmetický průměr. Nejlépe je vše vidět na obr. 2.4, kde je k = 2. Výsledkem tohoto výpočtu je počet mikrotiků, který jsou považován za odchylku od globálníčasové základny. Počet hodnot Hodnota parametru k 1.. 2 0 3.. 7 1 > 7 2 Tabulka 2.1: Stanoveni parametru k

8 KAPITOLA 2. FLEXRAY Obrázek 2.4: Výpočet konečné odchylky pro korekci Když je odchylka vypočtena, je potřeba provést příslušné korekce rychlosti a offsetu. Význam těchto korekcí je vidět na obr. 2.5. Obrázek 2.5: Ukázka korekce rychlosti a offsetu 2.6 Start sběrnice Trendem dnešní doby je nutnost uspávat všechny stanice, aby odebíraly minimální klidový proud. Proto i u těchto modulů je potřeba nejdříve vyslat WakeUp symbol aby se probudily všechny stanice na síti. Po tomto probuzení stanice nastavené jako coldstart začnou monitorovat komunikaci na sběrnici. Pokud se během jednoho komunikačního cyklu nezaznamenážádný přenos na sběrnici, vyšle příznak CAS StartUp rámec a stává se leading coldstart node. Stanice však stále monitoruje komunikaci na sběrnici, aby detekovala možnou kolizi a to po dobu minimálně 4 komunikačních cyklů. Detekuje-li komunikační kolizi s jinou coldstart stanicí, ukončí komunikaci a odmlčísenaurčitou dobu, než začne znovu startovací proceduru. Je důležité ošetřit, aby každá stanice měla jinou dobu čekaní, jinak by se totiž sít nedokázala nastartovat. Pokud kolize nenastane, příští dva odvysílané rámce inicializujíčasové schéma. Podří-

2.6. START SBĚRNICE 9 zená coldstart stanice zkontroluje, zda toto časové schéma odpovídá a pokud ano, připojí se k vedoucí stanici. Musí však synchronizovat svojíčasovou základnu podle vedoucí stanice. Od této chvíle začne podřízená stanice komunikovat a vysílat své synchronizační rámce. Sít je tímto úspěšně nastartovaná. Kdyby ale podřízená stanice coldstart nezačala vysílat, vedoucí stanice by celý proces startovaní ukončila a pokoušela se o spojení znovu. Připojení dalších stanic na sběrnici probíhá tak, že se nejprve podle synchronizačních rámců sjednotíčasová základna a poté jemožné vysílat. Nejlépe je vidět start na obr. 2.7, kde jsou jednotlivé fáze startu sítě rozkresleny. Veškeré tyto informace byly nastudoványz(malinský, J., 2008), (Pokorný, V., 2007), (Waraus, D., 2008) a v neposlednířadě z (FlexRay, 2005). Obrázek 2.6: Časové schéma startu sběrnice

10 KAPITOLA 2. FLEXRAY Obrázek 2.7: Blokový diagram startupu sítě

Kapitola 3 Model a řízení 3.1 Reálný model Pro potřeby prezentace drive-by-wire byl zakoupen model buginy, která je vyfocena na obr. 3.1. Jedná se o konstrukčně jednoduché dvoustopé vozidlo s řiditelnou přední nápravou a hnanou zadní nápravou. Na simulačním vozidle nenížádná další pokročilá elektronika, protože předpokladem je výhledově osadit vozidlo všemi dostupnými technologiemi x-by-wire. Na modelu byly provedeny nutné úpravy, aby bylo možné připojit potřebné senzory a elektromotor. Obrázek 3.1: Fotografie simulačního vozítka - bugina 11

12 KAPITOLA 3. MODEL A ŘÍZENÍ Provedenéúpravy odpovídají schématu na obr. 3.2. Je zde vidět fyzické rozpojení volantu od řízené nápravy. Použité senzory a elektromotor jsou rozebrány později v další kapitole. Na obr. 3.3 je naznačeno propojení jednotlivých modulů pomocí sběrnice FlexRay. Obrázek 3.2: Obecné schéma řízení po drátech Obrázek 3.3: Integrace sběrnice FlexRay do buginy Ve schématech jsou naznačeny dva elektromotory. Jeden pro natočení kol a druhý pro zpětnou vazbu k volantu. Tento druhý elektromotor není v práci použit, protože časovou náročností byznačně zatížil již tak náročnou bakalářskou práci.

3.2. NÁVRH MODELU 13 3.2 Návrh modelu Pro simulace a návrh regulátoru bylo zapotřebí nalézt přesný model reálného vozidla. Po nastudování materiálů ze Stanfordské univerzity (Yih, P., 2004) jsem zvolil přenos soustavy druhého řádu v obecném tvaru: 1 G(s) = (3.1) J w s 2 + b w s Vpřenosu jsou využity dvě konstanty z řízenénápravy vozidla. J w je moment setrvačnosti na ose řízení kol a b w je tlumení osy řízení kol a ozubeného kolečkanahřebenové tyči. Z parametrů motoru a převodovky znám přibližnou dobu přeběhu z jedné krajní polohy do druhé T p 2s.Díky symetrii řízení mohu tento čas rozdělit na dvě poloviny. Z toho vyplývá, že doba ustálení pro skok ze středové polohy do jedné z mezních je T s 1 s. Ustálenou hodnotu budu považovat pro 2% rozptyl. Za pomoci MATLABu a teorie identifikace přenosů(franklin, G. F. et al., 2006) jsem určil hodnoty parametrů rovnice simulačního modelu 3.1. G(s) = 1 0.01s 2 +0.3s (3.2) 3.3 Požadavky na regulátor a jeho návrh Máme vhodný simulační model řízení a ted je potřeba model vhodněřídit. Nejprve je třeba stanovit, co od regulátoru budeme potřebovat. Prioritně tomusíbýt regulátor bez překmitu. Dále by měl mít co nejkratší dobu ustálení a nulovou ustálenou odchylku. V neposlednířadě musí odolávat rušivým vlivům, být robustní. Pro tento účel se hodí regulátory typu P, PI a PID. Regulátor typu PD není vhodný, protože zanáší do soustavy kmity nepřiměřenými zásahy derivační složky. Regulátor P je velmi jednoduchý, ale bohužel výsledky regulace nebyly v simulacích nijak oslnivé. Proto jsem navrhl PID regulátor. Ten byl o poznání lepší, bohužel derivační složka regulátoru způsobovala také kmity a následnou oscilaci kol jako PD. Zbývá už jen PI regulátor, který má velmi velké počáteční maximum, překmit až 50%. Všechny ostatní vlastnosti tohoto typu regulátoru jsou perfektní. Proto regulátor doplníme o Anti-windup kompenzaci (Franklin, G. F. et al., 2006), která zabrání těmto velkým překmitům. Výsledné schéma je na obr. 3.4. Celá soustava je doplněná o prvky, které jidělají více reálnou. Jedná se o saturační prvky a o prvky mrtvých míst, které symbolizují různé vůle v mechanických částech vozidla.

14 KAPITOLA 3. MODEL A ŘÍZENÍ Konstanty regulátoru jsem navrhnul pomocí metody geometrického místa kořenů 1 (Franklin, G. F. et al., 2006), podrobnější pohled na návrh regulátoru je vidět na obr. 3.7, kde jsou znázorněny výsledné polohy pólů pro nejkratšímožnou dobu ustálení a přiměřenýakčnízásah. Obecnýavýslednýpřenos PI regulátoru je v rovnici 3.3. Výsledné konstanty regulátoru jsou k P =4ak I = 20. C(s) =k D TI + s s =20 1+0.2s s (3.3) To by byl obyčejný PI regulátor, jeho odezva na jednotkový skok je na obr. 3.5 vyznačena červenou barvou. Je na ní vidět opravdu velký překmit. Proto regulátor doplníme již zmíněnou Anti-Windup kompenzací. Přenos regulátoru v saturaci akčního členu je popsán rovnicí 3.4, mimo pásmo saturace platí přenos s předešlou rovnicí 3.3. Na obr. 3.4 je toto tvrzení dobře patrné. Při různých hodnotách akčního zásahu předaza saturačním členem se jejich rozdíl zesílí respektive vynásobí konstantou k A a odečte se od vstupní veličiny připojené do regulátoru. Pokud jsou veličiny stejné tak, jejich rozdíl je roven nule a ze vstupu regulátoru se nic neodečte. V programové interpretaci regulátoru je možné vdobě saturace integrační složku úplně vypnout a odstranit tak nežádoucí překmitnutí. C(s) Anti W indup = k P s + k I s + k I k A (3.4) Obrázek 3.4: Zapojení PI regulátoru s Anti-Windup kompenzací Pouhým okem je z obr. 3.5 patrné, že kompenzace regulátoru má obrovský význam. Na grafu jsou tři průběhy. Zelený je vstupní hodnota do regulované soustavy, červený průběh 1 V anglické literatuře a v MATLABu je tato metoda známá podnázvem Root Locus

3.3. POŽADAVKY NA REGULÁTOR A JEHO NÁVRH 15 je odezva regulované soustavy na skokovou vstupní veličinu bez použití kompenzace Anti- Windup a nakonec modrý průběh je odezva s kompenzací. Obrázek 3.5: Odezva na skok regulované soustavy s PI regulátorem s Anti- Windup kompenzací abezní Obrázek 3.6: Odezva na skok obsahující šum vstupující do regulované soustavy s PI regulátorem s Anti-Windup kompenzací Regulátor je navržen opravdu kvalitně. V simulacích má vskutku dobré výsledky. Jenže tam jsou použity ideální vstupní signály, a to v reálném modelu není možné. Do regulace vstupuje spousta šumů a nepřesností měření. Pokud se do simulace přidášum o hodnotě zhruba třech spodních bitů na inkrementálním senzoru, což odpovídá přibližně 1 2

16 KAPITOLA 3. MODEL A ŘÍZENÍ natočení kol, regulátor nestíhá přesně zasahovat. Na obr. 3.6 je to dobře vidět. Pokud tedy budou šumy a mechanické vůle ovlivňovat regulaci přes 1 2, PI regulátor nebude nejvhodnější. V tom případě by byl vhodnějšíobyčejný regulátor typu P, který má regulační výsledky v simulacích o něco horší, ale to ukáže až měření nareálném modelu. Obrázek 3.7: Výsledná pozice pólů v sisotool

Kapitola 4 Ovládací prvky modelu Jak bylo jižněkolikrát zmíněno, steer-by-wire potřebuje ke svéčinnosti elektromechanické aktuátory a senzory. V této kapitole blíže popíši jednotlivé senzory a servomotor. Uvedu zde jejich důležité vlasnosti a přednosti, kvůli kterým byly vybrány. 4.1 Senzor natočení volantu a kontrolní senzor natočení kol Aby mohlo být kdykoliv bez zbytečných kalibrací a nepřesností zjištěno, jak jsou volant nebo kola natočeny, je nutný senzor s absolutním stavem natočení. Výstup ze senzoru je realizován 12-ti žilovým kabelem. Dva vodiče jsou použity pro napájení azbylých deset tvoří 10-bitovou datovou sběrnici. Rozlišitelnost senzoru je při použití všech 10 bitů rovna 2 10 = 1024 stavům. Senzor je jednootáčkový, tudíž dokáže pokrýt 360. Pro jeden stav tedy připadá 360 =0.351. Dalšídůležitou vlastností senzoru je jeho datový výstup. 1024 Jedná seovýstup v nehazardním Grayově kódu. Kód zaručuje při přechodu mezi dvěma sousedními stavy změnu pouze v jednom bitu na datovém výstupu. Tato změna zabrání velkým energetickým špičkám, které by vznikaly při použití binárního kódu. Nároky na oba senzory natočení jsou stejné, proto byly použity stejné senzory. Jedná se o typ ARC 415 od firmy LARM. 17

18 KAPITOLA 4. OVLÁDACÍ PRVKY MODELU 4.2 Motor pro natočení kol Servomotor pro natočení kolpřední nápravy musí splňovat dvě nejdůležitější vlastnosti. Musí mít dostatečný kroutící moment a musí být dostatečně rychlý. Všechny tyto parametry byly změřeny v práci Michala Vinkláře (Vinklář, M., 2008), proto je zde jen pro připomenutí zmíním. Použitý elektromotor má spřipojenou převodovkou výstupní sílu F = 800 N a otáčky 250 ot/min. Díky pokusům, které byly provedeny během oživování steer-by-wire systému, mohu říci, že motor je vybrán opravdu dobře a bez sebemenších problémů dokáže natočit kola do krajních mezí. Spotřeba celého systému při těchto pokusech nepřesáhla I = 15A. Jednalo se o nezatíženou, stojící buginu. 4.3 Technické vybavení ovládacích modulů Vpředchozí kapitole byly zmíněny moduly, které zajišt ují veškerou řídícíčinnost celého systému. V této práci jsou použity dva stejné moduly navržené Michalem Vinklářem. Pojem modul by se dal přirovnat k pojmu blackbox. Co se tedy pod pojmem modul skrývá? Navržený modul obsahuje tyto důležité prvky: ARM7 - Mikroprocesor MFR4310 - FlexRay Řadič VNH2SP30-E - H-můstek pro řízení motoru Obrázek 4.1: Deska modulu

4.3. TECHNICKÉ VYBAVENÍ OVLÁDACÍCH MODULŮ 19 4.3.1 Mikroprocesor ARM7 - STR710FZ Jádro ARM7TDMI 32-bit RISC Procesor Paměti Pamět programu (Flash) 256 KB Pamět dat (Flash) 16KB Pamět RAM 64 KB Periferie A/D převodník 4 x 12-bit Časovače/Čítače 4 x 16-bit Vstupy/Výstupy 48 pinů Komunikační rozhraní 10 druhů Vstupy přerušení 16 Tabulka 4.1: Vlastnosti procesoru Analogověčíslicové převodníky mají vstupní napětí od0 2.5 V a maximální frekvenci 1 khz. Mezi komunikační rozhraní procesoru patří například CAN (ver. 2.0B Active), 4 x UART, USB 2.0 Full speed (12 Mbps). Výkon procesoru je 59 MIPS při 66 MHz za použití programové paměti typu flash (STMicroelectronics, 2008a), (STMicroelectronics, 2008b). Výpočetní výkon a periférie procesoru jsou více než dostatečné. Hlavní prací procesoru je udržování komunikace po sběrnici FlexRay prostřednictvím kontroléru MFR4310. Dále zpracování signálů ze senzorů avýpočet signálů pro akčníčleny. 4.3.2 FlexRay řadič - MFR4310 Řadič FlexRay sběrnice MFR4310 podporující protokol FlexRay v2.1 použitý vtéto práci, má následující vlastnosti (Freescale, 2008): Dvoukanálová a jednokanálová komunikace s možností výběru kanálu A nebo B Přenosová rychlost až 10 Mbps 128 konfigurovatelných bufferů pro zprávy, každý s velikostí od 0 do 254 bytů Dva nezávislé message a FIFO buffery s možností filtrace podle ID frámu, ID kanálu nebo dle čítače cyklů Dva časovače - jeden absolutní a druhy volitelně nastavitelný jako absolutní nebo relativní

20 KAPITOLA 4. OVLÁDACÍ PRVKY MODELU 4.3.3 H-můstek pro řízení motoru - VNH2SP30-E Jedná se o integrovaný H-můstek pro spínání proudu I OUT = 30 A (STMicroelectronics, 2008, Feb). Výstupní výkon je regulován pomocí PWM 1 signálu z procesoru. Ovládaní směru točení se provádí bity IN A a IN B.Dále jsou zapotřebí povolovací bity EN A a EN B.Připojení ovládacích pinů je uvedeno v tabulce 4.2. Tabulka 4.3 obsahuje možné způsoby ovládaní motoru. Pin Funkce P1.4 EN B - Povolení řízení kanálu B P1.5 IN A -Určování směru P1.6 IN B -Určování směru P1.7 PWM - PWM signál P2.9 EN A - Povolení řízení kanálu A Tabulka 4.2: Připojení můstku k procesoru IN A IN B Funkce 0 0 Motorová brzda (VCC) 0 1 Otáčení vesměru hodinových ručiček (Vpravo) 1 0 Otáčení proti směru hodinových ručiček (Vlevo) 1 1 Motorová brzda (GND) Tabulka 4.3: Ovládání můstku - Při EN A =EN B =1 1 PWM = Pulse Width Modulation - Pulzně šířková modulace

Kapitola 5 Programování modulů Moduly se programují za pomoci vývojového prostředí IAR Embedded Workbench IDE 4.03 v programovacím jazyce C. Spojení s jednotlivými moduly zajišt uje In-System programátor J-Link se sériovým rozhraním JTAG 1. Tato práce využívá podstatnou část zdrojových kódů z Diplomové práce ing. Denise Warause (Waraus, D., 2008). Jedná se o knihovnu FlexRay, její nastavení pro komunikaci s dalšími moduly na sběrnici a obslužný kód pro komunikaci mezi řadičem MFR4310 a procesorem. Dále byla z Diplomové práce převzata jmenná konvence a datové typy. Do kódu byly dopsány funkce pro vyčtení aktuální hodnoty ze senzoru, regulační smyčka pro nastavení natočení kol a v neposlednířadě změna parametrů FlexRay knihovny pro požadovanou konfiguraci sítě. Zdrojové kódy jsou v jednom projektu vývojového prostředí IAR. Protože je velkáčást kódu pro všechny moduly stejná apři každé změně tohoto společného kódu by se musela změna aplikovat ve všech projektech, je kód rozdělen pomocí definic pro jednotlivé stanice a v souboru FRconfig.c je nutné nastavit, jaký modul právě programujeme. Na výběr jsou pouze dva, modul NODE_STEER, reprezentující modul obsluhující volant a modul NODE_MOTOR zajišt ující správné natočení kol. 5.1 Převod hodnoty senzoru natočení volantu Pro převod hodnoty ze senzoru natočení z Grayova kódu do kódu binárního je zapotřebí jednoduchý obslužný kód, který jsem použil z Wikipedie (Gray code, 2008, Prosinec). 1 JTAG = Joint Test Action Group 21

22 KAPITOLA 5. PROGRAMOVÁNÍ MODULŮ Zdrojový kód byl upraven z pseudo kódu do jazyka C. Dále bylo zapotřebí kód upravit podle jmenné konvence a dostupných datových typů. Výsledný zdrojový kód je uveden pod tímto textem i s definicí konstanty délky převodu. V principu se konverze provádí nazákladě bitového posunu vpravo o jednu pozici vstupní proměnné input každým opakováním cyklu. Takto upravená vstupní proměnná se bitově vynásobí svýstupní proměnnou output. Dovýstupní proměnné output byla na začátku převodu dosazena hodnota vstupní proměnné input. #DEFINE G2B_LENGTH 10 uint16 Gray2Bin(uint16 input){ uint16 output = input; uint8 length = G2B_LENGTH; while(length > 0) { input >>= 1; output ^= input; length--; } return output;} 5.2 Načítání hodnoty ze senzoru Hodnota ze senzoru se odečítá v pravidelných intervalech s přetečením časovače vyhrazeným pro vzorkování. Odečet ze sběrnice se provádí v obsluze přerušení vzorkovacího čítače. Vzorkovací interval se vypočte podle rovnice 5.1. Načtená data se posléze překonvertují do binární soustavy a pokud je navázáno spojení s druhým modulem, data se pošlou na sběrnici. Minimálně se musejí poslat dvě 16 bitováčísla, protože jak již bylo řečeno v kapitole věnované sběrnici FlexRay, je to minimum dynamického segmentu. První hodnota je rovna hodnotě odečtené ze senzoru a druhá, kontrolní, obsahuje procentuální natočení volantu. Na základě těchto dvou hodnot jde bez problému zrekonstruovat úhel natočení kol. Datové bity senzoru jsou k procesoru přpojeny na piny podle tabulky 5.1. Datové bity nejsou připojeny nejšikovněji, v příští revizi je zapotřebí opti-

5.2. NAČÍTÁNÍ HODNOTY ZE SENZORU 23 malizovat pořadí jednotlivých bitů k pinům procesoru. T SAMPLE =2 16 2 =2 16 2 f PCLK2 24 Mhz =5.461 ms (5.1) Pin procesoru Bit senzoru P1.3 D0 P1.2 D1 P1.1 D2 P1.0 D3 P2.15 D4 P2.14 D5 P2.13 D6 P2.12 D7 P2.11 D8 P2.10 D9 Tabulka 5.1: Připojení senzoru k procesoru Pod tímto textem je kód pro vyčtení všech bitů senzoru natočení. Vzhledem k faktu stejných senzorů natočení jeikód pro jejich odečet stejný. uint16 KolaActual; KolaActual = GPIO_BitRead(GPIO1,3); KolaActual += GPIO_BitRead(GPIO1,2) << G2B_LENGTH-9; KolaActual += GPIO_BitRead(GPIO1,1) << G2B_LENGTH-8; KolaActual += GPIO_BitRead(GPIO1,0) << G2B_LENGTH-7; KolaActual += GPIO_BitRead(GPIO2,15) << G2B_LENGTH-6; KolaActual += GPIO_BitRead(GPIO2,14) << G2B_LENGTH-5; KolaActual += GPIO_BitRead(GPIO2,13) << G2B_LENGTH-4; KolaActual += GPIO_BitRead(GPIO2,12) << G2B_LENGTH-3; KolaActual += GPIO_BitRead(GPIO2,11) << G2B_LENGTH-2; KolaActual += GPIO_BitRead(GPIO2,10) << G2B_LENGTH-1; Po úpravě datového kabelu bude vypadat kód následovně: KolaActual = GPIO_ByteRead(GPIO1,LSB); KolaActual = GPIO_ByteRead(GPIO2,MSB) >> 6;

24 KAPITOLA 5. PROGRAMOVÁNÍ MODULŮ 5.3 Programová podoba regulátoru Navrhnout regulátor pro simulační model nebylo až tak těžké. Převést samotný regulátor ze symbolického jazyka do programovacího jazyka C také nebyl problém. Nejobtížnější částí bylo propojení regulátoru s elektromotorem, respektive s jeho ovládacími prvky. Samotný regulátor totiž vypočítá jen akční zásah na kola. Tento akční zásah je potřeba přepočítat do střídy PWM signálu PWMPower, který jepotřeba poslat na ovládací můstek motoru. Nemluvě o tom, že výkon elektromotoru má svůj limit, přes který akčnízásah nemůže jít. Proto je potřeba ošetřit, aby akční zásah nepřekročil mezní výkon. Dále je potřeba zvolit směr otáčení motoru pomocí nastavovacích pinů. Směr je zvolen podle polarity odchylky mezi aktuální pozicí kolkolaactual apožadovanou pozicí kol KolaRequest. Jak je uvedeno v tabulce 4.2, motor se dá uvést do stavu zabrzdění. Tento fakt využijeme ve chvíli, kdy se odchylka mezi aktuální apožadovanou pozicí bude rovnat nule nebo nějaké maximální povolené odchylce definované jako KOLA_DEAD. Tato maximální odchylka od ustálené hodnoty je velmi potřebná protože v celém reálném systému je množství mechanických vůlí abezní by mohla celá soustava začít oscilovat. Způsobené kmity by neefektivně zatěžovaly elektromotor a zbytečně hoopotřebovávaly. // Nastavení maximální a minimální pozice kol if (KolaRequest > KOLA_MAX) KolaRequest = KOLA_MAX; if (KolaRequest < KOLA_MIN) KolaRequest = KOLA_MIN; // Výpočet odchylky Odchylka = KolaRequest - KolaActual; // Nastavení směru otáčení motoru if (KolaRequest > KolaActual) { // Konfigurace pinu pro snižování hodnoty aktuálního natočení kol GPIO_BitWrite(GPIO1,4,0x0); GPIO_BitWrite(GPIO2,9,0x0); GPIO_BitWrite(GPIO1,5,0x1); GPIO_BitWrite(GPIO1,6,0x0); } else {

5.3. PROGRAMOVÁ PODOBA REGULÁTORU 25 } // Konfigurace pinu pro zvyšování hodnoty aktuálního natočení kol GPIO_BitWrite(GPIO1,4,0x0); GPIO_BitWrite(GPIO2,9,0x0); GPIO_BitWrite(GPIO1,5,0x0); GPIO_BitWrite(GPIO1,6,0x1); // Pásmo necitlivost if (abs(odchylka) < KOLA_DEAD) { // Konfigurace pinu pro zabrzděni motoru GPIO_BitWrite(GPIO1,4,0x1); GPIO_BitWrite(GPIO2,9,0x1); GPIO_BitWrite(GPIO1,5,0x1); GPIO_BitWrite(GPIO1,6,0x1); OdchylkaSum = 0; } // Odchylka pro výpočet integrační složky OdchylkaSum = OdchylkaSum + Odchylka; // Výpočet akčního zásahu ControllerOutput = (abs(odchylka) * K_PRO) + (OdchylkaSum / K_INT); // Převod akčního zásahu na střídu PWM PWMPower = 30 + ControllerOutput / 10; // Výkonové omezení if (PWMPower > POWER_MAX) { PWMPower = POWER_MAX; OdchylkaSum = 0; } // Aktualizace PWM signálu TIM_PWMOModeConfig(TIM1, PWMPower/2, TIM_HIGH, 50, TIM_LOW);

26 KAPITOLA 5. PROGRAMOVÁNÍ MODULŮ 5.4 Porovnání s navrženým modelem Výše navržený regulátor se v simulacích choval opravdu skvěle, ale jak je na tom v praxi? Bohužel PI regulátor i přestože byl velmi dobře navržen, nedosahoval takových výsledků jako obyčejný P regulátor. Důvody jsou zřejmé. Při návrhu a specifikaci regulátoru se braly v úvahu nejpřísnější podmínky tj. nulová ustálená odchylka od požadované hodnoty a minimální respektive žádnýpřekmit přes požadovanou hodnotu. Reálný model ale skýtá mnohá úskalí, která regulátor nedokáže vyřešit. Zajisté by pomohlo navrhnout složitější model, ale to bohužel není možné, protože mnohé nelinearity a mechanické vůle nejdou změřit. Nemluvě o tom, že se tyto vůle mohou v průběhu regulace měnit. Pro bezproblémový chod je proto integrační složka v regulátoru rovna nule. Regulátor je degradován na úroveň P regulátoru. Přetočení kol z jedné krajní meze do druhé je přibližně rovno času T 1.5 s. Tento čas se velmi podobá času přetočení kol z jedné meze do druhé spoužitím klasického řízení.

Kapitola 6 Závěr Seznam cílů bakalářské práce byl vytyčen převážně vúvodu. Další drobné detaily byly doplněny v průběhu celé práce. Proto si je pro úplnost nyní zopakujme. Prvním úkolem práce bylo oživení a kontrola funkčnosti modulu pro komunikaci, navržené a vytvořené Michalem Vinklářem v jeho bakalářské práci. Kontrola a oživení skrývaly mnohá úskalí a zabraly nemalou část času věnovaného mé práci. Během oživování bylo nalezeno několik drobných chyb v návrhu zapojení modulů. Tyto chyby a nedostatky byly samozřejmě neprodleně odstraněny a korekce zaneseny do příslušných plánů anávrhů. Dále bylo zapotřebí zprovoznit senzorovou část modulů, která byla navržena a zkonstruována až v průběhu mé bakalářské práce. Návrh zapojení ani osazovací plán nebyly dosud nikde publikovány, a proto je uvádímvpříloze C. I zde bylo ošetřeno několik drobných nedostatků vnávrhu a konstrukci. Nakonec byla senzorová avýpočetníčást modulu spojena a mohlo se začít pracovat na navázání komunikace mezi moduly. Ta se obešla bez vážnějších komplikací. Důležitou částí bylo bezpochyby vhodné nastavení H-můstku, respektive ovládání elektromotoru. To bylo společně s ověřením funkčnosti senzoru natočení asi nejjednodušší činností celé práce. O poznání horší ale bylo implementovat navržený regulátor. Podařilo se jej začlenit do zdrojového kódu, ale kvůli důvodům popsanýmvpáté kapitole, byl regulátor značnězměněn oproti navrhovanému. Jak je ale v kapitole vyzdviženo, regulátor typu P funguje na vozidle znamenitě a bezproblémově. Celý tento výčet cílů jezavršen tím opravdu největším a nejdůležitějším, tj. funkční implementací steer-by-wire. Bylo dosaženo vskutku věrného napodobení běžného typu řízení, na jaké jsou řidiči v automobilech zvyklí. Tím se dostávám k části, kdy je potřeba říci, co v práci chybí ačím je možné ji 27

28 KAPITOLA 6. ZÁVĚR dále obohatit a vylepšit. Aby způsob řízení plně odpovídal tomu běžnému, je potřeba doplnit k volantu servomotor pro vytvoření zpětné vazby od kol. Ta ale potřebuje ke své funkčnosti údaj o tom, zda se simulační vozidlo pohybuje či stojí, popřípadě jakou rychlostí jede. Aby bylo možné senzor připojit, je nutné vytvořit další modul, který jej bude obsluhovat. Tím by měla být implementace steer-by-wire kompletní.

Literatura FlexRay (2005), FlexRay Communications System Protocol Specification V2.1 rev. A. Freescale (2008), MFR4310 - Reference Manual rev. 2. Gray code (2008, Prosinec), http://en.wikipedia.org/wiki/gray_code. STMicroelectronics (2008, Feb), Automotive fully integrated H-bridge motor driver - VNH2SP30-E, rev. 7. STMicroelectronics (2008a), ARM7 - Reference Manual. STMicroelectronics (2008b), ARM7 - User Manual. Franklin, G. F., Powell, J. D. a Emami-Naeini, A. (2006), Feedback Control of Dynamic systems, fifth edition, New Jersey: Pearson Education, Inc. Kocourek, P. a Novák, J. (2004), Přenos informace, Praha: Vydavatelství ČVUT. Malinský, J. (2008), Standard flexray 2.1 - prezentace. Pokorný, V. (2007), Metody měření vybraných parametrů komunikačního standardu flexray a jejich implementace, Diplomová práce, ČVUT Praha. Vinklář, M. (2008), Technické vybavení pro drive-by-wire, Bakalářská práce, ČVUT Praha. Waraus, D. (2008), Měřící systém na bázi sběrnice flexray, Diplomová práce, ČVUT Praha. Yih, P. (2004), Steer-by-wire: Implications for vehicle handling and safety [online]. 29

30 LITERATURA

Příloha A Vývojové diagramy obslužného programu Obrázek A.1: Vývojový diagram obsluhy přerušení FlexRay I

II PŘÍLOHA A. VÝVOJOVÉ DIAGRAMY OBSLUŽNÉHO PROGRAMU Obrázek A.2: Vývojový diagram obsluhy senzoru volantu

Obrázek A.3: Vývojový diagram regulátoru natočení kol III

IV PŘÍLOHA A. VÝVOJOVÉ DIAGRAMY OBSLUŽNÉHO PROGRAMU

Příloha B Obsah přiloženého CD Adresářová struktura disku: Datasheety ARM7 - Reference manual ARM7 - User manual FlexRay - Protocol specification V2.1 H-Můstek VNH2SP30-E - Datasheet MFR4310 - Reference manual Fotogalerie Fotografie z vývoje reálného modelu Zdroje Bakalářská práce - Vinklář Michal 2008 Diplomová práce - Waraus Denis 2008 Diplomová práce - Pokorný Viktor 2007 Prezentace Flexray - Malinský Jan 2008 Prezentace steer-by-wire -Yih Paul 2004 Zdrojové kódy Projekt vývojového prostředí IAR použitý pro naprogramování modulů V

VI PŘÍLOHA B. OBSAH PŘILOŽENÉHO CD

Příloha C Návrh zapojení senzorové části modulu Obrázek C.1: Schéma zapojení senzorové části 1.díl VII

VIII PŘÍLOHA C. NÁVRH ZAPOJENÍ SENZOROVÉ ČÁSTI MODULU Obrázek C.2: Schéma zapojení senzorové části 2.díl