Realizzare un Misuratore di pH e Temperatura con Arduino e Sonda pH

Realizziamo un tester pH utilizzando un modulo ad hoc e un Arduino micro corredato da display OLED.

In chimica, il pH è una scala di misura utilizzata per specificare quanto sia acida o basica una soluzione a base d’acqua. Le soluzioni acide hanno un pH più basso, mentre quelle basiche hanno un pH più alto. Conoscendo il pH, possiamo monitorare la qualità dell’acqua nelle aziende agricole, in itticoltura, negli acquari, piscine e così via.

In questo articolo descriveremo il progetto di un tester di pH e temperatura di soluzioni acquose in cui vedremo come interfacciare un sensore di pH e di temperatura con Arduino.

I valori di pH e temperatura saranno visualizzati su un display OLED. Verrà infine descritto il metodo di calibrazione che determinerà la correttezza e l’accuratezza dello strumento. Il sensore pH è l’elemento fondamentale del progetto: si tratta di una Sonda pH molto particolare la cui affidabilità di precisione garantisce il successo delle misurazioni.

Il tester di pH ha una vasta gamma di applicazioni come il trattamento delle acque reflue, prodotti farmaceutici, prodotti chimici e petrolchimici.

Il pH Meter

Il termine pH traduce i valori della concentrazione dello ione idrogeno che normalmente varia tra circa 1 e 10÷14 grammi equivalenti per litro, in numeri compresi tra 0 e 14, come illustrato in Fig. 1. In acqua pura, che è neutra, ossia né acida né alcalina, la concentrazione dello ione idrogeno è di 10-7 grammi per litro, equivalenti a un pH di 7 (pH neutro); più il pH scende, maggiore è la concentrazione di H+ e viceversa.

Fig. 1 Scala di misura del PH.

 

Ricordiamo che per acida si intende una soluzione che ha liberi ioni H+ e deriva da acidi, che chimicamente sono sostanze create dalla combinazione di acqua e ossidi di non metalli; è invece basica (alcalina) una soluzione di un non metallo combinato con acqua, sebbene esistano eccezioni come l’ammoniaca liquida (NH4OH) che deriva dalla reazione fra ammoniaca gassosa (NH3) e acqua.

Un misuratore di pH è uno strumento che misura l’attività degli ioni di idrogeno in soluzioni a base acquosa, indicando la sua acidità o alcalinità espressa da valori pH; più nel dettaglio, misura la differenza di potenziale elettrico tra un elettrodo di misura pH e un elettrodo di riferimento; per questo motivo il misuratore di pH viene anche definito “misuratore di pH potenziometrico”. La differenza di potenziale elettrico esprime l’acidità della soluzione.

Il progetto dello strumento pH Meter prevede un’architettura circuitale molto semplice, come si può notare dallo schema elettrico.

L’elemento centrale è Arduino Nano con microcontrollore ATmega 328p, cui sono connessi il modulo d’interfaccia alla sonda pH (connettore CN1), il display OLED SDS1306, il sensore di temperatura DS18B20 in versione waterproof esterno alla scheda, tramite il connettore CN3, e la Sonda pH connessa esternamente al connettore BNC del modulo d’interfaccia. L’alimentazione della scheda può essere applicata al connettore CN2 da una batteria a 9V o da un alimentatore esterno con tensione continua compresa fra 9V e 12V.

Schema ELETTRICO

La Sonda pH

Il sensore di pH, o sonda pH, ha una struttura tubolare, solitamente di vetro, con un bulbo contenente il sensore nella parte inferiore. Il bulbo dell’elettrodo di vetro è specificamente progettato per misurare il pH selettivamente rispetto alla concentrazione di ioni idrogeno.

All’immersione nella soluzione da testare, gli ioni idrogeno si scambiano con altri ioni caricati positivamente sul bulbo di vetro, creando un potenziale elettrochimico.

L’amplificatore rileva la differenza di potenziale elettrico tra i due elettrodi generata durante la misura e la converte in unità di pH.
Secondo l’equazione di Nernst, l’entità del potenziale elettrochimico nel bulbo di vetro è linearmente correlata al pH:

E = E0 – 2.3 (RT/nF) ln Q

dove E è il potenziale in mV all’elettrodo, E0 è lo zero offset dell’elettrodo, R la Costante gas ideale (8,314 J/mol-K) T la Temperatura in K, F la Costante di Faraday (95,484.56 C/mol) N il Carico ionico e Q il Coefficiente di reazione.

Una sonda pH è composta da due parti principali: un elettrodo sensore e un elettrodo di riferimento, come mostrato nella Fig. 2.

Fig. 2 Tipica sonda pH.

 

L’elettrodo sensore è all’interno di una membrana di vetro contenente una soluzione tampone di pH noto, tipicamente di pH = 7.0. Il pH viene determinato essenzialmente misurando la differenza di potenziale tra questi due elettrodi. L’elettrodo pH produce una tensione in uscita che dipende linearmente dal pH della soluzione misurata, come mostra la Fig. 3 che riporta il valore di tensione in funzione del valore del pH e per diversi valori di temperatura.

La funzione di trasferimento riportata in Fig. 3 e la scala del pH di Fig. 1, indicano che all’aumentare del pH della soluzione, la tensione prodotta dall’elettrodo di misurazione del pH diminuisce. Dalla stessa Fig. 3 si nota che la sensibilità di un elettrodo pH varia in base alla temperatura e, per l’esattezza, aumenta linearmente con il crescere della temperatura. A causa di questo comportamento, è fondamentale conoscere la temperatura della soluzione misurata e compensare la misurazione di conseguenza.

Fig. 3 Tensione di uscita di una tipica sonda pH in funzione del pH e della temperatura della soluzione.

 

 

I sensori di pH richiedono un’interfaccia ad alta impedenza con compensazione della temperatura. La sonda pH è un sensore passivo, il che significa che non richiede alcuna tensione o corrente di alimentazione.

Come già accennato, la sonda genera una tensione in uscita che dipende linearmente dal pH della soluzione misurata. Una sonda pH ideale produce un’uscita a 0 V quando il valore del pH è 7 (soluzione neutra), una tensione positiva (poche centinaia di millivolt) quando il valore del pH scende al di sotto di 7 (soluzione acida) e un livello di tensione negativo quando il valore del pH sale oltre 7 (soluzione basica).

L’impedenza della sorgente di una sonda pH è molto alta poichè il sottile bulbo di vetro ha una grande resistenza, tipicamente compresa tra 10 MΩ e 1000 MΩ. Qualunque circuito di misura collegato alla sonda deve essere ad alta impedenza per ridurre al minimo l’effetto di carico del circuito. Il modulo d’interfaccia al sensore pH, grazie alla sua elevata impedenza d’ingresso, si adatta perfettamente all’alta impedenza di uscita della sonda pH, consentendo un’accurata rilevazione del livello di pH nelle soluzioni acquose.

Dispone di un connettore BNC a cui và collegato il cavo BNC della sonda, e di un’interfaccia PH2.0 da collegare alla porta di ingresso analogico di un microcontrollore o di una board Arduino.

Il modulo è inoltre in grado di misurare la temperatura mediante il sensore LM35 integrato nella scheda, ma, essendo appunto saldato sulla scheda, può misurare la temperatura nei dintorni del modulo, per cui, nel progetto viene previsto l’impiego di un sensore di temperatura impermeabile, il DS18B20 waterproof, per misurare la temperatura della soluzione sotto test. Il circuito del modulo è composto da due parti: la sezione di rilevazione del pH e la sezione di rilevazione della temperatura. Per quanto scritto sopra, riteniamo utile riportare nella Fig. 4 solo la sezione di rilevamento del pH.

Fig. 4 Schema elettrico della sezione di rilevamento del PH.

 

La sezione di rilevamento del pH, o meglio, della tensione di uscita della sonda pH, con l’amplificatore operazionale ad alta impedenza TLC4502, consiste essenzialmente in un partitore di tensione applicato all’ingresso dell’amplificatore a guadagno unitario (sezione U1B di TLC4502), e da un amplificatore con guadagno 2 (sezione U1A di TLC4502).

La sonda pH, mediante il cavo BNC in dotazione, viene collegata fra l’uscita pH- di U1B (schermo del cavo BNC della sonda) e l’ingresso pH+ di U1A (conduttore di segnale del cavo BNC della sonda). L’uscita analogica Po disponibile all’uscita di U1A (pin 3 del connettore CN1), fornisce un valore di tensione corrispondente alla misura del pH.

Poiché la tensione di uscita della sonda pH può variare tra valori positivi e negativi e poiché l’integrato TLC4502 funziona con una singola fonte di alimentazione positiva a +5V, una sezione del TLC4502, la U1B, viene utilizzata come partitore di tensione per fornire una tensione di riferimento di 2,5 V in modo che l’uscita Po sia +/- 2,5V rispetto alla tensione di riferimento, a seconda del valore del pH misurato dalla sonda pH. Il potenziometro RV1 viene utilizzato per la calibrazione, come vedremo più avanti.

Le caratteristiche tecniche del modulo d’interfaccia alla sonda pH (mostrato nella Fig. 5) sono:
• Tensione di alimentazione: 5V ±0.2V
• Assorbimento di corrente: 5-10 mA
• Scala pH: 0-14 (7 = pH neutro)
• Intervallo di rilevamento della temperatura: da 0°C a +80°C
• Tempo di risposta: 5 secondi
• Tempo di stabilizzazione: 60 secondi
• Consumo: 50 mW
• Temperatura di lavoro: da -10°C a +50°C
• Interfaccia al sensore di pH con connettore BNC
• Interfaccia PH2.0
• Umidità ambiente: 95%RH (umidità nominale 65%RH)
• Dimensioni (mm): 42x32x20
• Uscita: uscita analogica in tensione+

Fig. 5 Layout del modulo d’interfaccia alla sonda pH.

 

Il sensore di temperatura DS18B20

Il chip DS18B20 è un sensore di temperatura digitale che prevede il trasferimento dati mediante il protocollo di comunicazione OneWire. Ciò significa che richiede solo una linea dati (un solo conduttore e GND) per comunicare con Arduino o altri microcontrollori.

Può essere alimentato da un alimentatore esterno oppure può derivare alimentazione dalla linea dati (chiamata “modalità parassita”), che elimina la necessità di alimentazione esterna. Ogni sensore di temperatura DS18B20 ha un codice seriale univoco a 64 bit.

Ciò consente di collegare più sensori allo stesso bus dati, ovvero, si può ottenere la misura di temperatura da più sensori usando un solo pin digitale.

In Fig. 6 viene mostrato il sensore di temperatura DS18B20 con i tre conduttori per il collegamento dell’alimentazione e al bus dati. Per controllare il DS18B20 con Arduino Nano sono necessarie le librerie OneWire e Dallas, come vedremo nella descrizione del software.

Le specifiche tecniche del DS18B20 sono:
• comunicazione seriale con interfaccia One-Wire;
• tensione di alimentazione da 3 a 5,5V;
• temperatura operativa da -55 a +125 ºC;
• precisione +/-0,5 ºC (da -10 a +85ºC).

Fig. 6 Sensore di temperatura DS18B20.

Il display OLED SSD1306

In genere, l’OLED SSD1306 può essere utilizzato per visualizzare testo, disegni e immagini in bitmap. Nel progetto del nostro pH Meter, viene utilizzato l’SSD1306, modello monocromatico e da 0,96 pollici con risoluzione di 128×64 pixel, per visualizzare i valori di pH e di temperatura di soluzioni acquose sotto test (codice 1686-OLED096C).

Il display OLED non richiede retroilluminazione con un buon contrasto in ambienti con scarsa illuminazione. Inoltre, i pixel consumano energia solo quando sono accesi, quindi il display OLED consuma meno energia rispetto ad altri tipi di display. Il modello che è stato scelto per questo progetto (Fig. 7) ha quattro pin, GND, VCC, SCL, SDA, e comunica con Arduino Nano utilizzando il protocollo di comunicazione I²C-Bus. Ci sono modelli dotati di un pin RESET aggiuntivo.

Esistono anche altri modelli di display OLED SSD1306 che comunicano utilizzando la comunicazione SPI. Per controllare il display OLED con Arduino Nano sono necessarie le librerie adafruit SSD1306 e Adafruit GFX, come vedremo più avanti.

Le principali caratteristiche tecniche di questo display sono:
• alimentazione da 1,65V a 3,3V per le logiche digitali e da 3,0V a 5,5V per l’alimentazione del chip;
• connessione seriale con interfaccia I²C e SPI.

Fig. 7 Il display OLED SSD1306.

Collaudo

Per testare il pH Meter occorre innanzitutto installare alcune librerie di Arduino necessarie alla gestione dei dispositivi dello strumento da parte di Arduino Nano.

Colleghiamo questa al PC con un cavo USB e apriamo l’IDE. Selezioniamo la scheda Arduino Nano con Strumenti->Scheda->Arduino Nano, poi Strumenti->Processore->ATmega328p, infine, Strumenti->Porta->COM14, la COM14 è di esempio, voi dovrete selezionare la porta COM a cui risulta connesso Arduino Nano. Ora, con Strumenti->Gestione Librerie, apparirà la finestra Gestore librerie per la ricerca delle librerie da installare.

Nella barra di ricerca digitate la libreria necessaria iniziando, ad esempio, dalle librerie OneWire e Dallas per il DS18B20. Digitate “OneWire” nella barra di ricerca e installate la libreria indicata nella Fig. 8.

 

Fig. 8 Libreria OneWire per il DS18B20.

 

Poi digitate “Dallas” e installate la libreria evidenziata nella Fig. 9.

Fig. 9 Libreria Dallas per il DS18B20.

 

Restando sulla finestra Gestore librerie, passiamo a installare le librerie per il display SSD1306. Digitate SSd1306 nella barra di ricerca e installate la libreria Adafruit SSD1306 (Fig. 10).

Fig. 10 Libreria Adafruit_SSD1306.

 

Poi digitate “GFX” nella barra di ricerca e installate la libreria Adafruit GFX (Fig. 11).

Fig. 11 Libreria Adafruit GFX.

 

Terminata l’installazione delle librerie, chiudete il Gestore delle librerie e dall’editor dell’IDE di Arduino, aprite un nuovo sketch e copiate lo sketch pH-meter_Arduino-nano.ino.
Il codice dello sketch è proposto per intero nel Listato 1.

Caricatelo e al termine della compilazione e caricamento, il display OLED mostrerà dei valori casuali di pH e la temperatura ambiente; si visualizzerà anche la segnalazione di ALLARME pH, non essendo collegata ancora la sonda pH (la visualizzazione di ALLARME pH avviene per valori di pH inferiori a 6 e maggiori di 8). Salvate lo sketch con un nome che preferite. Da questo momento è possibile iniziare il test del pH Meter.

Il pH Meter può essere alimentato a batterie o tramite un alimentatore esterno con tensione compresa fra 9 e 12V.

Considerando il caso di alimentare la scheda con una batteria da 9V, collegate i due conduttori rosso e nero del cavetto collegato alla batteria, rispettivamente al morsetto “+” (morsetto di sinistra) e al “—“ di CN2. Inserite l’alimentazione proveniente dalla batteria agendo sullo swtch SW1; ora eseguiremo una prima calibrazione del pH Meter.

Listato 1

/*************************************************************
** Project: pH Meter
**
** Application: pH and temperature measurement of aqueous solutions
** 
** Micricontroller: Arduino Nano Ver. 3.3, bootloader ATMega328p.
** Temperature Sensor: DS18B20
** Display OLED: SSD1306 128x64
**pH sensor interface: PH 2.0 interface module
** Editor : 
** Date :
** Ver : 0.1
**
**************************************************************/

#include <Wire.h>
#include <OneWire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DallasTemperature.h>

// Data wire is conntec to the Arduino digital pin D8
#define ONE_WIRE_BUS 8
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass oneWire reference to Dallas Temperature sensor 
DallasTemperature sensors(&oneWire);

#define SensorPin 0 //pH meter Analog output to Arduino Analog Input 0
#define Offset 0.00 //deviation compensate
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

unsigned long int avgValue; //Store the average value of the sensor feedback

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

/***********Setup*******************/
void setup()
{
Serial.begin(9600);
// Start up the library
sensors.begin(); // initialize the DS18B20 temperature sensor:

pinMode(13,OUTPUT);

// Address 0x3C or 0x3D for OLED 128x64
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) 
{
Serial.println(F(“SSD1306 allocation failed”));
for(;;);
}

delay(2000);
display.clearDisplay();

//Set text.
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,30);
display.print(“ pH meter “);
display.display(); 
delay(3000);
display.clearDisplay();
Serial.print(“ pH meter “);

} 

void loop()
{
int buf[10]; //buffer for read analog

for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value
{ 
buf[i]=analogRead(SensorPin);
delay(10);
}
for(int i=0;i<9;i++) //sort the analog from small to large
{
for(int j=i+1;j<10;j++)
{
if(buf[i]>buf[j])
{
int temp=buf[i];
buf[i]=buf[j];
buf[j]=temp;
}
}
}

avgValue=0;
for(int i=2;i<8;i++) //take the average value of 6 center sample
avgValue+=buf[i];
float phVolt=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
float phValue = -5.54 * phVolt+ 20.84; //convert the millivolt into pH value

Serial.print(“ pH:”); 
Serial.print(phValue,2);
Serial.println(“ “);

Serial.print(“ Po:”); 
Serial.print(avgValue,2);
Serial.println(“ “);

/***************Display pH and temperature value.*************/
display.setTextSize(2);
display.setCursor(50,0);
display.print(“pH: “);
display.setTextSize(3);
display.setCursor(20,20);
display.print(phValue);
display.print(“ “);
display.display(); 
delay(2000);
display.clearDisplay(); 

// Display pH ALARM.
if(phValue>8.0 || phValue<6.0) {
display.setTextSize(2);
display.setCursor(0,30);
display.print(“ pH ALARM “);
display.display(); 
delay(2000);
display.clearDisplay(); 
}

//Call sensors.requestTemperatures() to issue a global temperature and Requests to all devices on the bus.
sensors.requestTemperatures(); 
Serial.print(“Celsius temperature: “); 
// Why “byIndex”? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
Serial.println(sensors.getTempCByIndex(0)); // get and print the temperature in degree Celsius
delay(1000);

// Let T be temperature in degC from sensor<br>// floating-point number, with a decimal point 
float T = sensors.getTempCByIndex(0);

display.setTextSize(3);
display.setTextColor(WHITE);
display.setCursor(0,20);
//display.println(“Temper: “); // display temperature in deg Celsius
display.print(T);
//display.print(“ “);
display.cp437(true); // code page 437
display.write(167); // character 167 is degree
display.println(“C”);
display.display();
delay(1000);
display.clearDisplay();

digitalWrite(13, HIGH); 
delay(800);
digitalWrite(13, LOW); 
}

/*********************************End code************************************/

Calibrazione del pH Meter

Come accennato in precedenza nella descrizione del modulo d’interfaccia, la tensione di uscita della sonda pH può variare tra valori negativi e positivi.

Per fare in modo che sia i valori negativi che quelli positivi generati dalla sonda possano essere rappresentati con valori positivi nell’intero intervallo di valori pH, la tensione di uscita della sonda pH deve essere traslata di +2,5V, ovvero, si deve far sì che quando il pH è 0, la tensione di uscita del modulo deve essere Po=0V, se il pH vale 7.0, Po=2,5V, mentre se il pH è 14, Po=5V. Per fare questa regolazione utilizzeremo proprio lo sketch che abbiamo caricato prima su Arduino Nano.

Con uno spezzone di conduttore poniamo in corto circuito il connettore BNC del modulo per essere sicuri che stiamo simulando un pH di 7.0 pari ad una tensione d’ingresso al modulo di 0V (quello vicino al connettore BNC del modulo).

Apriamo il monitor seriale e regoliamo finemente il potenziometro RV1 fino ad visualizzare un valore di Po esattamente di 2,5V, corrispondente ad un pH. Questo semplice procedimento che abbiamo definito “prima calibrazione”, sembrerebbe esaustivo per la calibrazione della sonda pH, se si presuppone che tutte le sonde pH siano uguali, ossia con identica funzione di trasferimento.

In realtà, tutte le sonde sono leggermente diverse l’una dall’altra, specialmente quelle commerciali. Inoltre, come abbiamo visto nella Fig. 3, anche la temperatura della soluzione sotto test influisce, anche se leggermente, sulla lettura del pH, quindi il modo migliore per calibrare la sonda è usare una soluzione pH di calibrazione (buffer solution). Per le soluzioni di calibrazione è definita la compensazione della temperatura da prendere in considerazione per la corretta calibrazione.

I valori di pH sono relativamente lineari per un certo intervallo di valori, in genere tra pH 2 e pH 10. Per determinare un tratto lineare di calibrazione su di un piano cartesiano, abbiamo bisogno di due punti di riferimento per tracciare una linea retta, quindi ricavare la pendenza della funzione di trasferimento in modo di poter calcolare qualsiasi valore di pH da una data tensione di uscita della sonda (riferitevi al grafico di Fig. 3). Per ricavare questi due punti di riferimento necessitano due soluzioni di calibrazione.

Il valore della soluzione di calibrazione pH da utilizzare in questa seconda calibrazione, dipende dall’applicazione, ossia, se si desidera misurare soluzioni acide, si dovrà usare la soluzione di calibrazione pH=4,01; se invece l’applicazione è principalmente la misurazione di soluzioni basiche/alcanine, occorre la soluzione di calibrazione pH=9,18.

Ad esempio, nel caso di coltura idroponica nella coltivazione di ortaggi, la soluzione acquosa tende ad essere leggermente acida con pH compreso tra 5,5 e 6,5, per cui per la calibrazione si utilizzerà la soluzione di calibrazione pH=4,01. Per calibrare il sensore pH del nostro pH Meter utilizzeremo due valori di riferimento di pH con cui misureremo la tensione Po del modulo d’interfaccia.

La scelta migliore è di utilizzare due soluzioni di calibrazione scelte fra le più comuni, come la pH 4.01 e pH 7.00, che sicuramente daranno valori di tensione nella zona lineare della funzione di trasferimento della sonda pH.

La Fig. 12 mostra tipiche confezioni reperibili in commercio di soluzioni di calibrazione (buffer). Supponendo che queste tensioni siano precisamente 3.04V e 2.5V rispettivamente, si potrà ricavare l’equazione della retta da cui convertire la tensione misurata in valori di pH.

Fig. 12 Alcune soluzioni di calibrazione liquide in flacone.

 

Dalla geometria analitica, la formula generale della retta è y = mx + b, in cui m è il coefficiente angolare, o pendenza della retta, x è il valore misurato di tensione su Po rappresentato sull’asse delle ascisse del piano cartesiano, b è il punto d’intersezione della retta con l’asse delle ordinate, y è il valore di pH sull’asse delle ordinate del piano cartesiano.

Assegnati i valori di riferimento di pH 4,01 e pH 7.00 rispettivamente a y1 e y2, e a x1 e x2 i corrispondenti valori di tensione di 3,04V e 2,5V rispettivamente, si calcolano i parametri m e b per rappresentare la retta in un piano cartesiano:

m=(y2-y1)/(x2-x1)
m = (7.00 – 4,01) / (2,5– 3,04) = -5,54

b=(x2*y1)-(x1*y2)/(x2-x1)
b= [(2,5*4,01)-(3,04*7.00)]/(2,5-3,04)=20,84 ph

Sostituendo m e b nella formula della retta, ponendo con x=phVolt la tensione misurata su Po e y=pH il valore di pH corrispondente, si avrà l’equazione della retta nella forma: ph =-5,54 * phVolt +20,84. Con questa formula il software calcolerà il valore del pH in funzione della tensione di uscita della sonda traslata di +2,5V. Il punto d’intersezione della retta con l’asse delle ascisse si otterrà ponendo y=0 nella formula della retta, quindi:

x0=-20,84/-5,54=3,76 V

Congiungendo le due intersezioni con gli assi, sul piano cartesiano si costruirà la retta mostrata nel grafico di Fig. 13. Con la scheda accesa e ancora alimentata con la batteria a 9V, con il cavo USB al PC e al connettore mini USB di Arduino Nano, dall’IDE di Arduino aprite il monitor seriale.

Fig. 13 Grafico della retta y=-5,54*phVolt+20,84.

 

Immergete la sonda pH nella soluzione di calibrazione pH 4.01 e verificate che il monitor seriale visualizzi Po con un valore di tensione che abbiamo supposto sia di 3,04 V (voi annotate il valore che vi risulta). Ripetiamo la stessa misura con la soluzione di calibrazione pH 7.00 e annotate il valore di Po che dovrebbe essere 2,5V.

Ovviamente queste misure potete farle anche con un multimetro misurando la tensione fra Po (pin 3 di CN1) e massa (pin 4 o 5 di CN1). Con i valori di tensione (phVolt) misurati, come abbiamo visto in precedenza, calcolate il coefficiente angolare m:

m = (7.00 – 4,01) / (2,5– 3,04) = -5,54

e l’intersezione della retta con le ordinate:

b= [(2,5*4,01)-(3,04*7.00)]/(2,5-3,04)=20,84 ph

Si otterrà la formula della retta:

ph =-5,54* phVolt +20,84.

Ovviamente dovrete sostituire i valori di tensione che misurerete in luogo di quelli fin qui ipotizzati. La formula della retta che otterrete dovrete sostituirla alla riga 96 dello sketch, se avete copiato il codice dalla riga 1 dell’IDE.

Se non disponete di soluzioni di calibrazione o non ne avete per tutto il range della scala pH, un pratico test dello strumento, anche se non accurato ma sufficientemente indicativo, può essere effettuato utilizzando liquidi disponibili in casa, come ad esempio il latte, che ha un pH variabile da 6,5 a 6,7, l’acqua di rubinetto (pH fra 6,5 e 8,5), il succo di limone (pH fra 2 e 3), l’acqua saponata, il cui il pH va da 9 a 10 e l’acqua distillata (pH di circa 7).

Con queste soluzioni domestiche è possibile testare lo strumento in quasi tutto il range di misure del pH.

Applicazioni domestiche del pH Meter sul campo, possono essere la misurazione di pH e temperatura dell’acqua di un acquario, di un laghetto o di una piscina, oppure per misurare e correggere il pH del terreno dell’orto e del giardino, poichè ogni pianta necessita di un valore di pH ideale che le consenta una condizione di vita ottimale e un sano sviluppo.

La cura della sonda pH

Dopo il lavaggio con acqua distillata, la sonda deve rimanere bagnata e non può essere lasciata ad asciugare.

Ogni sonda pH viene spedita in un flacone di plastica contenente la soluzione di conservazione e dovrebbe rimanervi fino a quando non viene utilizzata.

Se la sonda viene utilizzata di rado va tenuta nel flacone e la soluzione deve essere ben conservata. Per rimuovere il flacone dalla sonda, tenere il flacone per il tappo e girare il flacone fino a quando non si estrae dalla sonda.

Se si vedono bolle nell’area del bulbo, tenere la sonda dal tappo superiore e agitarla verso il basso come si fa con un termometro clinico.

Se si sta usando la sonda pH in un acquario, un sistema idroponico o qualsiasi ambiente che abbia livelli generalmente deboli di acidi e basi, si dovrà solo ricalibrare la sonda una volta all’anno per i primi due anni. Dopodiché ogni sei mesi circa.

Se si utilizza la sonda pH nella produzione chimica, in un processo industriale o in una soluzione nota per avere acidi e basi forti, la calibrazione deve essere eseguita mensilmente o in casi estremi, dopo ogni lotto di misure.

Lascia un commento

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

Menu