I have been experiencing a very difficult to solve ground loop problem with my pH measuring system. My basic setup is a standard pH electrode running through an op-amp to an ADC which communicates through I2C to a Raspberry Pi.
Calibration of the probe proceeds as expected and testing various liquids in glasses works perfectly. The purpose of the pH meter is to measure the pH of a fish tank. When placed in the process fluid I get very strange reading (sometimes ph of < 1 or > 14). The calibration of the probe also quickly becomes altered. If I have the probe suspended in the process fluid and scoop the probe out with a cup the reading returns to the expected value as soon as the cup breaks the water.
I assume this is a ground loop issue. I have shut off and removed all heaters and pumps however this does not fix the issue. I have noted that plugging and unplugging a monitor into the HDMI port of the Raspberry Pi changes my reading significantly, although it is still wrong either way. The Pi is being powered from a standard cell phone charger.
Do I need to attempt to fully isolate my signal or are there other potential suspects causing the ground loop?
I am using a Ti LMC6001 Op-amp. My circuit is taken from the datasheet http://www.ti.com/lit/ds/symlink/lmc6001.pdf The only changes are some resistor value changes to change the scaling of the voltage.
Update: Instead of using the raspberry pi I hooked the ADC (communicating over i2c) up to an arduino I had laying around. The problem I described has disappeared. Any ideas on why?
Update2: The problem seems to be at least partially solved. I mocked up a quick power supply with an old wall wart and a 5v linear regulator. Using that to power the raspberry pi directly to the 5v bus gives me very stable readings for in and out of process fluid. Use of the HDMI port reintroduces the problem but it is not needed.