Yet another conductivity probe

There have been a few threads lately about integrating conductivity probes. This is to describe mine.

I started building my own ct_probe a while ago and it is now working well. The actual electrode part is a LFS1305 sensor, a 4 electrode (Kelvin) sensor with an integrated PT1000 temperature. This entirely passive part is potted against a PCB support into a BlueRobotics cage like the celsius sensor. In fact it IS a BR cage. I bought some cages from BR a few years ago in anticipation of this probe.

All the electronics to drive this probe was added to one of my custom boards that sits inside and dry.
The 4-electrode is better than 2-electrode for longer immersion times. In a Kelvin sense, the outer electrodes drive whatever voltage is required to achieve a desired reference voltage at the inner electrodes. The inner electrodes are sensed at high impedance, so no current flow into them. This means that the amount of biofilm over the electrodes (up to a point) is automatically allowed for. The amount of current required to achieve the voltage copying is measured by sensing the voltage across a shunt resistor. The amount of current required to drive a voltage gives the conductivity.

In order to avoid charge accumulation at the electrodes, the reference voltage is switched back and forth every 75us. The direction is switched, the voltages settle, a burst of measurements are made … repeat. This, and a few other control functions, is managed by a little MPU handling around 40000 interrupts per second.

This board (76x76mm) is populated with only the parts needed for the ct_probe driver. The rest of it you can ignore. One of the JST GH shrouds is the probe interface, the other is the I2C interface reporting the results. A dedicated board could obviously be smaller.

The measurements taken by the ADC are converted to temperature, conductivity, salinity and sound speed. The probe was put in a 35ppt calibration solution to determine the final single system constant that soaked up all the resistor tolerance and cage near field effects.

These plots are at 5Hz without any smoothing.

I’m very happy with the results. Having the PT1000 sensor wet and right next to the conductivity electrodes minimises the salinity spike problem. Using the kelvin sense reduces the biofouling problem. Using constant voltage rather than constant current gets the most out of the electrodes across a wider conductivity range. Using switched dc measurement over sinusoid ac measures the resistance component directly. It isn’t going to match the ultimate performance of a SeaBird enclosed measurement chamber, but it provides excellent results on a tiny footprint at a few mA.

Nice!