Arduino pH sensor

From wikiluntti

Introduction

"The probe generates millivolt signals that drift with temperature, the signal conditioning board needs proper calibration, and those cheap pH electrodes from online marketplaces degrade faster than you’d expect." https://pcbsync.com/ph-sensor-arduino/

Some major commercially available or mass-produced solutions:

  1. Atlas Scientific and Gravity analog pH Kit V2 with board, sensor and buffer solutions. Hiqh quality, not open source.
  2. DFRobot Gravity: Analog pH Sensor Kit
  3. Seeed Studio
  4. DIY MORE
  5. Other (Chinese) manufacturers.

If the pH electrode is labotorary grade, it is not designed for submerging into measuring solution permanently. Thus, use an industrial-grade pH electrode (lifecycle about 3 years), but calibrate it at least twice every year.

The probe:

  • Keep wet (store in KCl solution).
  • Don’t put in hot/corrosive stuff.
  • Clean the probe by soaking in 0.1M HCl for 30 minutes. If sluggish response, rinse with distilled water after use.
  • Never touch the glass with your fingers (oils can contaminate the surface).
  • Never wipe it dry. That can create static charges affecting readings.
  • Store in pH 4 buffer (or electrode storage solution) when not in use for extended periods.
    • Never let the glass membrane dry out completely.

Theory

Briefly

An ideal pH sensor because H+ ions. Ranging linearly:

  • U = 0 @ pH 7
  • U > 0 @ pH < 7
  • U < 0 @ pH > 7

A high quality op amp is needed to amplify the voltage.

The pH electrode

  • a passive sensor

See more about impedance and Arduino ADC at https://www.e-tinkers.com/2020/07/a-review-on-seeed-studio-ph-and-ec-sensor-kits-part-1/

Nernst Equation

The Gibbs free energy is related to the free energy change under standard state by

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Q} is the reaction potential, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle R} is the universal ideal gas constant. Also

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta G = -zFE } where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F=N_A q} is the Faraday constant, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle z} is the number of electrons transferred in cell reaction, and thus we have

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{align} E_\text{cell} &= E_\text{cell}^0 - \frac{RT}{zF}\ln Q \\ &= E_\text{cell}^0 - \frac{2.3RT}{nF}\ln Q \end{align} }

The voltage generated across the probe's glass membrane follows the Nernst equation and changes by approximately 59.16 mV/pH at 25°C.

pH electrode

A pH electrode is a voltmeter that measures the electrical potential difference created by hydrogen ions interacting with a glass membrane. Is is usually made of a glass (typically lithium-doped silicate glass). Glass membrane is filled with a buffer solution (usually potassium chloride, pH=7) of known pH. When the probe is immersed into the solution, hydrogen ions in the test solution interact with other positively charged ions on the glass membrane, which creates an electrochemical potential across the membrane

Temperature effects

  1. The electrode’s voltage response changes with temperature (the 59.16 mV/pH value varies).
  2. the actual pH of solutions changes with temperature independent of measurement effects.

Add a waterproof temperature sensor, eg DS18B20.

1

Calibration

Calibration frequency

  • Monthly calibration maintains reasonable accuracy (casual use)
  • Weekly or when readings seem inconsistent (hydroponics nutrient management etc)


Using known liquids

Electric

https://www.electroniclinic.com/ph-meter-arduino-ph-meter-calibration-diymore-ph-sensor-arduino-code/

  • short the external part and the center of the probe connector: 2.5V output.

Code

References