# How to count the bicycle wheel revolutions by accelerometer

• I
vk8051
Hi,
I am setting the accelerometer (BMA250E) on the bicycle wheel hub.
I want to count the wheel revolutions(each sine wave) but the Speed over 20km the x-axis(a) data will increase.
My question is: How to count the sine wave when x-axis sine wave position move to high or low.

Thanks.

Related Other Physics Topics News on Phys.org
I am setting the accelerometer (BMA250E) on the bicycle wheel hub.
I want to count the wheel revolutions(each sine wave) but the Speed over 20km the x-axis(a) data will increase. .
Because the accelerometer is rotating (wich it can't detect), the accelerometer will feel a constant acceleration towards the center of the wheel of (ω^2)r and a rotating acceleration due to the of gravity of magnitude g.
For an 28 inch bicycle wheel at 20 km/hr ω = 7.8 rad/sec.
The acceleration due to the wheel will be bigger than g if (ω^2)r > g so r > 0.16 m.
If you mount the accelerometer further than 16 cm from the center of the wheel the constant acceleration will be bigger than the acceleration measured due to gravity.
If you put one axis of the BMA250E in the direction of the center of the wheel the acceleration measured in this direction will always have the same sign. One of the other axis should be perpendicular and in the plane of the wheel and that should measure only the acceleration of gravity, and this should produce the sine wave you want. You could also try to mount the device closer to the center of the wheel.

My question is: How to count the sine wave when x-axis sine wave position move to high or low.
I don't understand this.

vk8051
Hi willem2,
I am apologetic for my English, because I am Taiwanese and I dont speak English very often.

I put the accelerometer like This web site Garmin Speed sensor below:
http://triedonline.com/garmin-magnetless-speed-sensor-review/

When the wheel revolution forward or backward. I can read the x-axis will be a sine wave 30~0~ -30.
and I use the 0 be my base line to count the sine wave. one sine wave is one wheel revolution.
But those result is correct when wheel speed under 20km.
I need count the wheel revolutions per second then I can calculate the bicycle current speed in Km/h.

My Question is:
When the Speed over 20KM, the sine wave base will no keep in 0.
It will move to up or down. It depends on wheel forward or backward.

Thanks.

A.T.
What is x? Radial? Tangential? As already said, using the tangential axis should reduce the variation of the base line.

When the Speed over 20KM, the sine wave base will no keep in 0.
You need to filter that out. Use Fourier Transform to find the frequency you are interested in.

It depends on wheel forward or backward.
What does this mean?

vk8051
Hi,
The X just I read the BMA250E X axis Reg data.
and the setting is 16G
the x raw data also
if( x > 512){
x -= 512;
}
then I got the X-axis data range is 30~0~ -30.

and wheel rotates different direction then base line will different
for example :
when wheel rotates forward then x-axis will 40~0~ -20 and follow the speed change base line.

and I Google what is Fourier Transform. I need each sine wave.
I just dont know when the base line is different how to count a sine wave.

Thanks.

CWatters
Homework Helper
Gold Member
My Question is:
When the Speed over 20KM, the sine wave base will no keep in 0.
It will move to up or down. It depends on wheel forward or backward.
Calculate the average value to get the new base.

vk8051
Hi,
I dont know how Calculate the average value to get the new base.

Thanks

CWatters
Homework Helper
Gold Member
Add up the samples in one cycle. Divide by the number of samples.

That will give you the average for that cycle. You may need to average over more than one cycle. You will need to experiment.

Google translator says that is 跑步平均

• vk8051
A.T.
The X just I read the BMA250E X axis Reg data.
You need to now which physical axis is X.

vk8051
Add up the samples in one cycle. Divide by the number of samples.

That will give you the average for that cycle. You may need to average over more than one cycle. You will need to experiment.