Misura del TDS dell’acqua oppure della conducibilità elettrica EC

Introduzione

Per monitorare un sistema idrico e valutarne la qualità e/o la concentrazione dei nutrimenti, come avviene in un sistema idroponico,  bisogna rilevare la quantità di materia organica disciolta nell’acqua anche definita TDS (Total Dissolved Solids).

La misura del TDS   è strettamente legata alla conducibilità elettrica della soluzione, infatti, alcuni sensori misurano l’EC (Eelectric Conducibility).

Un altro metodo  che si può adottare per la misura del TDS di una soluzione, consta il  prelievo di un campione della soluzione in esame, e con  un processo di evaporazione dell’acqua il residuo è poi pesato, per identificarne la concentrazione.

Quest’ultimo processo è evidentemente poco pratico e  può essere adottato  solo in ambienti di laboratorio. 

L’argomento di questo post è  analizzerà il processo di misura della conducibilità elettrica della soluzione essendo più pratico e  semplice da implementare.

Il metodo più semplice per misurare la conducibilità della soluzione è utilizzare due elettrodi in cui e’ applicata una d.d.p.

Gli elettrodi sono immersi nella soluzione in esame, e la corrente che scorre tra di essi è strettamente legata al valore di TDS della soluzione.

C’è da considerare che la conducibilità di una soluzione è anche funzione della temperatura, quindi, sarà necessario prevedere un modello di compensazione per legare la misura solo alle sostanze disciolte (TDS) nella soluzione.

Un altro fenomeno fisico da considerare è la polarizzazione degli elettrodi (cariche addensate sugli elettrodi) che limitano il passaggio di corrente e di conseguenza falsano la misura.

Per evitare quest’ultimo fenomeno, si applica ai capi degli elettrodi, un segnale ad onda quadra bipolare,  in questo modo il cambio di polarità evita  che le cariche si accumulino sugli elettrodi.

La frequenza dell’onda quadra deve essere di valore opportuno (non troppo alta) affinché si possano trascurare gli effetti capacitivi tra i due elettrodi.

Per il nostro progetto utilizzeremo il modulo: SEN0244, che amplificherà e genererà la frequenza corretta per il sensore associato.

Figura 1

Il principio di funzionamento

A i due elettrodi è applicata una differenza di potenziale ad onda quadra bipolare, per i motivi descritti nel paragrafo precedente, Figura 2.

Figura 2

La misura si effettua immergendo due elettrodi nella soluzione e il movimento degli ioni all’interno della soluzione  provoca  il passaggio della corrente fra i due elettrodi della sonda.

Figura 3 (Datasheet Analogdevice.it )

L’elettrolisi che si produce all’interno della soluzione è trascurabile, poiché’ la tensione è a bassissimo voltaggio.

La corrente che scorre  nella soluzione e che raggiunge il secondo elettrodo obbedisce alla legge di Ohm.

La resistenza, R, della soluzione può quindi essere calcolata  da questa relazione:

  • V differenza di potenziale applicata ai due elettrodi
  • I è la corrente che attraversa i due elettrodi
  • ρ  è la resistività del materiale espressa in Ω cm
  • L è la distanza tra i due elettrodi
  • A è l’area degli elettrodi

Di solito si considera la conduttanza (G), il reciproco della resistenza e che si misura in Simens (S), e la conducibilità (Y) al posto della resistività che si misura in S/cm.

Riarrangiando l’equazione otteniamo:

Il rapporto L/A è una costante che dipende dalle caratteristiche della sonda (vedi Figura 3):

Con il nostro sistema di misura rileveremo la conducibilità della soluzione che è  legata al valore di TDS.

Compensazione della temperatura

La conducibilità di una soluzione è correlata alla temperatura, poiché la sua viscosità diminuisce all’aumentare della temperatura, che ha come effetto l’aumento della mobilità degli ioni.

Consideriamo una funzione lineare, descritta nell’equazione successiva, dove il coefficiente di temperatura, definito α (conosciuto a priori e che dipende dalla soluzione), ad una temperatura di riferimento di 25 °C.  

  • Yref è la  conducibilità di riferimento  alla temperatura di riferimento Tref.
  • Y è la conducibilità alla temperatura T
  • T è la temperatura della soluzione
  • Tref è la temperatura di riferimento.
  • α è  il coefficiente di temperatura.

Questa equazione verrà usata nel nostro codice per compensare in temperatura, la lettura della conducibilità (EC) della soluzione

Descrizione del progetto

Nel precedente paragrafo,  abbiamo descritto il modello per misurare valore di TDS di una soluzione, sono state introdotte alcuni parametri ed equazioni che potrebbero scoraggiare chi deve realizzare questo progetto.

La parte teorica è stata inserita in questo post per dare un’idea al lettore del principio di funzionamento, ma non bisogna scoraggiarsi, poiché in questo progetto utilizzeremo una scheda, come indicato nell’introduzione, che ha già le librerie con tutti i parametri corretti e le funzioni da usare per la compensazione della temperatura.

La scheda in questione, con la sonda associata è prodotta dalla ditta DFROBOT.

Figura 4 (https://www.dfrobot.com/product-1662.html)

Mentre lo schema elettrico è indicato nella Figura 5.

Figura 5 (https://www.dfrobot.com/product-1662.htm)

 Codice

Dato che dobbiamo usare anche un sensore di temperatura, per la compensazione della lettura del TDS, vi consiglio di leggere l’articolo pubblicato su questo blog, un tutorial su come rilevare la temperatura con il sensore TMP36.

Fortunatamente sull’IDE di Arduino è già presente il codice, con le relative librerie sviluppate dal produttore della modulo elettronico, indicato nel paragrafo precedente.

Per semplicità, useremo il codice riportato nell’esempio, anche perché in questo modo abbiamo tutte le librerie saranno automaticamente caricate nel nostro progetto.

La procedura per caricare il codice d’esempio è indicata nella gif di seguito:

Il progetto d’esempio non comprende anche la lettura della temperatura, nel codice di seguito ho aggiunto questa funzione. Una volta caricato l’esempio, sovrascrivete il codice riportato di seguito e salvatelo, in questo modo avrete una cartelle con il codice e le sue librerie.

#include <EEPROM.h>
#include "GravityTDS.h"
#define TdsSensorPin A1 L'uscita del senmore TDS e' connesso al pin A1
#define val TEMP // L'uscita del sensore di temeperatura e' connesso ad A0

GravityTDS gravityTds;

float temperature = 25,tdsValue = 0;
float analog;
float val = 0; // varibile per la lettura del segnale analogico

 
void setup()
{
    Serial.begin(115200);
    gravityTds.setPin(TdsSensorPin);
    gravityTds.setAref(5.0);  //reference voltage on ADC, default 5.0V on Arduino UNO
    gravityTds.setAdcRange(1024);  //1024 for 10bit ADC;4096 for 12bit ADC
    gravityTds.begin();  //initialization
}



void loop()
{
    
    val = analogRead(TEMP);
    analog = val * 5/1023;  
    temperature = (100*analog)-50; // temperatura in gradi centigradi
    Serial.println("Temperatura: " + String(temperature) + "°C");  
    gravityTds.setTemperature(temperature);  // compensazione temperatura
    gravityTds.update();  //sample and calculate 
    tdsValue = gravityTds.getTdsValue();  // then get the value
    Serial.print(tdsValue,0);
    Serial.println("ppm");
    delay(1000);
}

In questa parte di codice configuriamo i parametri del sistema e lo inizializziamo.

Leggiamo la temperatura e la memorizziamo nella variabile “temperature”.

Leggiamo il valore di TDS e lo compensiamo con la temperatura.

Calibrazione

Come molti sistemi di misura e’ prevista anche una calibrazione.

Il codice per eseguire la calibrazione è presente già nelle librerie fornita dal produttore del sistema, la procedura è riportata di seguito.

  • Caricare connettere il sensore alla board di Arduino e caricare il codice.
  • Pulire e asciugare gli elettrodi del sensore , per non lasciare impurità che potrebbero falsare la misura.
  • Inserire il sensore in una soluzione con un TDS noto, nel mio caso di valore 707 ppm, facilmente procurabili da Amazon.
  • Aprire il terminale seriale dell’IDE di Arduino e digitare “enter” e poi invio, in questo modo Arduino entra in modalità calibrazione
  • Digitiamo il comando  “cal:707” (nel mio caso) e poi premiamo il tasto invio.
  • Per memorizzare i valori di calibrazione nella memoria EEPROM (non volatile) di Arduino, digitare il comando “exit” e poi premiamo il tasto invio.

dopo questa procedura il nostro sistema è stato calibrato e pronto per eseguire le misure.

In molti casi, soprattutto in Europa, il parametro richiesto è direttamente la conducibilità elettrica EC, se volessi convertire i valori di TDS in EC, approssimativamente l’EC è circa la metà del TDS.

EC = EC/2

Un commento

  1. SENSORE CONDUCIBILITA E TEMPERATURA

    Pregiatissimi Avrei necessità di acquistare un sensore di conducibilità e temperatura per valutare parametri in una sorgente di acque

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ti sei iscritto alla newsletter

There was an error while trying to send your request. Please try again.

Quattrodispositivi utilizzerà le informazioni fornite in questo modulo per restare in contatto con te e fornire aggiornamenti del sito