AquaticTechTank.net

A forum dedicated to design and program aquatic tanks
It is currently Fri Sep 19, 2014 2:50 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
PostPosted: Mon Dec 31, 2012 3:36 pm 
Offline

Joined: Sun Dec 30, 2012 5:48 pm
Posts: 21
You're spot on with it all.

I realized I made a mistake, one I avoided elsewhere. ABC adjusts up to 30ppm/week - but in air, not water - so this is ppmv. As 400ppmv in air is about 1.3ppmw in water, the weekly impact of ABC in measurement of water CO2 content is then 30/(400/1.3)=0.0975ppmw. That is, if I haven't made another mistake, hehe. MUCH more reasonable than the 30ppmw error I was originally worried about.

As for the pricing difference between 1% and 3%, I'm not ruling out the possibility it's an artificial increase rather than more costly precision hardware. It works on this principle:

http://en.wikipedia.org/wiki/Nondispersive_infrared_sensor

Since the light absorption of CO2 is tiny, I'm thinking it should be easier to detect at higher ppm, not less. I'd be curious if there are any visible component differences on the circuit side between the 1% and 3% versions.

I also visited the manufacturer's website, rather than co2meters. Where I was able to download the software included in the dev kit for free:

http://www.senseair.se/products/software/uip-5/

And although I don't have a sensor, I was able to get this screenshot:

Image

So it appears the $10 extra for the "custom" 1% sensor, is just a charge for co2meters hooking up the sensor and setting this for you. With the purchase of a dev kit (or maybe just a cable), you could do the same, probably even on the 3% sensor. There are other options too, it's possible you might be able to extend the range of the 1% sensor somewhat.

I happened across some other NDIR sensors too:

http://www.allelectronics.com/make-a-store/item/CDS-1/Ndir_Carbon_Dioxide_Sensor/1.html?gclid=CKDLn7G7xbQCFQq0nQod_DgAww

Only good up to 2,000ppmv (6.5ppmw?). But at only $10, it might be fun to take apart and see how it works. Or try to modify it for a higher range.

http://www.co2meter.com/products/s8-miniature-co2-sensor?gclid=CKGFw7fCxbQCFRRbnAod1WkAsA

$65, good up to 2% (20,000ppmv). Or 3.2% via UART only, with reduced accuracy. The sensing part seems to be sealed, with a gas diffusion membrane built-in. Could possibly be a superior choice, though I haven't read the datasheet fully enough to know if there's any catch.


Top
 Profile  
 
PostPosted: Mon Dec 31, 2012 6:01 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 235
Darkcobra wrote:
http://www.senseair.se/products/software/uip-5/

And although I don't have a sensor, I was able to get this screenshot:

Image

So it appears the $10 extra for the "custom" 1% sensor, is just a charge for co2meters hooking up the sensor and setting this for you. With the purchase of a dev kit (or maybe just a cable), you could do the same, probably even on the 3% sensor. There are other options too, it's possible you might be able to extend the range of the 1% sensor somewhat.


Nice find! You probably just need a UART to usb cable and the software to make the configurations.


Top
 Profile  
 
PostPosted: Mon Jan 07, 2013 9:56 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 235
The 3% sensor arrived over the weekend.

Image

I gave DIY silicone membrane a try. It's a little thinner than the commercial silicone sheet I bought. I started to notice condensation forming in the open version.
Image

Image

I saw a discrepancy in the code/readout. I believe for the 3%, all readouts have to be multiplied by 3. I'll see if this is the case tomorrow when the CO2 kicks in.


Top
 Profile  
 
PostPosted: Wed Jan 09, 2013 4:07 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 235
Ok, the sensor is up and running. At first I thought something was wrong with the sensor. The CO2 reading was hovering around 17ppm. It wasn't acceptable in a high light tank.
I had to tear it apart to double check everything. I first tore out the membrane to see if that was restricting gas exchange. It that wasn't the case. I took air from outside with a turkey baster and blew it in the air port hoping it was a calibration issue.

I then pulled out the low tech drop checker to double check. The CO2 was low! Apparently I changed the angle to the filter output to give a slight ripple to the water surface. Before the angle was straight up. I guess the CO2 rich water went more directly to the sensor. From now on, I'll trust the sensor and worry about more or less CO2 pressure and the angle of the filter output. CO2 is indeed complicated.

Here's the new code for the K-30 3% sensor.
Code:
#include <kSeries.h>

/* Reports values from a K-series sensor back to the computer written by Jason Berger Co2Meter.com
*/
int pin = 8;
//multiplier for value. default is 1. set to 3 for K-30 3% and 10 for K-33 ICB
int valMultiplier = 3;
int targetCO2 = 38;


kSeries K_30(12,13); //Initialize a kSeries Sensor with pin 12 as Rx and 13 as Tx
void setup()
{
    Serial.begin(9600); //start a serial port to communicate with the computer
    pinMode(pin, OUTPUT);
}

void loop()
{
  double co2 = K_30.getCO2('p') * valMultiplier; //returns co2 value in ppm ('p') or percent ('%')
 
  //there's a glitch sometimes with the sensor output
  if(co2 >= 0 && co2 <= 30000) {
      co2 = co2 * 0.8317 * 44.01 / 10000;
      //  quicker than co2/1000000 * 0.8317 * 44.01 / 1000000
      //  0.8317 accounts for Henry's Law
      // max ppmw will be 36.6 with 10,000 ppmv

      //raise from 0 to targetCO2... writes every loop
      if ( co2 < targetCO2) {
          digitalWrite(pin, HIGH);
       
      } else {
        //stop at targetCO2
          digitalWrite(pin, LOW);
      }
   
  }
 
 
  Serial.println(co2);   //print value
  delay(1500);   //wait 1.5 seconds

}



Top
 Profile  
 
PostPosted: Wed Jan 09, 2013 4:13 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 235
Oh, and it does look like the 3% is related to the 1% sensor. Somebody should be able to hack the 1% somehow.

They both have a range of 0-10,000. The only difference is the readout of the the 3% is reduce by 1/3.
So if the 1% reads 600ppm, the 3% will read 200ppm.

So in the code, you multiply the values of the 3% by 3 to get the correct value. So, the max value of 30,000 is really 10,000 in terms of output.


Top
 Profile  
 
PostPosted: Fri Jan 11, 2013 12:29 am 
Offline

Joined: Sun Dec 30, 2012 5:48 pm
Posts: 21
Hmm... I don't see any mention of updatable firmware, which could make it super easy to hack after comparing firmwares for both sensors. May still be possible if someone can locate a JTAG port.

Great work so far!


Top
 Profile  
 
PostPosted: Fri Jan 11, 2013 1:20 am 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 235
I think the 1% is good enough for the hobby. I tried controlling the co2 up to 40+ppm with the 3%, and the fishes started to act funny. I now don't believe stories of people having 60ppm and the fauna are fine and dandy. You know who they are :)

They're probably overestimating or created so much surface agitation that the co2 never gets a chance to stay in the water for long.

It's cool to see this sensor is more reactive than a drop checker. It takes hours to see a color change. I'm sure there's a lag with the sensor. I'm thinking 15 minutes at most.


Top
 Profile  
 
PostPosted: Fri Jan 11, 2013 8:04 am 
Offline

Joined: Sun Dec 30, 2012 5:48 pm
Posts: 21
I believe it's possible, at least in some instances, to run at 60ppm without affecting fish. Did it once by accident.

But I don't think it's necessary. I've been running 20ppm for a couple of months now in a high light tank, without noticeable consequences. In my opinion, 30-40ppm really should be enough for anyone. Any more than that is probably overkill, overestimation of the actual level, or using CO2 to make up for other issues which should instead be directly addressed.

If there is significant demand for higher range measurement anyway, that S8 sensor I earlier linked looks to be a more economical alternative than the K-30 3%.


Top
 Profile  
 
PostPosted: Mon Jan 21, 2013 7:22 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 235
My code failed me today. The CO2 level was up to 91ppm and the bottom dwellers were on there sides. I quickly did a 50% water change and brought the level down to 51ppm.

I simplified the on/off condition. I'll update all of the code listed so far. Whiles repairing the code, the flying fox decided to make a break for it and jumped out of the tank and landed next to the laptop.


Top
 Profile  
 
PostPosted: Tue Feb 05, 2013 2:34 pm 
Offline

Joined: Tue Feb 05, 2013 2:25 pm
Posts: 1
I do applications work at CO2meter.com and came across your group discussions regarding Aquatic CO2 measurement..
Just a note about the ABC (automatic background calibration) function on the CO2 sensors.
If you set the ABC interval to 0 ABC is disabled. ABC is purely for IAQ (Indoor Air Quality) applications.
The value is store in EEPROM, you can access and modify teh configuration of the sensor with the DAS software the you can download from the CO2meter.com website.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Copyright 2noodles LLC 2012