# I How to count the bicycle wheel revolutions by accelerometer

1. Aug 23, 2017

### 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.

2. Aug 23, 2017

### willem2

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.

I don't understand this.

3. Aug 23, 2017

### 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.

4. Aug 23, 2017

### A.T.

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

You need to filter that out. Use Fourier Transform to find the frequency you are interested in.

What does this mean?

5. Aug 23, 2017

### 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.

6. Aug 23, 2017

### CWatters

Calculate the average value to get the new base.

7. Aug 23, 2017

### vk8051

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

Thanks

8. Aug 23, 2017

### CWatters

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 跑步平均

9. Aug 23, 2017

### A.T.

You need to now which physical axis is X.

10. Aug 23, 2017

### vk8051

Hi,
I will Google "moving average" and try this way to get new base line.
Thank