DIY Nitrox Analyzer (Arduino based)

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

...
Each time you power on or press the push button it determines the calibration value for air (20.9 %).
pertinent line is "calValue = 20.9000/currentmv;"
You can also calibrate it using 100% by changing "20.9000" to "100.0000".
...
Yeah, figured that out with a pen, paper and a calculator (old-school....)

I added a 2nd button for calibration with 100% oxygen, to see what happens:
-calibration with air results in measuring pure oxygen at 100,32%
-calibration with 100% oxygen results in measuring 20,83% when exposed to air
Cell I used is AO2 CITIcel

I'm fiddling with your code and this one. Also got a CO sensor on the way, specs say it's possible to measure in the 1ppm till 15ppm range, so I'm curious what the results will be when I expose this one to a calibration gas.
analyzer.jpg
 
Yes, please do!

Electronics noob question; you mentioned either here or in your notes the two versions of holding current for the 5v step-up module; how do you determine which amperage a particular instance is if it's not on the product specs?

Not on the product specs. These are generic "Chinesium" parts so you are not really sure. The symptom is you get "auto power off" after about 2 minutes or so. You have to turn it off and on again to make it power up again. You can look at this as a "feature" or an annoyance. :)
 
Do you keep your CO analyzer constantly powered or do you fire it up a couple hours before heading out to test a tank?
I don’t have a github account but used the code out there with only a few tweaks for the button and display. I haven’t actually used CO monitor on dove tank. Just finished getting all wiring in case yesterday. I’m waiting for 3d printed part from a friend that I have to figure out how to meet with during lockdown! He’ll probably mail it to me. It seems to settle in a few mins, and really as long as it doesn’t change much I figure I’m good. Not sure I need a really accurate CO measurement. If it jumps more than 3-5PPM, I doubt I’ll use the tank! So far on my tanks I have it hasnt moved, but does go up a few when I’m soldering nearby. I don’t have a calibration gas but tests with candles and burnt toothpicks get expected results.
The O2 sensor I used is SS-11A Replaces: Teledyne R17 & MSA 406931
 
I don’t have a github account but used the code out there with only a few tweaks for the button and display. I haven’t actually used CO monitor on dove tank. Just finished getting all wiring in case yesterday. I’m waiting for 3d printed part from a friend that I have to figure out how to meet with during lockdown! He’ll probably mail it to me. It seems to settle in a few mins, and really as long as it doesn’t change much I figure I’m good. Not sure I need a really accurate CO measurement. If it jumps more than 3-5PPM, I doubt I’ll use the tank! So far on my tanks I have it hasnt moved, but does go up a few when I’m soldering nearby. I don’t have a calibration gas but tests with candles and burnt toothpicks get expected results.
I ask because the spec co sensor has about a 180 minute warm up time where to appears to give very inconsistent readings prior to it stabilizing.
 
I ask because the spec co sensor has about a 180 minute warm up time where to appears to give very inconsistent readings prior to it stabilizing.

I see it says 24 hours when used in manufacturing, for mine, I have left it on all day and don’t see any significant change. I did ramp it up with a smoldering wood in a bag and it took a few hours to come back down to normal readings. Thought I broke it, but seems back to normal.
This is the one I have. Link
In looking through the SPEC docs I see the NO2 sensor has a 180min stabilization, but I don’t think it’s all the SPEC sensors.
 
I see it says 24 hours when used in manufacturing, for mine, I have left it on all day and don’t see any significant change. I did ramp it up with a smoldering wood in a bag and it took a few hours to come back down to normal readings. Thought I broke it, but seems back to normal.
This is the one I have. Link
In looking through the SPEC docs I see the NO2 sensor has a 180min stabilization, but I don’t think it’s all the SPEC sensors.
Screenshot_20200417-193622.jpg


An up to 50 ppm drift would make me uneasy considering your threshold for acceptance will be a couple ppm at most.



It's worth mentioning that I'm not trying to argue an incorrect sensor choice, just trying to find a solution to what seems like an issue as I wanted to go down the same path as you in building a co analyzer.
 
My bad, didn’t read those pages correctly. But I have not seen a difference. Guess that early - not fully stable - curve was good enough. Like I said if I don’t see a change -as there shouldn’t be any CO, figure I’m good. If the PPM jumps up when tank air is applied I would question the tank.
I’ve now had it on next to me for a while and it’s changed 1PPM in about an hour and that could be from the case heating up affecting it. At this point it’s new and I’ll be doing more testing and hopefully find some calibration gas. For now, if a tank doesn’t move the needle it’s as safe as I’ve always been without it. If PPM moves, I’ll question the tank. More testing for sure.
 
I’ve now had it on next to me for a while and it’s changed 1PPM in about an hour and that could be from the case heating up affecting
I'd be curious to see what it does as you continue on. The chart suggests a 1 ppm drift being about appropriate for an hour of on time.
 
I'd be curious to see what it does as you continue on. The chart suggests a 1 ppm drift being about appropriate for an hour of on time.
Yeah, I’ll leave it on overnight and try and post tomorrow. It’s powered by an 18650 battery and usb 5v step up board is used to also recharge, so easy to keep charged. At this time it hasn’t changed since the initial 1PPM. So I’m pretty happy using it right at startup. With more testing and more specific base (may order small calibration can) we’ll see if adjustments are needed. But compared to never testing a tank for CO before, it’s at least something.
 
The other thing I'd be curious to hear is how old you need to expose the sensor to tank air to get a reading. The documentation sounds like 15 seconds is required, but again, to what level of accuracy. If 15 seconds gets you the last .01ppm accuracy over 2 seconds, who cares?are you using the spec sensor connected directly to your Arduino or are you using their digital output board?
 
https://www.shearwater.com/products/swift/

Back
Top Bottom