[EDIT: ZOMG. rotation matrices are awesome. wish I understood those when I first started this… ]
[EDIT 2: Google released an Android app that does much of this based on your phones accelerometer/gps. i feel discouraged. suppose I’ll be moving on to a different project now.]
My current Microcontroller project is a data logger that keeps track of position, velocity, and acceleration of a motorcycle. It will use this information to generate a visualization of the ride , presenting the raw figures , as well as lean angle, incline, and engine rpm which can be extrapolated as follows:
Straight Standing FBD
Continue to Future Plans
Calculation of the incline angle
Determining lean angle when at an incline is somewhat more complex.. and I have yet to sit down and work through the math – but ill be sure to post as soon as I do. And of course , as it doesn’t have (but probably should get) a gyro, these only apply to the static case. I’ll probably need to get clever in the code to figure to approximate out angular rate without gaining too much error
Engine RPMs will be calculated by performing an FFT to convert the acceleration magnitudes to frequency domain, band pass filtering (between ~8 and 300 hz I expect) to isolate the noise created by the exhaust and/or the engines power strokes. This frequency information will be examined and the range with the most energy will be assumed to be from the engine’s rotation.
where I am now:
I have prototype uC hardware together and logging data (pictured below) the next step is mounting it to my bike and reving the engine to collect data so that I can see if my ideas on RPM determination are valid. Schools been busy lately, so this may have to wait.. but stay posted!
Motorcycle Profiler Hardware
Calculation of the lean angle
Leave a Reply