EZO-pH shooting random values at Serial monitor and incorrect pH calibration

Hi,
I am using EZO-pH and EZO-EC circuit along with arduino. I got the right readings from the pH probe after calibrating it. But after a while the pH probe was giving me highly inaccurate values.

I tried re-calibrating the pH probe but even at pH 4 i was obtaining pH 10 which was highly inaccurate.

Can someone she some light on this?

what protocol are you using?
when I interfaced a EZO-pH and EZO-DO to a PIC24FJ1024GB610 recently I used I2C
code from Altos Scientific GitHub - Atlas-Scientific/Ezo_I2c_lib: Library for using Atlas Scientific EZO devices in I2C mode

which Arduino are you using?
how do you power the devices?
post a schematic?

Do you have an isolation module? PH sensors are very noise sensitive.

I am using I2C protocol interfaced with Arduino MEGA.
I am powering it with 3.3V from Mega.

EZO EC : MEGA
TX : SDA(20)
RX : SCL(21)
Vcc : 3.3

What do you mean by isolation module?

Something from this collection.

They isolate the sensor power from the rest of the system. We use a previous (4 port and less expensive) version of what is now the T1. We isolate the PH, DO and EC sensors with it.

attached a EZO-pH to a Mega and run File>Examples>EZO_i2c_lib_master>i2c_lib_examples>i2c_read_multiple_circuits
run gives

PH: 6.13  EC: No Data 
PH: 6.13  EC: No Data 
PH: 6.14  EC: No Data 
PH: 6.14  EC: No Data 
PH: 6.13  EC: No Data 
PH: 6.12  EC: No Data 
PH: 6.12  EC: No Data 

will leave it running for a time and see what happens

No, I don't have the isolation circuits

left it running for hours - seems stable

PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data
PH: 6.43  EC: No Data

could be power supply problems

What is the set-up you have used??

Is it mandatory to use the isolation boards on a Zero PCB? If so, why?

direct connection (no inline voltage isolator)
EZO-pH SDA to mega pin 20 SDA
EZO-pH SCL to mega pin 21 SCL
EZO-pH GND to mega GND
EZO-pH VCC to mega 3.3V

do you have pullup resistors on the SDA and SCL lines?

Note that although a sensor unit was built for a commercial project a couple of years ago it has never been properly evaluated in an end user environment
I just programmed the PIC24 and apart from observing that it gave sensible results never carried out further testing

Isolation depends on the rest of the system and the amount of noise in the system. We used an ATmega1284 based board with a bunch of other stuff (solar power management, a couple of switched voltage converters, an ADC). In this case the isolation made a difference. For a simple case you may be OK.

Sensor read order can make a difference - the conductivity sensor uses a current that may affect other sensors that are "close". We first measure temperature - which is the simplest sensor and may be needed for correction of other measurements. Next is PH which is the most sensitive, then dissolved oxygen which is also sensitive, and finally conductivity which can disrupt the others. The measurements are far enough apart so there is time to recover.

So, you're saying that the order and the amount of time between two sensor readings also further helps in isolation. Due to time delay that prevents electrical interference between the two circuits along with the inline voltage isolator.

The power isolation helps keep the system noise out. The reading order minimizes interactions between the sensors. The pH and oxygen sensors are essentially very high output resistance batteries that can be affected by other currents in the solution. In particular the conductivity sensor, which sends current pulses between the electrodes to measure the resistance. The affect should be contained mostly within the sensor housing, but reading order will help if there is any "leakage".

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.