I have not done anything with electronics for many years (since engineering school), and I am new to the arduino.
However, I have decided that I am going to build my own O2 analyzer for sampling Nitrox scuba cylinders (O2 greater than 21%).
There are full analog designs that I can build and I fundamentally understand what the are doing. Most of these designs are built around DPM with some adjustments to scale via resistors and a POT to scale the reading to be % O2.
However, I am compelled to do this with a microprocessor based design. (Learning experiment for me)
The basic design is a sensor (2 conductor) that self generates a low voltage potential based on the partial pressure of O2 that it senses. Air at 21% will be between 8-13 mV and full scale 100% O2 is linear to about 65 mV. Most readings will be in the 30-40% O2 range with a 0.1% O2 readability desired.
This sensor must be amplified to a value that can be read by the UNO with the correct granularity.
The uno will have a calibrate routine the performs a 1 point cal on air.
The uno will then read the sensor and send the output to an LCD display.
Most of this seems very straight forward to me and is readily modeled from examples and other code.
However, the one part that I have not been able to fully plan out is how to amplify the input signal correctly and ensure that I have resolution to 0.1% O2.
I looked at an adfruit ADC amplifier but it appeared that I would not have the correct resolution. I believe that I need an OpAmp, but I am not knowledgeable of the workings of a real op amp and the practical aspects of using one.
Any help or direction would be greatly appreciated to aim me in the right direction as I learn how to do this.
Once this is working future upgrades will calculate the Max Operating Depth for the mix, and will store the last 5 measurements to allow a scroll back to see what they were. (One step at a time)