DIY DIY EC Meter

thanks bud. actually... this week I was in a morning meeting still pretty mushed from the night before and getting really bored... so I had some fun dodging barrels also, with this behind the laptop screen :)
http://www.freekong.org/

glad your enjoying the project!

Donkey Kong stop throwing barrels at me!

Haha just kidding :D:. You are one of my personal heroes here on AFN for attempting something like this.
You don't need to do this, but you do this by heart with much passion! Much respect :High 5:.
:tiphat:
 
This is a trace of the IST Hygrometer readings(green) vs the TSIC 506F. Just cant get a better more stable result out of the IST, its noisy. Improved with adding some capacitances and connecting the shield of the cable but still.
The TSIC is running with a floating shield over the same cable length, just a 100nF cap mounted directly onto its pins as recommended. consecutive reads are always within close tolerance , whereas the IST is bouncing around +/-0.2 or worse.
I2C is not always great and I will have a lot of stuff on the bus by the end of it. Using it with multiple long sensor wires all over the place, I reckon wont be so good. They all can act like antenna cables as well, and when they get next to switching supplies (like the likely noisy ones in LED lights, ballasts) then they can create a horrible noise floor.
The ZACWire interface seems to cope well and Im impressed with the results, they are nearly as smooth as what I got out of the TSYS01 but this part is half the price and easier to work with. Negative is you have to give over one IO to read it, but that's OK, at least we don't end up with a hyper-extended and noisy I2C bus....
Its Ok to take averages but having the cleanest signal in the first place is much better. The averaged green line below would not come out reflecting what the TSIC with the grey line is doing, that well.
BTW in this test both those sensors are so close they are touching and sharing the same body temperature, they are close to 0.1deg c sometimes but the IST keeps wandering off......


tsic vs IST.jpg
 
Been making some gradual progress as time allows, thought I'd report in the latest.

I have 3 of the TSIC 506F sensors now, to make sure the results are good and repeatable with a reasonable effort. All three report in values in close tolerance of each other so this combo will provide the reference to calibrate other sensors by.
I made use of the spare Arduino for the moment to rig these three up.


These sensors were about £6.50 ea from Farnell
The Swiss are pretty well known for accuracy, and these little gems exhibit exactly that. They are good low power (35uA) sensors giving simple temperature measurements (unlike TSYS01 needing some hefty maths to get the reading) and outstanding 0.1deg c absolute accuracy. The resolution is 0.034 deg.
Between the three sensors I have, the readings are within 0.05deg of each other :)
The sensors have some pretty nice features, high precision on chip measurement, built in EEPROM which stores the factory calibration giving a result better than F0.1 Platinum sensors AND the accuracy is unaffected by long extended cables (>10m)

I was able to figure how well they work but the arduino library available is made to keep switching those sensors on and off to get readings. I want to leave them in ON mode and read their 10Hz output instead, which I adjusted the stock library to kind of do but with messed up measurement on some reads. so Im having to meddle with creating a new Arduino library to do it reliably.

Instructions for putting together a TSIC 506F based probe ;

1. First thing is acquire some decent cable, shielded if its going to be a reasonable run, few feet or more. I ordered in a bunch of 5M USB extension leads for about 1.50 ea off eBay. Worked out nice for some flexy shielded four core stuff to use for sensor probe leads.

2. Strip one end back, you'll need three wires for the TSIC 506F , 5V power, Gnd and Signal. In my case I terminated the end with three pin header to attach to an Arduino IO board.
4.jpg5.jpg

3. The sensor end. Take the TSIC 506F and cut back the pins about 5mm since they are very long. Get a 100nF cap and solder it across the power/gnd pins, the two outer pins. Connect the 5V, gnd and signal lines like in the pictures. Note I soldered directly the green (signal) wire and heatshrunk it prior to soldering the cap and finally the 5V and Gnd pins.

1.jpg2.jpg

4. Heatshrink over the assembly
3.jpg

5. Your good to go. This can now be rigged up to Arduino . The sensor is sensitive to noise on the 5V line, so put a nice big cap between the arduino's 5V rail and ground, 100uF I used hold it smooth. Head over to http://playground.arduino.cc/Code/Tsic and get the library (version tuned for 506F)and go from the example sketch.

Now you will have an accurate fix on temperature. You can use this to figure out what offset you need with cheaper sensors like thermistors etc, ie calibrate them against this reference.

Hope its useful to someone. I will update you guys after I get the new library working nicely.
 
Just wondering about how you will get the ec probe to work
Are you getting a ph shield ?
Ore are you going to make a "shield" your self ?.
read some where that using some a opamp circuit to get it to work (making the voltage from the probe stable) Maybe im wrong ?.
:smokebuds:
Peace
 
This is a trace of the IST Hygrometer readings(green) vs the TSIC 506F. Just cant get a better more stable result out of the IST, its noisy. Improved with adding some capacitances and connecting the shield of the cable but still.

I guess this means that the IST humidity readings will also be showing similar noise? Have you done any IST humidity readings yet?
 
Last edited:
I was able to figure how well they work but the arduino library available is made to keep switching those sensors on and off to get readings. I want to leave them in ON mode and read their 10Hz output instead, which I adjusted the stock library to kind of do but with messed up measurement on some reads. so Im having to meddle with creating a new Arduino library to do it reliably.

Nice work. Thank you for posting all this.

I imagine you know this already, but if not: they are turning the sensors on and off to minimize self-heating, which would skew the measurement toward hotter than it is. If you leave it turned on, then you will have some degree of self-heating that may defeat your objective in getting a highly temperature measurement.

I like your photos of your sensor probes. Here's a thought: you might want to consider soldering to a socket rather than to the temperature probes directly. I've read that in some cases soldering can upset the factory calibration and/or damage the sensors. So, if you solder to the socket, and then let it cool, you can push the sensor leads into the socket and thereby side-step the issue.

I am totally new to arduino, but I understand the general concepts. If I wanted to connect the temperature probes to an arduino, do I need any extra components (resistors, capacitors, or whatever) to do it? Or, since it's digital, is it a simple matter of connecting the sensor directly to the arduino, and then using the arduino software to read the pins? A friend gave me a UNO R3, and so I'll study up and try to use that.
 
The sensor is sensitive to noise on the 5V line, so put a nice big cap between the arduino's 5V rail and ground, 100uF I used hold it smooth.

What do you suppose is causing the noise on the arduino's 5V line? Other than observing its effects on the sensors, what's the best way to measure for it directly? Then, by unplugging components, maybe the direct measurements of noise could help identify the source.
 
Just wondering about how you will get the ec probe to work
Are you getting a ph shield ?
Ore are you going to make a "shield" your self ?.
read some where that using some a opamp circuit to get it to work (making the voltage from the probe stable) Maybe im wrong ?.
:smokebuds:
Peace

for the EC, Ive got a few circuits I researched out and simulated earlier, one is the same as the EC shield to compare this simple solution to the others which are a little bit more elaborate op-amp based designs. not using any standard shields as the arduino fits straight down on the motherboard and that kind of is the big mega custom shield :)

your right about the opamps they will be used for measuring the signals, EC and pH certainly. that's why I prepared for this earlier and the power supply I built up feeds in +-5V and +-12V for proper split rail operation. this system is also a kind of test platform - I want those rails available but to be honest its efforts to get those. later I would like to see a single rail version or at least +-5V since we can create the -5 from arduino's 5V rail, using something like MAX1044 quite easily.
 
Nice work. Thank you for posting all this.

I imagine you know this already, but if not: they are turning the sensors on and off to minimize self-heating, which would skew the measurement toward hotter than it is. If you leave it turned on, then you will have some degree of self-heating that may defeat your objective in getting a highly temperature measurement.

I like your photos of your sensor probes. Here's a thought: you might want to consider soldering to a socket rather than to the temperature probes directly. I've read that in some cases soldering can upset the factory calibration and/or damage the sensors. So, if you solder to the socket, and then let it cool, you can push the sensor leads into the socket and thereby side-step the issue.

I am totally new to arduino, but I understand the general concepts. If I wanted to connect the temperature probes to an arduino, do I need any extra components (resistors, capacitors, or whatever) to do it? Or, since it's digital, is it a simple matter of connecting the sensor directly to the arduino, and then using the arduino software to read the pins? A friend gave me a UNO R3, and so I'll study up and try to use that.

thanks! glad its sparking some to start fiddling with arduino's ! nice news earlier this week about Raspberry Pi hitting 1M sales also!
some interesting topics of discussion!

you are right, there is some self heating effect with these kind of sensors. I will recheck over it but I think at least with the TSIC506F it draws very very low current and since the update rate is a fixed, reasonable 10Hz the heating effect will be very small.
Could be interesting to test this later, not to difficult to do with the setup. Mind you I did look out in the graphs I've been looking at if the temp rises gradually like a heating effect, but I didn't notice it. When the arduino and the chart on the PC starts up it auto-scales so it makes visible even tiny changes.

interesting about the sockets and I did stop to wonder, but then again.... many of these avail calibrated IC's are actually surface mount, including the tiny one I mounted to those PCB's. so socket is out of question. Also these things are meant to be built into products, you never find a socket where you don't need one for several reasons, they add cost, also introduce unreliability, vibration can do it over, contacts tarnish, they introduce some resistance and capacitance.... so I imagine these would be certainly soldered down in real production.
I mounted the TSIC at first attempt into a header socket just to test, but even in there it doesnt fit tight or hold well.

Connecting to the arduino is pretty easy. The TSIC 506F will pretty much connect directly on, gnd power and signal to a GPIO. Recommended to place a 100nF cap on the sensor end esp if there will be a long cable acting like an antenna.
If you use a thermistor, you need one resistor at least, which forms a potential divider with the thermistor and give a voltage out for and ADC on the Arduino.

with the IST Hygrometer I have to do more tests and try to work out if that noisy result can be improved or not. 5V rail of the Arduino is stable in itself but usually with any supply, putting enough capacitance on it to hold it steady during bursty use can help. ok these things are hardly drawing 1A bursts, usually you would not need it, but the sensitive IC's with fine resolution are more susceptible to supply noise leaking into temp readings.
To measure it directly would be to get a very accurate and fast scope on the supply lines.

I logged the humidity readings from the hygrometer before but not visualised. I expect them to also exhibit noise since the humidity reading takes temperature in the calculation.
 
  • Like
Reactions: CGR
Back
Top