Sida 1 av 2

Accelerometer

Postat: 2 november 2006, 13:07:53
av BadBone
Hej!

(Ny på forumet...)

Jag håller på att förverkliga en ide jag haft länge om att kunna mäta accelerationen i en bil... och undrar om det finns fler som är intresserade?
Har någon redan gjort detta?

Accelerometern är en LIS2L06AL Inertia Sensor som jag har kopplat till en ADC0804 (8-bit a/d omvandlare), som i sin tur sitter i parallellporten på en bärbar PC.

Programmet som läser av 2-vägs parallellporten har jag skrivit i Qbasic4.5 (väldigt simpelt prg). Tanken finns att koppla a/d:n till nåt sorts PIC med minne för lagring av mätvärden, men än så länge duger PC:n.

Postat: 2 november 2006, 13:24:08
av Schnegelwerfer
Om du använder en mikrokontroller med inbyggd A/D-omvandlare blir det bra mycket billigare och dessutom får du bättre upplösning...

Postat: 2 november 2006, 13:34:53
av danei
Är det inte bättre att derivera hastigheten?

Postat: 2 november 2006, 14:00:36
av vfr
Jo, bättre blir det säkert. Om man med bättre menar noggrannare. I en fast installation skulle jag definitivt gått på den lösningen. Vill man däremot ha en portabel enhet som man lätt flyttar mellan olika fordon så är accelerometerprincipen trevlig!

Postat: 2 november 2006, 14:52:42
av Andax
Varför skulle det vara noggrannare att derivera hastigheten? Vid derivering förstärks ju bruset.

Accelerometer

Postat: 2 november 2006, 14:54:19
av BadBone
Liten beskrivning av förutsättningarna:
Bilen som det hela handlar om klarar 0-306Km/h på 7.79s
målet är att kunna mäta hkr på bakhjulen.
samt sluthastighet och tid.

Projektet har inte kostat mig många kr. Pc:n hittade jag i en skrotlåda (500mhz armada), 0804 inköpt för många år sedan... likaså 25pol d-dsub det enda jag köpt nu är accelerometern (runt 111:-).
Billigare?

Jag är definitivt rudis på Microcontrollers... vet knappt vad det är!

Programmet väntar på Vsync och läser av porten i takt med syncsignalen. vid 50hz får man 1 värde / 0.02s.

Jag provade tidigare med en annan teknik, en läsgaffel, pulsskiva och hjul + 8bitars räknare som lästes av på samma sätt som ovan.
Med en hjuldiameter på 150mm och en pulsskiva som har 100 pulser/varv
får man en upplösning på 4.71mm/puls.
-den här anordningen funkar inget vidare rent mekaniskt heller...
tråkigt med ett extra hjul monterat på bilen vid tävlingar...

funderingar: (rätta mig gärna, jag gör säkert nån tankevurpa)
min. antal pulser /0.02s är ju 1, alltså 4.71mm
min hastighet=0.00471m/0.02s=0.236m/s
min acceleration = 0.236m/s / 0.02s = 11.8 m/s/s motsv. 1.2g

med accelerometern får jag en upplösning på 0.05g
+-6g full scale / 255bitar = 0.047g upplösning.
min acceleration= 0.047g x 9.82m/s/s = 0.46m/s/s

- vet inte om jag tänker rätt, men har funderat mycket på det här...
som sagt rätta mig gärna, behöver lite feedback.

mvh BadBone

Postat: 2 november 2006, 15:11:52
av danei
Varför ska du hela tiden räkna med en tids bas på 0,2s? En variant är att låta en µC mäta tiden mellan två pulser. Eller tiden för 8 eller 10 om upplösningen blir för liten.

Du menar inte 255bitar du menar 8bitar, 255 steg.

Upplösnignen förutsätter att du inte har något brus. Du måste dessutom integrera för att få hastighet. Finns det då en offsett så blir det ett akumulerat fel. Dessutom påverkar fjädringen om bilen sätter sig när man accelererar.

Postat: 2 november 2006, 15:41:26
av BadBone
0.02s var helt enkelt ett enkelt sätt att mäta tiden mellan 2 händelser i ett qbasic program (vsync var lätt att läsa av med ett wait kommando).
om nån kan tipsa om ett annat sätt att läsa av tider under 0.02s i ett basic prog. vore det mycket roligare!

Har funderat på att använda wait kommandot för att 'vänta' på en signal i parallellporten (typ ack eller int), då kunde man klocka kretsen utifrån...
undrar bara hur många Hz qbasic i en 500mhz Pc hinner med...???
borde gå att testa på nåt enkelt sätt...förslag?

naturligtvis menar jag 8 bitar (0-255)

blir inte felet större om man deriverar än om man integrerar?

/BadBone

Postat: 2 november 2006, 15:50:02
av danei
"blir inte felet större om man deriverar än om man integrerar? "

Det beror på vilka störningar du har. Brus kan ställa till det när du deriverar. Vid integratin är det offsett du ska vara rädd för. Brus kan filtreras bort.

Mäta korta tider med en PC är nog ingen bra ide. Men du kan ju kolla längre tider än 0,2s Om det tar 1s att gå från 1puls/0,2s till 2pulser/0,2s så har du en acceleration på. 0,12g tex.

Men med en µC går det att göra bättre.

Postat: 2 november 2006, 16:00:44
av BadBone
Hmm, inte 0.2s , 0.02s!

anledningen är att jag vill ha så bra upplösning som möjligt på mina mätningar. sluttiden efter 402m vill man ha så bra som möjligt.
1s = alldeles för stor tidsenhet i sammanhanget.
nåväl, jag ska bara montera accelerometern plant i bilen och fara ut och prova till helgen.

Jag skrotade extrahjulet-iden för en tid sedan.

Postat: 2 november 2006, 16:35:40
av danei
fel av mig 0,1s och 0,02s ska det vara. Tiden på 402m blir exaktare med pulsgivare. ÄR det upplösning eller uppdaterings tid som ska vara bra?

Postat: 2 november 2006, 17:10:45
av bearing
Ett problem är väl att bilen börjar luta bakåt när man drar på mycket vilket gör att accelerometern får med en komponent av tyngdkraften förutom komponenten av bilens acc. Det är nog det som begränsar noggrannheten.

Har du tänkt beräkna effekten baserat på luftmotstånd och rullmotstånd?
Om inte är det detta som begränsar noggranheten mest.

Postat: 2 november 2006, 23:04:02
av BadBone
Japp, det är ett problem, dock lutar inte bilen så mycket bakåt (stödhjulen tar i i värsta fall, om fyrlinksstagen är feljusterade).
+ att om sensorn 'plockar upp' lite tyngdkraft när den lutar säg 10grader, så borde det kompenseras (en aning iaf) av att den 'tappar' lite g i färdriktningen? (eller tänker jag fel?)
står bilen 90gr. rakt upp kommer man inte så mycket framåt.

har också funderat på att använda en till accelerometer ståendes för att mäta lutningen på bilen, och därmed kompensera.

luftmotstånd och rullmotstånd kan man mäta upp och mata in i formeln för effektberäkning.
luftmotstånds koeff beräknas på tiden det tar att minska hastighet från tex 100Km/h ner till 80 Km/h
rullmotstånds koeff = 20Km ner till 0Km/h

Testade lite mer ikväll, och sensorn verkar lite ostabil (varierar +/- 0.1g)
... undrar om det kan bero på att jag inte har några kondingar på varken spänningsmatning (9V Batteri med 7805 stabb.) eller Vin / Vout på sensorn?

/BadBone

Postat: 2 november 2006, 23:09:43
av björn
Har inte den accelerometern två axlar? Om man monterar den med den ena axeln i höjdled borde man vök kunna kompensera för startproblemet eller tänker jag fel?

Postat: 2 november 2006, 23:26:30
av AndLi
BadBone skrev: Testade lite mer ikväll, och sensorn verkar lite ostabil (varierar +/- 0.1g)
... undrar om det kan bero på att jag inte har några kondingar på varken spänningsmatning (9V Batteri med 7805 stabb.) eller Vin / Vout på sensorn?
Vad är det för sensorer du kör med? Vad har de för toleranser? Många de jag tittat på har haft ganska många procents toleranser... så även med en perfekt spänningsmatning kommer de inte visa exakt rätt!!