Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

I How to count the bicycle wheel revolutions by accelerometer

  1. Aug 23, 2017 #1
    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.

  2. jcsd
  3. Aug 23, 2017 #2
    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.
  4. Aug 23, 2017 #3
    Hi willem2,
    Thank you for reply.
    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:

    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.

  5. Aug 23, 2017 #4


    User Avatar
    Science Advisor

    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?
  6. Aug 23, 2017 #5
    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.

  7. Aug 23, 2017 #6


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Calculate the average value to get the new base.
  8. Aug 23, 2017 #7
    I dont know how Calculate the average value to get the new base.
    So I ask question here.

  9. Aug 23, 2017 #8


    User Avatar
    Science Advisor
    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 "running average"
    Google translator says that is 跑步平均
  10. Aug 23, 2017 #9


    User Avatar
    Science Advisor

    You need to now which physical axis is X.
  11. Aug 23, 2017 #10
    I will Google "moving average" and try this way to get new base line.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted