Data Logging Analog Volts

Beginner here. I'm looking for any guidance someone can provide. I have a potentiometer that outputs 0-5 analog volts. I need record data at 100 hz. The data logger needs to be battery powered or work off a DC power source. The data needs to be written to an SD card as a CSV file. An added bonus would be to include a GPS sensor to accompany the potentiometer data. Future plans include added a second potentiometer and an accelometer and so I would need to log five channels at a minimum.

I am looking at the Arduino Uno however I have so many questions. Like how to I log to an SD? Can it operate at 100 hz? How many channels can I log?

The potentiometer is measuring the travel on the front suspension of a motorcycle.

If anyone can point me in a direction, I'd really appreciate it.

When I searched for this I got:- https://howtomechatronics.com/tutorials/arduino/arduino-sd-card-data-logging-excel-tutorial/ Which seems reasonable, you don't need a Mega any Arduino will do.

Can it operate at 100 hz?

Yes, the internal A/D converter can take samples at a 10KHz rate, so plenty of time for many channels.

A .csv file is just a file with comers after each variable and a new line character at the end of each line of data. Just make the file name have a .csv extension so other programs will know what to do with them.

Look/search for the openlog by sparkfun, it’s a serial data logger and all you do is send serial data out and the openlog takes care of everything else.

The openlog sparkfun version only works at 3.3v Because it’s open source you can make your own. I did and made it 5v, I just brought an sd card board from eBay which already had the logic converter on it and a Arduino pro mini.

accelometer

Not to measure lean angle in turns, I hope.

The simplest, fastest, cheapest and easiest to use data logger is the Sparkfun OpenLog. It logs anything that comes from Serial.print commands. To log two ADC channels, use something like

Serial.print(analogRead(A1));
Serial.print(",");
Serial.println(analogRead(A2));

Then stick the uSD card in your laptop and read as a .csv file.

Everyone... this is all awesome feedback. I feel I have a starting point. @PaulRB, I'm not planning to measure lean angle, however, can you explain why you made the comment? I'm curious.

Its a common mistake to think you can measure the lean angle of a bike using an accelerometer. Of course, you can't. The lean angle has to match sum of forces (gravity + centripetal) acting on the bike, so the accelerometer sees no change in the direction of force, only the magnitude changes.