- Nødvendige komponenter
- Hva er pH-verdi?
- Hvordan fungerer Gravity Analog pH-sensor?
- Arduino pH-måler kretsdiagram
- Programmering av Arduino for pH-meter
- Kalibrering av pH-elektrode
- Testing av Arduino pH-tester
pH-skala brukes til å måle surheten og basiteten til en væske. Den kan ha avlesninger fra 1-14 hvor 1 viser den mest sure væsken og 14 viser den mest basiske væsken. 7 pH er for nøytrale stoffer som verken er sure eller basiske. Nå spiller pH en veldig viktig rolle i våre liv, og den brukes i forskjellige applikasjoner. For eksempel kan den brukes i et svømmebasseng for å sjekke kvaliteten på vannet. Tilsvarende brukes pH-måling i en rekke applikasjoner som landbruk, avløpsrensing, industri, miljøovervåking, etc.
I dette prosjektet skal vi lage en Arduino pH-måler og lære å måle pH i en flytende løsning ved hjelp av en pH-sensor for tyngdekraften og Arduino. En 16x2 LCD brukes til å vise pH-verdien på skjermen. Vi vil også lære å kalibrere pH-sensoren for å bestemme nøyaktigheten til sensoren. Så la oss komme i gang!
Nødvendige komponenter
- Arduino Uno
- 16 * 2 Alfanumerisk LCD
- I2C-modul for LCD
- Gravity Analog pH-sensor
- Koble ledninger
- Brettbrett
Hva er pH-verdi?
Enheten vi bruker for å måle surheten til et stoff kalles pH . Uttrykket “H” er definert som den negative loggen for hydrogenionkonsentrasjonen. PH-området kan ha verdier fra 0 til 14. En pH-verdi på 7 er nøytral, da rent vann har en pH-verdi på nøyaktig 7. Verdier lavere enn 7 er sure og verdier større enn 7 er basiske eller basiske.
Hvordan fungerer Gravity Analog pH-sensor?
Analog pH-sensor er designet for å måle pH-verdien til en løsning og vise surheten eller alkaliniteten til stoffet. Den brukes ofte i forskjellige applikasjoner som landbruk, rensing av avløpsvann, industri, miljøovervåking osv. Modulen har en innebygd spenningsregulatorbrikke som støtter den brede spenningsforsyningen på 3,3-5,5V DC, som er kompatibel med 5V og 3.3V av et hvilket som helst kontrollkort som Arduino. Utgangssignalet blir filtrert av maskinvare med lav jitter.
Tekniske funksjoner:
Signalkonverteringsmodul:
- Forsyningsspenning: 3,3 ~ 5,5V
- BNC-probekontakt
- Høy nøyaktighet: ±0,1@25 ° C.
- Deteksjonsområde: 0 ~ 14
PH-elektrode:
- Driftstemperaturområde: 5 ~ 60 ° C
- Nullpunkt (nøytralt): 7 ± 0,5
- Enkel kalibrering
- Intern motstand: <250MΩ
pH Signal Conversion Board:
Pin Beskrivelse:
V +: 5V DC-inngang
G: Jordpinne
Po: pH analog utgang
Gjør: 3,3 V DC-utgang
Til: Temperaturutgang
pH-elektrodekonstruksjon:
Konstruksjonen av en pH-sensor er vist ovenfor. Den pH-sensor ser ut som en stang vanligvis laget av et glassmateriale som har en spiss som kalles “Glass-membran”. Denne membranen er fylt med en bufferløsning med kjent pH (vanligvis pH = 7). Denne elektrodeutformingen sørger for et miljø med konstant binding av H + -ioner på innsiden av glassmembranen. Når sonden dyppes i løsningen som skal testes, begynner hydrogenioner i testløsningen å bytte med andre positivt ladede ioner på glassmembranen, noe som skaper et elektrokjemisk potensial over membranen som mates til den elektroniske forsterkermodulen som måler potensialet mellom begge elektrodene og konverterer den til pH-enheter. Forskjellen mellom disse potensialene bestemmer pH-verdien basert på Nernst-ligningen.
Nernst ligning:
Nernst-ligningen gir et forhold mellom cellepotensialet til en elektrokjemisk celle, temperatur, reaksjonskvotient og standardcellepotensial. Under ikke-standardiserte forhold brukes Nernst-ligningen til å beregne cellepotensialer i en elektrokjemisk celle. Nernst-ligningen kan også brukes til å beregne den totale elektromotoriske kraften (EMF) for en full elektrokjemisk celle. Denne ligningen brukes også til å beregne PH-verdien til en løsning. Glasselektrodesvaret styres av Nernst-ligningen kan gis som:
E = E0 - 2.3 (RT / nF) ln Q Hvor Q = Reaksjonskoeffisient E = mV utgang fra elektroden E0 = Null forskyvning for elektroden R = Ideell gasskonstant = 8,314 J / mol-K T = Temperatur i ºK F = Faradays konstant = 95,484,56 C / mol N = ionisk ladning
Arduino pH-måler kretsdiagram
Kretsskjema for dette Arduino pH-målerprosjektet er gitt nedenfor:
Tilkobling av pH Signal Conversion Board med Arduino:
Forbindelsen mellom Arduino og PH-signalkonverteringskort er vist i tabellen nedenfor.
Arduino |
PH-sensorkort |
5V |
V + |
GND |
G |
A0 |
Po |
Programmering av Arduino for pH-meter
Etter vellykkede maskinvareforbindelser er det nå på tide for programmering av Arduino. Den komplette koden for denne pH-måleren med Arduino er gitt nederst i denne veiledningen. Den trinnvise forklaringen av prosjektet er gitt nedenfor.
Det første du må gjøre i programmet er å inkludere alle nødvendige biblioteker. Her i mitt tilfelle har jeg tatt med " LiquidCrystal_I2C.h" -biblioteket for bruk av I2C-grensesnittet til en LCD-skjerm og " Wire.h " for bruk av I2C-funksjonalitet på Arduino.
#inkludere
Deretter defineres kalibreringsverdien, som kan modifiseres etter behov for å få en nøyaktig pH-verdi av løsningene. (Dette blir forklart senere i artikkelen)
float calibration_value = 21.34;
Inne i oppsett () skrives LCD-kommandoer for å vise en velkomstmelding på LCD.
lcd.init (); lcd.begin (16, 2); lcd.backlight (); lcd.setCursor (0, 0); lcd.print ("Velkommen til"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); forsinkelse (2000); lcd.clear ();
Inside loop (), les 10 eksempler på analoge verdier og lagre dem i en matrise. Dette er nødvendig for å jevne ut verdien.
for (int i = 0; i <10; i ++) {buffer_arr = analogRead (A0); forsinkelse (30); }
Sorter deretter de analoge verdiene som er mottatt i stigende rekkefølge. Dette er påkrevd fordi vi må beregne det løpende gjennomsnittet av prøver på det senere tidspunktet.
for (int i = 0; i <9; i ++) {for (int j = i + 1; j <10; j ++) {if (buffer_arr> buffer_arr) {temp = buffer_arr; buffer_arr = buffer_arr; buffer_arr = temp; }}}
Til slutt beregner du gjennomsnittet av en seks senters prøve Analoge verdier. Deretter konverteres denne gjennomsnittsverdien til faktisk pH-verdi og skrives ut på et LCD-display.
for (int i = 2; i <8; i ++) avgval + = buffer_arr; float volt = (float) avgval * 5.0 / 1024/6; flyte ph_act = -5,70 * volt + kalibreringsverdi; lcd.setCursor (0, 0); lcd.print ("pH Val:"); lcd.setCursor (8, 0); lcd.print (ph_act); forsinkelse (1000); }
Kalibrering av pH-elektrode
Kalibrering av PH-elektroden er veldig viktig i dette prosjektet. For dette må vi ha en løsning hvis verdi er kjent for oss. Dette kan tas som referanseløsning for kalibrering av sensoren.
Anta at vi har en løsning hvis PH-verdi er 7 (destillert vann). Nå når elektroden dyppes i referanseløsningen og PH-verdien som vises på LCD er 6.5. For å kalibrere det, er det bare å legge til 7-6,5 = 0,5 i kalibreringsvariabelen “ calibration_value” i koden. dvs. gjør verdien 21,34 + 0,5 = 21,84 . Etter å ha gjort disse endringene, last opp koden igjen til Arduino og kontroller pH på nytt ved å dyppe elektroden i referanseløsningen. Nå skal LCD vise riktig pH-verdi, dvs. 7 (små variasjoner er betydelige) . Tilsvarende justerer du denne variabelen for å kalibrere sensoren. Se deretter etter alle andre løsninger for å få den eksakte effekten.
Testing av Arduino pH-tester
Vi har prøvd denne Arduino pH-måleren ved å dyppe den i rent vann og sitronvann, du kan se resultatet nedenfor.
Rent vann:
Sitronvann:
Slik kan vi bygge en pH-sensor ved hjelp av Arduino og kan bruke den til å sjekke pH-nivået til forskjellige væsker.
Fullstendig kode og demonstrasjonsvideo er gitt nedenfor.