Misurare il PH

Ciao a tutti,
come da oggetto, sto cercando di capire come affrontare nel migliore dei modi per le mie scarse capacita :~, la misurazione del PH, dopo parecchie googlate, prima per “cercare” di capire i principi base degli operazionali e poi per “cercare” di interpretare le soluzioni che via via ho incontrato, mi sono fermato su due soluzioni in particolare.
Alla fine, vorrei arrivare ad ottenere un circuito che funzioni bene, senza bisogno di dover effettuare regolazioni o calibrazioni fuori dalla portata delle mie capacità/possibilità, insomma qualcosa che una volta installato sia in grado di funzionare, eventualmente auto-calibrandosi via software visto che in ogni caso qualsiasi sonda ph tende nel tempo a decadere.
Inizialmente ero orientato all’uso di Miniph MinipH I2C pH Interface - Sparky's Widgets di cui grazie anche alle spiegazioni degli stessi ideatori, sono riuscito ad interpretare la parte analogica:

1° stadio amplificazione del segnale (operazionale in configurazione amplificazione non invertente)
2° stadio offset del segnale amplificato (operazionale in configurazione amplificazione differenziale)
Fortunatamente per me due configurazioni comuni, con formule facilmente applicabili, per ora do per assunto che il condensatore C9 serva ad attenuare i disturbi introdotti dalla sonda, come ed in che modo cercherò di capirlo.

Poi tempo fa Etemananki ha generosamente condiviso la sua mega shield Varie "shield" casalinghe, possono servire ? - #46 by Etemenanki - Generale - Arduino Forum da cui ho estrapolato il modulo della misurazione del PH che è simile a quello del PHduino Google Code Archive - Long-term storage for Google Code Project Hosting.

Qui purtroppo non riesco a capire molto, in linea di massima sul primo stadio ho due regolazioni da fare, una sul guadagno (capisco il perché) e l’altra non l’ho capita perché il potenziometro è sull’alimentazione dove è presente sia +5v che -5v, dovrebbe, a quanto ho letto, servire a regolare l’impedenza ma perché o a cosa serva questa regolazione non l’ho capito, il secondo stadio per me è ancora più misterioso, sembrerebbe anche qui in configurazione amplificazione differenziale, ma le R sono messe in modo che non riesco a ricavare nessuna formula, in più esclusi i due condensatori di disaccoppiamento, per tutti gli altri non riesco proprio a darmi spiegazioni, posso solo ipotizzare che servano ad eliminare disturbi o capacità parassite.

Le mie domande quindi sono:

Ho ben interpretato il MiniPH (il primo)?

In modo discorsivo, poi ovviamente cerco di approfondire meglio, qualcuno sa dirmi come funziona di preciso il circuito di Etemananki?
Perché si regola l’impedenza?
Ha cosa servono esattamente tutti quei condensatori e qual è il criterio di utilizzo e posizionamento nel circuito?

Ed ora il domandone dello sprovveduto… :blush:
Fino ad ora mi sono imbattuto in soluzioni che usano operazionali tipo TL072 http://www.ti.com/lit/ds/slos080l/slos080l.pdf o TL082 http://www.ti.com/lit/ds/symlink/tl082.pdf , con alimentazione doppia positiva e negativa, mi sfugge perché nessuno usi ad esempio LM358 http://www.ti.com/lit/ds/symlink/lm358.pdf con alimentazione singola e di conseguenza meno hardware, qualcuno me lo spiega per cortesia?

Come sempre grazie in anticipo a chiunque voglia dedicarmi del tempo :slight_smile:

x iscrizione.

Ciao, scusa ma sono stato poco bene, e non ho ferquentato molto il forum prima ... sto ancora recuperando ... (comunque non festeggiate troppo presto la mia dipartita, non e' mica cosi facile liberarsi di me :stuck_out_tongue: :smiley: ]:smiley: ]:smiley: ]:D)

Il secondo potenziometro (presumo tu intenda quello da 22K collegato con il comune all'ingresso non invertente del primo amp) serve per regolare l'offset e non l'impedenza ... in pratica, serve per poter avere un'uscita solo positiva, se serve, dato che la sonda di PH per sua natura ha un'uscita che e' anche negativa, e non potrebbe essere letta dagli ADC dei micro che non supportano tensioni negative in ingresso (come arduino, ad esempio) .. in pratica cambi il "riferimento di zero" del sistema di ingresso, alzandolo in modo che una tensione che va da "-V" a "+V" in ingresso, venga traslata come "da 0 a +V" in uscita (e' regolabile ovviamente per permettere diverse configurazioni, per avere la taratura devi sapere le caratteristiche della tua sonda ... ad esempio, se andasse da -400mV a +400mV, applichi -400mV in ingresso, regoli il potenziometro per avere 0V in uscita, poi applichi +400mV e regoli l'altro per avere il valore massimo che vuoi, ad esempio 1V ... le due regolazioni non sono totalmente indipendenti, quindi bisogna fare un po di cicli, finche' hai i valori che vuoi ;))

Il secondo stadio e' un'amplificatore compensato, dovrebbe (in teoria :P) eliminare il piu possibile ripple e disturbi, restituendo un segnale pulito con il livello che ti serve per l'ADC, anche qui la regolazione va fatta (dopo che e' stato tarato il primo stadio) in base all'ADC che hai (nel caso di arduino, in base al riferimento dell'ADC che usi), in modo da avere una lettura 0 per il minimo valore della sonda, e al massimo accettato dall'ADC per il massimo valore della sonda (anche qui, si potrebbe fare tutto con il primo stadio, ma e' meglio dividere la cosa, e non usare il primo stadio per amplificare al massimo in segnale, anche per questioni di stabilita' e di criticita' ) ... tutti i condensatori sono filtri per eliminare il piu possibile il ripple e prevenire autooscillazioni, non e' indispensabile farlo, ma se serve la massima stabilita' possibile usali in mylar o poliestere, i ceramici sono buoni lo stesso per applicazioni standard, ma hanno la brutta abitudine di cambiare parecchio il proprio valore con la temperatura (una volta per scomessa avevo costruito un termometro usando come sonda un ceramico da 100n, immaginati tu la variazione :stuck_out_tongue: :D)

Non conoscevo il phduino, ma vedo dal tuo link che anche qui hai usato una configurazione simile sul secondo stadio, e' una delle piu comuni presenti sui datasheet per ridurre al massimo i disturbi, anch'io ho preso spunto dai vari application notes sugli operazionali, principalmente di Linear e Texas :stuck_out_tongue: :D.

Per quanto riguarda l'alimentazione doppia, non sarebbe indispensabile (avevo fatto anche circuiti simili con il 358), ma il sistema a singola alimentazione introduce troppa distorsione e (soprattutto) mancanza di linearita' ai livelli di segnale piu bassi, e qui parliamo di ingressi basati su millivolt ... i miei circuiti con i 358 funzionavano lo stesso, ma le variazioni ai livelli piu bassi NON erano lineari, e piu si abbassa il livello del segnale, piu la cosa peggiora, quindi ho preferito scartarli per le applicazioni piu "serie" e che devono rimanere stabili per lungo tempo ... c'e' la seccatura della doppia alimentazione (se hai gia una doppia tensione non ti serve usare il convertitore, io l'ho inserito perche' in genere chi usa quei circuiti alimenta tutto con 12V singoli), ma il tutto funziona molto meglio del sistema "common-rail" ad alimentazione singola :wink:

Ciao Etemananki,
mi dispiace sapere che hai avuto problemi di salute, ti auguro sinceramente un veloce recupero, quando a festeggiare la tua dipartita questo proprio no, mi serviiiiiii ]:smiley: ]:smiley: ]:smiley: ]:smiley:
In prima battuta, ti ringrazio per le spiegazioni, che sono state effettivamente molto illuminanti, ora vedo con occhi diversi i tuoi circuiti ed appena avrò focalizzato meglio alcune cose che sto ancora approfondendo provo a risponderti in modo puntuale.
In effetti, sto già elaborando alcune cose, per le quali poi ti disturberò ancora, appena sono pronto, se riesco anche oggi, mi rifaccio vivo.

Grazie ancora per la tua disponibilità. :slight_smile:

Riccardo.

Ciao,
ricomincio dal primo stadio, da come mi hai spiegato, regolando il trimmer R6 in serie a R2, regolo l’amplificazione del segnale, mentre regolando il trimmer R3 ovvero la tensione all’ingresso invertente regolo l’offset è corretto?
Spero di si, vado avanti…

La regola che si applica in questi casi è Vout = -((R2+R6)/R1)*Voffset + (1+(R2+R6)/R1)*Vph

Il mio obiettivo è arrivare ad un circuito plug & play, uno perché non ho un alimentatore da laboratorio per giocare con tensioni così basse come quelle delle sonde PH, e due perché l’alternativa sarebbe fare più cicli di misurazioni con sonda e soluzioni di calibrazione finendo direttamente al manicomio, così oggi ho giocato un po’ con le R ed i partitori alla ricerca della configurazione giusta usando valori di resistenze commerciali all’1% di tolleranza ed ecco che il tuo circuito è diventato così:

La Voffset= -5V*(R3/(R3+R11))= -2,325V

Vout = -R2/R1Voffset + (1+R2/R1)Vph= -0,22-2.325 + 1,22Vph

Nell’ipotesi di una sonda ideale, la Vph ovvero l’uscita della sonda varia da 0,414V (PH 0) a -0,414V (PH14) ed applicando la formula sopra avrò una Vout che varia da 0,0642V (PH14) a 1,01658V (PH0)
Il secondo stadio, se non ho sbagliato i conti Amplifica per 5, così teoricamente potrei essere pronto a leggere i dati con l’ADC di Arduino
Che dici ci sono? :expressionless:

Oppure ho sbagliato tutto e con santa pazienza mi dai un’aiutino? :blush:

Ciao Riccardo

Nell’ipotesi di una sonda ideale, la Vph ovvero l’uscita della sonda varia da 0,414V (PH 0) a -0,414V (PH14)

La risposta della sonda pH reale non é fissa. Dipende dalla etá della sonda e dal precedente uso.
Devi calibrare il circuito usando 2 soluzioni di pH conosciuto. Le soluzioni dovrebbero essere scelte per essere vicine al range di misura previsto Non ha senso usare soluzioni 0 e 14 se misuri PH da 6,5 a 7,5.

Ciao Uwe

Grazie per le precisazioni Uwe,
sto imparando in questi giorni cosa significa giocare con le sonde PH, fino ad ora avevo usato in passato misuratori belli e pronti, ma mi rendo conto che costruirsene uno non è semplice, così in questi giorni studiando gli operazionali e avendo a disposizione pochi mezzi e conoscenze scarse, mi baso principalmente su calcoli riferiti a grandezze ideali, va da se che poi in realtà è come dici tu ed è per questo che ho già ordinato soluzioni con PH 4, 7 e 10, in più le misurazioni vanno compensate in base alla temperatura, ma per queste cose agirò poi lato software.
Per la parte Hardware, quella che ho postato prima, tu hai consigli da darmi?
Sono sulla buona strada?

Grazie Riccardo.

scusate la mia ignoranza, ma senza alimentazione negativa come si fa a leggere i voltaggi negativi (PH > 7)?

link il phDuino Google Code Archive - Long-term storage for Google Code Project Hosting. che essendo nato daun progetto di tesi è documentato e poi linka uin sacco di progettini simili (in fondo alla pagina, References)

e infine http://www.dfrobot.com/image/data/SEN0161/pH%20meter%20V1.0%20SCH.pdf (questa scheda + sonda li ho trovati a 25€ DFRobot ph sensor for arduino - Gravity Analog pH Sensor | DFRobot Electronics il che mi ha fermato dal farmi la schedina in casa.

Però 4 tl072 li ho già ordinati, quindi in caso qualche confronto lo posso provare a fare

lesto:
scusate la mia ignoranza, ma senza alimentazione negativa come si fa a leggere i voltaggi negativi (PH > 7)?

Ciao Lesto,
in fatto di elettronica, ignorante come me ce ne sono pochi, non so risponderti, ma di fatto LM358 è a tutti gli effeti un operazionale a singola alimentazione, quindi probabilmente in qualche modo fa...
]:smiley: ]:smiley: ]:smiley: Ma poi... Se sti benedetti operazionali hanno tutti bisogno dell'alimentazione doppia, perché ancora non li fanno col voltage inverter incorporato????? Possibile che devo pensare a tutto io!!!! ]:smiley: ]:smiley: ]:smiley:

Scherzi a parte, PHduino, me lo sono già spulciato a dovere, ed insieme a lui tanti altri, ma io spero di arrivare ad un progetto in cui non ho bisogno di interventi manuali per regolare il guadagno o altro, come appunto succede con il link che hai suggerito, nemmeno per la prima installazione, vorrei arrivare ad un circuitino ben fatto che abbia bisogno al massimo di ricalibrarsi in base al decadimento della sonda e basta ed anche quest'ultima sia possibile nel modo più semplice, sempre con le soluzioni di riferiemnto chiaramente, ma via software.
Il rischio credo si unicamente nella perdita di affidabilità nelle letture agli estremi della scala, ma in un acquario, poter leggere ad esempio da PH2 a PH12, è più che sufficiente, anche troppo, per quella che è la mia esperienza.

Lo chiedo anche a te, secondo te i miei calcoli sono giusti?

Giusto per la cronaca, la sonda che danno con quel progettino è tristemente famosa per inaffidabilità e ciofecaggine... :relaxed:

Grazie ad ogni modo per avermi letto :slight_smile:

Continuo a non capire la storia del LM358 , puoi mettere un circuito? Nel secondo post hai messo uno che ha la alimentazione doppia DOPO la sonda, invece in tutti quelli che ho visto io è prima.. ma in ogni caso mi pare che lo stadio con alimentazione singola aapunto applica un offset per portare il valore da 0 a Xv, mentre l'alimentazione doppia si occupa di "scalare" il voltaggio in modo da farlo rientrare nel range voluto.

Allora, in teoria noi vogliamo un guadagno da 0 a 5V, e immagino che le sonde, per quanto diverse, siano tutte intorno ad un certo range. In teoria potresti effettuare una calibrazione con l'utente; carichi il codice di calibrazione (o magari fa parte del programma definitivo), avvii la controparte lato PC, che si collega all'arduino e scarica la conf attuale; metti la sonda nel liquido di riferimento, l'interfaccia visualizza il PH letto, inserisci il PH atteso e premi OK, lo fai un altra volta con un altra soluzione dal PH opposto, ed essendo la sonda lineare dovrebbe bastare.

Grazie per l'avviso sulla sonda ciofeca, non mi aspettavo altro ma averne conferma è sempre utile. se guardi, sempre con quel modulo sul sito vendono altre accoppiate di sonde, visto che ne sai sai dirmi se quella da 40 euri (DFRobot industrial ph sensor for arduino - SEN0169 | DFRobot Electronics) ne vale la pena?

La questione dell'LM358 scordala, era solo una mia domanda da ignorante per capire se si poteva evitare sull'hardware il voltage inveter, l'altra sonda non la conosco, io mi sono ordinato quella della atlas scientific https://www.atlas-scientific.com/product_pages/sensors/ph-sensor.html, mi sembra un'ottimo compromesso tra quelle da due soldi che si trovano su ebay e le ultra costose professionali tipo hanna instruments, in più atlas ha un kit di soluzioni per provare a fare il ripristino degli elettrodi quando questi decadono troppo... https://www.atlas-scientific.com/product_pages/chemicals/ph-reconditioning.html vendono anche su ebay Atlas Scientific | eBay Stores, peccato i costi di spedizione :~

L'auto calibrazione alla fine dovrebbe avere esattamente il meccanismo che hai descritto, ma senza interfaccia PC, tutto via Arduino, dando però l'opportunita di selezionare i valori delle soluzioni di riferimento che si stanno usando, così la cosa diventa più flessibile da usare, nel wiki doc della sonda che hai postato c'è la tabella con i valori in mV di una sonda idele, ed è da li che poi bisogna iniziare. Compensando in base alla temperatura dell'acqua, avevo da qulche parte i link con le formule ma non li trovo più, alla fine però si trattava di una costante fortunatamente, se hai qualcosa tu mi eviti di rimettermi a caccia. XD

Ciao.

l'ho vista, la sparkfun vende il kit completo sui 100$ (sonde, scheda, liquidi) però è inutile perendere qui liquidi visto che dopo massimo un anno "scadono" non assicurando più il loro PH: meglio comprare di volta in volta le soluzioni, oppure usare delle cartine tornasole per essicurarsi che la sonda non stia sfalsando troppo/si sia rotta.

Io partirò da una base e poi eventualmente la aggiornerò ad una più seria, ne ne avrò bisogno.

da http://www.66pacific.com/ph/simplest_ph.aspx:

In theory, a pH probe produces about 59 millivolts (mV) per pH unit, and at pH 7 (neutral pH) the probe produces 0 volts. Acid pHs produce negative voltages.[...]If, for example, I measure 100 mV, the pH is 100 mV / 54.55 mV = 1.83 pH units deviation from 7.01, so I subtract 1.83 from 7.01 for a pH of 5.18.

da http://blea.ch/wiki/index.php/PH_Meter:

Really need to add temp compensation to this project. seems to change by about .10pH for ever 5F change in temp. Need to research this more.

da quì: http://www.hach.com/asset-get.download.jsa?id=17525673904
dice una differenza di 0.09pH a partire tra misure a 25° e 10°.. e danno la formula per compensare (lineare). In realtà immagino che dipenda anche da come la temperatura influisca sulla sonda stessa!

insomma, sinceramente per un acquario/uso hobbistico, dove magari prima le misurazioni erano fatte con le cartire tornasole secondo me anche la sonda da 20€ è un grandissimo passo avanti xD

Grazie per i link,
ma evita di usare le cartine tornasole per verificare le misure della sonda, a meno che tu non abbia accesso a cartine da laboratorio/certificate quelle che si trovano nei negozi sono pericolosamente inaffidabili :astonished:, ho smesso di usarle anni fa...

Ciao

Ciao,
chiedo scusa, ma sono qui che cerco di far funzionare il mio circuitino, ma non mi torna una cosa, per generare la tensione negativa, sto usanto un LM2663, in particolare il circuito a pag 1, il voltage inverter, uso condensatori elettrolitici da 47uF 25V.

La mia perplessità è che alimentando il circuito ovvero +5V su V+ (PIN 8), non riesco a misurare i fatidici -5V tra OUT (PIN 5) e GND, li riesco a misuare solo tra V+ e OUT, il circuito è montato correttamente, di questo sono sicuro, quindi la domanda è: E' giusto che sia così?
Ho googlato, ma non trovo risposte... :~

Posto “al volo” perche’ sono incasinato, mi scuso per la brevita’ … la doppia alimentazione e’ necessaria per la linearita’ e la stabilita’ del circuito, ho provato in passato anche soluzioni con 358 ed alimentazione singola (l’avevo postata ma non ricordo piu dove), ma dalle prove pratiche ho visto che il circuito, ai livelli di ingresso piu bassi, perdeva linearita’ … un’ingresso variato linearmente si traduceva in un’uscita con una curva che peggiorava sempre di piu man mano che la tensione si abbassava … in questo modo, anche se magari da 5 a 8 ti funziona, non sarebbe lineare, e al di sotto peggiorerebbe sempre di piu …

I circuiti a pompa capacitiva non sono affidabili e non possono dare molta corrente (pochi mA), meglio usare un convertitore gia fatto, che ti risparmi un sacco di mal di testa :wink:

Per quanto riguarda il “plug-and-play”, scordatelo, le sonde degradano nel tempo, e poi diversi lotti di produzione hanno diverse curve di uscita, anche se le differenze sono minime … quelle odierne in genere sono gia compensate per la temperatura, ma lo strumento necessita comunque di essere calibrato, sia all’inizio che ogni tanto, periodicamente, per compensare il degrado della sonda, per quello anche gli apparecchi commerciali economici gia pronti hanno comunque sempre un paio di trimmer di taratura …

Per la doppia alimentazione, ok, tant'é che mi ero messo a giocare appunto con LM2663, invano però da quello che scrivi :~ a questo punto un voltage converter come questo può andare meglio per quello che voglio fare?
(è l'unico che ho trovato in europa e che arrivi in una settimana, altrimenti cina e ragnatele sulla bread finche non arriva :frowning: )
Sul plug and play, intendevo che comunque la calibrazione va fatta in ogni caso con le soluzioni, ma cercando di ovviare via sw a quella hardware, non sono espertissimo, ma per quanto possa degradare una sonda, una volta stabiliti via sw gli scostamenti massimi e minimi in teoria dovrei anche essere in caso di capire se sto lavorando con una sonda troppo degradata... credo.... spero.... bho!!!
Per farmi capire: se con soluzione PH7 ho una lettura che corrisponde a PH5 allora la sonda è andata, avoglia a calibrare...
In pratica potrei stabilire da subito che posso leggere affidabilmente tra PH2 e PH12, quindi tenermi i margini alto e basso per eventuali decadimenti della sonda e se in fase di calibrazione, fatti i dovuti calcoli mi accorgo che li supero stampo un warning sul display... bho io l'ho pensata così... :relaxed:

Riccardo.

se con soluzione PH7 ho una lettura che corrisponde a PH5 allora la sonda è andata

no, vuol dire che è molto idversa dalle altre. devi usare ALMENO 2 (meglio 3) soluzioni note, e se le misure sono stabili (e magari anche belle lineari) la sonda funziona.

Più che peruna sonda PH 3 sull’ADC dia 10 o 100 è un problema che risolvi in calibrazione, che datele 2/3 sostanze note (3 è meglio perchè se il 3° punto non è lineare, la sonda è probabilmente andata/poco affidabile).

noi puoi fare plug-n-play, ma puoi fare plug-n-calibra-n-play, e se fai un sw lato pc che aiuta nella calibrazione diventa una cosa semplice (tanto chi paga 40/70€ BASE per una sonda PH, 5 o 6€ per comprare le bustine di calibrazione a PH noto le spende! esepoi non fa i check ogni 6mesi/anno cavoli suoi, anche se si può prevedere un sistema di 1-2-3 sonde, ce verifica l’allineamento relativo delle misure, e avverta se una sonda è fuori range rispettole altre)

Si ok, volevo solo esporre il metodo, non a caso io stesso ho preso soluzioni a PH 4, 7 e 10 proprio per arrivare a fare

lesto:
plug-n-calibra-n-play, e se fai un sw lato pc che aiuta nella calibrazione diventa una cosa semplice

Mi sono espresso semplificando, ma è questo che intendevo.
Certo che il metodo delle 3 sonde è fico, ma i costi salgono un bel po' :fearful:
Grazie per il link, me lo studio! XD

@ tutti
Provo a richiedere, un voltage converter come questo va bene per giocare con gli operazionali a doppia alimentazione?

Ciao Riccardo

Riccardo prima di tutto i miei complimenti, ho letto il tuo lavoro sul controller dell'acquario.
Anche io mi volevo cimentare con la costruzione di un interfaccia per sonda ph ( ed in seguito anche per l'ec ) puoi mandarmi qualche info sulla costruzione del circuito per il ph ( anche in pm ) ?

Grazie e buona giornata

la discussione è piena di link a schemi, e sono quasi tutti equivalenti, a quanto posso vedere dalla mia niubbaggine. Quindi prendi quello che i piace di più e mplementalo