How to count the bicycle wheel revolutions by accelerometer

Click For Summary

Discussion Overview

The discussion revolves around using an accelerometer (BMA250E) mounted on a bicycle wheel hub to count wheel revolutions based on the sine wave patterns detected in the x-axis data. Participants explore the challenges of accurately counting these revolutions, particularly at speeds exceeding 20 km/h, and the impact of varying baseline readings on the sine wave detection.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants suggest that the accelerometer experiences constant acceleration towards the center of the wheel and a rotating acceleration due to gravity, which complicates the detection of sine waves.
  • There is a proposal that the accelerometer should be mounted closer to the center of the wheel to improve accuracy in measuring the sine wave.
  • One participant describes their method of using the x-axis data to count wheel revolutions, noting that the baseline shifts when the speed exceeds 20 km/h.
  • Another participant recommends using a Fourier Transform to filter out variations in the baseline to isolate the frequency of interest.
  • There is a suggestion to calculate the average value of the sine wave data to establish a new baseline for counting revolutions.
  • Some participants express uncertainty about how to implement the averaging method effectively.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the best method to count sine waves when the baseline shifts at higher speeds. Multiple competing views on how to handle the varying baseline and the use of mathematical techniques remain present.

Contextual Notes

Participants mention the need for further experimentation with averaging techniques and the challenges posed by the accelerometer's mounting position and speed-related effects on data accuracy.

Who May Find This Useful

This discussion may be useful for individuals interested in sensor data analysis, bicycle speed measurement techniques, and those working with accelerometers in experimental setups.

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.
 
Physics news on Phys.org
vk8051 said:
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 (which 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.
 
Hi willem2,
Thank you for reply.
I am apologetic for my English, because I am Taiwanese and I don't speak English very often.

I put the accelerometer like This website 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.
 
vk8051 said:
I can read the x-axis
What is x? Radial? Tangential? As already said, using the tangential axis should reduce the variation of the base line.

vk8051 said:
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.

vk8051 said:
It depends on wheel forward or backward.
What does this mean?
 
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 don't know when the base line is different how to count a sine wave.Thanks.
 
vk8051 said:
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.
 
Hi,
I don't know how Calculate the average value to get the new base.
So I ask question here.

Thanks
 
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 "running average"
Google translator says that is 跑步平均
 
  • Like
Likes   Reactions: vk8051
vk8051 said:
The X just I read the BMA250E X axis Reg data.
You need to now which physical axis is X.
 
  • #10
CWatters said:
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 "running average"
Google translator says that is 跑步平均

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

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 22 ·
Replies
22
Views
5K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 19 ·
Replies
19
Views
4K
Replies
9
Views
3K
  • · Replies 19 ·
Replies
19
Views
10K
  • · Replies 25 ·
Replies
25
Views
2K
  • · Replies 5 ·
Replies
5
Views
4K