140

P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Autonom efterfølgerbil

P5 Projekt

Gruppe 501

Institut for Elektroniske Systemer

Aalborg Universitet

Den 20.12.10

Page 2: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 3: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Department of:

Electronic Systems

Fredrik Bajers Vej 7DK-9220 Aalborg ØstPhone: 96 35 86 00Internet: es.aau.dk

This project aims to construct an autonomouscar, with the ability to pursue a car. The leadingcar is denoted target, and the pursuing car isdenoted stalker throughout the report. The twocars are R/C vehicles, where target is control-led manually by remote control, and the stalkerfollows autonomously.Stalkers ability to locate target, is based upontriangular calculations. The position can becalculated from two distances between the cars.This is implemented by adding an ultrasonictransmitter and a radio transmitter on the tar-get. Stalker is made autonomous by implemen-ting a microcontroller, ultrasonic receivers and aradio receiver. An attempt to implement a spe-edregulator was made, which later turned out tomake the regulation unstable and was removed,since it could be spared.Based on derived mathematic models for the carsmotion pattern, two proportional controllers areconstructed. These regulators are controlling thespeed and direction of stalker, according to themeasured distance and angle between the twocars.A wireless connection between stalker and a PCis implemented by WiFi, where an interface ma-kes it possible to communicate with stalker. Thesoftware implemented on the microcontroller iscontrolled by a nonpreemtive kernel, which assu-res that all deadlines are met.Acceptance testing have proved that stalker isable to follow target at a speed of 5 km/h. Howe-ver collisions between the two cars may occur byrapidly decellerating target.

Synopsis:

Title:Autonomous Pursuing Car

Theme:Distributed embedded systems ininteraction with physical systems

Project period:September 2. - December 20., 2010

Project group:10gr501 - 5. semester bachelor

Members of the group:Anders WittendorThomas LaursenPalle RavnMorten Kock RævdalHenrik Juul PedersenMark Jespersen

Supervisor:Tom S. PedersenKirsten M. Kristensen

Number of copies: 10

Number of pages: 140

Attachments: CD

Appendices: 5

Project completed: December 20, 2010

Contents of this report is freely available, but publication (with specication of source)

may only be done upon arrangement with the authors.

Page 4: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 5: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Institut for:

Elektroniske Systemer

Fredrik Bajers Vej 79220 Aalborg ØstTelefon: 96 35 86 00Internet: es.aau.dk

I dette projekt designes en forfølgerbil(stalker),som autonomt skal efterfølge en bil(target). Deranvendes to fjernstyrede biler. Target styres ma-nuelt med fjernkontrol, og stalker følger auto-nomt efter.Der implementeres på target en ultralyds- og enradiosender, mens der på stalker implementeresmikrocontroller, en radiomodtager og to ultra-lydsmodtagere. Der bestemmes vha. trekantsbe-regninger afstand og vinkel mellem de to biler.Der blev forsøgt implementeret en hastighedsre-gulator på stalker, som blev fjernet, da den gjor-de reguleringen ustabil og kunne undværes.Der bestemmes to proportional-regulatorer ud fraopstillede modeller for stalkers bevægelse. Disseregulerer på stalkers hastighed og retning ud fraafstand og vinkel mellem de to biler.Der er implementeret trådløs kommunikationvha. WiFi, så kommunikation mellem stalker ogPC er mulig ved anvendelse af tilhørende bruger-ade. Softwaren implementeres på mikrocontrol-leren, som ved hjælp af en non-preemptive kernesørger for, at alle opgaver kører indenfor valgtedeadlines.Det viser sig, ved accepttest, at stalker kan ef-terfølge target ved en hastighed på 5 km/t. Derkan dog ved pludselig standsning af target opståsammenstød.

Synopsis:Titel:

Autonom efterfølgerbil

Tema:Distribuerede indlejrede systemer isamspil med fysiske systemer

Projektperiode:3. september - 20. december, 2010

Projektgruppe:10gr501 - 5. semester bachelor

Medlemmer af gruppen:Anders WittendorThomas LaursenPalle RavnMorten Kock RævdalHenrik Juul PedersenMark Jespersen

Vejleder:Tom S. PedersenKirsten M. Kristensen

Antal kopier: 10

Antal sider: 140

Bilag: CD

Appendikser: 5

Projekt afsluttet: 20. december, 2010

Rapportens indhold er frit tilgængeligt, men oentliggørelse (med kildeangivelse)

må kun ske efter aftale med forfatterne.

Page 6: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 7: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Forord

Denne rapport er udarbejdet som en del af et 5. semester projekt på Aalborg Universitet.Rapporten er udarbejdet af seks studerende på linjen Elektronik og IT ved det Ingeniør-,Natur- og Sundhedsvidenskabelige Fakultet, i perioden fra d. 1. september til d. 20. deceme-ber 2010. Temaet for semesteret er Distribuerede indlejrede systemer i samspil med fysiskesystemer.

Projektet omhandler konstruktionen af hardware og software til en autonom forfølgerbil. Deropstilles fysiske modeller for bilens bevægelse, konstrueres hardware til implementering afet realtids system og sensorer på bilen, og til sidst udvikles der software til regulering afbilen. Derved bliver den erhvervede viden fra semesteret anvendt i projektet. Rapporten erhenvendt til læsere med kendskab til analog og digital teknik samt programmeringssprogeneC og PHP, men kan også læses af andre interesserede.

Kildehenvisninger fremstår i rapporten vha. Harvard metoden. Dvs. at kildehenvisningernefremstør på følgende måde: [forfatters efternavn/rma, årstal]. Der er vedlagt en litteraturli-ste, hvor de anvendte kilder fremgår. Der er vedlagt kredsløbsdiagrammer i appendix bagersti rapporten.

Der er vedlagt et CD-bilag, som refereres således: sti/ . CD'en indeholder: software kilde-kode, doxygen dokumentation, lm dokumentation af accepttest samt datablade for kompo-nenter. Der forendes yderlige en digital version af denne rapport, hvori kilder og referencerer interaktive.

Anders Wittendor Henrik Juul Pedersen Morten Kock Rævdal

Palle Ravn Mark Jespersen Thomas Laursen

I

Page 8: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Indhold

1 Foranalyse 1

1.1 Overvejelser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Kravspecikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Lokalisering 7

2.1 Reeksion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Signalering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Trilateration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Valg af metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Modellering af stalker 11

3.1 Regulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Afstandsregulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Retningsregulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Hardware 33

4.1 Afstands- og vinkelsensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2 Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3 Ultralydsmodtager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4 Hastighedsmåler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.5 Trådløs kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.6 Mikrocontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 Regulatorer 48

5.1 Afstandsregulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.2 Vinkelregulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6 Software 64

II

Page 9: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.1 Softwarestruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.2 Valg af styresystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.3 Afstands- og vinkelberegning . . . . . . . . . . . . . . . . . . . . . . . . . . . 716.4 Regulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.5 Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.6 Brugerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.7 Kerne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.8 Eksekveringstider og deadlines . . . . . . . . . . . . . . . . . . . . . . . . . . 94

7 Afslutning 97

7.1 Implementering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977.2 Accepttest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997.3 Vurdering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.4 Konklusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Bilag 105

A Målejournal - Stalker bil 106

B Beregning på modellering af stalker 113

C Målejournal - Positionering af target 117

D Målejournal - Hastighedssensor 121

E Kredsløbsdiagrammer 125

Litteratur 129

III

Page 10: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Læsevejledning

I rapporten benyttes en række forkortelser og udtryk. Disse er listet med tilørende forklaring

i følgende afsnit.

Ordliste

Føgende forkortelser anvendes i rapporten:

AAU Aalborg Universitet

ALU Arithmetic Logic Unit

ARM Advanced RISC Machine

DAC Digital til Analog Converter

EDF Earliest Deadline First

IrDA Infrared Data Association

LOS Line-Of-Sight

PWM Pulse-Width Modulation

ROM Read-Only Memory

UART Universal Asynchronous Receiver/Transmitter

UHF Ultra High Frequency

ZOH Zero Order Hold

Desuden bruges følgende udtryk:

Stalker Efterfølgeren, denne kører selv v.h.a. regulering.

Target Målet, denne styres af en person fra gruppen.

Nonpreemtive En metode til multitasking, hvor der aldrig skiftes fra en process til enanden før den første har kørt færdig eller sættes i bero.

Prescaler En metode til at skalere en frekvens med en faktor inden den benyttes.

IV

Page 11: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 1

Foranalyse

I dette projekt vil der blive arbejdet med en autonom forfølgerbil.

Formålet med projektet er at designe og implementere en styring til en bil (kaldet stalker),der er i stand til autonomt at følge efter en fjernstyret bil (kaldet target).

Der vil i dette projekt blive taget udgangspunkt i to fjernstyrede biler. En som vil blivemodiceret til at opfylde projektkravene(stalker), og en der ombygges(target) så det er muligtfor den autonome bil(stalker), at følge efter denne.

I semesterbeskrivelsen er følgende punkter opgivet til at skulle være en del af projektet:

Modellering af fysiske systemer Regulering i realtid Trådløs kommunikation

Projektet omhandler problemstillingerne med lokalisering af target og regulering af vinkel oghastighed derudfra.

I det følgende afsnit er der beskrevet hvilke overvejelser projektgruppen har gjort sig, i forholdtil projektet.

1

Page 12: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

1.1 Overvejelser

Dette projekt er et læringsprojekt. Der er derfor ud fra gruppens kompetencer og ambitions-

niveau opstillet et scenarie, som produktet skal kunne gennemføre. Dette scenarie og de over-

vejelser der ligger bag beskrives her.

Til dette projekt er der opstillet nogle rammer og begrænsninger, som produktet skal fungereindenfor. Det er valgt at have to ensformige fjernstyrede biler. Dette betyder at stalker ogtarget har ens styrings- og accelerationsevne, og derved kan følges ad.

De to biler er valgt ud fra nogle overvejelser. De er let tilgængelige og kan fåes til en rimeligpris, mens deres udformning og stabilitet er hensigtmæssig med henblik på påmontering afhardware. Deres hastighed og vinkel styres af Pulse-Width Modulation (PWM).

For at overholde kravene stillet i studieordningen til semesteret, skal projektet indeholdetrådløs kommunikation. Dette skal primært bruges til styring af stalker vha. kommandoer,og til at indhente informationer fra stalker. Det trådløse system skal virke uden Line-Of-Sight (LOS), og på mindst 40 meters afstand. Derudover skal den trådløse kommunikationkunne køre på batteriforsyning.

Scenarie

Produktet skal kunne fungere inden for et af gruppen opstillet scenarie, som beskrives her.

Bilerne skal køre indendørs på et plant underlag uden forhindringer. Derved skal der ikke tageshensyn til vejrforhold, forhindringer samt varierende underlag, der kunne give anledning tilskærpede krav til hardware og software. Der må aldrig være fysisk kontakt mellem de to biler,og stalker skal kunne følge target ved en hastighed på mindst 5 km/t.

Startpositionen er, at stalker placeres bagved target, så den på forhånd ved at target er foran.Derefter styres target manuelt med fjernstyring, mens stalker følger efter.

Stalker skal altså automatisk kunne bestemme targets lokation. Ud fra dette skal den regulere

sin hastighed og retning. Dette giver anledning til nogle forskellige situationer som produktet

skal kunne håndtere, disse situationer beskrives vha. Use Cases i det kommende afsnit

2

Page 13: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

1.2 Use Cases

I dette afsnit opstilles der Use Cases ud fra scenariet, som blev beskrevet i foregående afsnit.

Dette gøres for kunne opstille krav til funktionaliteten af produktet.

Der skal udvikles en styring til stalkeren så den autonomt kan efterfølge target. Dette gøresved at detektere afstand og vinkel af target og derudfra regulere stalkerens hastighed og ret-ning. Der skal også være mulighed for trådløs kommunikation mellem stalker og en computer.Dette skal som minimum bruges til statusmålinger samt start og stop kommandoer.

Dette giver anledning til følgende aktørere:

Stalker Target PC

Hvor stalker kan påvirkes af target, når den ændrer hastighed og retning, samt kommandoerog forespørgelser fra PCen. Der gælder ved alle use cases at hvis stalker mister target af syne,skal den stoppe alt kørsel.

Use Case 1 - Target ændrer hastighed

Målbeskrivelse:

Stalker skal regulere sin hastighed, så den holder en afstand til target der gør det muligt forstalker at nå at reagere. Hvordan denne afstand bestemmes bliver mere specikt beskrevetsenere i rapporten. Der tages her udgangspunkt i at stalker er placeret bag ved target somer i bevægelse.

Normal scenarie:

Target ændrer hastighed Afstand mellem stalker og target ændres Stalker detekterer afstand til target Stalker øger eller sænker sin hastighed, afhængigt af om afstanden er for stor eller lille Overstående gentages til afstanden mellem de to biler er det ønskede

Use Case 2 - Target ændrer vinkel

Målbeskrivelse:

Stalker skal regulere sin retning, så den holder sig på linje med target. Den skal derfor detek-tere, når target drejer og derudfra regulere sin egen køreretning. Der tages igen udgangspunkti at stalker er placeret bag ved target som er i bevægelse.

3

Page 14: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Normal scenarie:

Target ændrer retning Vinklen mellem stalker og target ændres Stalker detekterer vinkel mellem den og target Stalker ændrer retning Overstående gentages til vinklen mellem de to biler er det ønskede

Use case 3 - Start og stop igennem PC

Målbeskrivelse:

Stalkeren skal udfra en start- eller stopkommando, der sendes trådløst til systemet igennemPCen, hhv. starte og stoppe forfølgelsen af target. Der tages udgangspunkt i to scenarier idette tilfælde.

Startkommando scenarie:

PC sender startkommando til stalker Stalker modtager kommando Stalker starter forfølgelsen af target

Stopkommando scenarie:

PC sender stopkommando til stalker Stalker modtager kommando Stalker stopper forfølgelsen af target

De opstillede use-cases giver altså anledning til funktionaliteter, som skal implementeres i

produktet. De giver sammen med det opstillede scenarie anledning til kravene, som speciceres

i næste afsnit.

4

Page 15: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

1.3 Kravspecikation

Det opstillede scenarie og Use Case's giver anledning til nogle krav til produktet. Disse krav

er her opstillet og beskrevet.

Der skal implementeres en styring på stalker, så den er i stand til at forfølge target. Target vilblive styret igennem en fjernkontrol. Det er derfor et krav til produktet, at alle udregninger ogreguleringer, i forhold til hastighed og kørselsretning, skal foregå i realtid. Der skal anvendestrådløs kommunikation til at kommunikere mellem en computer og stalker, med henblikpå overvågning af systemtilstand, samt transmission af kommandoer til den. Dette giveranledning til nogle krav, der skal overholdes af produktet. Disse er her opstillet:

1. Stalker skal være i stand til at forfølge target ved en hastighed af mindst 5 km/t.2. Stalker skal forfølge target uden sammenstød.3. Stalker skal regulere sin kørselsretning så den holder sig bag target.4. Den trådløse kommunikation skal have en rækkevidde på mindst 40 meter.

Der er nu opstillet krav til produktet. Der opstilles i følgende afsnit accepttest for de opstillede

krav.

1.3.1 Accepttest beskrivelse

I dette afsnit er der opstillet en beskrivelse af de tests som systemet skal bestå for at opfylde

kravspecikationen.

For at kontrollere at kravene er opfyldt, er det nødvendigt at lave tests af systemet. Derbeskrives her hvordan disse tests udføres.

Krav 1: Stalker skal være i stand til at forfølge target ved en hastighed af mindst 5 km/t.

Dette testes ved at stalker sættes i startposition bag target. Herefter skal stalker være i standtil at følge efter target, når der køres med en hastighed på mindst 5 km/t. Dette testes 1gange af 5 kontinuerlige minutter.

Krav 2: Stalker skal forfølge target uden sammenstød.

Dette testes først i forbindelse med test af krav 1. Under testen af krav 1 skal en observertørholde øje med stalker og notere hvis stalker kommer i kontakt med target. Hvis stalker skaberfysisk kontakt til target under testen af krav 1, er testen fejlet.

Derefter udføres en start/stop test hvor target accelereres op til mindst 5 km/t og derefterstoppes ved at afbrydelse fremdriftsmotoren i target. Dette gentages 4 gange. Hvis stalkerskaber fysisk kontakt til target en af gangene, er testen fejlet.

5

Page 16: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Krav 3: Stalker skal regulere sin kørselsretning, så den holder sig bag target.

Dette testes i forbindelse med test af krav 1. Stalkeren skal under testen aldrig miste targetaf syne. Hvis dette sker er testen fejlet.

Krav 4: Den trådløse kommunikation skal have en rækkevidde på mindst 40 meter.

Dette testes ved at opmåle en afstand på 40 meter mellem computeren og stalker. Hereftersendes en kommando til stalker, som stalker svarer tilbage på. Hvis den sendte kommandobliver sendt og modtaget sucessfuldt 100 gange er kravet overholdt.

Der er i dette afsnit opstillet en kravspicikation til stalkeren, samt beskrevet test for disse

krav. Stalkeren skal overholde de stillede krav for at opfylde accepttesten og derved opfylde

kravspecikationen. For at overholde kravene, skal stalker kunne lokalisere target og regulere

sin hastighed og retning derefter. Metoden til lokalisering vælges i det kommende afsnit.

6

Page 17: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 2

Lokalisering

I dette afsnit beskrives forskellige metoder til lokalisering af target. Lokalisering af targeter nødvendig for at stalker kan regulere sin hastighed og retning. Der opstilles og vurderesforskellige lokaliseringsmetoder, hvorefter en metode vælges til senere implementering.

2.1 Reeksion

Der udsendes et signal fra stalker, som vil blive reekteret tilbage af target. Dette reekterede

signal opfanges igen af stalker, og ud fra signalets udbredelseshastighed og tidsforskellen fra

signalet er sendt afsted og til det reekterede signal kommer tilbage, kan afstanden mellem

stalker og target ndes.

Figur 2.1. Illustration af lokalisering med reeksioner. Det udgående signal representeres med de

( bølger, og det reekterede repesenteres med de ) bølger.

Der er på gur 2.1 illustreret princippet bag reeksion. Det ses at afstanden ndes ved at

7

Page 18: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

udsende et signal fra stalker, som reekteres på target. Ved at kende tidsforskellen mellemat signalet sendes ud og det reekterede signal kommer tilbage, samt signalets udbredelses-hastighed, kan afstanden beregnes.

Overvejelser

En af ulemperne ved reeksion er, at det er nødvendigt at ramme target for at lave en måling.

Reeksion kan implementeres ved enten at bruge infrarød eller ultralyd. Typisk virker dissesensorer kun indenfor en bestemt afstand, og arbejdes der uden for denne, er output ikkepålideligt. Det er ligeledes nødvendigt med målinger i ere retninger, for at kunne bestemmehvilket retning target bevæger sig i.

2.2 Signalering

Target udsender et signal, som stalker kan opfange og dermed detektere, hvilken retning target

bender sig i.

I forhold til foregående løsning, udsendes der nu et signal fra target, som opfanges af stalker.Dette er illustreret på gur 2.2.

Figur 2.2. Illustration af lokalisering, hvor target udsender et signal, givet ved ), som stalker

opfanger med sensorer i forskellige vinkler.

Ligesom foregående løsning, er det nødvendigt med ere sensorer, som er vinklet forskelligt,for at opfange signalet. Ud fra hvilken sensor der opfanger signalet, kan retningen til targetbestemmes. Eftersom stalker ikke selv udsender signalet, vides det ikke hvornår signalet erudsendt, og derved er det ikke muligt at sige noget om afstanden til target. For at gøre detteskulle signalet indeholde information om hvornår det var udsendt. Dette betyder, at de tosystemer skal være synkroniseret med hensyn til tid med en præcision som kan være svær atopnå.

8

Page 19: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Overvejelser

Ved at udstyre target med et pejlingssignal, er stalker ikke længere afhængig af selv at skulleudsende et signal, for at bestemme hvilken retning target bender sig i. Dette betyder, atstalker er sikker på, at den følger efter target og ikke bare hvad der end er lige foran den. Etsådan pejlingssignal vil typisk bestå af et infrarødt signal, som sendes ud i en bred vinkel.Til at opfange dette signal er der placeret et antal infrarøde modtagere, som er afskærmet,således at kun en eller to sensorer opfanger signalet af gangen. Derved kan det ses hvilken afmodtagerne der registrerer signalet, og retningen kan bestemmes.

Siden at pejlingssignal kun kan bestemme hvilken vinkel target bender sig i, afhængersystemet stadig af en afstandssensor. Dog kan en sådan drejes, således at den altid harretning mod target, idet vinklen til target allerede forendes.

Et pejlingssignal stiller ikke de samme krav til præcision som et signal til afstandsmåling, dasignalet kun skal opfanges, så kvaliteten af signalet er underordnet, sålænge signalet registre-res. Signalet udsendes i alle retninger, samtidigt med at modtageren skal kunne afskærmes,således at den kun opfanger signalet i en bestemt vinkel.

2.3 Trilateration

Denne løsning er en anden udgave af overstående signaleringsløsning, hvor placeringen af

sensorerne på stalker gør det muligt at bestemme targets position ud fra geometriske bereg-

ninger.

Figur 2.3. Illustration af trilateration. De hvide cirkler illustrerer modtagerens antenner. Positio-

nen af target udregnes vha. geometriske beregninger.

For at kunne udregne både en afstand og en vinkel, udsender target et pejlingssignal, somopfanges af stalkerens tre modtagere, som illustreret på gur 2.3. Ved at måle tidsforskellenmellem modtagelserne, kan targets position bestemmes. Ved at kende signalets udbredelses-hastighed, kan targets position i forhold til stalker bestemmes.

9

Page 20: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Overvejelser

Det er til formålet muligt at anvende en modiceret version af trilateration, hvor den enesensor fjernes. Dette kan gøres fordi det antages, at target altid bender sig foran stalkeren,som det ses i det opstillede scenarie i afsnit 1.1. Der bruges derfor bilateration til bestemmeafstanden vha. to sensorer i fronten af stalker bilen. Derimod bruges også et synkronise-ringssignal, som skal starte en timer, der aæses når pejlingssinalet modtages. Dette gør atafstanden stadig kan ndes, samtidigt med at opstillingen er simplere, da der nu kun er tosensorer der skal opsættes præcist istedet for tre.

I et perfekt scenarie, er det så frekvensen, som mikrocontrolleren tæller med, sammen meddens timers opløsning, der er den begrænsende faktor. For at kunne vide det korrekte tids-punkt, hvor pejlingssignalet er udsendt, skal synkroniseringssignalet være momentant. Dettekan tilnærmes ved at bruge et radiosignal, som bevæger sig med lysets hastighed og er omni-directionelt, da det så kan antages at signalet bevæger sig fra Target til Stalker momentant.Dette betyder så, at pejlingssignalet skal have en betydeligt lavere udbredelseshastighed, forat tidsforskellen mellem de to signaler kan måles.

Funktionsmæssigt kan denne metode det samme som signalerings metoden i afsnit 2.2, dogmed den forskel at der her skal bruges færre sensorer for at give en nøjagtig placering.

2.4 Valg af metode

Ved at sammenligne overvejelserne for de forskellige metoder, ses det at trilateration har denbedste opløsning ved den simpleste opstilling. Derfor er med udgangspunkt i denne valgtbilateration, således at antallet af sensorer reduceres til tre som nævnt i ovenstående afsnit.

Det blev valgt at anvende bilateration til lokalisering af target. Der skal derfor anvendes to

sensorer og et synkroniseringssignal, hvorudfra vinkel og afstand mellem target og stalker

bestemmes. I det følgende kapitel opstilles modeller for bilen, til brug ved regulering af vinkel

og afstand mellem target og stalker.

10

Page 21: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 3

Modellering af stalker

I dette afsnit opstilles der modeller for bilens bevægelse, for at kunne foretage reguleringderaf. Der er valgt biler med identisk motor og styring til både stalker og target. I detteafsnit opstilles der en model for hvordan stalker skal regulere sin hastighed og retning iforhold til forankørende target. Dette gøres ud fra en sammenhæng mellem elektriske ogmekaniske modeller, samt matematiske betragtninger.

3.1 Regulering

Der anvendes en standardopsætning til reguleringerne. Denne standardopsætning består afen regulator, et system og en sensor. Standardopsætning er vist på gur 3.1.

R(s) +

−D(s)

Regulator

G(s)

System

H(s)

Sensor

Y(s)

Figur 3.1. Standardopsætning for regulering.

Input R(s) er en reference der sættes til den værdi der ønskes som output Y(s). Systemer det system, som skal reguleres vha. Regulator. Regulatoren foretager reguleringen afsystemet til den ønskede reference værdi R(s) vha. de værdier den får fra Sensor. Der skal

11

Page 22: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

opstilles overføringsfunktioner, der beskriver relationen mellem input- og outputværdi for detre blokke. Den samlede overføringsfunktion for denne standardopsætning er opgivet i formel3.1

T(s) =Y(s)R(s)

=D(s) ·G(s)

1 + D(s) ·G(s) · H(s)[-] (3.1)

Denne standardopsætning for en reguleringssløjfe anvendes til dimensionering af regulatoren,som gør systemet stabilt.

12

Page 23: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

3.2 Afstandsregulering

Der er på gur 3.2 opstillet en generel model for, hvordan regulering af afstand mellem stalkerog target skal foregå.

Ra(s) +

−Ønsket afstand

Da(s)

AfstandregulatorRh(s) +

−Ønsket hastighed

Dh(s)

Hastighedsregulator

Gh(s)

Hh(s)

Hastighedssensor

Ga(s)Ya(s)

Ha(s)

Afstandssensor

Fejl Fejl PWM input hastighed − afstand

Forstyrrelse fra target

+

Figur 3.2. Modellering af afstandsregulering, hvor hastighed af stalker ændres for at holde en

ønsket afstand mellem de 2 biler.

Det skal være muligt at regulere afstanden mellem de to biler. Dette gøres ud fra en be-stemmelse af afstanden mellem bilerne. Der ønskes en bestemt afstand, Ra(s), mellem de tobiler. Der implementeres en sensor, som detekterer afstanden mellem target og stalker. Udfradennes output reguleres hastigheden af stalker vha. afstandsregulatoren Da(s). Afstandsre-gulatoren giver en ønsket hastighed, som igennem hastighedsregulatoren Dh(s), som giveranledning til et PWM output. Dette PWM signal giver anledning til en spænding over moto-ren, som omsættes til en hastighed iGh(s). Den hastighed måles igennem hastighedssensorenHh(s), som er tilbagekoblet for at kompensere for fejl i den ønskede hastighed. Denne ha-stighed giver anledning til en ændring i afstand Ya(s). Der vil også komme forstyrrelser idenne reguleringssløjfe i form af target, der ændrer hastighed, og dermed påvirker afstandenmellem de to biler.

For at kunne dimensionere en regulator til stalkeren, skal der opstilles overføringsfunktionerfor denne. Gh(s) skal beskrive, hvordan et PWM input til bilens motor påvirker dens hastig-hed, mens Ga(a) skal beskrive, hvordan hastigheden af bilen påviker ændringen i afstand.Der opstilles overføringsfunktioner ved at sammenholde mekaniske og elektriske modeller forDC-motoren i bilen.

Stalkerens fremdrift dannes af en DC-motor, hvis spænding reguleres vha. PWM. Der erinstalleret en controller og H-bro på bilen, som omdanner et PWM-input til en spænding overDC-motoren. Denne spænding omsættes til en kraft, der vha. gear og dierentialer fordelesud på de re hjul. Der opstilles i det kommende afsnit model for hvordan DC-motoren, gearetog dierentialet fungerer. Derefter opstilles der en model for hvordan fremdriften af stalkerenpåvirker afstanden mellem de to biler.

13

Page 24: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Modellering af bilens fremdrift

Der opstilles først en elektrisk model for DC-motorens påvirkning af bilen.

Det elektriske ækvivalentdiagram for en DC-motor er opstillet på gur 3.3. Det er beståendeaf en påtrykt spænding, en spole, en modstand og en spænding, den elektromotoriske kraft,som er liniært afhængig af vinkelhastigheden ωmotor med konstanten K.

LR a

a

Ia a

U Kω motor

Figur 3.3. Elektrisk ækvivalent diagram for DC-motor.

Den elektriske ligning, som beskriver sammenhængen i ækvivalentdiagrammet er opstillether:

Ua = Ra · Ia + LadIadt

+ K · ωmotor [V] (3.2)

Hvor:

Ua er spænding over motoren [V]

Ra er modstanden i motoren [Ω]

Ia er strømmen gennem motoren [A]

La er induktansen i motoren [H]

K er motorkonstanten[

Vrad/s

]ωmotor er vinkelhastigheden på motoren [rad/s]

Denne ligning laplace-transformeres, hvorefter strømmen isoleres mhp. anvendelse i den me-kaniske model for DC-motoren.

Ua(s) = Ra · Ia(s) + sLa · Ia(s) + K · ωmotor(s) [V] (3.3)

Ia(s) =Ua(s)−K · ωmotor(s)

Ra + s · La[A] (3.4)

14

Page 25: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Ørsteds lov beskriver sammenhængen mellem en strøm i en ledning og det magnetfelt derdannes. Ved at anvende dette kan det bevises at omsætningen af strøm til moment, somtilføres til motorens aksel, τm, er proportional med ankerstrømmen, Ia, ganget med faktorenK, som vist i ligningen 3.5.

τm = K · Ia [Nm] (3.5)

Hvor:

τm er momentet på motorens aksel [Nm]

K er motorkonstanten[NmA

]Ia er strømmen gennem motoren [A]

Jdω

dt= τm − τb − τf(ω, τm − τb) [-] (3.6)

Hvor:

τhjul er momentet fra hjulet [Nm]

15

Page 26: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

De mekaniske og elektriske modeller gælder for DC-motoren i bilen. DC-motoren er koblettil hjulet vha. et fast gear, dvs. to tandhjul med forskellige størrelser. Der er på gur 3.4opstillet et fritlegeme diagram for de to tandhjul, det ene sidder på motoren, det andet påakslen, der driver hjulene:

rm

Motor

Jmotor

τm

f

hjul.X

ω

r

Hjul

bh

hjul

ω

.ωJhjul .ω

fh

Ffriktion Fbil = m .v

motor

motor

hjul

hjul h..

.bil

bil

bil

τ

τ τ

τ

τ

Figur 3.4. Fritlegeme diagram for de to tandhjul, der danner gearet mellem aksel og motor.

Hvor:

ωmotor er vinkelhastigheden på motorens tandhjul [rad/s]

rm er radius af motorens tandhjul [m]

τf er friktionen i motoren [Nm]

τm er momentet på akslen i motoren, som dannes af ankerstrømmen [Nm]

τhjul er momentet på motorens tandhjul fra hjulets tandhjul [Nm]

Jmotor er inertimomentet[kg · m2

]X er gearingsforholdet mellem de 2 hjul [-]

ωmotor er vinkelaccelerationen på motorens tandhjul[rad/s2

]ωhjul er vinkelhastigheden på hjulets tandhjul [rad/s]

rm er radius af hjulets tandhjul [m]

τbh er momentet som bilen påvirker underlaget med [Nm]

τfh er friktionen i bilens mekanik [Nm]

Jhjul er inertimomentet[kg · m2

]ωhjul er vinkelaccelerationen på hjulets tandhjul

[rad/s2

]Gearingsforholdet mellem de to hjul, X, deneres:

X =rmrh

[-] (3.7)

16

Page 27: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der kan ud fra fritlegeme diagrammet på gur 3.4 opstilles en ligning for sammenhængenmellem momenterne på motorens tandhjul. Dette gøres i ligning 3.8.

τm = Jmotor · ωmotor + τf + τhjul · X [Nm] (3.8)

Friktionen τf i motoren er givet ved [Tom S. Pedersen, 2010]:

τf =

bω + sign(ωmotor)τc , ωmotor 6= 0

τm − τb , |τm − τb| ≤ (τc + τs)

(τc + τs)sign(τm − τb) , |τm − τb| > (τc + τs)

(3.9)

Hvor:

b er viskose-friktionen [Nm]

τc er coulumb-friktionen [Nm]

τs er stiktionen [Nm]

τb er belastningen på motoren [Nm]

Momentet, som tilføres akslen i motoren, τm, kan erstattes med K·Ia. Friktionen i motoren, τf,er uliniær, som det ses ud fra formel 3.9. Den eneste del, som er liniær er bω+ sign(ωmotor)τcfor ωmotor 6= 0, og derfor medtages kun denne del i ligningen. Det er muligt at kompensere forcoulumb-friktionen, ved at tillægge et spændings bidrag til systemet, således at det momentder skal til for at overvinde coulumb-friktionen konstant vil være der.

Dette kan gøres i og med at systemet altid vil foretage en fremadrettet bevægelse. Friktionenτc vil stadig blive medtaget i modellen, men der kan som sagt ses bort fra denne ved attillægge et fast bidrag. Derfor sættes sign(ωmotor) til 1, idet der kun foretages fremadrettetbevægelse og denne herfor altid vil være positiv. Dermed kan ligningen skrives:

K · Ia = J · ωmotor + b · ωmotor + τc + τhjul · X [Nm] (3.10)

17

Page 28: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der opstilles nu en ligning for momentet, som kommer fra hjulet.

τhjul = Jhjul · ωhjul + τfh + τbh [Nm] (3.11)

Hvor:

τhjul er momentet på hjulet [Nm]

Jhjul er inertimomentet[kg · m2

]τfh er friktionen i bilens mekanik [Nm]

τbh er momentet som bilen påvirker underlaget med [Nm]

ωhjul er vinkelaccelerationen på hjulet[rad/s2

]Friktionen τfh, i den akse der driver hjulene, kan beskrives af ligning 3.9 på foregående side.Den gælder også her, idet der igen vil være samme friktioner der skal overvindes for at aksenroterer. Derfor anvendes igen kun den liniære del, således ligningen bliver:

τhjul = Jhjul · ωhjul + b · ωhjul + τc + τbh [Nm] (3.12)

Momentet som bilen påvirker underlaget med, τbh, bestemmes ved anvendelse af newtons love.Kraften Fbil, som τbh giver anledning til, skal overvinde friktionen for at bilen kan foretageen bevægelse.

Ffriktion FBil m

ωhjul

rh

x(t)

θ(t)

Figur 3.5. Figur der viser hvordan vinkelposition af hjulet og bilens position ændrer sig.

18

Page 29: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der sker ved rotering af hjulet en ændring af hjulets vinkelposition, θ(t), og bilens position,x(t) som vist på gur 3.5. Ændringen i vinkel er proportional med positionen af bilen medfaktoren rh. Derfor kan følgende ligninger opskrives.

rh · θ(t) = x(t) [m] (3.13)

rh · θ(t) = x(t) [m/s] (3.14)

rh · θ(t) = x(t)[m/s2

](3.15)

Kraften Fbil er udfra newtons 2. lov opskrevet i ligning 3.16.

Fbil = mbil · vbil ⇔ Fbil = mbil · x(t) [Nm] (3.16)

Momentet τbh kan beskrives med ligning 3.17, idet moment er lig kraft gange arm.

τbh = rh · Fbil [Nm] (3.17)

Indsættes ligning 3.16 for Fbil i overstående udtryk 3.17 fåes:

τbh = rh ·mbil · x(t) [Nm] (3.18)

Indsættes udtryk 3.15 for bilens acceleration i udtryk 3.17 fåes:

τbh = rh ·mbil · rh · θ(t)⇔ τbh = r2h ·mbil · ωhjul [Nm] (3.19)

Der er nu opstillet de nødvendige ligninger til at fremstille en overføringsfunktion for G(s).Dette gøres ved at indsætte udtryk 3.4 for ankerstrømmen Ia(s) i motoren, samt laplacetrans-formen af udtryk 3.12 for momentet fra hjulet τhjul, i laplacetransformen af udtryk 3.10 forsammenhængen mellem momenterne på motorens tandhjul. Dermed fåes udtryk 3.20.

K ·(Ua(s)−K · ωmotor(s)

Ra + sLa

)=

s · Jωmotor(s) + b · ωmotor(s) + τc +(s · J · ωhjul(s) + b · ωhjul(s) + τc + τbh

)· X (3.20)

Ud fra udtryk 3.20, kan der opstilles en overføringsfunktion, der beskriver sammehængenmellem spændingsinput på motoren og vinkelhastigheden på hjulene. Der er her set bort fradet mekaniske dierentiale i bilen.

19

Page 30: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Dierentialet har til formål at rette motorens moment mod hjulene. Det giver hjulene mulig-hed for at rotere ved forskellige hastigheder, mens det overførte moment til hjulene forbliverdet samme. Eftersom der i dierentialet forendes tandhjul mm. vil der være en form for tab.Ved fremdrift har dierentialet ikke noget at sige, da begge hjul, hvis underlaget er ens, harlige meget moment, og derved kører lige hurtigt rundt. Det antages, at dette tab er så lille,at der kan ses bort fra det.

Det er i dette projekt også valgt at se bort fra gearet, idet det er et fast gearforhold. Dette erogså gjort for at motorkonstanter, samt inertimomentet på bilen, kan måles ved at betragtehjulene som akslen på DC-motoren. Derved kan der ses bort fra evt. tab i gear og dierentiale.

Derfor kan et nyt udtryk, 3.21, anvendes til at nde overføringsfunktionen G(s). Dette erdannet ud fra udtryk 3.20 for momentet på tandhjulet til motoren. I udtrykket er moment-påvirkningen fra hjulet, τhjul, erstattet med det moment, som bilen påvirker underlaget med,τbh, og gearingsforholdet X er sat til 1.

K ·(Ua(s)−K · ωhjul(s)

Ra + s · La

)= s · J · ωhjul(s) + b · ωhjul(s) + τc + τbh (3.21)

Momentet τbh erstattes med laplacetransformen af udtryk 3.19, dermed fåes:

K ·(Ua(s)−K · ωhjul(s)

Ra + s · La

)= s · J · ωhjul(s) + b · ωhjul(s) + τc + s · ωhjul(s) ·mbil · r2h

(3.22)

20

Page 31: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Udtryk 3.22 på modstående side omskrives, således der fåes en overføringsfunktion, G(s), derbeskriver forholdet mellem spændingsinput og omdrejningshastighed på hjulene. Omskriv-ningen er foretaget i appendix B, hvorved følgende udtryk er fremkommet:

Vbil(s)Ua(s)

=K · rh

(s · J ·mbil · rh2 + b) · Ra + K2(3.23)

Hvor:

Vbil(s) er bilens hastighed [m/s]

Ua er spænding over motoren [V]

K er motorkonstanten[NmA

]J er inertimomentet

[kg · m2

]b er den viskose friktion

[Nmrad/s

]mbil er vægten af bilen [kg]

rh er radius af hjulene på bilen [m]

Ra er modstanden i motoren [Ω]

De forskellige konstanter er fundet i appendix B og målt i appendix A, til følgende:

K = 0,0276

[NmA

]J = 0,0008593

[kg · m2

]b = 0,0002

[Nmrad/s

]Ra = 0,184 [Ω]

mbil = 1,6587 [kg]

rh = 0,04075 [m]

Motorkonstanter og inertimomentet er bestemt ud fra formler, hvor det antages at motorener ubelastet, men dette var ikke tilfældet i vores måling, idet motoren trak diernetialet oggear. Derudover er målingen af tidskonstanten også foretaget ukorrekt, idet den er målt forbilen når den ikke skal trække sig selv eller overvinde friktion. Dette vil give en afvigelsei motorkonstanterne og dermed modellen, men det er valgt at måle på denne måde for atkunne fremstille en model uden omfattende målearbejde.

21

Page 32: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

De fundne konstanter giver dermed overføringsfunktionen:

Gh(s) =1.408715252

s · 0.8325820185 + 1(3.24)

Denne overføringsfunktion beskriver, hvad hastigheden af bilen bliver ved en påtrykt spæn-ding. Den påtrykte spænding justeres vha. PWM input, hvor pulsbredden justeres op forat øge spænding over DC-motoren. Spændingen justeres i henhold til tabel A hvor motorenbliver steppet fra stilstand til fuld fremdrift.

Der er her plottet stepresponset for den opstillede model og det i appendix A målte stepre-spons som fremgår af gur 3.6.

Figur 3.6. Steprespons for målt og opstillet overføringsfunktion.

Det ses at der er en forskel i accelerationen. Den opstillede model accelererer langsommereop end den målte. Dette skyldes at det målte steprespons er foretaget, mens bilens hjul ikkehavde kontakt med underlaget. Derved skal den ikke slæbe sig selv igang, og den accelerererderfor hurtigere.

22

Page 33: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der er på gur 3.7 plottet hvordan hastigheden ændrer sig ved forskellige spændinger. Detteer gjort ud fra den opstillede model, samt den i tabel A på side 109 målte sammenhængmellem hastigheden af bilen og den påtrykte spænding på motoren.

Figur 3.7. Hastighed for modellen samt den målte.

Det ses at der er en stigende afvigelse i hastigheden mellem de to modeller, dette kan tilskri-ves måleunøjagtigheder og tilnærmelser gjort ved fremstilling af modellen. Denne opstillingaf modellen for bilens hastighed forklarer den fysiske og elektriske sammenhæng for bilenshastighed. Idet den afviger vælges det at anvende det målte til regulering af bilen, derfor vilder senere blive taget udgangspunkt i en overføringsfunktion opstillet ud fra A på side 110.

23

Page 34: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Modellering af afstand mellem bilerne

Der skal nu opstilles en overføringsfunktion for hvordan bilens hastighed påvirker afstandenmellem de to biler. Dette gøres ved at betragte afstanden A mellem de to biler. Afstandenmellem de to biler ndes ved at trække stalkers position fra targets, idet target altid vilbende sig foran stalker. Derfor opstilles denne ligning:

A = dtarget − dstalker [m] (3.25)

Hvor:

A er afstanden mellem de to biler [m]

dtarget er targets position [m]

dstalker er stalkers position [m]

Det vides at forholdet mellem hastigheden, vbil, af en bil og den distance, dbil, den bevægersig er givet ved:

vbil(t) =ddt· dbil(t)⇔

∫vbil(t) = dbil(t) [m/s] (3.26)

Derfor kan afstanden mellem de to biler også beskrives ud fra hastigheden således:

A(t) =

∫ t

0

vtarget dt−∫ t

0

vstalker dt + a0 ⇔ [m] (3.27)

A(t) =

∫ t

0

(vtarget − vstalker) dt + a0 [m] (3.28)

Hvor

A(t) er afstanden til tiden t [m]

a0 er afstanden til tiden 0, dvs. startafstanden [m]

vtarget er targets hastighed til tiden t [m/s]

vstalker er stalkers hastighed til tiden t [m/s]

Overstående laplacetransformeres og startafstanden undlades, dermed fåes:

A(s) =vtarget − vstalker

s(3.29)

Hastigheden af target er medtaget som en forstyrrelse, og den kan derfor ikke indgå somværdi i modellen. Herved fås overføringsfunktionen for forhold mellem hastighed og afstandtil:

Ga(s) =1

s(3.30)

24

Page 35: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

3.3 Retningsregulering

I dette afsnit opstilles en model for, hvordan vinklen på hjulene påvirker retningen af stalkerog derved stalkers retning i forhold til target. På gur 3.8 er der opstillet et diagram, forhvorledes reguleringen af retningen skal fungere.

R(s) +

−Ønsket vinkel mellem biler

Dv(s)

Vinkelregulator

Servo

Motor

Gv(s)

Stalker+

Hv(s)

Vinkelsensor

Fejl PWM til servo Hjulvinkel Vinkel − Vinkel mellem bilerne

Y(s)

Målt vinkel mellem bilerne

Target

Figur 3.8. Blokdiagram for retningsregulering.

Det skal være muligt at regulere vinklen mellem de to biler. Det ønskes en fast vinklen,Rv(s),mellem de to biler. Der implementeres en sensor, Hv(s), som detekterer vinkel mellem targetog stalker. Udfra dennes output reguleres vinkelen af hjulene på stalker vha. vinkelregulatorenDv(s). Vinkelregulatoren giver et signal i form af PWM til stalkeren. Dette PWM-signalomsættes til en vinkel på stalkerens hjul, som fører til en ændring af vinklen mellem bilerne.Denne sammenhæng opstilles der her er overføringsfunktionen, Gv(s), for.

25

Page 36: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Ackermann drejnings geometri

Der skal ved retningsændring af bilen foretages en vinkelændring på forhjulene. For at fåen forståelse for hvordan bilen drejer, anvendes ackermann princippet for drejning. Detteprincip går ud på at hjulene har forskellig vinkel, for at undgå at bilen skrider, når derforetages et sving. Ydermere er drejningspunktet placeret midt på bagakslen. På gur 3.9er det illustreret, hvorledes vinklen på hjulene påvirker retningen af bilen.[Darren Burnhill,2009]

θ θ θ

Omdrejningspunkt Omdrejnings radius origo

Bil HV

θV <θBil θH<

Figur 3.9. Ackermann drejningsprincip.

Illustationen på gur 3.9 viser hvorledes vinklen på hjulene er forskellige. Det ses at vinklenpå venstre hjul, θV, er mindre end vinklen for bilens retning, θBil, som er mindre end vinklenpå højre hjul, θH. Dette medfører at bilen vil køre i en retning der ligger mellem de tohjulvinkler. Bilen vil bevæge sig i en cirkulær bevægelse, og princippet gælder for sving tilbegge sider.

26

Page 37: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Retningsmodellen

Der betragtes nu sammenhængen mellem stalkerens hjulvinkel og vinkel til target. I bereg-ningerne antages det at servoen ændrer vinkel momentant. Der tages udgangspunkt i noten[Tom S. Pedersen, N/A]. Der vil blive anvendt regneregler for retvinklede trekanter, samtenhedscirklen. Der foretages beregninger ud fra følgende parametre.

Hastighed (v) Hjulenes vinkel i forhold til stalkers karosseri (θ)

Afstand til target (l)

Der tages udgangspunkt i en situation, hvor stalker og target er placeret som angivet pågur 3.10. Der påtrykkes et step på stalkers servomotor så hjulvinkel ændres. Derefter lavesde nødvendige matematiske- og geometriske betragtninger for at stalker kommer tilbage ogkører på linje med target. d

Stalkers bagakselStalkers foraksel

Targets bagaksel

Figur 3.10. Illustration af bilernes aksler.

27

Page 38: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

På gur 3.11, er der opstillet en model af, hvordan stalkeren vil bevæge sig, hvis vinklen påbilens hjul bliver ændret.

X

Yt =dt2t =01

d

d d

dy

v dt

vdt

ψd θ

lL

ψ φ

Stalkers bagaksel

Stalkers foraksel

Targets bagaksel

Figur 3.11. Bilernes aksler til tiden 0 og dt.

Hvor:

dy er positionsændringen af forhjulene i y-retningen [m]

θ er vinklen imellem stalkers karosseri og forhjul [rad]

v er stalkerens hastighed [m/s]

dt er tidsskridtet [s]

dψ er ændringen i vinkel imellem stalkers karosseri og target bagende [rad]

L er afstanden mellem stalkers for- og bagaksel [m]

l er afstanden imellem stalker og target [m]

γ er en vinkel, der benyttes i senere udregninger [rad]

dφ er vinklen mellem stalker og target [rad]

Figuren 3.11 viser hvad der vil ske med stalkers retning når servomotoren påtrykkes et step,og den derefter kører i tiden dt. De grønne markeringer angiver placeringen af hhv. stalkersfor- og bagaksel, samt targets bagaksel til tiden 0, og den røde til tiden dt. For at gøretegningen mere overskuelig er bilernes kroppe ikke tegnet med. Tegningen viser de samledegeometriske betragtninger der er nødvendig for at opstille et udtryk, for hvorledes stalkerskarosseri bevæger sig i forhold til den påtrykte hjulvinkel. Disse geometriske betragtningerbeskrives yderligere igennem dette afsnit.

28

Page 39: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Det er tidligere nævnt, at bilen vil dreje i en cirkulær bevægelse, udfra ackermanns drejningsprincip. Det antages i denne model, at bilen vil bevæge sig linært, ud fra den tilnærmelse, attidsrummet der kigges på er meget lille.

dyvdt

θ

Figur 3.12. Ændring af forakslens position.

På gur 3.12 illustreres det hvordan stalkers foraksel vil bevæge sig når der påtrykkes et step.

Ud fra nævnte antagelser, samt illustrationen på gur 3.12, kan bilens positionsændring iy-aksens retning beskrives som:

dy = sin(θ) · v · dt (3.31)

Hvor:

dy er positionsændringen af forhjulene i y-retningen [m]

θ er vinklen imellem stalkers karosseri og forhjul [rad]

v er stalkerens hastighed [m/s]

dt er tidsskridtet [s]

29

Page 40: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

dyψd

L

Figur 3.13. Ændring i bilens retning i forhold til forakslen position.

Illustrationen på gur 3.13 viser hvordan stalkers karosseri vil bevæge sig i forhold til foraks-len, og dermed den påtrykte hjulvinkel. Dette giver anledning til formlerne:

dy = sin(dψ) · L⇔ (3.32)

dψ = arcsin

(dyL

)(3.33)

Hvor:

dψ er ændringen i vinkel imellem stalkers karosseri og foraksel [rad]

L er afstanden mellem stalkers for- og bagaksel [m]

dyl

Figur 3.14. Vinkel mellem stalkers for- og targets bagaksel.

30

Page 41: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Figur 3.14 på forrige side viser vinklen der vil være mellem stalkers for- og targets bagakselefter et step er foretaget. Herudfra kan det ses, at vinklen γ er givet som:

dy = cos(γ) · l⇔ (3.34)

dy = sin(π

2− γ)· l⇔ (3.35)

arcsin

(dyl

)=π

2− γ ⇔ (3.36)

γ = −arcsin(dyl

)+π

2(3.37)

Hvor:

l er afstanden imellem stalker og target [m]

γ er en vinkel, der benyttes i senere udregninger [rad]

d dψ φ

Figur 3.15. Vinkel mellem stalkers karosseri og targets bagaksel.

Figuren på 3.15 viser sammenhængen mellem den retning stalkers karosseri er på vej i, og denretning der skal køres for at nde tilbage til targets bagaksel. Figur 3.15 viser, at ændringeni vinkel mellem stalker og target er givet som:

dφ = π − γ −(π

2− dψ

)⇔ (3.38)

dφ =π

2− γ + dψ (3.39)

Hvor:

dφ er vinklen mellem stalker og target [rad]

31

Page 42: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Ligningerne 3.31, 3.33 og 3.37 kombineres med 3.39 hvorved det fås:

dφ =π

2− γ + dψ ⇔

dφ =π

2−(−arcsin

(dyl

)+π

2

)+ arcsin

(dyL

)⇔

dφ =π

2+ arcsin

(sin(θ(t)) · v · dt

l

)− π

2+ arcsin

(sin(θ(t)) · v · dt

L

)⇔

dφ = arcsin

(sin(θ(t)) · v

l· dt)

+ arcsin

(sin(θ(t)) · v

L· dt)

(3.40)

Det antages, at arcsin(x) = x for små ændringer af x. Da det er tidligere nævnt, at detantages, at dt er lille, og derved kan udtrykket reduceres til:

dφ =sin(θ(t)) · v

l· dt +

sin(θ(t)) · vL

· dt⇔ (3.41)

dφdt

=sin(θ(t)) · v

l+sin(θ(t)) · v

L⇔ (3.42)

˙φ(t) = sin(θ(t)) · v ·(

1

l+

1

L

)(3.43)

Det kan også antages, at sin(x) = x for små x ændringer, hvorved at udtrykket kan laveslinært. Udtrykket Laplace-transformeres og der fås:

s · φ(s) = θ(s) · v ·(

1

l+

1

L

)⇔ (3.44)

Gv(s) =φ(s)

θ(s)=

v ·(1l

+ 1L

)s

(3.45)

Overføringsfunktionen indeholder en integrator, hvilket stemmer godt i overenstemmelse meddet forventede, da denne vil vokse, i takt med at stalker får en større vinkel til target.Ydermere kan det ses at denne integration vil vokse linært med hastigheden, hvilket ogsåstemmer overens med det forventede eftersom vinklen vil ændre sig hurtigere, hvis stalkerkører ved en høj hastighed, end ved en lav.

Herved fåes overføringsfunktionen G(s) for stalkerens retning i forhold til hjulvinklen. Denneer givet ud fra den vinkel forhjulene står i, denne reguleres vha. PWM.

Der er nu opstillet modeller for regulering af afstand og vinkel mellem de 2 biler. Dette gøres

ved at regulere på DC- og servomotor vha. PWM. I det kommende afsnit moduleres hardware

til target og stalker, for at fremstilles nødvendige sensorer der skal muligører lokalisering af

target samt regulering af stalker.

32

Page 43: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 4

Hardware

Der er nu opstillet krav til systemet ud fra kravspecikation, valg af lokaliseringsmetodesamt modellering af biler. Disse krav realiseres vha. hardware. Hardware opbygningen vilher først blive præsenteret som moduler i et samlet system, hvorefter de enkelte modulersimplementation vil blive beskrevet.

Der er her opstillet et modul diagram for det samlede system.

Mikrocontroller

Motorstyring

DC-motor

Servomotor

Hastighedsmåler

Afstands- og vinkelsensorer Sendere

Trådløs kommunikation

Trådløs kommunikation Brugerade

Target

Stalker

PC

Figur 4.1. Oversigt over de moduler der indgår i hardwaren til det samlede system.

33

Page 44: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der er på gur 4.1 på forrige side foretaget en opdeling af systemet. Disse tre opdelinger ogderes undermodulers funktioner beskrives her.

Target

Target skal udsende to signaler som stalker kan anvende til bilateration, den skal derforudsende et synkroniseringssignal og et pejlingssignal, ved et fast interval.

Stalker

Stalker er den bil der skal efterfølge target, dens undermoduler er beskrevet her:

Mikrocontroller

Mikrocontrolleren skal stå for at regulere servomotoren samt motorstyringen til DC-motoren,så afstand og vinkel reguleres efter hensigten. Dette skal den gøre ud fra de input den får frahastighedsmåleren samt afstands- og vinkelsensorerne.

DC-motor

DC-motoren leverer fremdrift til bilen. Denne motor og dens påvirkning af bilens fremdrifter moduleret i afsnit 3.2 på side 13.

Motorstyring

Motorstyringen består af den H-bro som fulgte med bilen, som kan omsætte et PWM-signaltil en DC-spænding på motoren. Denne sammenhængen mellem PWM og spænding overmotoren blev beskrevet i afsnit 3.2 på side 13.

34

Page 45: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Servomotor

Servomotoren ændrer bilens retning ved at ændre vinken på forhjulene og styres vha. PWM.Dennes sammenhæng mellem PWM og dens påvirkning af kørselsretningen er beskrevet iafsnit 3.3 på side 25.

Hastighedsmåler

Hastighedsmåleren måler omdrejninger på akslen, som kan omsættes til omdrejninger påhjulet, og derved en hastighed. Dette skal anvendes til regulering af afstand og vinkel, hvordet er nødvendigt at kende hastigheden af bilen.

Afstands- og vinkelsensoren

Afstands- og vinkelsensoren skal kunne opfange synkroniseringssignalet og pejlingssignalet,som udsendes fra target, så disse kan omsættes til en afstand og en vinkel, som er relativ tilstalker.

Trådløs kommunikation

Den trådløse kommunikation skal kunne håndtere kommunikation med en computer.

PC

Der anvendes en PC til kommunikation med stalker. Der skal udvikles en brugerade tilcomputeren, som gør det muligt at kommunikere trådløst med stalker.

De forskellige moduler er nu beskrevet. I de kommende afsnit vælges der løsningsmetoder og

derefter beskrives implementeringen deraf.

4.1 Afstands- og vinkelsensor

Der skal fra target udsendes et synkroniseringssignal og et pejlingssignal. Disse to signaler skalderefter opfanges af stalker. Der vælges at anvende Ultra High Frequency (UHF) radiobølgertil synkroniseringssignalet. Dette er et elektromagnetisk signal, som har en udbreddelsesha-stighed på 300E6 m/s. Dette betyder at tidsforsinkelsen på korte afstande tilnærmelsesvis ernul. Denne antagelse benyttes i projektet, for at kunne bestemme afstanden mellem stalkerog target.

Der anvendes ultralyd til pejlingssignalet, idet dette udbreder sig med lydens hastighed, ogderfor kan en tidsforskel, relativ til synkroniseringssignalet, detekteres ved varierende afstand.Det vælges at bruge ultralyd frem for hørbar lyd, fordi at ved hørbar lyd vil der kommeinterefrens fra omgivelserne og dette kan resultere i at målingerne bliver ubrugelige.

35

Page 46: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

4.2 Target

I dette afsnit bliver targetbilens afsendelse af ultralyd og UHF radiobølger beskrevet.

For at stalker har noget at følge efter, skal der udsendes et ultralydssignal og et radiosignal.Begge sendere skal kunne bygges kompakt nok til at kunne sidde på targetbilen, og stadigvære eektfuld nok til at stalker kan opfange ultralydssignalet.

Senderen er udstyret med en mikrocontroller af typen ATtiny24[Atmel, 2010], som kan pro-grammeres imens den sidder på systemet. Den står for at sende ultralyd og UHF til de rigtigetider.

UHF senderen er af typen QAM-TX2[Quasar, 2006], som opererer ved 433 MHz. Den kræverkun forsyning og det signal der skal sendes.

Forsyningsspænding

Alle komponenter forsynes af batterier. Til ultralydsgenerering kræves et positivt og et ne-gativt signal, hvor spændingsamplituden bestemmer signalamplituden der sendes. Derfor erdet valgt at lave batteripakkens 6 volt om til ±15 volt, med en MAX743[Quasar, 1990]switch-mode regulator.

Ligeledes vil der bende sig en mikrocontroller og en UHF sender på systemet, som kørerved max 5 volt, til dette anvendes en spændingsregulator af typen 78L05. Denne type krævermindst 7 volt for at kunne lave 5 volt, men leverer 4,48 volt ved 6 volts forsygning. Mikro-controlleren kører kun ved 1 MHz, og ved denne frekvens kan den køre på mellem 1,8 og 5,5volt. UHF senderen kan operere fra 1,5 til 5 volt.

Pejlingssignal

Pejlingssignalet genereres af en ultralydssender, som drives af en 40kHz sinustone. Derforer der anvendt en sinusgenerator af typen XR-2206[EXAR, 1997]. Denne tilkobles ±15 voltforsyning. Sinusgeneratoren kan ikke levere nok strøm til senderen der trækker op imod 80mA, så der er koblet en simpel operationsforstærker-buer imellem.

For at kunne tænde og slukke for signalet er der efter bueren koblet et solid-state relæ, somkan åbnes og lukkes af mikrocontrolleren.

36

Page 47: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Timing

Mikrocontrolleren kører ved 1MHz og er programmeret til at sende ultralyd og radiobølger.Den står også for kalibreringen af signalerne, da der er forskellige indsvingningsforløb påsendere og modtagere af de to typer af signaler.

For at bestemme hvor ofte stalker skal signalere, er der opstillet en ligning for hvor lang tiddet tager for signalerne at komme frem, dette fremstilles som en maksimal frekvens ud frafølgende ligning:

fp =vlydlafstand

[Hz] (4.1)

Hvor:

fp er frekvensen for udsendelse af pejlingssignalet [Hz]

vlyd er lydens hastighed[ms

]lafstand er afstanden mellem target og stalker [m]

Hvis vlyd sættes til 350 m/s, hvilket svarer til at luften er lidt over 30 °C. Afstanden sættestil 2 meter. Dermed bliver frekvensen 175 Hz.

Dette betyder at target kan signalere sin position op til 175 gange i sekundet, uden at sig-nalerne bliver blandet sammen. Denne kan justeres senere ved at omprogrammere mikrocon-trolleren på target.

Som en del af kalibreringen af afstandsmålingen bliver ultralyden sendt 200 µs tidligere endUHF signalet. Fra et signal bliver givet UHF senderen til det bliver modtaget, er det et delay isystemet på ca. 100 µs, hvilket ikke skyldes udbredelseshastigheden. Ligeledes har ultralydenet indsvingningsforløb på ca. 300 µs. Denne forskel resulterer i kalibreringen på 200 µs.

Det er nu beskrevet hvordan target genererer en 40 kHz sinus til ultralydssender, og hvordan

dette samt et radiosignal styres af en mikrocontroller.

4.3 Ultralydsmodtager

Dette afsnit beskriver modtagelsen af ultralyd på stalker, og efterfølgende generering af signal

til mikrocontrolleren.

Signaldetekteringen skal generere signaler til mikrocontrolleren, ved modtagelse af signalermed ned til 10 mV amplitudeværdier fra ultralydsmodtagerne. For at sikre at det er muligtat reagere på små signaler fra transducerne, men ikke støj fra omgivelserne, er det valgt atforforstærke signalerne fra transducerne med 100 gange, umiddelbart efter sensorerne.

37

Page 48: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Forforstærkning

Forforstærkningen bliver lavet af en AD620[Analog devices, 2004] instumenterings-forstærker.Den har en meget høj indgangsimpedans, samtidig med alle fordelene ved en dierensforstær-ker. Den forsynes af ±5 volt og og har en stelforbindelse som reference. Dette betyder at derløber 4 ledere ud til hver sensor; ±5 volt, stel og et signal tilbage til signalerings-kredsløbet.

1

2

3

45

6

7

8

DifferensforstærkerAD620AN

Rgain

500

GND

-5

+5

Ultralyd Rafladning1500k

Rafladning2500k

GND

GND

OutputCac

100nF

Figur 4.2. Kredsløbsdiagram over signalforstærkningen ved ultralydsmodtagerne.

Da AD620 har en meget høj indgangsmodstand, er det ikke muligt for ultralydsmodtagerneat aade deres interne kapacitans, på 2550 pF ±20%, inden næste puls. Dette er løst ved atsætte en 500 kΩ modstand fra hver leder på transducererne, og til stel.

De 100 ganges forstærkningen på AD620 chippen laves ud fra ligningen:

G =49.9kΩ

RG+ 1 [-] (4.2)

Hvor:

G er forstærkningen [-]

RG er modstanden til bestemmelse af forstærkningsgraden [Ω]

Og dette betyder at en RG på ca. 500 Ω giver en forsærkningsfaktor på ca. 100.

38

Page 49: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Signaldetektering

Ved 100 ganges forstærkning, kan det ikke undgås at der også bliver forstærket støj fratransducerne, samt støj fra selve forstærkningen. Derfor skal der kunne sættes en minimums-amplitude, som der skal reageres på, inden mikrocontrolleren signaleres.

8

1

4

3

2

1

CompATLE2072

84

75

6

2

CompBTLE2072

+5

+5

-5

-5

+5

GND

Rdeling110k

Rdeling290.9k

Input A

Input B

TRIG6

OUT5

RST4

CVOLT3

THR2

DISC1

VCC14

GND7

TriggerA

TS556

VCC14

GND7

TRIG8

OUT9

RST10

CVOLT11

THR12

DISC13

TriggerB

TS556+3

+3GND

GND

Ccontrol210nF

Ccontrol110nF

+3

+3

R1

25k

R2

25k

C1

220nF

C2

220nF

GND

GND

GND

GND

InterruptA

InterruptB

10MRoffset1

10MRoffset2

GND

GND

Figur 4.3. Kredsløbsdiagram over signaldetektering og interruptgenerering fra ultralydsmodtager-

ne.

Dette laves med en operationsforstærker som komperator mellem indgangssignalet og enDC-værdi, som er sat til det niveau hvor signalet skal ses som aktivt.

Efter komperatoren bliver der mange små pulser, da komperatoren kun ser den positive delaf signalet minus det angivne DC-niveau. Derfor skal der laves et kredsløb der sørger for atmikrocontrolleren kun bliver signaleret en enkelt gang per positionssignalering.

For at sikre at der kun kommer et enkelt signal til mikrocontrolleren, der indstilles til atvære kant-triggered på stigende kant, laves der et monostabilit kredsløb med en 555-timer,hvor pulslængden sættes lang nok til at ultralydssignalet er stoppet med at komme igennemkomperatoren. Dette er gjort ud fra følgende ligning:

Tpuls = 1.1 · R · C [s] (4.3)

Hvor:

Tpuls er pulslængden på 555 timerens output [s]

R er modstanden som der aades over [Ω]

C er kondensatoren som 555 timeren oplader [F]

39

Page 50: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

For at kunne håndtere op til ±4 volt signaler fra sensorerne med forstærkning, er kompe-ratoren også koblet til ±5 volts forsyning, imens 555-timeren er koblet til stel og 3 voltligesom mikrocontrolleren. På denne måde adskilles de høje spændinger i detekteringen framikrocontrolleren, som maksimalt må få sin forsyningsspænding ind på sine inputs.

I praksis implementeres 555 timeren i en dobbelt pakke kaldet 556[SGS-Thomson, 1997],ligesom operationsforstærkeren der benyttes som komperator er i en dobbeltpakke af typenTLE2072[Texas instruments, 2000].

Hardwaretest

I det følgende valideres den konstruerede hardware til interruptgenerering. Der bliver set på

hvor stor afvigelsen er, når afstanden måles med ultralyd og UHF, i forhold til den opmålte

afstand.

Ifølge målejurnal C er der en del unøjagtigheder som har indydelse på resultatet, hvilketbetyder at det er svært at sige om afvigelserne skyldes hardwaren, eller måleopsætningen. Forat have en ide om hvor stor udsvingene fra hardwaren er i forhold til lokaliseringen, ses derpå måling 2 og 3, hvor måling 2 er den mest præcise og kun afviger med 3,5 cm, og måling3 er den mest upræcise med 8 cm.

Måling 3

Hvis positioneringen betragtes som en vektor, med udgangspunkt i centrum (0;0), forventesder i måling 3 en længde på 70,7 cm og en vinkel på 45. Ifølge ultralydsmålingerne gives envektor med længde 77,4 og en vinkel på 34,4. Dette er illustret på følgende gur.

y

x

Centrum Sensor1Sensor2

70,7 cm∠45°77,4 cm∠34,4°

Figur 4.4. Den forventede vektor fra centrum til sender er givet ved den grønne vektor, mens den

røde vektor viser ultralydsmålingerne omsat til en vektor.

40

Page 51: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Måling 2

I måling 2, hvor target bender sig vinkelret på centrum, forventes en afstand på 50 cm ogen vinkel på 90. I følge ultralydsmålingerne fåes 53,1 cm og en vinkel på 87,9.

y

x

Centrum Sensor1Sensor2

53,1 cm∠87,9°50 cm∠90°

Figur 4.5. Den forventede vektor fra centrum til sender er givet ved den grønne vektor, mens den

røde vektor viser ultralydsmålingerne omsat til en vektor.

Alle usikkerheder taget i betragtning antages det at lokalisering via den konstruerede hardwa-re, er tilstrækkelig præcis i forhold til at skulle følge efter target. Unøjagtigheden i måling 3tilskrives bl.a. måleopsætningens manglende præcision.

4.4 Hastighedsmåler

Der kan implementeres en hastighedsmåler på forskellige måder. Hastighedsmåleren skal kun-ne give et signal hver gang hjulene tager en omdrening, og vha. mikrocontrolleren skal dermåles frekvens for dette signal. Denne frekvens kan omsættes til hjulets omdrejningshastig-hed, og dermed hastigheden af selve bilen.

Der vælges at implementere hastighedsmåleren ved brug af lysreektion, idet dette vurderessom den simpleste løsning. Der anvendes infrarødt lys for at undgå forstyrrelse fra synligtlys.

41

Page 52: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der måles på omdrejninger på akslen der driver de re hjul. Herpå monteres sort tapesamt en lille hvid stribe. Der konstrueres et print hvorpå der monteres en lysdiode af ty-pen SFH487P[Siemens, N/A], som udsender infrarødt lys, ved siden af en fotodiode af typenBPW34[Vishay, 2008], som øger strømmen gennem sig propertionalt med at lysintensitetenden modtager stiger. Dette princip er illustreret her:

Aksel

IR-DiodeFotodiode

Figur 4.6. Illustration af hvordan det infrarøde lys udsendes, reekteres på den hvide tape, og

opfanges af fotodioden.

Den hvide stribe vil reektere lyset fra dioden bedre end det restrende sorte tape. Der laveset kredsløb som vist her:

+3,3V +3,3V

Output

R RD

IR-diode Fotodiode

Figur 4.7. Kredsløb til IR-diode og fotodiode.

Dette kredsløb har til formål at detekterer hvornår den hvide stribe på akslen passerer foto-dioden, og efterfølgende leverer et logisk højt niveau.

Dioden udstråler konstant infrarødt lys mens fotodioden leder strøm i spærreretningen nården bestråles. Derved kan der over modstanden RD måles et stigende spændingsfald i takt medlys intensiteten stiger. For at kunne variere hvor meget spændingsfald der er over modstandenanvendes en trimmemodstand på 100k, da dette efter forsøg med montering af sensor på bilenviste sig at være passende. Dette stigende spændingsfald ledes ind i en schmitt-trigger af typen74HC14D[Philips, 2003], som har 6 schmitt-triggere indbygget.

42

Page 53: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Denne leverer logisk lav på sin udgang, hvis spændingen på dens indgang overstiger et vistniveau, som er bestemt ud fra spændingsforsyningen. Der er ikke regnet på dette niveau, datrimmemodstanden gør det muligt at indstille spændingsfaldet til et passende højt niveau.Der ønskes et logisk højt niveau for hver gang den hvide stribe passere fotodioden, og daschmitt-triggeren inverterer giver den logisk lav. Dette afhjælpes ved at anvende endnu enschmitt-trigger, således der fåes logisk højt.

Hastighedsmåleren blev vericeret i appendix D. Det blev målt at for hver gang akslen drejer

2,0603 omgange drejer hjulene 1 omgang. Derfor skal det antal omgang som akslen divide-

res med 2,0603 for at få den egentlige omdrejningshastighed af bilenes hjul. Der kan ved at

gange den målte omdrejningshastighed med omkredsen af hjulet på bilen, ndes selve bilens

hastighed.

4.5 Trådløs kommunikation

I dette afsnit beksrives valget af teknologi til trådløs kommunikation. Der undersøges rækkevid-

de, interface, overførselshastighed og tilgængelighed på nogle forskellige trådløse teknologier,

hvorefter der vælges en teknologi der bruges til projektet.

For at overholde kravene til semesteret, skal systemet indeholde trådløs kommunikation. Dentrådløse kommunikation skal kunne sende statusbeskeder og kommandoer mellem stalker ogen PC. Trådløs kommunikation er ikke hovedfokus i projektet, og derfor vælges en teknologi,der uden videre kan implementeres som en færdig løsning.

Det vælges, at der ikke skal kræves Line-Of-Sight (LOS) mellem stalker og PC, hvilket ude-lukker teknologier som Infrared Data Association (IrDA). I det følgende afsnit beskrives deforskellige teknologier som kan anvendes.

Bluetooth

Indenfor bluetooth benyttes der to forskellige klasser, klasse 1 og 2 der har forskellige speci-kationer. Rækkeviden på de forskellige klasser er hhv. 100 og 10 meter. Ud fra kravet om atder skal være en rækkevide på 40 meter, er det kun klasse 1 der kan anvendes i dette tilfælde.Den nyeste version af bluetooth har en overførselshastighed på op til 2.1 Mbit/s.

Bluetooth ndes som USB-enheder, og kan ofte ndes integreret i mobiltelefoner, bærbarecomputere mv. Bluetooth kan ndes som Black-box-løsninger med serielt interface, som gørdet muligt at sammensætte dette med et mikrocontroller system.[Bluetooth SIG, Inc, 2010]

43

Page 54: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

ZigBee

ZigBee er en trådløs standard, som opererer ved 2,4 GHz. ZigBee teknologien kan f.eks.realisres ved brug af et XBee modul. Dette er et let tilgængeligt og færdigt modul, sombenytter et standard seriel interface. Rækkevidden på et sådan modul er ifølge [MaxStream,Inc, 2006] 30 m indendørs.

Zigbee har en ulempe mht. at interface med en pc gennem den trådløse forbindelse. ZigBeeer normalt ikke indbygget i pc'er og der kræves derfor en adapter, mens teknologier somBluetooth og WiFi begge er mere almindelige at have indbygget i sin pc.[MaxStream, Inc,2006]

UHF / VHF

UHF dækker over frekvensbåndet 300-3000 MHz, mens VHF er 30-300 MHz. Der forendestranscievere, som kan transmittere logiske niveuer på en afstand op til 300 meter, og medhastigheder op til 100 kbaud. Dette ville være tilstrækkeligt til anvendelse i dette projekt.Teknologien fravælges fordi den vil kræve omfattende hardware og software implementering,i forhold til færdigtudviklede moduler.[Texas Instruments, 2009]

WiFi

WiFi standarden, også kendt som IEEE 802.11, ndes i forskellige versioner. Versionerne a,b, g og n er dem der bruges i almindelige kommercielle produkter, f.eks. i næsten alle nyerebærbare computere.

Wi transceivere er tilgængelige i formfaktorer som gør det muligt at installere dem i mobil-telefoner og lignende udstyr, som sætter krav til størrelse og strømforbrug. Dette gør at WiFier egnet til at sidde på en simpel mobil platform, som stalker bliver. Problemet med WiFii forhold til de mange andre typer af forbindelser, der er nævnt i dette afsnit, er dens kom-pleksitet. Der ndes dog færdige produkter, som tilbyder forskellige interfaces til en færdigWiFi-løsning.

44

Page 55: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der er fundet en specik løsning fra Roving Networks, som kan virke som seriel til WiFi-interface for stalker. Ifølge producentens hjemmeside, kan modulet arbejde med et netværk påop til 100 meter i radius [Roving Networks, Inc - Homepage, 2010]. Modulet kører b/g hvilketgiver den en teoretisk overførselshatighed på 54 Mbit/s med 802.11g. UART interfacet påmodulet har dog en makshatighed på ca. 1Mbit, hvilket sætter begrænsning for hvor hurtigtdata kan sendes via, og aftages fra det trådløse netværk. En begrænset hastighed betyder iføl-ge modulets datablad også en øget rækkevidde, hvilket er vigtigere i denne sammenhæng, ogkan betyde, at den indbyggede keramiske antenne er nok til dette projekt.[Roving Networks,Inc, 2010]

Konklusion

WiFi viser sig let tilgængelig, med tilstrækkelig rækkevidde og overførselshastighed, og erderfor en oplagt løsning til realisering af trådløs kommunikation.

Bluetooth er også let tilgængelig og har 100 meters teoretisk rækkevidde. Bluetooth fravælgesda der på semesteret er blevet undervist i netværksprotokoller som f.eks. anvendes til WiFikommunikation.

ZigBee fravælges da den ikke opfylder det stillede krav til rækkevide. Implementering vildesuden kræve yderligere hardware til PC.

Gruppen vælger derfor at benytte WiFi som trådløs forbindelsesteknologi mellem stalkerog PCen. Der vil blive benyttet den tidligere omtalte løsning fra Roving Networks. Der ervalgt en udgave der er monteret på et breakout-board, der letter tilgangen til de forskelligeforbindelser.

Det er valgt at stalker skal have en WiFi løsning fra Roving Networks, som muliggører over-

førselshastigheder på tæt ved 1 Mbit/s, med en rækkevidde på op til 100 meter. Dette muliggør

også kommunikation med computer, hvorpå en brugerade kan udvikles.

45

Page 56: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

4.6 Mikrocontroller

Der opstilles i dette afsnit krav til mikrocontroller.

Mikrocontrolleren skal stå for regulering af stalker. Den skal kunne tage imod input fra deforskellige sensorer, og oversætte dette til PWM-signaler, som kan styre bilens retning oghastighed. Mikrocontrolleren skal ligeledes kunne kommunikere med PCen via den trådløseforbindelse. Der opstilles først krav til hvilke in- og output mikrocontrolleren skal kunnehåndtere, hvorefter der vælges en til formålet.

PWM-Output

Der skal bruges to PWM kanaler til at styre stalker. Disse skal styre hhv. motoren og servo-motoren på bilen, da disse kan kontrolleres direkte med PWM-sinaler.

Universal Asynchronous Receiver/Transmitter (UART)

Til debugging af systemet og kommunikation over WiFi skal der bruges en UART forbindelsetil at kommunikere med systemets WiFi-modul.

Tællere

Der ønskes interne tællere til bilateration og styresystemet, så der undgåes yderligere hardwa-re og implementering.

Interrupts

For at processoren kan håndtere ere tråde, og for at sikre korrekt timing mht. input, skalder være mindst to prioriterede interruptniveauer.

Tilgængelighed

Der skal vælges en mikrocontroller som er mulig at anskae og implementere. Det er f.eks. ikkemuligt inden for projektes rammer, at montere chips i BGA pakker, eller lignende surfacemount enheder.

46

Page 57: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Valg af mikrocontroller

Der er taget ere forskellige mikrocontrollere i betragtning til at opfylde de opstillede krav.

Ved at vælge en mikrocontroller, som indeholder en processor sammen med RAM, ROM ogeventuelt andre perifære enheder, kan der undgås at have disse tilkoblet eksternt. FirmaetAtmel producerer bl.a. mikrocontrollerer, som indeholder enten Atmels egne mikroprocessorereller processorer fra ARM. Udvalget begrænses til de mikrocontrollerer som er tilgængelige iDIP form eller premonteret på breakout boards.

Af alle Atmels mikrocontrollerer, som ndes i DIP pakke, er der ingen der opfylder kravet tilinterrupts, da de kun understøtter ét niveau, mens at der i dette tilfælde skal bruges minimumto. Derfor vil kun de chips, hvortil der ndes breakout boards komme i betragtning. De estemikrocontrollerer der ikke er i DIP, ndes der allerede breakout boards der passer til. Dettebetyder at det er muligt at vælge frit ud fra de øvrige krav. ARM-processorer er 32 bitenheder med mulighed for kommatalsberegninger. Atmel har i deres 8 bit mikrocontrollerekun én serie med ere interruptniveauer, imens alle deres 32 bit enheder også har dette. Dissemikrocontrollere vil alle overholde kravene stillet i afsnit 4.6, og derfor er det af gruppen valgtat der bruges den midste model med Atmel's egen mikroprocessor, kaldet ATxmega128A1,som er en 8 bit mikrocontroller, der kan købes monteret på et breakout board.

ATxmega128A1

For at skabe et overblik over den valge mikrocontroller, vil der her ndes en oversigt der viserrelevante egenskaber[Atmel, 2009]

Op til 32 MHz clockfrekvens 8 timere/tællere med 16 bits opløsning, der alle kan benyttes til PWM 8 UART enheder 8 KiB RAM 128 KiB ROM 3 interruptniveauer

Der er nu valgt og implementeret hardware til stalker og taget, der opstilles i næste afsnit de

regulatore som skal anvendes til regulering af hastighed og vinkel på stalker. Derefter designes

der software til hardware.

47

Page 58: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 5

Regulatorer

I dette afsnit vil regulatorerne til systemet blive bestemt. Der vil blive vurderet på hvilken re-gulator der skal anvendes i de forskellige systemer, samt størrelsen af de forskellige parametrei disse.

Det fremgår i afsnit 3.1 at stalkeren har tre regulatorer. Afstandsregulatoren Da(s), hastig-hedsregulatoren Dh(s) og vinkelregulatoren Dv(s).

Da(s) og Dh(s) vil begge regulere på stalkerens hastighed. Derfor bliver de designet som enregulator, hvor at Dh(s) vil have den funktion at regulere på stalkerens hastighed, såledesat den overholder den ønskede hastighed. Da(s) har til opgave at regulere på afstanden tiltarget. Dette gøres ud fra den ønskede afstand mellem bilerne og den aktuelle afstand mellembilerne. Denne ønskede afstand vælges til at være 0,5 meter.

5.1 Afstandsregulator

Der skal designes en afstandsregulator så stalker er i stand til at opfylde kravene stillet i

kravspecikationen, dvs. stalker skal være i stand til at holde en fast afstand til forankørende

target og aldrig ramme denne. Der vælges først at designe en P-regulator ved at betragte

systemet som værende analogt, hvorefter denne digitaliseres for at se om systemet forbliver

stabilt ved den samplingsfrekvens som systemet kører ved.

Der vurderes på oversving, indsvingsningstid og steadystate-fejl ud fra den digitale model afsystemet. Er regulatoren tilstrækkelig bliver den forsøgt implementeret på systemet og evt.justeret derefter.

48

Page 59: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Det var tiltænkt at afstandreguleringen skulle have to sensorer og to regulatorer, en til ha-stighed og en til afstand. Dette har vist sig ikke at være muligt med den konstruerede hastig-hedssensor, som grundet langsom opdateringsfrekvens gør at systemet ikke kan blive stabilt.Der er ved en hastighed af bilen på f.eks. 1 m/s en opdateringsfrekvens på 8 Hz. Dette skyldesat hjulene ved denne hastighed roterer 4 gange i sekundet, hvilket gør at akslen, som dermåles hastighed på, roterer ved en frekvens på 8 Hz. Der blev forsøgt designet et system meddenne sensor, men grundet den lave samplingstid kunne stabilitet af systemet ikke opnåes.Det blev derfor valgt at undvære hastighedssensoren i systemet.

Dermed bliver reguleringssløjfen for afstandreguleringen som opstillet her:

+

−Ønsket afstand[m]

Da(s)

Afstandregulator

e−s·0.0194

Tidsdelay

H-bro Gh(s)

Motor

Ga(s)

Ha(s)

Afstandssensor

Ra(s) CT CT CT Spænding[V] Hastighed[m/s] −

CT

Target ændrer hastighed

+

Afstand[m]

Ya(s)

Figur 5.1. Diagram for afstandsregulering af stalker.

Reguleringssløjfen som fremgår på gur 5.1 indeholder forskellige blokke. Afstandregulatoren,Da(s), bestemmes i dette afsnit, e−s·0.0194 er tidsdelayet som fremkommer af periodetiden forPWM signalet, som skal sættes for at ændre spændingen over bilens moter,H-Bro er omsæt-ningen fra PWM til spænding, Gh(s) er omsætningen fra spænding over motor til hastighedaf stalker, Ga(s) er omsætningen fra hastighed til afstand og Ha(s) er afstandssensoren.

Reguleringen skal foretages af en mikrocontroller, og derfor deles systemet op i to dele. Denene er den analoge del bestående af Gh(s) og Ga(s), som der skal foretages regulering af.Den anden del er det digitale system som er regulatoren Da(s). Afstandssensoren Ha(s) ogH-broen ligger på grænseaden mellem det digitale og det analoge system, men de betragtessom en del af det digitale, idet de ikke indeholder nogen dynamik, og kun har til funktion attage målinger til brug i reguleringen og sætte spændingen på motoren.

Afstandssensorens overføringsfunktion estimeres til værende 1, idet systemet betragtes ana-logt og tidsforsinkelsen i denne derfor er tilnærmelsesvis uendelig lille. Derved er det derhar indydelse på systemet Da(s), Gh(s) og Ga(s). Tilsammen vil Gh(s) og Ga(s) giveanledning til at systemet bliver et 2. ordens system.

For at nde en passende regulator til systemet, forsøges der først med at bruge en propor-tionalregulator, hvorefter der undersøges om kravene er overholdt. Hvis det ikke er tilfældetprøves der med en mere avanceret regulator.

49

Page 60: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Overføringsfunktionen for Ga(s) har et hastigheds-input målt i m/s og et afstands-outputmålt i m. Derfor er denne:

Ga(s) = K ·1

s[-] (5.1)

Overføringsfunktionen for Gh(s) har et spændings-input og hastigheds-output, idet dette eren DC-motor. Motoren opfører sig som et 1. ordens system, og derfor kan overføringsfunk-tionen beskrives som:

Gh(s) =KDC ·Kτs + 1

[-] (5.2)

Hvor KDC er motorens DC-forstærkning og τ er tidskonstanten. Udfra målejournal A ndesτ til 0,198 sekund. DC-forstærkningen ndes til 305,4 udfra hældningen på graf A.2 påside 109. Denne DC-forstærkning beskriver omsætning fra volt til RPM på hjulet. Der ønskesen hastighed af bilen, og derfor omregnes hjulenes omdrejningshastighed i RPM til bilenshastighed i m/s. Dette gøres her hvor K er forholdet mellem RPM og m/s. Dette forholdberegnes her:

K =dhjul · π

60[-] (5.3)

K = 4,2673E− 3 [-] (5.4)

Dermed fåes overføringsfunktionen for bilens hastighed til:

Gh(s) =1,303

0,198 · s + 1[-] (5.5)

H-broen regulerer spændingen fra 0 V til 6,9 V ved at øge pulsbredde på PWM-signalet fra1,5 ms til 2,1 ms, indenfor periodetiden på 0,0194 sekund. Der implementeres i softwaren enfunktion, hvor PWM kan reguleres op fra 0 til 100 %, hvor 0 % er stilstand og 100 % er vedmax hastighed, dvs. med spændingen 6,9 V. Dermed kan overføringsfunktionen for H-Broenbetragtes som en konstant, der er:

H-Bro =6,9

100[-] (5.6)

Der er nu opstillet overføringsfunktioner for alle blokke i reguleringssløjfen, og regulatorenkan nu bestemmes.

50

Page 61: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Åben- og lukketsøjfeforstærkning

Der skal til dimensionering af afstandsregulatoren, samt bestemmelse af systemtype, opstil-les udtryk for åben- og lukketsløjfeforstærkning. Først ndes åbensløjfeforstærkningen ogderefter opstilles lukketsløjfeforstærkningen. Åbensløjfeforstærkningen er givet ved:

La(s) = Da(s) · e−s·0.0194 · H-Bro ·Gh(s) ·Ga(s) · Ha(s) [-] (5.7)

Dette giver med værdier indsat:

La(s) = Da(s) ·0,08985 · e−s·0,0194

0,198s2 + s[-] (5.8)

Det ses udfra nævneren i udtrykket for åbensløjfeforstærkningen, at systemet er af type 1,da det har en pol i s = 0. Idet reguleringssløjfens input er en fast værdi, i form af en afstand,er der ikke nogen steady-state fejl.

Der opstilles her udtryk for lukketsløjfeforstærkningen:

Ta(s) =Ya(s)

Ra(s)=

La(s)

1 + La(s)[-] (5.9)

Ta(s) =

Da(s) ·0,08985 · e−s·0,0194

0,198s2 + s

1 + Da(s) ·0,08985 · e−s·0,0194

0,198s2 + s

[-] (5.10)

Ta(s) =Da(s) · 0,08985 · e−s·0,0194

(0,198s2 + s) + Da(s) · (0,08985 · e−s·0,0194)[-] (5.11)

51

Page 62: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Dimensionering af regulator

Der skal nu dimensioneres en regulator, som gør systemet stabilt. Dette gøres ved at betragtesystemet analogt og tilpasse regulatoren, så der opnåes en fasemargen på 45°, idet systemetdermed betragtes som stabilt. Dette gøres ved at aæse forstærkningen ved -135° og der-udfra bestemme regulatorværdien[Gene F. Franklin, J. David Powell, Abbas Emami-Naeini,2010,Chapter 6]. Der opstilles her bodeplot for åbensløjfeforstærkningen, uden regulator,hvor fasen og forstærkningen plottes som funktion af frekvensen.

Bodediagram − Åbensløjfe

Frequency (Hz)

−50

−40

−30

−20

−10

0

Frequency (Hz): 0.677Magnitude (dB): −35.8

Mag

nitu

de(d

B)

10−1

100

−180

−150

−120

−90

Frequency (Hz): 0.677Phase (deg): −135

Pha

se(d

eg)

Figur 5.2. Bodeplot for åbensløjfe forstærkningen uden regulator.

Der aæses en forstærkning på -35,8 dB ved -135°. Dette svarer til en forstærkning på 0,0162gange. Dermed bliver regulatorværdien for afstandregulatoren:

Da(s) =1

0,0162= 61,82 [-] (5.12)

52

Page 63: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der opnåes med denne regulator en fasemargen på 45°, som vist her hvor åbensjøjfeforstærk-ningen, med regulatoren, er plottet:

−30

−20

−10

0

10

20

30

40

50

Mag

nitude

(dB)

10−2

10−1

100

−180

−135

−90

−45

0

45

90

135

180

Pha

se(deg

)

BodediagramGm = 19.5 dB (at 2.53 Hz) , Pm = 45.2 deg (at 0.676 Hz)

Frequency (Hz)

Figur 5.3. Bodeplot for åbensløjfe forstærkningen med regulator.

53

Page 64: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der kan nu med den fundne regulator opstilles bodeplot for lukketsløjfeforstærkningen, somer givet ved udtryk 5.11 på side 51. Denne plottes her:

10−1

100

101

−180

−135

−90

−45

0

45

90

135

180

Pha

se(d

eg)

Bodediagram − Lukketsløjfe

Frequency (Hz)

−40

−30

−20

−10

0

Frequency (Hz): 1.13Magnitude (dB): −3

Mag

nitu

de(d

B)

Figur 5.4. Bodeplot for lukketsløjfe forstærkningen med regulator.

Ud fra overstående plot bestemmes en minimums samplingshastighed for den digitale modelaf systemt. Der aæses på gur 5.4 en båndbredde på 1,13 Hz ved -3dB. Dette giver anledningtil at der skal samples med mindst 22,8 Hz, idet der som tommelngerregel skal samples 20gange hurtigere i båndbredden.[Gene F. Franklin, J. David Powell, Abbas Emami-Naeini,2010,s. 578]. Dette giver ikke anledning til problemer, da der samples med 100 Hz.

Stabilitet

Den analoge model for reguleringen af afstanden digitaliseres nu, for efterfølgende at kunnebetragte oversving, indsvingningstid og stabilitet. Dette gøres ved at digitalisere den analogemodel for lukketsløjfeforstærkningen ved brug af Zero Order Hold (ZOH) i MATLAB. Deranvendes ved Z-transformering samplingsfrekvensen 100 Hz, idet target udsender pejlingssig-naler og synkroniseringssignal 100 gange i sekundet.

54

Page 65: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der Z-transformeres først åbenløjfeforstærkningen uden delay, hvorefter Z-transformen afdelayet ganges på. Dermed fåes Z-transformen af åbensjøjfeforstærkningen. Der opstilles udfra denne en lukkesløjfeforstærkning, som vha. funktionen d2d i MATLAB konverteres til etsystem med frekvensen for PWM-signalet. Der plottes, ud fra den fundne digitale model aflukketsløjfeforstærkningen, et step respons:

Figur 5.5. Step respons for den digitale lukketsløjfeforstærkning.

Der er aæst på graf 5.5 at der er et oversving på 25% og en insvingsningstid på 2,5 sekunder.Oversvinget betyder i værste fald, at bilen kan afvige ± 12,5 cm fra den ønskede afstand.Dette vurderes som værende acceptabelt, idet det ikke fører til sammenstød, og kun gældernår der accelereres op fra stilstand. Indsvingsningstiden på 2,5 sekunder er forholdsvis lang.Denne kan forbedres med en højere samplingsfrekvens, men vil altid være begrænset af op-dateringsfrekvensen for PWM signalet. Det betyder, at der skal implementeres en ny H-bro,hvis indsvingningstiden skal forbedres.

55

Page 66: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der plottes nu polers og nulpunkters placering:

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Pole−Zero Map

Real Axis

ImaginaryAxis

Figur 5.6. Pol- og nulpunktsplot for den digitale lukketsløjfeforstærkning.

Det ses at alle poler og nulpunkter ligger indenfor enhedscirkelen, og derfor betragtes systemetsom værende stabilt.

56

Page 67: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

5.2 Vinkelregulator

Vinkelregulatoren skal sørge for at stalker holder kursen mod target. Den skal designes såle-

des, at den er tilstrækelig til at opfylde kravene stillet i kravsspecikationen. Det vil sige at

den skal kunne holde kursen ved min. 5 km/t. Der vil i det følgende blive designet en propor-

tionalregulator, til kørsel ved 5 km/t. Der anvendes samme fremgangsmetode som ved design

af afstandsregulatoren, dvs. der først forsøges designet en P-regulator.

Åben- og lukketsløjfeforstærkning

For at bestemme regulatoren, Dv(s), opstilles åbensløjfeforstærkning for systemet. Sløjfenkan ses på gur 5.7

+

−Ønsket vinkel

Dv(s)

Vinkelregulator

e−s·0.0194

Tidsdelay

Servo

Servomotor

Gv(s)

Hv(s)

vinkelsensor

CT CT CT CT Vinkel[°] −

CT

Vinkel[°]

Target ændre vinkel

+ Yv(s)

Vinkel[°]

Figur 5.7. Diagram over reguleringssløjfen, for retningsregulering af stalker.

Åbensløjfeforstærkningen bliver derved:

Lv(s) = Dv(s) · Tidsdelay · Servo ·Gv(s) · Hv(s) [-] (5.13)

Hvor:

Dv(s) er regulatoren [-]

Tidsdelay er forsinkelsen i styringen [-]

Servo er omregningsfaktoren fra PWM til hjulvinkel [-]

Gv(s) er forholdet mellem hjulvinkel og vinkel til target [-]

Hv(s) er sensoren [-]

Tidsdelayet er givet ud fra servo'ens periodetid på 0,0194 sekund.

57

Page 68: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Servoen regulerer vinklen fra 70° til 110° ved at pulsbredden øges på PWM-signalet fra 1,1ms til 2,2 ms. De 90° betragtes som neutral, dvs. bilen kører ligeud. Derfor anvendes det, atbilen kan dreje hjulene fra venstre til højre i vinklen fra -20° til +20°. Der implementeres isoftwaren en funktion hvor PWM kan reguleres op fra 0% til ±100%, hvor 0% er neutral og±100% er ±20°. Dermed kan overføringsfunktionen for servoen betragtes som en konstant.Denne er omregningsfaktoren for PWM til hjulvinkel og er givet ved:

Servo =20

100[-] (5.14)

Gv(s) som er overføringsfunktionen for hjulvinkel til vinkel mellem stalker og target, er givetved formel 3.45 på side 32 som:

Gv(s) = v ·(

1

l+

1

L

)· 1

s[-] (5.15)

Hvor:

v er hastigheden [m/s]

l er afstanden mellem bilerne [m]

L er akselafstanden på stalker [m]

Med en sensor Hv(s) = 1, en reference afstand på 0,5 meter, og en hastighed på 5 km/t bliveråbensløjfeforstærkningen uden regulator:

Lv(s) = e−s·0.0194 · 20

100· 1,39 ·

(1

0,5+

1

0.26

)· 1

s· 1 [-] (5.16)

58

Page 69: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Dimmensionering af regulator

Der designes ud fra en ønsket fasemargin på 45°. Formel 5.16 plottes som et bodeplot, vistpå gur 5.8, og frekvensen aæses ved et fasedrej på 135° til 6,4 Hz.

−50

−40

−30

−20

−10

0

10

20

30

Frequency (Hz): 6.4Magnitude (dB): −27.9

Magnitude

(dB)

10−1

100

101

−180

−135

−90

−450

45

90

135

180

Frequency (Hz): 6.4Phase (deg): −135

Phase

(deg)

Frequency(Hz)

Bodediagram - Åbensløjfe uden regulator

Figur 5.8. Bodeplot for åbensløjfeforstærkningen.

Forstærkningen ved 6,4 Hz aæses til -27,9 dB, hvilket vil sige at regulatoren skal give enforstærkning på:

Dv(s) = 1027,9/20 = 24,8 [-] (5.17)

Med regulatoren bestemt, ses der på lukketsløjfebåndbredden, for at se om kravet for sam-plingsfrekvens kan overholdes, i forhold til at systemet skal være stabilt. Lukketsløjfen medregulatoren bliver:

Tv(s) =e−s·0.0194 · 1,63 · 1

s

1 + e−s·0.0194 · 1,63 · 1s

[-] (5.18)

59

Page 70: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Båndbredden aæses på gur 5.9 til 15 Hz ved -3 dB forstærkning. Dette vil sige at der somminimum skal samples med 300 Hz.

100

101

−180

−135

−90

−45

0

45

90

135

180

Pha

se(d

eg)

Bodediagram − Lukketsløjfe

Frequency (Hz)

−4

−2

0

2

4

Frequency (Hz): 15.1Magnitude (dB): −3

Mag

nitu

de(d

B)

Figur 5.9. Båndbrede for lukketsløjfeforstærkningen, med en regulator på 24,8.

Dette er tre gange frekvensen der samples med, som er 100 Hz, idet dette er frekvensenaf pejling- og synkronierinssignalet fra target. Dette kan derfor ikke overholdes med denneregulatorværdi. Dette løses ved at sænke regulatorens forstærkning. Det viste sig, at meden Dv(s) forstærkning på 11, bliver lukketsløjfebåndbredden sænket til 4,85 Hz, plottet pågur 5.10 på næste side.

60

Page 71: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

10−1

100

101

−180

−135

−90

−45

0

Pha

se(d

eg)

Bodediagram - Lukketsløjfe med mindre regulator

Frequency (Hz)

−8

−6

−4

−2

0

Frequency (Hz): 4.79Magnitude (dB): −3

Mag

nitu

de(d

B)

Figur 5.10. Båndbredde for lukketsløjfeforstærkningen med en regulator på 11.

Med regulatorværdien 11, opfyldes reglen om en samplingsfrekvens på 20 gange lukketsløj-febåndbredde.

61

Page 72: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Stabilitet

Det kontrolleres nu om systemet vil være stabilt i den digitale udgave, når denne implemen-teres på en mikrocontroller.

Udtrykket for lukketsløjfen, Tv(s), z-transformeres ved brug af Zero Order Hold (ZOH) iMATLAB, i første omgang som et 100 Hz system, for at få præcisionen af samplingsfrekvensenmed. Efterfølgende konverteres systemet til et 51,5 Hz system, for at kunne se eekten afPWM forsinkelsen på step-responset. Dette giver anledning til følgende overføringsfunktionfor lukketsløjfen:

Tv(z) =0,3468 · z − 0,03

z3 + z2 + 0.3468 · z + 0,03[-] (5.19)

Step responset for overstående udtryk bliver:

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40

0.2

0.4

0.6

0.8

1

Step Response

Time (sec)

Amplitude

Figur 5.11. Step respons for formel 5.19. Den blå linje viser steppet for den analog overførings-

funktion, og den røde viser den tilsvarende digitale udgave.

Det ses af gur 5.11, at der intet oversving er og en indsvingningstid på 0,15 sekund. Dettebetragtes som tilstrækkeligt, idet hjulenes vinkel dermed hurtigt vil blive sat, pga. indsving-ningstiden, og justere direkte ind, idet der ikke er oversving.

62

Page 73: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

For at sikre stabilitet ses der på pol- og nulpunktsplot:

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Pole−Zero Map

Real Axis

ImaginaryAxis

Figur 5.12. Pol- og nulpunktsplot. Alle poler og nulpunkter ligger indenfor enhedscirklen.

Det ses at alle poler og nulpunkter ligger inden for enhedscirklen, hvorved at systemet kanbetraktes som værende stabilt.

Der en nu opstillet regulatorer til afstands- og vinkelregulering. I det kommende afsnit udvikles

der software til stalker, hvori regulatorerne implementeres. Derefter testes disse i praksis.

63

Page 74: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 6

Software

Der er nu valgt en metode til lokalisering af target, samt opstillet modeller og regulatorer forstalker. Der er også blevet implementeret hardware til realtidsstyring af stalkers retning oghastighed, ud fra afstand og vinkel mellem den og target.

Dette afsnit beskriver softwaren, der udvikles til stalkers mikrocontroller. Der beskrives førstopbygningen af softwaren, hvor softwaren deles op i moduler. Dernæst vælges type af styre-system, hvorefter de nødvendige funktioner til modulerne udvikles. Til sidst implementeresdet valgte styresystem.

Der vil i dette kapitel forekomme pseudokode. Den færdige kode til både stalker og targetkan ndes på cden, med tilhørende HTML-dokumentation software/doxygenoutput/htm-

l/index.html .

64

Page 75: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.1 Softwarestruktur

I dette afsnit opdeles systemets software i moduler for at give et overblik over de funktioner,

som det kommende styresystem skal håndtere. Disse moduler vil efterfølgende hver for sig

blive uddybet med pseudokode og eventuelt owcharts.

Der foretages en opdeling af systemet i de re moduler: Afstands- og vinkelberegning, regu-lering, kommunikation og brugerade til PC, som illustreret på gur 6.1.

Styresystem

Regulering Kommuni-kation

Afstands-og vinkel-beregning

Brugerade

Figur 6.1. Blokdiagram over de re softwaremoduler som håndteres af styresystmet.

Herefter beskrives de forskellige modulers funktionaliteter.

65

Page 76: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Afstands- og vinkelberegning

Modulet afstands- og vinkelberegning, har den funktion at omdanne sensorernes inputs til enafstand og en vinkel mellem de to biler. Dette skal gøres udfra de to tider, hvortil ultralydsmodtagerne modtager signal fra target og derved giver interrupts til systemet. Der skal udfra tidsforskellen mellem disse to signaler foretages en beregning, der giver et resultat i formaf vinkel og afstand mellem de to biler. Denne vinkel og afstand skal reguleringsmoduletanvende til styring af stalkers hastighed og retning, alt efter hvad target foretager sig.

Selve sensor-systemet består af følgende tre sensorer:

Ultralyds-modtager højre Ultralyds-modtager venstre Radio-modtager

Hvor alle sensorerne giver interrupts til systemet, og i samspil giver to tider. Der er derfor tildette modul en funktion som håndterer interrupts fra de tre sensorer. Denne fungerer ved atradio-modtageren giver et interrupt som starter en timer, hvorefter de to ultralyds-modtageregenererer hvert deres interrupt, og ved brug af denne timer aæses de to tider. Disse to tideromregnes til afstand og vinkel mellem bilerne.

Regulering

Regulatormodulet står for regulering af stalkers hastighed og retning. Dette gøres ved atjustere PWM styresignalet til hhv. DC-motor og servomotor. Der ndes derfor disse to regu-leringer:

Afstandsregulering Retningsregulering

Der er til dette modul derfor to funktioner, der håndterer hver sin regulering. Afstandsregule-ringen har til opgave at specicere den hastighed, der er nødvendig for at stalkeren kan opnåden ønskede afstand til target. Denne hastighed, repræsenteret vha. PWM, bliver reguleretudfra den i afstands- og vinkelberegnings modulet beregnede afstand mellem bilerne.

Retningsreguleringen, har til opgave at ændre forhjulenes vinkel, således at bilen følger eftertarget. Dette gøres udfra den af afstands- og vinkelberegnings modulet beregnede vinkelmellem blierne, som omsættes til et PWM signal, der giver anledning til en vinkel på stalkershjul.

66

Page 77: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Der er på gur 6.2 opstillet et blokdiagram for hvordan afstand- og vinkelberegning

hænger sammen med regulatorerne.

UltralydHøjre

UltralydVenstre

Radio-modtager

Interrupt-rutiner

Afstands-og vinkel-beregning

Afstands-regulator

Vinkel-regulator

H-Bro

Servo

tid venstre

tid højre

Figur 6.2. Blokdiagram over hvordan afstand- og vinkelberegning hænger sammen med regulato-

rerne.

Der gennemgåes nu, hvordan den trådløse kommunikation mellem stalker og PC med bru-gerade, fungerer.

Kommunikation

Kommunikationsmodulet håndterer kommunikation til og fra stalker vha. en WiFi forbindel-se. Denne WiFi forbindelse udgøres af et WiFi-modul, som vha. UART sender og modtagerdata mellem stalker og PC. Den trådløse kommunikation består af følgende dele:

Kommunikations protokol Send/Modtag WiFi opsætning

Der skal implementeres en Wi opsætning på stalker, således at trådløs kommunikation medPC og tilhørende brugerade er mulig. Denne implementers og der deneres en kommuni-kationsprotokol. Denne protokol anvendes til tolkning af kommandoer og data der sendesmellem stalker og PC.

67

Page 78: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kommunikationsmodulet giver derfor anledning til funktioner på stalker, som skal håndterehenholdsvis transmittering og modtagelse af kommandoer og data til og fra stalker. Der skalsendes data til WiFi-modulet fra stalker, og modtages data fra WiFi-modulet. Der tolkespå modtaget data fra WiFi-modulet vha. kommunikationsprotokollen, hvorved kommandoerheri identiceres. Derefter udføres kommandoerne, og der gives besked til brugeren om atdette er gjort, samt eventuelle foresprugte værdier sendes.

De kommandoer som stalkeren skal være i stand til at reagere på, er følgende:

Start Stop Hent Sæt

Som henholdsvis starter stalker, stopper stalker, henter en variabel og sætter en variabel.Kommunikationen på stalkerens er illusteret på gur 6.3.

UART/modtag

Interrupt-rutine

Kommunika-tionsprotokol

Hentvariabel

Sæt variabel

Fejl

Start

Stop

UART/send

Figur 6.3. Blokdiagram over hvordan kommunikationen er opbygget. Der kommer en kommando

vha. UART forbindelsen, denne identiceres vha. kommunikationsprotokollen, hvoref-

ter kommandoen udføres og der sendes en bekræftelse og evt. data tilbage til brugeren

vha. UART forbindelsen.

Kommunikationsprotokollen implementeres ligeledes på en PC, ved anvendelse af en bruger-ade som beskrives i næste modul.

68

Page 79: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Brugerade

Brugeraden skal køre på en PC. Softwaren til denne har til opgave at kommunikere medsystemet via WiFi forbindelsen, hvor der kan sendes kommandoer til systemet på bilen, somenten kan være ændringer af indstillinger eller forespørgsel på data.

Der er på gur 6.4 opstillet blokdiagram for trådløs kommunikation mellem stalker og PCmed brugerade.

Mikro-controller

UART

WiFiPC/bruger-

ade

Figur 6.4. Flowchart over kommunikation mellem stalkers mikrocontroller og PC med brugerade.

Der er nu forklaret hvilke funktioner, der skal håndteres af styresystemet. Der er overordnet

set re moduler: Afstands- og vinkelberegning, regulering, kommunikation og brugerade. Der

vælges i det kommende afsnit hvilken type styresystem der skal håndtere afviklingen af de

funktioner som modulerne kræver.

69

Page 80: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.2 Valg af styresystem

Styresystem til håndtering af systemets funktioner kan f.eks. implementeres sekventielt, vedbrug af interrupts eller ved kerne-styring. Disse tre metoder beskrives her, hvorefter en vælges.

Sekventielt

Sekventiel styring er en metode, som mikroprocessoren kan bruge, til at styre afviklingen afsoftware. Der kommunikeres med perifære enheder og modtages inputs ved brug af polling.Mikroprocessoren skal ved polling selv kontrollere om der er kommet ny data fra enheder,som er tilsluttet. Dette betyder, at mikroprocessoren konstant skal kontrollere for nye inputs,og denne kan derfor ikke eektivt foretage andre operationer, mens den venter på input.

Fordelen er, at der på denne måde ikke sker uforudsete spring i programmet, som derfor gørdet lettere at overskue. Dette betyder også, at det er vanskeligt at ændre i programmet, daeksekveringsrækkefølgen altid er den samme, og derfor ikke kan ændres dynamisk. Der spildesogså processorkræfter på at se efter data som ikke nødvendigvis er klar.

Interrupts

Interrupt-styrede systemer fungerer ved at de perifere enheder selv kontakter mikrocontrolle-ren, når de er klar med nye input. Interrupt-styrede systemer fungerer ved at når et interruptmodtages kan der ske tre ting. Enten afbrydes den igangværende funktion og det nye in-put behandles, det nye input sættes i kø og behandles, når den igangværende funktion ereksekveret færdig eller interruptet ignoreres.

Fordelen ved interrupts er, at vigtige funktioner kan blive eksekveret før andre, hvis det øn-skes. Dette kan gøres ved anvendelse af forskellige interruptniveauer. Det har også den fordel,at når mikrocontrolleren ikke modtager input, kan denne koncentrere sig om de funktioner,der ikke skal bruge input eller ændringer udefra. Derfor er funktionerne ikke fastlåst til atblive eksekveret i en fast rækkefølge. Ulempen er derimod, at når der kommer et interrupt,er mikrocontrolleren nødt til at udføre alle de opgaver, som interruptet kræver, før der kanarbejdes videre med den igangværende funktion.

70

Page 81: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kerne

Kerne-styrede systemer virker ved, at de funktioner der skal køres på systemet, sættes i enkø, og eksekveres i en rækkefølge bestemt af en scheduler. Dette betyder, at der dynamiskkan ændres på rækkefølgen, som de forskellige funktioner vil blive eksekveret i. Samtidigt kanfunktioner, der aktiveres af interrupts, også sættes i køen, således at det altid er den mestkritiske funktion der eksekveres først.

Valg

Der er i projektet valgt at bruge en kerne til at styre softwaren. Dette er valgt, idet det er etkrav at projektet skal indeholde multiprogrammering og et system kørende i realtid. Detteudføres ved brug af en kerne. Desuden vil det være muligt at ændre på eksekveringsrække-følgen af koden.

Der vil blive implementere et system, hvor kernen bruges til at holde styr på hvilke funktionerder må køre på forskellige tidspunkter. Dette gøres ved at sortere funktionerne, og starte dem iden rigtige rækkefølge. Der vil også blive anvendt interrupts, som skal komme fra den trådløsekommunikation og sensorer, når disse har input til systemet. Der anvendes interrupts tilsensor-systemet, som interrupter ved nye målinger, og dele af kommunikationen, som startesnår systemet modtager data igennem netværket.

Styresytemet er nu valgt til værende en kerne. Der opstilles i kommende afsnit pseudokode

for de enkelte modulers funktioner. Herefter vil der, på baggrund af de pågældende funktioner,

blive taget stilling til hvilken type kerne og scheduling metode, der vil blive benyttet.

6.3 Afstands- og vinkelberegning

Afstands- og vinkelberegningen består af to ultralydsmodtagere og en radio-modtager, som be-

skrevet i afsnit 4.1. Der vil i dette afsnit først blive beskrevet hvilken matematisk beregning der

anvendes til bestemmelse af afstand og vinkel mellem de to biler. Derefter opstilles pseudokode

for den funktion der skal håndtere denne beregning

Der anvendes i beregningerne at der navigeres ud fra et kartesisk koordinatsæt, hvor origo erplaceret i fronten af stalker mellem de to ultralydsmodtagere. Interruptsignalerne fra de tremodtagere, skal omsættes til en afstand og en vinkel, som er relativ i forhold til origo. Dettegøres på følgende måde.

71

Page 82: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Først omregnes de tre interrupts om til to afstande. Modtagelsen af interrupten fra AM-modtageren angiver tiden 0, hvor modtagelsen af ultralydssignalerne er relativ til tiden 0.Derfor kan afstanden fra hver ultralydsmodtager til senderen udregnes som:

L = t · vlyd [m] (6.1)

Hvor:

L er afstanden [m]

t er tidsforsinkelsen fra tiden 0 [s]

vlyd er udbredelseshastigheden for lyd [m/s]

Dette giver anledning til to afstande, som i det følgende er betegnet som Lv og Lh for hen-holdsvis venstre og højre ultralydssensor. Disse to længder og afstanden mellem sensorerne,betegnet som Ls, udgør en trekant. Ud fra Herons formel kan arealet af trekanten udregnespå følgende måde:

At =1

4·√

(Lv + Lh − Ls) · (Lv − Lh + Ls) · (−Lv + Lh + Ls) · (Lv + Lh + Ls)[m2](6.2)

Hvor:

At er arealet[m2]

Lv er afstanden fra venstre sensor til target [m]

Lh er afstanden fra højre sensor til target [m]

Ls er afstanden mellem de to sensorer [m]

72

Page 83: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

(x,y)

Centrum

Ls

Lv Lh højde = y

Sensor HSensor V

Figur 6.5. Trekanten mellem de to modtagere og target er givet ved grøn, mens trapezen er givet

ved det grønne og røde areal.

Ud fra denne trekant kan positionen af senderen angives som et (x,y) koordinatsæt. Y-koordinaten kan udregnes ud fra det dobbelte areal, så der derved fåes en trapez, hvory-koordinaten tilsvarer højden af trapezen. Y-koordinaten ndes ved:

y =2 · At

Ls[m] (6.3)

Hvor:

y er y-koordinaten [m]

(x,y)

Centrum

Lx

Lv y

Sensor HSensor V

Figur 6.6. Lx kan beregnes ud fra y og den ene sensorafstand.

Der kan nu dannes en retvinklet trekant ud fra y og en af de kendte sensorafstande, hvor sen-sorafstanden vil udgøre hypotenusen i trekanten. Længden af den ukendte katete i trekanten,angivet Lx kan ndes ud fra pythagoras sætning om retvinklede trekanter, hvilket giver:

Lx =

√L2v + y2 [m] (6.4)

Hvor:

Lx er længden af den ukendte katete [m]

73

Page 84: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

(x,y)

Centrum x

yLt

Sensor HSensor V

Figur 6.7. Ud fra x og y-koordinaten kan denne trekant dannes, hvorfra afstand og vinkel kan

beregnes.

Der tages højde for at origo ligger mellem sensorene og x-koordinaten er da givet ved:

x = Lx −Ls2

[m] (6.5)

Hvor:

x er x-koordinaten [m]

X og y-koordinaten giver en vektor, som giver afstanden samt vinklen i forhold til origo, ogderved afstanden mellem target og centrum af stalker. Længden er givet ved:

Lt =√x2 + y2 [m] (6.6)

Hvor:

Lt er afstanden til target [m]

Vinklen kan ndes ved:

Vt = arcsin

(y

Lt

)− 90 [°] (6.7)

Hvor:

Vt er vinklen til target, fra -90 til 90 grader [°]

74

Page 85: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Ud fra de opstillede ligninger fremstilles følgende pseudokode for afstands- og vinkelbereg-ningen ud fra sensortider.

Beregn afstand for venstresensor

Beregn afstand for højresensor

Beregn x og y-koordinat

Hvis venstre sensorafstand mindre end højre

x = x * -1

Beregn afstand

Beregn vinkel

Sæt afstandsregulator i kø

Sæt vinkelregulator i kø

Beregningerne udføres som kommatalsberegninger ud fra formlerne i dette afsnit. Tidernefra de to sensorer ligger globalt, ligesom denne funktion sætter afstand og vinkel som globalevariabler. Vinklen udregnes i grader, og afstanden i cm, begge som heltal.

Efter beregningen af vinkel og afstand mellem bilerne sættes henholdsvis funktionen tilafstands- og vinkelregulatoring i kø til at blive kørt, så snart som muligt. Disse 2 regula-torer beskrives i kommende afsnit.

6.4 Regulering

I afsnit 5.1 og 5.2 blev der dimensioneret regulatorer til afstands- og vinkelregulering af stalker.

I dette afsnit vil det blive beskrevet hvordan de to funktioner, som håndterer dette, implemen-

teres.

Efter en endt afstands- og vinkelberegning, sættes begge regulatorer i kø til at blive kørtumiddelbart efter beregningsfunktionen, som blev beskrevet i foregående afsnit.

Begge regulatorer er opbygget som proportionalregulatorer, hvilket betyder at reguleringenudgøres af at gange en faktor på fejlen mellem det ønskede, og det målte.

75

Page 86: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.4.1 Afstandsregulator

Her beskrives det, hvordan afstandsregulatoren er implementeret på stalker.

Afstandsregulatoren bliver sat i kø efter endt beregning af afstand og vinkel, og afstanden,som der skal reguleres på, ligger som global variabel. Den målte afstand trækkes fra reference-afstanden der er bestemt for systemet, og regulatorfaktoren ganges på.

Stalker regner i cm, for øget præcision, og regulatorerne er beregnet ud fra meter. Derfordeles der med 100 efter reguleringen.

Regulatoren er beregnet ud fra at der sættes en faktor mellem -100% og 100% af den tilgæn-gelige hastighed på motoren, efter reguleringen.

Efter denne beregning begrænses systemet til at arbejde imellem -100% og 100%, da regu-latoren ellers ikke ser en begrænset acceleration og hastighed. Alle tal under -100, bliver sattil -100, og alle tal over 100 bliver sat til 100.

Dette ganges med en faktor, der er udryk for det arbejdsområde PWM systemet i mikrocon-trolleren har at abejde indenfor, og til sidst lægges der et oset på, som er den duty-cycle,hvor stalker står stille.

Regulatoren implementeres på følgende måde:

midlertidig_beregning = (reference_afstand - afstand_målt) * afstandsregulatoren

midlertidig_beregning = midlertidig_beregning / 100

Hvis midlertidig_beregning er mindre end -100:

midlertidig_beregning = -100

Hvis midlertidig_beregning er større end 100:

midlertidig_beregning = 100

midlertidig_beregning = NULPUNKT + (midlertidig_beregning * PWM_hastigheds_faktor)

hastighedPWM = midlertidig_beregning

Variablen midlertidig_beregning er introduceret for at kunne lave mellemregninger tilbegrænsningen mellem -100 og 100 på reguleringen. uden denne begrænsning vil det væremuligt at skrive den nye duty-cycle direkte i hastighedPWM, som er det benyttede PWMregister på mikrocontrolleren.

76

Page 87: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.4.2 Retningsregulator

Her beskrives det hvordan retningsregulatoren er implementeret på stalker.

Retningsregulatoren bliver sat i kø efter endt beregning af afstand og vinkel, og retningen,som der skal reguleres på, ligger som global variabel. Den målte vinkel til target trækkes frareference-vinklen der er bestemt for systemet, og regulatorfaktoren ganges på.

Regulatoren er ligesom den for afstand beregnet ud fra, at der sættes en faktor melem -100%og 100% af den tilgængelige vinkel på hjulene, efter reguleringen.

Retningsregulatoren er implementeret på følgende måde:

midlertidig_beregning = (reference_vinkel - vinkel_målt) * retningsregulatoren

Hvis midlertidig_beregning er mindre end -100:

midlertidig_beregning = -100

Hvis midlertidig_beregning er større end 100:

midlertidig_beregning = 100

midlertidig_beregning = NULPUNKT + (midlertidig_beregning * PWM_retning_faktor)

retningPWM = midlertidig_beregning

Det gælder på samme måde som ved afstandsregulatoren, at midlertidig_beregning erindført for at kunne lave mellemregninger, uden at ændre den oprindelige systemvariabel.

77

Page 88: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.5 Kommunikation

Den trådløse kommunikation mellem stalker og pc med brugerade, foregår over en WiFi

forbindelse, hvor håndteringen af netværkspakkerne bliver varetaget af WiFi modulet. Der vil

i dette afsnit blive beskrevet hvilke funktioner der er tilgængelig fra PC og stalkeren samt den

tilhørende kommunikationsprotokol. Der vil også blive beskrevet opsætning af WiFi modulet.

De funktioner, der er tilgængelige til kommunikation mellem stalker og PC vil her blive listetog efterfølgende beskrevet. Der listes først de funktioner, der er tilgængelige fra stalkerensside af. Funktionerne er her vist grask.

Stalker

kommando send

Figur 6.8. Flowchart over stalkerens funktioner.

Den handling, som funktionerne udfører, er beskrevet her:

Funktion Handling

kommando Stalker modtager kommando fra PC og udfører dennesend Stalker sender status besked eller forespurgt værdi til PC

Stalkeren skal altså have nogle funktioner, der styres af kommandoer fra PCen. Disse kom-mandoer skal udføre en handling og give svar vha. funktionen send. De funktioner der ertilgængelige fra PCen er her vist grask.

start stop fetch set Modtag

PC

Figur 6.9. Flowchart over funktioner tilgængelig fra PC.

78

Page 89: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Den handling funktionerne udfører er her beskrevet:

Funktion Handling

start PCen fortæller stalker, at den skal begynde forfølgelsen af targetstop PCen fortæller stalkeren, at den skal stoppe alt kørselfetch PCen forespørger en given værdi fra stalkerens softwareset PCen sætter eller ændrer en værdi i stalkerens softwaremodtag PCen modtager tekstbesked fra stalkeren

i form af statusbeskeder eller forespurgte værdier

Der er nu dannet et overblik over strukturen af den trådløse kommunikation og de forskelligefunktioners handling. De forskellige funktioner fungerer ud fra kommunikationsprotokollensom nu beskrives.

6.5.1 Kommunikationsprotokol

Kommunikationsprotokollen denerer, hvordan kommunikation mellem stalker og PC skal

håndteres. Den denerer, hvilke kommandoer der kan gives, hvordan de angives samt hvil-

ke parametre der medtages. Yderligere denerer protokollen også håndtering af kommunika-

tionsfejl, f.eks. kommandoer angivet i forkert syntaks. De overordnede regler for protokollen

vil blive præsenteret, efterfulgt af eksempler på syntaksen.

For at stalkeren skal kunne identicere kommandoen, skal kommandoens parametre kommei en bestem rækkefølge, således bliver syntaksen som følgende:

Beskeden skal starte med en bestemt start byte. Beskedens første ord er kommandoen. Beskedens andet ord er variabelen. Beskedens trede ord er værdien. Beskeden skal slutte med en bestemt slut byte.

Følgende er et eksempel på syntaksen for at ændre værdien af en variabel i systemet, samthvordan denne vil se ud for at ændre den ønskede afstand mellem stalker og target. Dettegøres med kommandoen set efterfulgt af variabelen der skal ændres, samt den nye værdiaf variablen. Det antages her at afstanden er oplyst i centimeter, hvorved kommandoen vilændre den ønskede afstand til 50 cm mellem bilerne.

kommando variabel værdi → set afstand 50

79

Page 90: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Alt kommunikation via protokollen mellem PC og systemet er underlagt følgende:

Alt kommunikation startes med STX (ASCII karakter 0x02) Alt kommunikation afsluttes med ETX (ASCII karakter 0x03)

Hertil kommer yderlige denitioner som er specikke for de enkelte elementer.

For kommandoen gælder:

Der benyttes kun små karakterer Kan maximalt være 10 karakterer lang Adskilles med mellemrum

For en fetch kommando gives ingen værdi. Der afsluttes istedet efter variablens navn.

For variabel navne gælder det samme som kommandoer med følgende undtagelser:

Kan yderlige indeholde _ (bundstreg) Kan maximalt være 30 karakterer lang

For værdier gælder:

Kan kun angives som heltal Kan maximalt være 5 karakter lang

For en send kommando gælder det samme, som for de andre kommandoer. Denne adskildersig fra de andre kommandoer, ved at blive efterfulgt af en tekststreng. For denne tekststrenggælder følgende:

Kan maximalt indeholde 50 karakterer Kan indeholde variabel navn, værdier samt:

Store bogstaver Komma Punktum Tal Mellemrum

80

Page 91: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Her er et eksempel på en fetch kommando, som henter værdien af variablen kaldet speed.For brugeren af PCen vil den angives som:

fetch speed

PCen vil sørge for at tilføje STX og ETX, så hele kommandoen vil være følgende:

kommando STX f e t c h s p e e d ETX

ASCII (hex) 02 66 65 74 63 68 20 73 70 65 65 64 03

Stalkeren vil, hvis kommandoen modtages korrekt, returnere værdien af speed på følgendemåde:

data STX s p e e d 5 0 ETX

ASCII (hex) 02 73 70 65 65 64 20 35 30 03

Det gælder generelt at der ved modtagelse af en ukorrekt kommando vil blive sendt enfejlmeddelelse retur.

Der er nu opstillet en protokol, som skal implementeres på stalkers mikroprocessor og i bru-geraden. Stalkers håndtering af kommunikationen beskrives i afsnit 6.5.3 efter en beskrivelseaf den trådløse opsætning.

6.5.2 WiFi opsætning

I dette afsnit beskrives den trådløse opsætning af netkort, mikrocontroller og pc, så der kan

sendes kommandoer og svar mellem stalker og PC.

Stalker er koblet til et WiFi modul fra Roving Networks [Roving Networks, Inc, 2010], somstår for kommunikationen med en PC. Den er som standard sat op til at vise sig som enTCP server, hvor den benytter port 2000 til modtagelse af data. For at kunne komme ikontakt med den altid, er den blevet sat op til automatisk at forbinde sig til det trådløsenetværk ES-LAB som er et skjult trådløst netværk, der er tilgængelig overalt på den delaf universitetet som gruppen benytter. Ved at koble stalker op på dette netværk, kan denkontaktes på adressen stalker.lab.es.aau.dk fra PCer på universitetets netværk.

Når WiFi modulet er forbundet til et netværk virker den som broforbindelse mellem UARTpå mikrocontrolleren og 802.11g ethernet. Dette betyder at PC'en kan kommunikere v.h.a.TCP til WiFi modulet, som så sender kommunikationen videre via UART til microcontrol-leren og omvendt.

81

Page 92: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

PCen vil anvende kommunikationen over en standard TCP socket forbindelse, hvilket kanimplementeres på ere måder, alt efter hvilket operativsystem og eksekveringsmiljø der arbej-des i. Hvordan forbindelsen er implementeret bliver beskrevet i afsnit 6.6, hvor brugeradenbeskrives.

6.5.3 Send/Modtag

Den trådløse kommunikation på stalker skal anvendes til at modtage kommandoer fra PCen,

samt afsende status tilbage til PCen. Syntaksen for kommunikationsprotokollen er beskrevet

i afsnit 6.5 på side 78, og i dette afsnit beskrives funktionerne til implementering af denne

protokol på systemet.

Det er speciceret at start byteen er STX og stop byteen er ETX. En kommando består af optil tre ord, hvor det første ord er kommandotypen, det næste ord er den eventuelle variabel,mens det sidste ord er den eventuelle variabels værdi.

Når der sendes data til WiFi modulet, får systemet et interrupt på en receive port. Dettemedfører, at funktionen rxByte kaldes. Denne tjekker for om en kommando har den rigtigestart og stop byte, henter den ind i en buer, og derefter sætter en funktion i kø, som agererpå kommandoen. Dette er beskrevet i pseudokode:

Hvis det er "STX" og modtagerBesked's værdi er 0

sæt modtagerBesked's værdi til 1

Hvis det er "ETX" og modtagerBesked's værdi er 1

indsæt et \0 til sidst i bufferen

sæt Bufferposition til 0

kald funktionen "recive"

Hvis modtagerBesked's værdi er 1

sæt karakteren ind i bufferen

Hvor:bufferposition er en variabel, der indikerer den aktuelle plads i buerenmodtagBesked er en variabel, der indikerer om stalkeren behandler en kommandobuffer er en buer til midlertidig lagring af kommandoerSTX er start byteenETX er stop byteen

82

Page 93: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Når hele kommandoen er lagret i bueren, sættes funktionen recive i kø, hvor der kontrolleresfor hvilken kommando der er modtaget. Som det fremgår af afsnit 6.5.1 er kommandoen altiddet første ord i strengen. Systemet identicerer kommandoer ved at sammenligne modtagedekommandoer med predenerede strenge.

Send kommandoen tilbage til PCen

Hvis det første ord i bufferen er "start"

kald "start" funktionen

meld tilbage til brugeren at stalker er startet

sæt modtagerBesked's værdi til 0

Hvis det første ord i bufferen er "stop"

kald "stop" funktionen

meld tilbage til brugeren at stalker er stoppet

sæt modtagerBesked's værdi til 0

Hvis det første ord i bufferen er "fetch"

sæt bufferposition til 6

sæt getvar funktionen i kø

Hvis det første ord i bufferen er "set"

sæt bufferposition til 4

sæt getvar funktionen i kø

Ellers send en fejlbesked

Hvor:start identicer start kommandoenstop identicer stop kommandoenfetch identicer fetch kommandoenset identicer set kommandoen

83

Page 94: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Funktionen getvar er en fælles funktion for fetch og set kommandoen, som kontrollererhvilken variabel brugeren enten ønsker at hente eller sætte, og enten sender variablens værditilbage til PCen eller kalder en funktion, som ændrer variablens værdi.

Hvis det andet ord i bufferen er "ref_afstand" og den blev kaldt med "set"

kald funktionen "setvar"

Hvis det andet ord i bufferen er "ref_afstand" og den blev kaldt med "fetch"

send stalkerens reference afstand tilbage til PCen

sæt modtagerBesked's værdi til 0

Hvis det andet ord i bufferen er "ref_vinkel" og den blev kaldt med "set"

kald funktionen "setvar"

Hvis det andet ord i bufferen er "ref_vinkel" og den blev kaldt med "fetch"

send stalkerens reference vinkel tilbage til PCen

sæt modtagerBesked's værdi til 0

Hvis det andet ord i bufferen er "hastighed"

send stalkers hastighed til PCen

sæt modtagerBesked's værdi til 0

Hvis det andet ord i bufferen er "afstand"

send afstand til target til PCen

sæt modtagerBesked's værdi til 0

Hvis det andet ord i bufferen er "vinkel"

send stalkerens vinkel til PCen

sæt modtagerBesked's værdi til 0

Ellers send en fejlbesked

Hvor:ref_afstand er stalkerens afstands reference variabelref_vinkel er stalkerens vinkel reference variabelhastighed er stalkerens hastigheds variabelafstand er stalkerens afstands til target variabelvinkel er stalkerens vinkel variabel

84

Page 95: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Funktionen setvar overskriver den nuværende referenceværdi med brugerens input værdi.

Sæt det sidste af bufferen ind i variablen "nyReference"

Hvis "setvar" blev kaldt med ref_afstand

så ændres afstands referencen til værdien af nyReference

send den nye værdi til PCen

Hvis den blev kaldt med ref_vinkel

så ændres vinkel referencen til værdien af nyReference

send den nye værdi til PCen

Hvor:

nyReference er en variabel til at indeholde brugerens ønskede værdi

Der er nu opstillet psedokode for implementering af protokollen til kommunikation mellem

stalker og PC. Opsætningen af brugeraden på PC beskrives i følgende afsnit.

85

Page 96: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.6 Brugerade

Brugeraden skal fungere på PC og håndtere inputs fra en bruger, samt vise outputs fra

stalkeren.

Brugeraden designes ud fra følgende udgangspunkt:

Output fra stalker

OkKommando Variabel Input

Start Stop

Figur 6.10. Brugeraden indeholder seks inputs, Kommando, Variabel, Input, start, stop og Ok,

hvor den ønskede kommando til stalkeren kan blive speciceret. Yderligere er der et

outputvindue, hvor stalkerens output printes.

Brugeren giver kommandoer til stalkeren vha. to dropdown menuer, et input vindue, en okknap, en start knap og en stop knap. I den første dropdown menu, kan brugeren vælge mellemkommandoerne set og fetch. Disse kommandoer er speciferet i afsnit 6.5.

Den anden dropdown menu bruges til at vælge de forskellige variabler, der kan ændres medset og fetch kommandoerne. Dette vindue er kun aktivt ved brug af disse kommandoer.Hvis kommandoen set vælges sammen med en variabel, vil input vinduet blive aktivt, ogher kan der så skrives den ønskede værdi. For at sende den ønskede kommando til stalkeren,anvendes ok knappen.

Når brugeren har sendt en kommando til stalkeren, vil den blive bekræftet af stalkeren,ved at den sender kommandoen tilbage til brugeren. Herefter udfører stalkeren den ønskedekommando, og sender en bekræftelse eller et output tilbage.

Den valgte brugerade implementeres med en backend, der ligger bag ved brugeraden ogstår for forbindelsen, og de er begge bygget på PHP.

86

Page 97: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Backenden er skrevet som et terminalprogram, der står for at holde en forbindelse til stalker,og for at gemme det stalker sender i en l, samtidig med at den sender indholdet i en anden ltil stalker. Dette er programmeret som et sekventielt program i en uendelig løkke. Backendenstår for at oprette de to ler til in- og output fra brugerade og stalker.

Brugeraden er skrevet i HTML, og bruger javascript til asynkron indlæsning og fremsendelseaf data. Dette bevirker at brugeraden kan virke uden genindlæsning af alt ved ændringer oghandlinger. Brugeraden er knyttet til en funktion, der kan skrive til og læse fra de to ler,som backenden opretter og benytter. Til dette oprettes et PHP script, som kører på sammemaskine som backenden igennem en webserver.

De forskellige moduler er nu beskrevet, i det kommende afsnit beskrives implementeringen af

kernen og dens virkemåde.

6.7 Kerne

Styringen af hvilke funktioner, der skal køre på et givet tidspunkt, er implementeret vha. enkombineret dispatcher og scheduler, kaldet en kerne. Dennes opgave består mere specikt iat sortere funktioner, der gerne vil køre, i en kø, så de er klar til at blive startet, samtidigtmed at den vil starte funktionerne i køen fra en ende af. Overordnet er kernen delt op i tofunktionaliteter. Den ene er at starte funktioner, som står i kø til at blive kørt, mens denanden er at indsætte funktioner i køen.

6.7.1 Valg af kerne-type og scheduling-metode

En kerne kan deles op i to typer, Preemptive og Nonpreemptive. En preemptive kerne harmulighed for dynamisk at skifte mellem forskellige funktioner under en igangværende ek-sekvering. Dette sørger for at funktioner med højest prioritet og kortest deadline vil bliveeksekveret så tidligt som muligt, samtidigt med at funktioner med lang eksekveringstid ikkeopholder processoren fra at eksekvere andre funktioner. En nonpreemptive kerne har derimodikke muligheden for at skifte funktion, når eksekveringen af en funktion er i gang. Dette gør,at hvis funktioner med højere prioritet bliver klar til at køre, mens en funktion med lavereprioritet allerede eksekveres, må den vente indtil den igangværende funktion er eksekveretfærdig.

Da stalkernes primære opgave er at følge efter target, vil reguleringsfunktionerne have denhøjeste prioritet, og det vil derfor ikke være nødvendigt at skifte funktion imens en af dissebliver eksekveret. Det vil derfor kun være aktuelt at skifte funktion, hvis send/modtag deleneksekveres, mens der kommer inputs fra sensorene. Det ses i afsnit 6.8, at de forskelligefunktioners eksekveringstid er i en størrelsesorden, hvor det vurderes fra gruppens side at ennonpreemptive kerne er tilstrækkelig.

87

Page 98: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Til at bestemme hvilken rækkefølge funktionerne skal eksekveres i, og dermed den rækkefølgede skal have i en kø, bruges en scheduler. Til denne tages udgangspunkt i metoden FixedPriorities, hvor alle funktioner har en fastsat prioritet, som der altid sorteres efter. Prioritetenbliver dog her i form af funktionernes deadlines, således at metoden bliver en nonpreemptiveudgave af Earliest Deadline First (EDF). Elementer med samme deadline bliver sorteret efterderes eksekveringstid, således at de funktioner der hurtigst skal være færdige og hurtigst bliverfærdige, også vil være de første til at blive eksekveret.

Der skal altså implementeres en nonpreemptive kerne til håndtering af funktionerne i softwa-

ren. Der anvendes en scheduler til håndtering af afviklingsrækkefølgen af funktioner, funk-

tionerne tildeles en fast prioritet udfra deres eksekveringstid og dermed implementeres EDF.

Der skal nu implementeres en kø til håndtering af funktioner der skal afvikles, en funktion til

indsættelse af funktioner i denne kø samt en dispatcher som skal starte funktioner fra køen.

6.7.2 Initialisering af køen

I de efterfølgende afsnit vil det blive beskrevet hvorledes kernen er opbygget og implementeret.

Når kernen startes, skal funktions-køen, der er implementeret som en dobbelt linket liste,initialiseres. Der er valgt at bruge en dobbelt linket liste, da det i sådan en liste er muligt atindsætte elementer i et enkelt gennemløb af listen. Denne initialiseres ved først at denereen overordnet struktur for køen indeholdende følgende elementer:

*Første element *Sidste element Længde

Hvor:*Første element er en pointer der peger på det første element i køen*Sidste element er en pointer der peger på det sidste element i køenLængde er køens længde

88

Page 99: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Herefter deneres en struktur for hvad elementerne i køen skal indeholde:

*Forrige element *Næste element Funktions id Klartid Eksekveringstid Deadline Arrayplads

Hvor:*Forrige element er en pointer der peger på forrige element*Næste element er en pointer der peger på næste elementFunktions id er en integer, hvor hver funktion har sit eget unikke idKlartid er tiden der skal gå inden funktionen må startesEksekveringstid er et overslag over funktionens eksekveringstidDeadline er det tidspunkt funktionen skal være færdigArrayplads angiver det område i hukommelsen som elementet benytter

Sidst skal der deneres deadlines og eksekveringstider for de forskellige funktioner og køenskal initialiseres. Hvordan køen initialiseres, kan ses ud af følgende pseudokode:

kø->Længde sættes til 0

kø->*Første element sættes til NULL

kø->*Sidste element sættes til NULL

89

Page 100: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.7.3 Sæt i kø

For at indsætte en funktion der gerne vil køre, i køen, kaldes en funktion, som søger i køenefter en passende plads til funktionen, således at køen er sorteret efter deadlines. Dettegøres da det er valgt at bruge nonpreemtive Earliest Deadline First (EDF) til systemetsscheduler. I tilfældet, hvor der ndes ere funktioner med samme deadline, sorteres derindbyrdes efter eksekveringstid for at mindske den gennemsnitlige ventetid for funktionerne,da de der hurtigst er færdige så kommer først. Funktionen der indsætter i køen, tager toinputs (Funktions id og Klartid), som sammen med de predenerede konstanter for deadlineog eksekveringstid, denerer et element (herunder kaldet elementNy), der skal indsættes ikøen.

StartEr køentom?

Indsætsom førsteog sidste

Pointerpeger påførsteelement

Peger =NULL?

Deadline< ny

deadline?

Pointerpeger på*næsteelement

Indsætefter sidsteelement

Sæt somsidsteelement

Tæl køenslængde op

Afslut

Deadline= ny

deadline?

cost<

ny cost?

Indsæt førnuværendeelement

peger =*førsteelement?

Sæt somførsteelement

ja

nej

nej

ja

ja

nej

ja

ja

nej

nej

ja

nej

Figur 6.11. Flowchart over hvordan en funktion sættes i kø.

90

Page 101: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Figur 6.11 på forrige side viser programowet for indsætning af en funktion i køen. Herefterbeskrives owchartet med pseudokode som minder om den endelige implementering i software:

NULL er deneret som en pointer til adresse 0

Hvis køen er tom (kø->længde = 0):

ElementNy indsættes som både *Første element og *Sidste element

og køens Længde tælles op.

Ellers hvis køen ikke er tom (kø->længde > 0):

ElementGammel er en pointer der peger på *Første element i køen.

Sålænge at ElementGammel != NULL

og ElementGammel->Deadline < ElementNy->Deadline:

ElementGammel = ElementGammel->Næste element

Sålænge at ElementGammel != NULL

og ElementGammel->Deadline = ElementNy->Deadline

og ElementGammel->Eksekveringstid < ElementNy->Eksekveringstid:

ElementGammel = ElementGammel->Næste element

Hvis ElementGammel == NULL:

ElementNy indsættes efter *Sidste element i køen

og sættes derefter til at være *Sidste element

og køens Længde tælles op.

Ellers:

ElementNy indsættes i køen før det nuværende ElementGammel.

og køens Længde tælles op.

Hvis ElementGammel == Første element:

ElementNy sættes til at være Første element

91

Page 102: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.7.4 Start

Når kernen er initialiseret startes dispatcheren, som sørger for at starte funktioner til derigtige tider. Den ser altid på det første element i køen, og sørger for at opdatere køen mht.klartider og deadlines, ud fra en timer kaldet releasetimer. En illustration af hvordan dennetimer virker fremgår her:

1 2 3

deadlines1

2

3

releasetimer

2 3

deadlines23

tid

tid

tR

tR

Figur 6.12. Illustration af releasetimerens funktion. Timeren tæller, mens funktion 1 kører, hvor-

efter deadlines og klartider opdateres for funktion 2 og 3 vha. timeren. Klartiden for

funktion 2 og 3 er angivet tR.

Øverst i gur 6.12 vises en kø af funktionerne 1, 2 og 3 sammen med deres relative deadlines.Når funktion 1 kører, begynder releasetimeren at tælle. Når funktion 1 er færdig med atkøre, tages denne ud af køen, hvorefter funktion 2 og 3's deadlines og klartider opdateresvha. releasetimeren. Klartiderne i køen tælles ned indtil klartiden for funktion 2 er nul,hvorefter den startes, som det er illustreret på den nederste gur. Dette betyder, at deadlinesog klartider altid er relative til det pågældende tidspunkt.

Når dispatcheren starter en funktion, sørger den for at sætte en timer op, kaldet deadlineti-mer, der tæller ned fra funktionens deadline, og hvis denne når nul genereres en fejlbeskedom, at funktionen ikke har nået sin deadline.

92

Page 103: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Dispatcheren er sammen med initialiseringen af kernen illustreret på gur 6.13.

Opstartaf system

Initialiseringaf kernen

Dispatcherkøres

Release-timer >

0

Opdaterkø vha.

releasetimer

Nulstilreleasetimer

Hvisklartid =

0

Sæt dead-linetimer

Startfunktion

ja

nej

nej

ja

Figur 6.13. Flowchart over kernens opbygning.

Funktionaliteten i gur 6.13 er her beskrevet vha. pseudokode.

Kører i et uendeligt loop:

Hvis køen ikke er tom (kø->længde > 0):

Hvis releasetimer > 0:

Opdater kø vha releasetimer

Reset releasetimer

Hvis kø->*Første element->Klartid == 0:

Deadlinetimer sættes

Funktion fjernes fra køen

Funktion eksekveres

ellers:

releasetimer = 0

Der er nu blevet beskrevet hvordan kernen håndtere funktionerne der skal afvikles på stalkers

mikroprocessor. Der vil i kommende afsnit blive opstilles deadline for funktionere på stalker,

så der kan implementeres EDF schedueling i kernen.

93

Page 104: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

6.8 Eksekveringstider og deadlines

For at den valgte kerne kan køre, og for at systemet kan betragtes som kørende i realtid, skal

der sættes nogle krav til deadlines. Disse krav sættes ud fra de enkelte funktioners eksekve-

ringstider. Der bliver i dette afsnit regnet i en tidsenhed kaldet eksekveringstid som bliver

beskrevet efter de målte eksekveringstider er præsenteret.

Eksekveringstiderne for de enkelte funktioner er estimeret ved at kalde dem med forskelligevariabler og inputs, hvorefter den der har taget længst tid, bliver valgt ud. Tiderne er beregnetved at have en tæller på mikrocontrolleren til at tælle alle clockcyklusser imellem start ogslut af funktionen.

De aæste tider er som følger:

Funktion: Cyklusser: Kommentar:

afstands- og vinkelberegning 9393 højeste tid ved forskellige sensortiderafstandsregulator 1423 testet med afstand: 70 cmretningsregulator 902 testet med vinkel: 22 graderreceive 1127 testet med 50 ukendte karakterergetvar 4150 testet med "fetch ref_afstand"setvar 3867 testet med "set ref_afstand 070"

Release- og deadlinetimerne i kernen kører med en prescaler på 256, som giver anledning tilden tidsenhed der benyttes igennem resten af afsnittet, kaldet eksekveringstid. Derfor bliveralle de ovenstående funktioner normeret til dette, og rundet op, hvor nødvendigt. Det giveranledning til følgende eksekveringstider:

Funktion: Eksekveringstid:

afstands- og vinkelberegning 37afstandsregulator 6retningsregulator 4receive 5getvar 17setvar 16

Deadlines bliver brugt som prioritering, derfor vil lavere deadlines betyde at funktionen harhøjere prioritet. Funktionerne til afstands- og vinkelberegning og regulering, har højere pri-oritet end dem der benyttes til kommunikation.

94

Page 105: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Det er valgt at kommunikationsfunktionerne skal køres, fra receive startes til at alle funktio-ner kaldt af den er færdige, på under 20 ms. Dette betyder at deadlines for receive, getvarog setvar sammenlagt skal være under dette. Sammenlagt har de tre funktioner en eksekve-ringstid på 38, og hvis der benyttes en deadline på 50 gange deres eksekveringstid, vil dettegive anledning til en samlet deadline på 1900, hvilket svarer til ca. 15 ms ved 32 MHz. Endeadline på 50 gange eksekveringstiden for alle kommunikationsfunktioner ser ud som følger:

Funktion: Eksekveringstid: Deadline:

receive 5 250getvar 17 850setvar 16 800

For at sikre at afstands- og vinkelberegning samt regulatorer så vidt muligt kommer ind ikøen inden kommunikationsfunktionerne, skal deres deadlines være relativt mindre. Deresdeadlines bliver derfor som udgangspunkt sat til at være fem gange større end deres eksekve-ringstider. Da afstands- og vinkelberegning er den funktion der tager længst tid at afvikle, oger kritisk for reguleringen, vælges dennes deadline til kun at være dobbelt sin eksekveringstid.Dette giver anledning til følgende deadlines:

Funktion: Eksekveringstid: Deadline:

afstands- og vinkelberegning 37 74afstandsregulator 6 30retningsregulator 4 20

95

Page 106: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

For at teste om de valgte deadlines kan overholdes, bliver et scenarie sat op. receive bliversat i kø med en kommando, der betyder at både getvar og setvar skal kaldes efter hinanden.Til den tid setvar startes, sættes afstands- og vinkelberegning i kø. Scenariet kan ses på gur6.14.

Tid

Funktion

0 10 20 30 40 50 60 70 80 90 100 110

receive

getvar

setvar

afstands- og vinkelberegning

retningsregulator

afstandsregulator

Figur 6.14. Figur over handlingsforløb, hvor afstands- og vinkelberegning sættes i kø på samme tid

som setvar starter eksekveringen. Stiplede linier repræsenterer de enkelte funktioners

klartider, og røde linier deres deadlines. De funktioner hvor der ikke ses klartider er

startet til deres klartid. Deadlines der er udenfor tidsaksen er ikke vist. Tiden er vist

som eksekveringstid.

Da gur 6.14 viser at afstands- og vinkelberegning er i stand til at overholde sin deadline,selvom den er nødt til at vente på en anden funktion inden den kan starte eksekveringen,anses de valgte deadlines for at kunne fungere på stalker.

Det er nu vist at ved at lave software der bygger på earliest deadline rst princippet, med

en non-preemptive kerne, er det muligt at køre systemet inden for de valgte deadlines, og

systemet kan derfor kaldes et realtidssystem.

96

Page 107: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Kapitel 7

Afslutning

Der er nu implementeret hardware og software på stalker og target, således det er muligtat opfylde de i kravspecikationen stillede krav. Der vil nu blive beskrevet de justeringer,der er blevet foretaget under testkørsel af stalker, efterfulgt af en beskrivelse af den udførteaccepttest. Resultatet af accepttesten vurderes i vurderingen, efterfulgt af en konklusion pårapporten og produktet. Der afsluttes med en perspektivering, som ser på andre anvedelses-muligheder af den benyttede teknologi i produktet.

7.1 Implementering

Dette afsnit dækker implementering af regulatorerne i softwaren. Der beskrives hvilke æn-

dringer der er foretaget for at opnå stabil kørsel, samt begrundelser for disse ændringer.

Regulatorerne for afstand og vinkel har ved implementering givet problemer. Der vil her bliveopsummeret på, hvad der ligger til grund for problemet, og hvilke ændringer der er foretagetfor at mindske problemerne.

Ved implementering har det vist sig at bilen accelererer for hurtigt. Dette gør, at stalker kørerind i target, når target accelererer og afstanden derved øges. Derfor blev afstandsregulatorenved tests nedjusteret til 45, så bilen accelererer langsommere. Grunden til denne nødvendigeændring er, at den fundne tidskonstant for motoren er for lille. Den fundne tidskonstant eruden friktion, og i virkeligheden vil tidskonstanten derfor være større, idet bilen accelerererlangsommere, når den skal slæbe sin egen vægt. En øget tidskonstant giver anledning til atregulatorværdien skal nedjusteres.

97

Page 108: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Retningsregulatoren har ved kørsel vist sig at overstyre, hvilket betyder at stalker i svingkommer på afveje. Dette blev løst ved at nedjustere regulatoren til en forstærkning på 4,hvorved den holder sig på rette kurs. Der er nogle unøjagtigheder og antagelser, som kanligge til grund for dette. Først og fremmest forudsætter modellen, der ligger til grund forretningsreguleringen, at hjulene kan dreje momentant. Dette gælder ikke i virkeligheden, dader ved kørsel kan observeres en forsinkelse ved drejning af hjulene. Havde hastigheden, somhjulene ændrer vinkel med, indgået i modellen ville det have ført til en lavere regulatorværdiud fra beregningerne. Hjulene er også begrænsede til at kunne dreje ± 20°, hvor modellenantager at der kan drejes ± 90°.

Efter overstående ændringer, har det vist sig, at stalker kan køre ind i target ved pludseligdecelleration. Dette skyldes manglende bremseevne. Problemet er forbedret, men ikke elimi-neret, ved at øge den ønskede referance afstand til 60 cm. Herved får stalker yderlige 10 cmat løbe på, inden sammenstød med target.

98

Page 109: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

7.2 Accepttest

I kapitel 1.3 er der opstillet krav til systemet. Disse krav vil i denne sektion blive testet som

beskrevet i afsnit 1.3.1.

Systemet underlægges tests for at kontrollere om de stillede krav er overholdt.

Der vil blive vurderet på resultatet af disse tests, og dermed om kravene er overholdt.

Krav 1: Stalker skal være i stand til at forfølge target ved en hastighed på mindst 5 km/t.

Testen blev udført og resultatet af testen kan ses i den lmede dokumentation accept-

test/accepttest_krav1.MTS . Testen viste at stalker var i stand til at følge target ved enhastighed på mindst 5 km/t, i fem sammenhængende minutter, og vurderes derfor som be-stået.

Krav 2: Stalker skal forfølge target uden sammenstød.

I testen af krav 1 fulgte stalker efter target uden sammenstød. Der blev efterfølgende la-vet en start/stop test, hvor target re gange accelereres op til mindst 5 km/t og derefterstoppes ved at afbryde motoren. Resultatet af denne test ndes på cden accepttest/ac-

cepttest_krav2.MTS . Denne test fejlede da stalker kørte ind i target en enkelt gang.

Krav 3: Stalker skal regulere sin kørselsretning, så den holder sig bag target.

Dette krav blev testet i forbindelse med krav 1. Stalker var i stand til at holde sig bag targetunder de fem minutter testen varede. Det fremgår af videoen at stalker på intet tidspunktmistede target af syne. Dette krav vurderes som overholdt .

Krav 4: Den trådløse kommunikation skal have en rækkevidde på mindst 40 meter Den tråd-løse kommunikation foregår over det trådløse netværk i området hvor produktet er udviklet,derfor er kravet til rækkevide opfyldt. Der er sendt 100 kommandoer, som alle er modtagetog returneret korrekt af stalker, hvilket opfylder kravet til stabiliteten af forbindelsen.

99

Page 110: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 111: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

7.3 Vurdering

I dette afsnit vurderes det, om produktet overholder kravene, der blev opstillet i kravspeci-

kationen. Der vil først blive vurderet på stalkers evne til at følge efter target, hvorefter der

bliver vurderet på kommunikationsegenskaberne.

Der blev i kravspecikationen opstillet nogle generelle krav til stalker. Disse blev kontrolleretved en accepttest. Der skulle implementeres et realtids system. Dette blev gjort vha. ennon-preemptive kerne.

Der skulle være mulighed for trådløs kommunikation med en rækkevidde på mindst 40 meter.Dette blev overholdt, idet stalker blev tilkoblet et trådløs netværk, som dækker den del afuniversitetet, hvor produktet blev udviklet og anvendt. Dette har gjort stalker i stand til atreagere på kommandoer, udføre dem korrekt og sende status beskeder til PCen.

Der blev opstillet et scenarie, hvor stalker skulle forfølge target indendørs på et plant underlag.Det skulle foregå ved en hastighed på mindst 5 km/t, og stalker måtte ikke miste target afsyne eller køre ind i target. Dette blev testet ved krav 1-3 i accepttesten, hvor stalker holdtesig bagved target og regulerede sin kørselsretning derefter. Der skete under konstant kørselingen sammenstød mellem de to biler. Ved en test hvor target accelereres og standses, var deret enkelt sammenstød. Dette skyldtes en høj acceleration som resulterede i en stor afstandmellem de to biler. Denne afstand betød at stalker accelererede kraftigt, hvorved den ikkekunne nå at standse inden kollision.

Dette problem skyldes, at stalkeren vil blive ved med at accelerere, indtil den når referenceafstanden. Stalkeren har ingen bremser, men vil forsøge at bakke for igen at opnå reference-afstanden. Dette kan den ikke altid nå inden den kommer så tæt på target, at den bendersig uden for afstands- og vinkelmålerens virkeområde, og derfor rammer target.

Afstandsregulatorens oversving og indsvingningstid kan også have indvirkning på dette pro-blem. Et oversving kan resultere i at stalker kommer for tæt på target, inden den opnår densatte referenceafstand. Indsvingningstiden resulterer i, at reguleringen af hastigheden går forlangsomt. Oversving kan forbedres ved at implementere en PD-regulator, hvorved oversvin-get kan mindskes. Indsvingningstiden kan forbedres ved implementering af en H-bro, som erstyret med en kortere periodetid end H-broen, der er anvendt i projektet.

Stalker vurderes derfor til at overholde de i kravspecikationen stillede krav, pånær at der ibestemte situationer kan opstå sammenstød mellem target og stalker.

Udover problemet observeret i accepttesten, er der også observeret et problem ved testkørselinden accepttest. Hvis target f.eks. bevæger sig tæt på en væg eller anden ade, kan der fore-komme en reektion af ultralydssignalerne. Dette bevirker, at signalet, som target udsender,bliver reekteret af væggen, og derefter bliver opfanget af stalker. Dette kan få stalkeren tilat opfatte væggen som var den target, som derfor kører ind i væggen.

101

Page 112: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 113: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

7.4 Konklusion

Der skulle i dette projekt designes en autonom forfølgerbil, kaldet stalker, som autonomtskulle efterfølge en anden bil, kaldet target. Ydermere skulle trådløs kommunikation mellemstalker og en PC muliggøres. Der bliver her konkluderet på, hvordan dette blev opnået.

Det blev, ud fra et opstillet scenarie, speciceret, at stalker altid bender sig bag target.Derfor skal der holdes en fast afstand og vinkel mellem de to biler under kørsel. Der blevvalgt to fjernstyrede biler, hvorpå der var implementeret både en PWM-styret servomotorog en DC-motor med tilhørende PWM-styret H-bro. Disse blev anvendt til henholdsvis ret-ningsstyring og hastighedsstyring. Der skulle til den ene bil, stalker, implementeres hardwareog software for at gøre den autonom, mens den anden styres manuelt.

Der blev valgt bilateration til at lokalisere target relativt til stalker. Denne lokaliserings-metode gav anledning til, at afstand og vinkel mellem bilene kunne bestemmes ved brugaf sensorer, og at der disse kunne foretages regulering af stalkers hastighed og retning. Derblev opstillet modeller for stalkers bevægelse ud fra målinger, teoretiske betragtninger ogantagelser. Dette blev gjort med henblik på anvendelse i reguleringen.

Der blev designet hardware til target. Denne hardware muliggjorde implementering af lokali-seringsmetode, beregning, regulering og trådløs kommunikation. Lokalisering blev muliggjortved brug af ultralyd og radiobølger som sensorsystem, beregning og regulering blev imple-menteret ved brug af en mikrocontroller og den trådløse kommunikation blev implementeretvha. et WiFi modul. Derefter blev der bestemt to proportionalregulatorer ud fra sensorsyste-met, PWM-styring og de opstillede modeller for bilens bevægelse. Den ene regulator skullesørge for, at afstanden mellem bilerne holdes konstant ved at regulere på stalkers hastighed,og den anden skulle sørge for, at vinklen mellem bilerne holdes konstant ved at regulere påstalkers hjulvinkel.

Der blev til mikrocontrolleren udviklet softwarefunktioner til beregning og regulering af af-stand og vinkel mellem de to biler, samt håndtering af trådløs kommunikation. De udvikledefunktioner blev håndteret af en non-premptive kerne, hvor realtidsprogrammering blev rea-liseret ved brug af en udgave af Earliest Deadline First (EDF) scheduling.

Der blev til sidst, efter testkørsel med stalker, foretaget justeringer af regulatorerne og af-standen mellem bilerne, for at opnå mere stabil kørsel. Der blev derefter udført en accepttest,hvor det viste sig, at stalker kunne forfølge target næsten uden problemer. Kun ved hårdeopbremsninger af target kunne der opstå sammenstød.

De læringsmæssige mål for dette semester blev dermed opfyldt, idet der blev opstillet fysiskemodeller for stalkers bevægelse, foretaget regulering af stalkers hastighed og retning i realtidog implementeret trådløs kommunikation mellem stalker og PC.

103

Page 114: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 115: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Bilag

105

Page 116: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Bilag A

Målejournal - Stalker bil

Udført af:Dato:Sted:

Anders Wittendor og Thomas Laursen26-10-2010El-lab, C2-104

Formål

Formålet er at undersøge hvordan bilens motor og styrtøj fungerer, så der kan opstilles enmodel for bilens bevægelse. Der måles direkte på hjulet af bilen, dvs. der ses bort fra bl.a.intern gearing så hjulet kan betragtes som akse på motoren. Der undersøges:

Antal omdrejninger hjulene tager i frit løb sammenholdt med spænding og strøm påmotor. Mhb. bestemmelse af motorkonstanter.

Antal omdrejninger hjulene tager sammenholdt med tid ved acceleration fra stilstandtil max hastighed. Mhb. bestemmelse af tidskonstant.

Hvordan PWM styringen af bilens hastighed og vinkel fungerer. Mhb. anvendelse vedregulering.

Fysiske parametre (Hjuldiameter, aksel længde, afstand mellem hjul og masse) til an-vendelse i model.

Den indre modstand i motoren.

Testobjekt

HBX 4WD R/C racing car(stalker bilen).

106

Page 117: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Anvendt udstyr

Anvendt apparatur ses i følgende tabel.

Tabel A.1. Anvendt apparatur

Instrument Model AAU-nummer

Oscilloskop Agilent DSO6034A 64572Strømklemme Fluke i30 78550Omdrejningstæller Laser Compact Instruments A2108 77087Signalgenerator Agilent 33220A 75486Probe - -Vægt PJ1220 08432Skydelære - -Vinkelmåler - -Strømforsyning PS 7032-100 77076

Måleprocedure

Omdrejninger hjulene tager i frit løb sammenholdt med spændingog strøm på moter

Oscilloscopet kobles op så der måles følgende på hver sin kanal:

Spænding på moteren vha. en probe. Strøm vha. en strøm klemme, der monteres omkring den ene af ledningerne til motoren,som giver 100 mV per 1 A.

Omdrejnigner vha. omdrejningstæller som giver 1 V per 1000 rpm.

Bilen placeres på en kasse, således at alle hjul kan løbe frit rundt. Et af hjulene i den frie sidepåmonteres en sort papskive med en hvid reeks på, så tachometeret kan måle omdrejningerved at pege vinkelret ind mod hjulet.

Stalker accelereres fra stilstand til fuld hastighed over intervaller, hvori hastigheden er kon-stant. Dette gøres ved at variere spænding over motoren. Der måles spænding, strøm ogomdrejninger ved hvert interval. Dette gøres ved at anvende funktionen på scopet, der kansample data og gemme det på en usb disk. Der tages 1000 samples af det aktuelle datavinduesom efterfølgende midles.

107

Page 118: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Omdrejninger, hjulene tager sammenholdt med tid ved accelerationfra stilstand til max hastighed

Der anvendes samme opstilling som i foregående forsøg, hvor der nu kun måles omdrejningersom funktion af tiden. Bilen accelereres fra stilstand til fuld hastighed mens, oscilloscopetmåler omdrejninger som funktion af tid.

PWM styring af bilens hastighed og vinkel

Først måles der på den medfølgende trådløse modtager hvilke pulsbredder, amplituder ogperiodetider der gives videre fra denne til controlleren ved ændring af hastighed eller vinkelvha. den trådløse sender, der styrer bilen. PWM signalet anvendes efterfølgende til at målesammenhæng mellem input og output på H-Bro.

Der måles spænding på udgangen af H-broen, som går til motoren, sammenholdt med detPWM-signal der sendes ind på på controlleren til H-broen. Dette gøres ved at at anvendesignalgenerator til at sende en PWM puls ind på controlleren og derefter måle DC-spændingpå output fra H-broen. PWM pulsens pulsebredde øges fra en pulsbredde der giver stilstandtil den pulsbredde der giver maks hastighed på bilens hjul.

Der måles også på servomotoren. Dette gøres ved at måle sammenhæng mellem pulsbreddenaf det PWM-signal der sendes til servoen og den vinkel som et af forhjulene står i. Dennevinkel måles ved at påmontere en pind midt på den aksel hjulet drejer om, som står på 90grader når hjulene er i neutral position.

Indre modstand i motoren

Motoren tages ud af bilen, hvorefter den kobles på strømforsyningen. Strøm og spændingaæses indenfor det område det er muligt, uden forsyningen går i strømbegrænsning.

108

Page 119: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Resultater

Omdrejninger hjulene tager i frit løb sammenholdt med spændingog strøm på motoren

Der blev målt omdrejninger, spændinger og strømme for bilen ved 9 forskellige hastigheder.Disse er noteret i denne tabel:

Omdrejninger[rpm] Spænding[V] Strøm[A]1. måling 36 0,0114 0,94372. måling 25,75 0,1598 2,17193. måling 216 0,7227 2,25694. måling 518 1,7306 2,26725. måling 804,1 2,7031 2,43306. måling 1121,1 3,7027 2,99987. måling 1450,3 4,7658 2,99988. måling 1699,4 5,5862 3,29339. måling 2032,1 6,6205 3,6938

Figur A.1. Tabel over målte omdrejninger, spændinger og strømme.

Værdier af denne test ndes på gur A.2 og A. Filen til plot samt måledata ndes påmaaledata/stalker/fritloeb .

Figur A.2. Grafen viser hvordan hjulets hastighed, målt i RPM, ændrer sig efter hvilken spænding,

målt i volt, der påtrykkes.

109

Page 120: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Figur A.3. Grafen viser hvordan strømstyrken, målt i ampere, ændrer sig efter hvilken spænding,

målt i volt, der påtrykkes.

Omdrejninger hjulene tager sammenholdt med tid ved accelerationfra stilstand til max hastighed

Der blev tre gange målt omdrejninger som funktion af tid, hvor den ene måling måtte kasserespga. fejl i målingen af omdrejningshastigheden. Resultatet af denne test er plottet i gur A.Filen der blev anvendt, samt data ndes på maaledata/stalker/tidskonstant .

Figur A.4. Grafen viser hjulets hastighed, målt i % hvor 100% er bilens topfart, som funktion af

tiden. Hvor tidskonstanten τ kan aæses i der hvor grafen passerer 63% til henholdsvis

0,162s og 0,234s.

Tidskonstanten blev målt til to forskellige værdier, derfor anvendes gennemsnittet som er0,198s.

110

Page 121: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

PWM styringen af bilens hastighed

Det blev målt at den trådløse enheden giver et PWM signal med en amplitude på +4 volt,periodetiden 19,40 ms og varierende pulsbredder videre til controlleren. Pulsbredden blev vedfuld hastighed målt til 2 ms, mens der ved stilstand er 1,45ms. Servoen er i neutral positionved 1,6ms, i fuld udsving til højre ved 1,05ms og i fuld udsving til venste ved 2,2ms

Der blev foretaget en måling for sammenhæng mellem PWM pulsebredde og spænding overmotor. Disse målinger er vist her:

Pulsbredde[ms] Spænding[V]1,5 0,01141,525 0,15981,6 0,74861,7 1,30731,8 4,04311,9 5,18782,0 5,92812,1 6,95412,2 6,702

Figur A.5. Tabel over målte pulsbredder samt spændinger over motoren.

Der blev foretaget målinger for sammenhæng mellem pulsebredde og vinkel på hjulene. Resul-tatet af denne test vises i gur A.6. Fil til plot samt data ndes på maaledata/stalker/pwm

.

Figur A.6. Grafen viser hvordan hjulets vinkel ændrer sig efter hvilken PWM pulsbredde der

påtrykkes H-broen. Hjulenes vinkel er orienteret således at når vinklen er 90 °, peger

hjulene lige frem.

111

Page 122: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Fysiske parametre

De fysiske parametre er målt med vægt og skydelærer til følgende:

Parameter værdiMasse 1658,7 gHjul diamter 8,15 cmAkselængde 25,9 cmHjulastand 22.4 cm

Indre modstand i motoren

Følgende blev målt i forhold til strøm, spænding og modstand:

Spænding [V] Strøm [A] Modstand [Ω]1 5,4 0,18521,5 8,3 0,18071,9 10,2 0,1863

Gennemsnit 0,1841

Måleusikkerhed

Måleinstumenters påvirkning af måleobjekt. Tidskonstantmålingen er ukorrekt, da den blev målt uden bilen var i kontakt medunderaden og derfor ikke skulle slæbe sin egen vægt eller overvinde friktion. Derforvil den reelle tidskonstant værer større.

Tachometerets aæsning kan blive påvirket af lys og vinkel i forhold til den reekterendeade.

112

Page 123: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Bilag B

Beregning på modellering af

stalker

Overføringsfunktion for bilen

Der er ud fra elektriske og mekaniske modeller opskrevet følgende udtryk.

K ·(Ua(s)−K · ωhjul(s)

Ra + s · La

)= s · J · ωhjul(s) + b · ωhjul(s) + τc + mbil · s · ωhjul(s) · rh2

(B.1)

I udtryk B.1 indgår tørfriktionen τc, denne vælges der at ses bort fra idet denne er uliniær.Dette udtryk reduceres her, så er overførinsfunktion, G(s), fåes.

K ·(Ua(s)−K · ωhjul(s)

Ra + s · La

)= ωhjul(s)(s · J + b + s ·mbil · rh2) (B.2)

(K · Ua(s)−K2 · ωhjul(s)

)· 1

Ra + s · La= ωhjul(s)

(s · J + b + s ·mbil · rh2

)(B.3)

K · Ua(s)−K2 · ωhjul(s) = ωhjul(s)(s · J + b + s ·mbil · rh2

)(Ra + s · La

)(B.4)

K · Ua(s) = ωhjul(s)(s · J + b + s ·mbil · rh2

)(Ra + s · La

)+ K2 · ωhjul(s) (B.5)

113

Page 124: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

K · Ua (s) = ωhjul (s)((

s · J + b + s ·mbil · rh2)(

Ra + s · La)

+ K2

)(B.6)

Omdrejningshastigheden ωhjul(s) erstattes nu, udfra formel 3.14 på side 19, medVbil(s)rh

Ua(s) =Vbil(s)rh

·

(s · J + b + s ·mbil · rh2

)(Ra + s · La

)+ K2

K(B.7)

Vbil(s)Ua (s)

=K · rh(

s · J + b + s ·mbil · rh2)(

Ra + s · La)

+ K2(B.8)

Det antages nu at induktansen La i motoren er meget lille, og at der derfor kan ses bort fraden. Dermed fåes:

Vbil(s)Ua(s)

=K · rh(

s · J + b + s ·mbil · rh2)· Ra + K2

(B.9)

Motorkonstanter

Den opstillede overføringsfunktion B.9 indeholder de 4 motorkonstanter modstanden Ra, denviskose friktion b, inertimomentet J og motorkonstanten K. For at kunne anvende denne,skal disse konstanter bestemmes. Modstanden Ra er bestemt til 0,184 Ω i A. De resterendekonstanter bestemmes ved at foretage målinger af omdrejningshastighed på bilens hjul, samtstrøm gennem motoren ved forskellige spændinger. Disse målinger er dokumenteret i appendixA.

Der opstilles en mekanisk og elektrisk ligning til hver måling, hvor strømmen Ia, spændin-gen Ua og omdrejningshastigheden ω anvendes til bestemmelse af den viskose friktion b,tørfriktionen τc og motorkonstanten K. Den elektriske ligning er:

ω ·K + Ia · Ra = Ua (B.10)

Denne ligning er opstillet ud fra ligning 3.2 på side 14, hvor der ses bort fra induktansenLa, idet der foretages steady-state målinger og induktansen derved ikke ændres over tid. Denmekaniske ligning er:

Ia ·K− τc − ω · b = τb (B.11)

Denne ligning er opstillet ud fra ligning 3.10 på side 17 hvor τhjul X er erstattet med belast-ningsmomentet τb. Inertimomentet medtages ikke da der foretages steady-state målinger.

114

Page 125: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Ud fra opstilling af elektrisk og mekanisk ligning for hver steady-state måling er konstanterne,vha. matlab, fundet til:

K = 0,0276

[NmA

](B.12)

τc = 0,0524 [Nm] (B.13)

b = 0,0002

[Nmrad/s

](B.14)

Til bestemmelse af inertimomentet anvendes formel B.15 for tidskonstanten τ , som blevbestemt i appendix A til 0,198s.[Tom S. Pedersen, 2010]

τ =Ra · J

Ra · b + K2[s] (B.15)

Ud fra denne kan inertimomentet isoleres til:

J =τ · (K2 + b · Ra)

Ra

[kg·m2

](B.16)

Indsættes tidskonstanten, den viskose friktion, modstanden og motorkonstanten i ligningB.16 fåes 0,8593 E-3 kg ·m2.

115

Page 126: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 127: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Bilag C

Målejournal - Positionering af

target

Udført af:Dato:Sted:

Henrik Juul Pedersen & Palle Ravn19-11-2010Elektronik, B1-101

Formål

Formålet er at eftervise, at den konstruerede hardware, som skal generere interrupts til stal-kerens mikrocontroller, er tilstrækkelig nøjagtig til at kunne bestemme positionen af target.Følgende måles:

Interrupt signal fra radiomodtageren.

Interrupt signal fra venstre ultralydssensor.

Interrupt signal fra højre ultralydssensor.

Testobjekt

Interruptgenereringshardware. Kredsløbsdiagram for testobjektet kan ndes i gur 4.3 påside 39.

117

Page 128: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Forsøgopstilling

y [m]

x [m]27 cm

Centrum Sensor1Sensor2

123

456

Figur C.1. Forsøgsopstilling, hvor de seks placeringer af target (sender) er illustreret ved de røde

cirkler.

Anvendt udstyr

Anvendt apparatur ses i følgende tabel.

Tabel C.1. Anvendt apparatur

Instrument Model AAU-nummer

Oscilloskop Agilent 54624A 33843Probe-clips (3 stk.) Agilent 10074C -Strømforsyning Hameg HM7042 33907

118

Page 129: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Måleprocedure

Tidsforskellen mellem de tre interrupts måles ved seks forskelligeplaceringer af target.

De to ultralydssensorer placeres 27 cm fra hinanden, som illustret på gur C.1. Oscilloscopetkobles til output fra de to 555 IC'er samt AM-modtageren. Target placeres på position 1og tidsforskellene mellem de tre interrupts noteres. Target yttes til position 2 og den nyetidsforskel logges. Dette gentages for alle seks positioner. Alle positioner angives i forholdtil centrum, som er midt mellem de to ultralydssensorer. De første tre målinger er forskudt0,5 meter på x-aksen, hvor der måles i centrum samt ±0,5 meter på x-aksen. Det vil sigeat position 1 er givet ved (-0,5 ; 0,5). Måling re til seks er foretaget 1.5 meter forskudt påy-aksen samt ±1 meter på x-aksen.

Resultater

De målte tidsforskelle omregnes til afstande, som sammenlignesmed de opmålte afstande.

Tid H [µs] Tid V [µs] Udregnet ForventetAfstand1/Afstand2 [cm] Afstand/Afstand [cm]

1. måling 1920 2550 66,4/88,1 61,9/80,82. måling 1570 1600 54,3/55,3 51,8/51,83. måling 2570 1930 88,8/66,7 80,8/61,94. måling 5240 5710 181,1/197,3 173,2/188,15. måling 4520 4500 156,1/155,5 150,6/150,66. måling 5800 5310 200,4/183,4 188,1/173,2

Figur C.2. Tabel over målinger, tilsvarende afstand er ved en rumtemperatur på 24°C, samt den

forventede afstand.

119

Page 130: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Måleusikkerhed

Temperatur svingninger. Unøjagtig placering af target (sender). Unøjagtig placering af sensorer. Måleinstumenters påvirkning af måleobjekt. Usikkerhed i aæsningen på scopet.

Afvigelserne i målingerne kan meget vel skyldes placering af sender og modtager, hvor opmå-linger er foretaget med et målebånd. Det er ikke utænkeligt at et par centimeters afvigelseskyldes en forkert placering af sender. Yderligere giver et svagt ultralydssignal anledning tilen forsinkelse, hvor en enkelt periodes forskydning ved 40 kHz giver anldning til en afstands-forøgelse på 0,863 cm.

120

Page 131: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Bilag D

Målejournal - Hastighedssensor

Udført af:Dato:Sted:

Thomas Laursen19-11-2010El-lab, C2-104

Formål

Formålet er, at eftervise at den konstruerede hastigheds sensor fungerer korrekt, samt ndeet forhold mellem hjulenes og akslens omdrejninger. Der måles på følgende parametre:

Antal omdrejninger af akslen målt med hastigheds sensoren. Antal omdrejninger af akslen målt med omdrejningstæller. Antal omdrejninger af hjulet målt med omdrejningstæller.

Testobjekt

HBX 4WD R/C racing car(stalker bilen) med påmonteret hastigheds sensor.

121

Page 132: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Anvendt udstyr

Anvendt apparatur ses i følgende tabel.

Tabel D.1. Anvendt apparatur

Instrument Model AAU-nummer

Oscilloskop Agilent 54621 64572Omdrejningstæller Shimpo DT-205 8246Strømforsyning til bil Danica PS 7032 77076Strømforsyning til sensor Hameg HM7042-3 52756Probe Agilent 10074C -

Måleprocedure

Omdrejninger af akslen samt omdrejningerne af hjulene taget i fritløb sammenholdt med omdrejningerne målt af hastighedssensoren

Oscilloscopet kobles til sensorens output ben. Bilen placeres på ryggen, således at alle hjulkan løbe frit rundt og bilen ikke kører nogen vegne. Et af hjulene påmonteres en sort papskivemed en hvid reeks på, så tachometeret kan måle omdrejninger ved at pege vinkelret ind modhjulet.

Bilen accelereres fra stilstand til fuld hastighed over intervaller, hvori hastigheden er konstant.Dette gøres ved at variere spændingen over motoren. Der måles omdrejninger på hjulet ogakslen med tachometeret ved hvert interval. Frekvensen på hastighedssensoren aæses påscobet.

122

Page 133: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Resultater

Omdrejninger af akslen samt omdrejningerne af hjulene taget i fritløb sammenholdt med omdrejningerne målt af hastighedssensoren

Der blev målt omdrejninger på aksel og hjul med tachometer, samt omdrejninger på akslenmed hastighedssensoren.

Sensor[Hz] Sensor[RPM] Aksel[RPM] Hjul[RPM] Forhold[Aksel/Hjul]1. måling 16,4 984 1025 501 2,04592. måling 26,3 1578 1650 785 2,10193. måling 30,8 1848 1824 877 2,07984. måling 43,5 2610 2636 1286 2,04985. måling 51,5 3090 3117 1517 2,05476. måling 61,5 3690 3640 1793 2,0301

Gennemsnit 2,0603

Figur D.1. Tabel over resultater af måling på hastighedssensoren.

Måleusikkerhed

Måleinstumenters påvirkning af sensoren. Usikkerhed i frekvensaæsningen på scobet. Usikkerhed i tachometeret.

Tachometeret vurderes til at give den største usikkerhed. Tachometeret stod og svingede iet interval på op til ±50. Desuden er akslen meget lille, så den stribe hvor lys reekteres ermeget stor i forhold til hvor hurtig denne drejer rundt.

Det vurderes, at hastighedsmåleren er mere præcis end tachomeretet, grundet at denne erisoleret fast på akslen, således den ikke bliver forstyret af lys udefra, som tachomeretet gør.

123

Page 134: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 135: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Bilag E

Kredsløbsdiagrammer

I dette bilag ndes en oversigt over kredsløbsdiagrammer anvendt i projektet.

125

Page 136: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Target

1 2 3 4

D D

C C

B B

A A

Title

Number RevisionSize

A4

Date: 12-Nov-10 Sheet of

File: C:\Users\..\target.SchDoc Drawn By:

Target - Sender kredsløb

1 1

10GR501

1 1

D2

D1

C1

100µF

C2

100µF

C3

100µF

GND

GND

C4

10µF C5

1µF

C6

100nF

C7

10nF

C8

10nF

GND

GND

VCC

+12

-12

6v til +15/-15v

C9

1µF

+12-12

C11

1µF

-12

R1 200

Sinus Generator

1 2

3

Pot1

500k

12

3

Pot2

10k

GND

VCC

C12

10µF

R2

1k

1 2

3

Pot3

2k

C10

15nF

L2

100µH

L1

100µH

8 5

2 3

4

6

7

1

Buffer

OPA27GP

+12 -12

Rfb

1k

VCC

GND

GND

GND

GND

GND

µController

MISO1

VCC2

SCK3

MOSI4

RESET5

GND6

ISP

AVR ISP connector

+5

+5

GND1

DATA2

VCC3

ANT4

QAM-TX1

433 MHz

AM Transmitter

GND

+5

VCC1

GND14

CLKI2

XTAL23

RESET4

CKOUT5

ICP6

MOSI7

MISO8

USCK9

T010

AIN111

AIN012

AREF13

µC

ATtiny24

Vin1

GND2

5V3

DC regulator

LM78L05

GND

VCC

+5

Konnektorer

5v generator

AfkoblingTiny

100nF

AfkoblingAM

100nF

CC+1

GND2

AV+3

V+4

V+5

VREF6

SS7

CC-8

FB-9

LX-10

12/1511

V+12

V+13

GND14

LX+15

FB+16

MAX743

MAX743

AfkoblingISP

100nF

AMSI1

STO2

MO3

Vcc4

TC15

TC26

TR17

TR28

SYMA216

SYMA115

WAVEA113

WAVEA214

GND12

FSKI9

BIAS10

SYNCO11

Sinus Generator

EXAR XR-2206

SigA

1

SigB

7

GND

6O/C

13

SigA

14

SigB

8

Gûnter

Relay

GND

AfkoblingBAT1

100nF

1

2

Batteri

Connector

1

2

Ultralyd

Connector

AfkoblingBat2

470µF

AfkoblingDCGEN

100µF

AfkoblingDCIN

100nF

126

Page 137: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Stalker

11

22

33

44

DD

CC

BB

AA

Title

Num

ber

Rev

isio

nSi

ze A4

Dat

e:25

-Nov

-10

Shee

tof

File

:C:\W

indo

ws\Sy

stem

32\sta

lker

.Sch

Doc

Dra

wn

By:

1 2

Vcc

Bat

t

Con

nect

or

1 2

Inte

rrup

ts

Con

nect

or

12

Spee

dSen

sor

Con

nect

or

3.3V

GN

D

ISP1ISP1

ISP2ISP2

ISP3ISP3

ISP4ISP4

ISP5ISP5

ISP6ISP6

PA0

PA0

PA1

PA1

PA2

PA2

PA3

PA3

PA4

PA4

PA5

PA5

PA6

PA6

PA7

PA7

PB0

PB0

PB1

PB1

PB2

PB2

PB3

PB3

PB4

PB4

PB5

PB5

PB6

PB6

PB7

PB7

PC0

PC0

PC1

PC1

PC2

PC2

PC3

PC3

PC4

PC4

PC5

PC5

PC6

PC6

PC7

PC7

PD0PD0

PD1PD1

PD2PD2

PD3PD3

PD4PD4

PD5PD5

PD6PD6

PD7PD7

PE0PE0

PE1PE1

PE2PE2

PE3PE3

PE4PE4

PE5PE5

PE6PE6

PE7PE7

PF0PF0

PF1PF1

PF2PF2

PF3PF3

PF4PF4

PF5PF5

PF6PF6

PF7PF7

GNDGND1

GNDGND2

GNDGND3

GNDGND4

PH0

PH0

PH1

PH1

PH2

PH2

PH3

PH3

PH4

PH4

PH5

PH5

PH6

PH6

PH7

PH7

PJ0

PJ0

PJ1

PJ1

PJ2

PJ2

PJ3

PJ3

PJ4

PJ4

PJ5

PJ5

PJ6

PJ6

PJ7

PJ7

PQ0PQ0

PQ1PQ1

PQ2PQ2

PQ3PQ3

PR0PR0

PR1PR1

PK0

PK0

PK1

PK1

PK2

PK2

PK3

PK3

PK4

PK4

PK5

PK5

PK6

PK6

PK7

PK7

VCCVCC

AVCCAVCC

Xm

ega1

00Sp

arkf

un

Sens

e-6

1

Sens

e-4

2

Sens

e-5

3

Sens

e-7

4

Res

et5

EPC

-A6

EPC

-B7

Supe

rcap

8

F-A

wak

e9

GPI

O-1

310

GPI

O-1

211

RX

12

TX

13

MO

SI14

CLK

15

MIS

O16

3.3V

-RO

UT

173.

3V-R

IN18

GN

D19

VD

D-B

att

20

DM

A-T

X22

DM

A-R

X23

GPI

O-9

24G

PIO

-825

GPI

O-7

26G

PIO

-627

GPI

O-5

28G

PIO

-429

Sens

e-1

30

Sens

e-2

31

Sens

e-3

32

Sens

e-PW

R33

Sens

e-0

34

VD

D-IN

21W

ifi

Spar

kFun

3.3V

GN

D1

DA

TA

2

DA

TA

3

+5V

4+5V

5G

ND

6G

ND

7A

NT

8Q

AM

-RX

1

433

MH

z

GN

DG

ND

GN

D3.

3V

MIS

O1

VCC

2

SCK

3M

OSI

4

RESE

T5

GN

D6

ISP

AV

RIS

Pco

nnec

tor

11

Stal

ker

10G

R50

11

1

5V

5V

100n

FA

fkob

ling3

.3A

100n

FA

fkob

ling5

A

100µ

FA

fkob

ling3

.3B

100µ

FA

fkob

ling5

BG

ND

GN

D

100n

FA

fkob

lingU

HF

100n

FA

fkob

lingI

SP10

0nF

Afk

oblin

gWifi

Gre

enD

iode

Lam

pY

ello

wD

iode

Lam

pR

edD

iode

Lam

p

GN

D

GN

D

100n

F

Afk

oblin

gMC

GN

D

AM

-AN

T

AM

data

1M

UH

Fspl

it1

20k

UH

Fspl

it2

30k

Blu

eDio

de

Lam

p

12

PWM

Con

nect

or

Afk

oblin

gUH

F247

µF

123

AdH

oc

Jum

per

3.3V

127

Page 138: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen
Page 139: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Litteratur

Analog devices, 2004. Analog devices. Low Cost Low Power Instrumentation Amplier,2004. CD: datablade/AD620.pdf - Downloadet: 10-12-2010.

Atmel, 2009. Atmel. ATxmega64A1/128A1/192A1/256A1/384A1 Preliminary, 2009. CD:datablade/xMegaA1.pdf - Downloadet: 29-11-2010.

Atmel, 2010. Atmel. Microcontroller, 2010. CD: datablade/attiny24.pdf - Downloadet:10-12-2010.

Bluetooth SIG, Inc, 2010. Bluetooth SIG, Inc. Bluetooth, Compare with other Technolo-

gies. URL: http://www.bluetooth.com/English/Technology/Works/Pages/Compare.aspx, 2010. Downloadet: 30-09-2010.

Darren Burnhill, 2009. Darren Burnhill. Ackerman Steering Principle. URL: http://www.rctek.com/technical/handling/ackerman_steering_principle.html, 2009. Downlo-adet: 20-10-2010.

EXAR, 1997. EXAR. Voltage-Controlled Oscillator, 1997. CD: datablade/XR2209v202.pdf- Downloadet: 10-12-2010.

Gene F. Franklin, J. David Powell, Abbas Emami-Naeini, 2010. Gene F. Franklin, J.David Powell, Abbas Emami-Naeini. Feedback Control of Dynamic systems, Sixth Edition,2010.

MaxStream, Inc, 2006. MaxStream, Inc. XBee/XBee-PRO OEM RF Modules, 2006. CD:datablade/XBeeManual.pdf - Downloadet: 29-11-2010.

Philips, 2003. Philips. Hex inverting Schmitt trigger, 2003. CD: datablade/74HC14.pdf -Downloadet: 10-12-2010.

Quasar, 1990. Quasar. Dual-Output, Switch-Mode Regulator, 1990. CD: datablade/-MAX743.pdf - Downloadet: 10-12-2010.

129

Page 140: P5 Projekt Institut for Elektroniske Systemer Aalborg ...kom.aau.dk/group/10gr501/rapport.pdf · og stalker skal kunne følge target ved en hastighed på mindst 5 km/t. Startpositionen

Quasar, 2006. Quasar. AM TRANSMITTER MODULE, 2006. CD: datablade/QAM-TX2.pdf - Downloadet: 10-12-2010.

Roving Networks, Inc, 2010. Roving Networks, Inc. WiFly GSX 802.11 b/g Wireless

LAN Module, 2010. CD: datablade/WiFi.pdf - Downloadet: 29-11-2010.

Roving Networks, Inc - Homepage, 2010. Roving Networks, Inc - Homepage. RN-131G.URL: http://www.rovingnetworks.com/wiflygsx.php, 2010. Downloadet: 24-11-2010.

SGS-Thomson, 1997. SGS-Thomson. Low power dual CMOS timers, 1997. CD: databla-de/TS556.pdf - Downloadet: 10-12-2010.

Siemens, N/A. Siemens. GaAIAs infrared emitter, N/A. CD: datablade/SFH487P.pdf -Downloadet: 10-12-2010.

Texas Instruments, 2009. Texas Instruments. Single Chip Very Low Power RF Transcei-

ver, 2009. CD: datablade/TI-UHF.pdf - Downloadet: 29-11-2010.

Texas instruments, 2000. Texas instruments. Excalibur low-noise high-speed JFET-input

operational ampliers, 2000. CD: datablade/tle2072.pdf - Downloadet: 10-12-2010.

Tom S. Pedersen, N/A. Tom S. Pedersen. Retningsmodellen, N/A. CD: slides/Retnings-model.pdf - Downloadet: 17-10-2010.

Tom S. Pedersen, 2010. Tom S. Pedersen. Motormodellering slides, 2010. CD: slides/sli-desengmm5.pdf - Downloadet: 17-10-2010.

Vishay, 2008. Vishay. Silicon PIN Photodiode, RoHS Compliant, 2008. CD: databla-de/BPW34.pdf - Downloadet: 10-12-2010.

130