Detecting low-quality road surface for Bicycles with arduino project?

i need a lot of help :frowning:
Its not as simple as i thought.

i just want to evaluate the Quality of Bicycle-lanes with an accelerometer.
Sensor and Arduino mounting on the bike.
The data should be stored (SD-card).
For presentation i want to transform the stored data into a pcm audio-file (sonification).
Visualisation via FFT.

I read a few days, but there seems to be some problems.

First idea:
ADXL345 board with Arduino-uno or Arduino-nano.
logging the data via SD-card-board.

the possible speed of SD-writing may be too slow, when using a digital accelerometer?
i need a samplerate that allows a measurement of 2 or max. 5mm with a speed of 20-25 Kmh.
So it schould be min. 1500 Hz measurement.
According to nyquist-theorem i need a minimum of 3000 Hz Samplerate (x and y would be nice, but x is essential)?
The more the better!
Im afraid, that with a slow pairing of Sensor-data, samplingrate and storage, some short Transients (imporant to evaluate the comfort of riding) would be ignored, because they are in between the measurement points. Apart from this, disease causing frequencies extend to 1000 hz and above.

I think the accuracy of 10 bit (ADXL345) should be ok (12bit or even 16bit would be better because of better post processing possibilities; SNR optimisation).

The measurement rate of ADXL345 would be fast enough (3,2 khz), but is there a way to store the date (x and y axis) on SD with the digital sensor?

This 'super fast analog-pin logger' seems not compatible with the digital ADXL345.

Solution whith analog measurement?
ADXL326 or eventually ADXL335 (only +-3G) can do the job together with the program from fat16lib?

the sensorboard ADXL326 - 5V ready triple-axis accelerometer (+-16g analog out) : ID 1018 : $17.95 : Adafruit Industries, Unique & fun DIY electronics and kits seems to be limited to 50hz (low-pass with C2?).
Is this right?

Is it possible to change the board (Newby without SMD expirience!) by eliminating the onboard capacitors C2, C3 to get the full Bandwidth ("no external filter on x and y: 1600 Hz")?

Does it make sense to use the arduino platform for this project? But its important that tis is quite cheap, so that people and organisations can easily dublicate it in other cities/countries.

im riding quite often mid-distances by bicycle. 150 miles (2x75) on normal streets, car-lanes are o.k., but just 10 miles on german "Radwege" (separated bikelanes): pain in fingers, pain in arms, pain in back, and so on.
It became trendy to forbid riding on carlanes even for race-bikes. The bicycles now get the worst possible surfaces.
Instead of buying a car i want to force better surfaces for bike-riding.
I wnat that the Traffic-planners and politicians HEAR and SEE (FFT) the pain of long ridings using their horrible surfaces in cantrast with good (car) surfaces.

2-5mm? The area of contact with the road is more than that. The tire is designed to flex around the bumps and so I think would average forces over a larger contact area. A meaningful measurement would be achieved with more like 2-5 cm, I think.

Yes, maybe you are right, but the Prototype-setup ist a race-bike with 700x23 tire and a pressure of 8bar.
So i hope it is possible to measure not just the comfort for city-bikes, but also the roughness as an indicator for the increase of rolling friction.
For me its important because rough surface makes the riding slower/more exhausting.
Do you know what measurementrate with kompatible (bouble-time) samplingrate and logging-speed ist realistic possible with the digital version (ADXL345) and the analog Version)?

A little theory: sorry, it exists only in german bit there are two grafics in "Energie":
( The bike from the netherlands seen in the picture is too expensive, and the bike that made the Diagram shown in the article has a too slow measurement/samplingrate (20hz), that allows only a apoproximately overall comparison between 'quite good' and 'quite bad'. Plus: its too expensive and quite uncomfortable (Akkus, Notebook, big AD-Converter, etc.) )

I think the project as you describe, is feasible. It is just a lot of work. It can definitely be done that way.

1500 Hz is probably only needed if you are riding a bare metal rim on the road.

The averaging effect of the tyre contact surface and the elasticity of the wheels greatly reduces the amplitude of the high frequency components reaching the axle.

First thing I would do is strap a microphone to the handlebar then record the sound using Audacity running a laptop in a backpack. Simply looking at the waveform will give you an idea of the true bandwidth required.

To get scientific results you'll probably need to build a trailing 3rd wheel so you can eliminate the effects of the rider.

Must be a very good road surface if you need an Arduino to detect the bad bits. :slight_smile:

What about pulling a loaded one wheel "trailer" (like some people use for children) behind the cycle and measuring the pull on the drawbar?