12
Designplan – mätning av acceleration hos bilbanebil version 1 Per-Emil Eliasson, Claes Fälth, Manne Gustafson, Andreas Gustafsson 22 juni 2003

Designplan – mätning av acceleration hos bilbanebil · Detta kommunicerar med programmet MatLab, i vilket integrering av accel-erationen och presentation av beräknad hastighet

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Designplan –mätning av acceleration hos bilbanebil

version 1

Per-Emil Eliasson, Claes Fälth,Manne Gustafson, Andreas Gustafsson

22 juni 2003

INNEHÅLL Industriprojekt – ISY

Innehåll

1 Inledning 2

2 Design av delsystem 3

2.1 Scenario – från mätning till MatLab . . . . . . . . . . . . . . . . . 3

2.2 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.3 Allmänt om BASIC STAMP . . . . . . . . . . . . . . . . . . . . . 5

2.4 Radiolänk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

A Bilagor - datablad 11

sida 1

1 INLEDNING Industriprojekt – ISY

1 Inledning

Detta dokument avser att i detalj beskriva hur vi tänker oss att lösa uppgiftenmed att mäta acceleration hos bilbanebilen. Eftersom mycket av designen harskett utifrån datablad, kan den komma att behövas modifieras allt eftersomimplementationen fortgår. Dock hoppas vi på att slippa genomföra stora struk-turella förändringar.

sida 2

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

2 Design av delsystem

I detta avsnitt beskrivs de olika delsystem som krävs för att mäta och överförainformation om bilens acceleration till datorn. Först beskrivs ett scenario därman kan följa hur de olika systemen interagerar vid en typisk mätning. Varjedelsystem beskrivs sedan var för sig.

2.1 Scenario – från mätning till MatLab

Nedan beskrivs alla steg från det att en acceleration påverkar accelerometerntill det att mätvärdet fås in i MatLab. Se även figur 1. De olika stegen beskrivsmer detaljerat i respektive delar av designplanen.

1. Accelerometern registrerar en acceleration och skickar ut en pulsbred-dsmodulerad signal som anger hur stor accelerationen är.

2. Signalen läses av i en Basic Stamp II (BSII) m h a kommandot pulsein.Bredden på pulsen översätts till ett binärt tal (12 bitar) som sedan skickasseriellt till en sändare. Informationen skickas i två byte, á åtta bitar. Sexbitar i varje byte används till mätvärde, en bit till paritetsbit och en för attidentifiera om det är byte ett eller två för mätningen.

3. Sändaren tar emot en byte i taget och skickar denna radiomodulerad tillen mottagare, vilken i sin tur skickar den mottagna signalen seriellt tillen BSII. Informationen läggs ut parallellt på pinnar från BSII:n.

4. Mätkortet i datorn (NI PCI-6602) läser in de parallella bitarna och kansedan översätta dessa till ett absolut värde på accelerationen. Genom attanropa en dll-fil ifrån MatLab kan sedan detta värde användas vid reg-lering etc.

2.2 Accelerometer

Vi har valt att mäta accelerationen med hjälp av en accelerometer av märketMemsic (MXD2125GW). I nedanstående tabell ges väsentlig grunddata, för yt-terligare information se datablad i bilaga.

Utsignalen är digital och pulsbreddsmodulerad. En puls med halva cykelnslängd motsvarar accelerationen 0g, en puls med hela cykelns längd motsvarar2g. Skalan är därtill linjär inom mätområdet. Cykellängden är 0,01 sekunder,vilket betyder att accelerationen 0g motsvarar en pulslängden 0,005 sekunder.

Vidare är komponenten stöttålig (50000g), vilket underlättar hanteringen, ochmätområdet passar vårt syfte väl. Effektförbrukningen är relativt låg (max 19,5mW), varför det är möjligt att driva komponenten direkt från BSII-kretsen.Även detta underlättar vid implementationen.

Här bör påpekas att det finns accelerometrar på marknaden som har ställ-bar cykeltid, vilket skulle kunna vara en fördel. De accelerometrar med denna

sida 3

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

Figur 1: Översiktisschema för accelarationsmätning.

Storlek ca 11x10x2 mmStöttålighet 50000gUpplösning 0,2mg /

√Hz (bandbredd)

Mätområde +/- 2gVikt lågSpänning 3,0-5,25 VStröm 2,5 – 3,9 mA vid 5,0 VTemperaturområde 0-70 ˚CCykeltid 0,01 s

Tabell 1: Grunddata för accelerometern

sida 4

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

egenskap vi hittat har dock avsevärt lägre stöttålighet. Detta anser vi olämpligtdå bilarna ofta kör av och utsätts för omild hantering som kan ge upphov tillmycket kraftiga accelerationer. Vi har därför anpassat resten av designen så atten cykeltid på 0,01 sekunder kan användas.

Upplösningen beror på hur snabbt accelerationen som mäts varierar, se tabell??. Hur mycket detta påverkar noggrannheten är svårt att uppskatta, då accel-erationens bandbredd är svåråtkomlig. Ett försök har dock gjorts, se avsnitt ??om feluppskattning.

2.3 Allmänt om BASIC STAMP

I bilen samt på mottagarsidan sitter en modul kallad Basic Stamp tillverkadav företaget Parallax Inc. Basic Stamp är en mikrokontroller som är designadför att användas i en rad olika tillämpningar. Basic Stamp består av ett BasicInterpretor chip", ett minne i form av ett EEPROM, en 5-volts regulator och 16I/O pinnar som programmeras enligt önskemål. I mikrokontrollern finns ettantal inbyggda kommandon för matematiska operationer samt operationer förI/O pinnarna. Mikrokontrollern programmeras med en förenklad variant avBASIC kallad PBASIC. PBASIC är utvecklat av Parallax och innehåller mångatraditionella BASIC kommandon men också helt unika kommandon avseddaför Basic Stamp.

Programmeringen av mikrokontrollern sker med hjälp av BASIC Stamp Edi-torsom finns tillgänglig både för Windows och DOS. Genom att placera BasicStamp på ett s.k. "Carrier boardförsett med en DB9 kontakt överförs sedan pro-grammet via datorns serieport till EEPROM:et.

Brädan innehåller förutom DB9 porten och sockel för BS2-IC även en resetk-napp och en kontakt för ett 9-volts batteri.

I vårt fall använder vi den medföljande ”Basic Stamp II Carrier board” vidprogrammering av mikrokontrollern. I bilen och på mottagarsidan användervi oss, på grund av utrymmesskäl, istället av rena monteringskort som vi försermed sockel för BS2-IC samt kontakt för spänningsmatning.

Mikrokontrollerns uppgift i bilen

Mikrokontrollerns uppgift i bilen är att ta emot signalen från accelerometernoch omvandla denna till en binär signal som är väl anpassad för den aktuel-la sändaren. Signalen från accelerometern utgörs enligt ovan beskrivning alltsåav en pulslängd beroende av uppmätt acceleration. Denna signal appliceras påen utav mikrokontrollerns I/O-pinnar som definierats som ingång. Mikrokon-trollern har ett antal inbyggda kommandon för operationer på I/O-pinnarna. Idetta fall använder vi PULSIN. PULSIN tar följande tre argument som definier-ar funktionen:

Pin: Variabel (0-15) som specificerar vilken I/O-pinne som skall användas.Denna sätts automatiskt till ingång.

sida 5

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

Figur 2: Basic Stamp II Carrier board med BS2-IC.

Figur 3: Platta för montering i bilen

sida 6

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

State: Variabel (0-1) som anger om signalen som ska mätas är hög (1) eller låg(0). En hög signal inleds med en positiv flank medan en låg signal inleds meden negativ flank.

Variable: Variabel där den uppmätta tiden lagras.

PULSIN fungerar som ett stoppur som triggar på signalens inledande flank(Positiv eller negativ beror av State). Tiden mäts i enheter av 2µs (BSII).

Mikrokontrollerns uppgift är nu att göra om denna tidssignal till ett 12 bitarlångt digitalt ord. För accelerometerns utsignal gäller T2= 0.01 [s] = 5 000 [2µs].Eftersom vi ska mäta accelerationer i området ±1g kommer den av PULSINlagrade variabeln vara av storleken 1250 [2µs] – 3750 [2µs]. Detta medför att1250 [2µs] representeras med enbart nollor i det 12 bitar långa ordet medan3750 [2µs] utgörs av enbart ettor. Detta ger en upplösning på 2g/2500=0,8mg .Detta kan jämföras med accelerometern som med 100 Hz ger en upplösning på0,02mg. Följden blir alltså en förlust i upplösning som vi dock anser acceptabel,förutsatt sändning 2*8 bitar inkl. paritet och ”del-bit”.

Följande PBASIC-sekvens mäter tiden T1 och omvandlar värdet till ett binärtord med 16 bitar.

Read_Force:raw_data VAR Word ‘Deklarerar raw_dataPULSIN 7, 1, raw_data ‘Räknar tiden från pos. till

neg. flank på ing. 7.GForce = ((raw_data/5) -- 500) * 8 ‘Omvandlar till milli-g.RETURN

Kommandot som används för att skicka signaler seriellt är SEROUT. I kom-mandot finns ett flertal funktioner inbyggda för att öka flexibiliteten. Nedanges ett exempel på användning.

SEROUT 1,24972,[Value_ls,BIN7]

Ovanstående rad skickar ut data på pinne 1 som automatiskt sätts till utgång.Andra värdet, 24972, anger ”Baudmode” vilket i detta fall innebär 7 bitar plusen inverterad jämn paritetsbit. Innanför klammern anges vilket data som skaskickas och i vilket format.

2.4 Radiolänk

Den uppmätta pulsbredden skickas seriellt från Basic Stamp II till en sändare.Datan skickas sedan via radio till en mottagare. Radiomoduleringen sker ikomponenterna, vilket gör att vi slipper skriva egna protokoll för överförin-gen mellan sändare och mottagare.

P g a bristande information i datablad hos tillverkare (RFDigital) så finns detvissa frågetecken vad gäller sändningshastighet etc. för radiolänkarna. Dock

sida 7

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

är dessa anpassade för att användas med Basic Stamp, vilket gör att vi gärnavill använda dem trots den bristande informationen.

En typ av länk (RF Digital, RFD27986/RFD27987) kan ta emot data med 9600bps, men skickar den radiomodulerade data endast med 1200 bps, vilket göratt det finns en minsta tid (15 ms) mellan det att två bytes kan tas emot avsändaren. Eftersom vi behöver skicka minst 12 bitar för att bibehålla önskadnoggrannhet på mätningarna måste vi skicka två bytes (á 8 bitar) för var-je mätning. För att utnyttja väntetiden hos sändaren kan vi göra en ny mät-ning på accelerometern medan vi väntar de 15 ms. Denna mätning kan sedanmedelvärdesbildas med den förra mätningen för att utnyttja alla värden frånaccelerometern. En nackdel med denna sändare är att den är stor (8,3 * 4,4 cm).

Figur 4: Tidsschema för sändning av data länkar från RF Digital. Beteckningar-na av typ 1.2 betyder sampling 1, byte 2. Övriga siffror anger ungefärlig tidi millisekunder för varje aktivitet. Tiden mellan pilarna kan användas för attmedelvärdesbilda mätningarna etc.

Figur 5: Sändare & mottagare av typ RFD27995/ RFD27996.

sida 8

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

En annan länk (RF Digital, RFD27995/ RFD27996 - se figur 5) är betydligt min-dre (c:a 5 * 1 cm). Eftersom storleken är relativt viktigt, skulle vi helst använ-da oss av denna länk. Dock är dokumentationen om länken bristfällig, vilketgör att vi har svårt att göra en tydlig design för länken. Den maximala sänd-ningshastigheten är 2400 baud enligt användarmanualen. Det är osäkert omman behöver vänta något mellan varje byte man skickar, vilket är fallet förRFD27986/RFD27987. Om det inte skulle behövas någon tidslucka mellan var-je byte som skickas kommer vi att skicka alla 16 bitar (2 byte) i ett sträck,vilket skulle göra att vi slipper medelvärdesbilda mätningarna och istället kun-na skicka varje mätning från accelerometern. Om även denna enhet fungerarenligt RFD27986/RFD27987 kan en design enligt figur 4 användas. Cykeltidenges av accelerometern som skickar nya mätvärde med 100 Hz. I detta fall kom-mer endast vart annat av mätvärdena användas.

Kommunikation med datorn

För att göra beräkningar och presentera uppmätta data väljer vi att använda enPC.

Data tas in i PC:n med befintligt mätkort, DAQ 6602 från National instruments.Detta kommunicerar med programmet MatLab, i vilket integrering av accel-erationen och presentation av beräknad hastighet kommer utföras. Programför att styra datahanteringen utvecklas i programpaketet LabWindows/CVIoch skrivs i C-kod. Koden kompileras sedan till en .dll-fil som kan köras iMatLab. För att åstadkomma kompatibiliteten med MatLab används MatLab-toolboxen, Data Acquisition Toolbox 1.0 från Math Works Inc. I denna finns enfunktion, mexfunction, vilken man sätter som huvudfunktion i C-koden ochvid kompilering är det sedan denna funktion som gör kopplingen till MatLab.

Mätkortet har 32 digitala in- och utgångar och kan därför både ta emot serielloch parallell data. På Mätkortet finns också åtta stycken räknare vilka delarpinnar på kortet med de digitala in- och utgångarna. Räknarna används avbefintliga program för styrning av bilbanan, vilket medför att en del av dedigitala ingångarna är upptagna. Det finns dock tillräckligt många lediga förbåde seriell och parallell kommunikation.

Vid seriell kommunikation kommer en startbit tala om när det är dags att läsafrån ingången. För att sedan läsa in de olika bitarna rätt måste man ha någonsorts tidmätning i datorn/programmet. Problemet är att det kan bli tidsför-dröjningar i datorn och då kan någon bit bli missad och fel data fås. Seriellkommunikation kan alltså bli instabil.

På grund av denna instabilitet väljer vi att använda parallell kommunikation.Det räcker då att veta när det är dags att läsa och då läses hela accelerationsvärdetin på en gång. En ytterligare fördel med detta är att processorn inte behöveranvändas lika mycket eftersom parallelliseringen av data görs utanför datorn.

I LabWindows/CVI finns färdiga funktioner för att läsa av kortets ingångaroch användbara funktioner är:

Dig_In_Line

sida 9

2 DESIGN AV DELSYSTEM Industriprojekt – ISY

Dig_In_Prt

Huvudprogrammet som skapas kallas Get_acceleration och utför föjande:

• Inläsning av data vid rätt tidpunkter. När data är färdig för läsning skickarBSII ut en puls på en särskild pinne. Programmet ligger hela tiden ochväntar på denna puls och när pulsen kommer läses datan på mätkortetsingångar in i MatLab. Programmet väntar sedan på nästa puls och in-läsning sker igen osv. På grund av pulsgenereringen fås en fördröjning idataflödet, men denna kommer som mest bli 0.04 sekunder eftersom dataskickas med 25 Hz.

• Behandling av data.

– Omvandling av inläst värde till binärt tal.

– Kontroll av paritetsbitar ⇒ signalera om data är felaktig

– Räkna ut accelerationsvärdet dvs dra bort bidrag från paritets- ochstartbitar.

– Tidpunkten för mätningen ska på något sätt bestämmas och return-eras med accelerationsvärdet.

sida 10

A BILAGOR - DATABLAD Industriprojekt – ISY

A Bilagor - datablad

sida 11