The project I've set myself is to make an Arduino Nano based datalogger to aid with tuning a motorcycle.
The signals I need to capture are RPM, TPS (throttle position), MAP (manifold vacuum) and AFR (exhaust O2).
The one that is giving me a headache is the MAP.
I thought it would be a moving (but heavily smoothed) voltage signal but after watching it on an oscilloscope I can see it is actually a ripple.
It looks something like this but more like a saw tooth (a faster drop and slower recovery).

It sits at around 3.6v at atmospheric pressure and the dips represent the vacuum when that cylinder is on the intake stroke, and this is what I need to capture.
The Arduino will already be pretty busy I think as it will be constantly counting & converting the rpm square wave pulses to a numerical value, then as often as possible (hopefully every 500ms) it will read all the inputs and write those to the SD card.
Is there a way the Arduino can watch a particular analogue input, to store the lowest voltage for a set period of time and then watch for the next lowest voltage?
If not is there another device that could do this and then output a voltage level to represent the last lowest voltage?
One thing I have considered is using a second Nano to just watch that signal, capture the value and signal the voltage via binary to the datalogger Nano. So if there is a way to do this with Nano I can use a second one to take the load away from the main one as I don't want it to keep loosing count, like every time it pauses to write to the SD card.
Thanks in advance for looking, Rich.
The signals I need to capture are RPM, TPS (throttle position), MAP (manifold vacuum) and AFR (exhaust O2).
The one that is giving me a headache is the MAP.
I thought it would be a moving (but heavily smoothed) voltage signal but after watching it on an oscilloscope I can see it is actually a ripple.
It looks something like this but more like a saw tooth (a faster drop and slower recovery).

It sits at around 3.6v at atmospheric pressure and the dips represent the vacuum when that cylinder is on the intake stroke, and this is what I need to capture.
The Arduino will already be pretty busy I think as it will be constantly counting & converting the rpm square wave pulses to a numerical value, then as often as possible (hopefully every 500ms) it will read all the inputs and write those to the SD card.
Is there a way the Arduino can watch a particular analogue input, to store the lowest voltage for a set period of time and then watch for the next lowest voltage?
If not is there another device that could do this and then output a voltage level to represent the last lowest voltage?
One thing I have considered is using a second Nano to just watch that signal, capture the value and signal the voltage via binary to the datalogger Nano. So if there is a way to do this with Nano I can use a second one to take the load away from the main one as I don't want it to keep loosing count, like every time it pauses to write to the SD card.
Thanks in advance for looking, Rich.