Accelerometer

Berätta om dina pågående projekt.
BadBone
Inlägg: 7
Blev medlem: 2 november 2006, 12:52:37
Ort: Gnarp

Accelerometer

Inlägg 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.
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg 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...
danei
EF Sponsor
Inlägg: 27397
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Är det inte bättre att derivera hastigheten?
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg 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!
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

Varför skulle det vara noggrannare att derivera hastigheten? Vid derivering förstärks ju bruset.
BadBone
Inlägg: 7
Blev medlem: 2 november 2006, 12:52:37
Ort: Gnarp

Accelerometer

Inlägg 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
danei
EF Sponsor
Inlägg: 27397
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg 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.
BadBone
Inlägg: 7
Blev medlem: 2 november 2006, 12:52:37
Ort: Gnarp

Inlägg 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
danei
EF Sponsor
Inlägg: 27397
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg 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.
BadBone
Inlägg: 7
Blev medlem: 2 november 2006, 12:52:37
Ort: Gnarp

Inlägg 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.
danei
EF Sponsor
Inlägg: 27397
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg 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?
bearing
Inlägg: 11672
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg 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.
BadBone
Inlägg: 7
Blev medlem: 2 november 2006, 12:52:37
Ort: Gnarp

Inlägg 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
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg 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?
Användarvisningsbild
AndLi
Inlägg: 18249
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg 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!!
Skriv svar