Archief - Grote verandering ontdekken

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sick-Boy

Legacy Member
Ik ben bezig een injectiesysteem te ontwikkelen voor school en ik ben op zoek naar een manier om acceleratie te ontdekken. De positie van het gaspedaal wordt gemeten door een sensor en deze sensor wordt om de 100mSec ingelezen. 5 ingelezen waarden worden uitgemiddeld (om spikes te vermijden). Acceleratie wordt gezien wanneer deze uiteindelijke waarde iets van een 20% verschilt van zijn voorgangers.

De vraag is dus: hoe kan ik op een compacte manier kijken of er acceleratie plaatsvindt?

ik had zelf gedacht om een 10-tal uiteindelijke waardes in een (FIFO) array bij te houden en het gemiddelde hiervan te vergelijken met de nieuwe waarde, maar na enkele seconden is dit effect uitgewerkt (en de motor is te traag om de acceleratie al te hebben verwerkt)

Alvast bedankt

Kemblin

Legacy Member
flat_acc(i) = (1-u)*flat_acc(i-1) + u*acc(i)

met u een waarde tussen 0 en 1, daar moet ge is wat mee proberen spelen. i is het tijdstip.
flat_acc(i) zal minder spikes hebben naargelang de waarde van u.

maar ik denk dat ik uw vraag ook niet helemaal snap...

Messias.

Legacy Member
Sick-Boy zei:
ik had zelf gedacht om een 10-tal uiteindelijke waardes in een (FIFO) array bij te houden en het gemiddelde hiervan te vergelijken met de nieuwe waarde, maar na enkele seconden is dit effect uitgewerkt (en de motor is te traag om de acceleratie al te hebben verwerkt)

Alvast bedankt

Bedoel je dat je steeds waarden blijft toevoegen aan die array? In dat geval is het vrij eenvoudig. Door een queue te gebruiken die maar een beperkt aantal elementen kan bevatten, en oude waarden "opoffert" voor nieuwe waarden krijg je een lijst waarvan het gemiddelde steeds in beweging is, en recente waarnemingen weerspiegelt.

Of ben ik te simplistisch en begrijp ik uw probleem niet? :)

Sick-Boy

Legacy Member
Ja ik denk dat het wat meer uitleg vraagt en dat er nog andere factoren meespelen
maar ik heb een idee hoe ik het kan oplossen, toch bedankt voor de reacties

Fraggie

Legacy Member
Even terzijde maar is 10Hz is heel laag om iets te sampelen?

Sick-Boy

Legacy Member
uw sampelsnelheid hangt af van hoe snel uw sensor kan veranderen he :)
voor het gaspedaal is dat goed genoeg want uw voet gaat zo snel niet voor grote veranderingen zorgen, en bij kleine veranderingen die eventueel sneller gebeuren maakt dat niet zoveel uit
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan