- Nödvändiga komponenter
- Vad är pH-värde?
- Hur fungerar Gravity Analog pH-sensor?
- Arduino pH-mätarkretsdiagram
- Programmering av Arduino för pH-mätare
- Kalibrering av pH-elektrod
- Testar Arduino pH-testare
pH-skala används för att mäta en vätskes surhet och basitet. Det kan ha avläsningar som sträcker sig från 1-14 där 1 visar den suraste vätskan och 14 visar den mest basiska vätskan. 7 pH är för neutrala ämnen som varken är sura eller basiska. Nu spelar pH en mycket viktig roll i våra liv och det används i olika applikationer. Den kan till exempel användas i en pool för att kontrollera vattenkvaliteten. På samma sätt används pH-mätning i en mängd olika applikationer som jordbruk, avloppsvattenrening, industrier, miljöövervakning etc.
I det här projektet ska vi skapa en Arduino pH-mätare och lära oss hur man mäter pH i en flytande lösning med hjälp av en pH-sensor för gravitation och Arduino. En 16x2 LCD används för att visa pH-värdet på skärmen. Vi lär oss också hur man kalibrerar pH-sensorn för att bestämma sensorns noggrannhet. Så låt oss komma igång!
Nödvändiga komponenter
- Arduino Uno
- 16 * 2 Alfanumerisk LCD
- I2C-modul för LCD
- Gravity Analog pH-sensor
- Anslutande ledningar
- Bakbord
Vad är pH-värde?
Enheten som vi använder för att mäta surheten i ett ämne kallas pH . Termen "H" definieras som den negativa loggen för vätejonkoncentrationen. PH-intervallet kan ha värden från 0 till 14. Ett pH-värde på 7 är neutralt, eftersom rent vatten har ett pH-värde på exakt 7. Värden lägre än 7 är sura och värden större än 7 är basiska eller alkaliska.
Hur fungerar Gravity Analog pH-sensor?
Analog pH-sensor är utformad för att mäta pH-värdet för en lösning och visa ämnets surhet eller alkalinitet. Den används ofta i olika applikationer som jordbruk, avloppsrening, industrier, miljöövervakning etc. Modulen har ett inbyggt spänningsregulatorchip som stöder den breda spänningsförsörjningen på 3,3-5,5V DC, som är kompatibel med 5V och 3,3 V av alla styrkort som Arduino. Utsignalen filtreras av låg jitter för hårdvara.
Tekniska funktioner:
Signalomvandlingsmodul:
- Matningsspänning: 3,3 ~ 5,5V
- BNC-sondkontakt
- Hög noggrannhet: ±0,1@25 ° C.
- Detektionsområde: 0 ~ 14
PH-elektrod:
- Driftstemperaturområde: 5 ~ 60 ° C
- Nollpunkt (neutral): 7 ± 0,5
- Enkel kalibrering
- Internt motstånd: <250MΩ
Omvandlingskort för pH-signal:
Stiftbeskrivning:
V +: 5V DC-ingång
G: Jordstift
Po: pH-analog utgång
Gör: 3,3 V DC-utgång
Till: Temperaturutgång
pH-elektrodkonstruktion:
Konstruktionen av en pH-sensor visas ovan. Den pH-sensor ser ut som en stång vanligen tillverkade av ett glasmaterial med en spets som kallas ”Glass membran”. Detta membran är fyllt med en buffertlösning med känt pH (typiskt pH = 7). Denna elektroddesign säkerställer en miljö med konstant bindning av H + -joner på insidan av glasmembranet. När sonden doppas i lösningen som ska testas börjar vätejoner i testlösningen utbytas med andra positivt laddade joner på glasmembranet, vilket skapar en elektrokemisk potential över membranet som matas till den elektroniska förstärkarmodulen som mäter potentialen mellan båda elektroderna och omvandlar den till pH-enheter. Skillnaden mellan dessa potentialer bestämmer pH-värdet baserat på Nernst-ekvationen.
Nernst ekvation:
Nernst-ekvationen ger en relation mellan cellpotentialen i en elektrokemisk cell, temperatur, reaktionskvotient och standardcellspotentialen. Under icke-standardförhållanden används Nernst-ekvationen för att beräkna cellpotentialer i en elektrokemisk cell. Nernst-ekvationen kan också användas för att beräkna den totala elektromotoriska kraften (EMF) för en hel elektrokemisk cell. Denna ekvation används också för att beräkna PH-värdet för en lösning. Glaselektrodsvaret styrs av Nernst-ekvationen kan ges som:
E = E0 - 2.3 (RT / nF) ln Q där Q = Reaktionskoefficient E = mV-utgång från elektroden E0 = Nollförskjutning för elektroden R = Idealisk gaskonstant = 8,314 J / mol-K T = Temperatur i ºK F = Faradays konstant = 95,484,56 C / mol N = Jonisk laddning
Arduino pH-mätarkretsdiagram
Kretsschema för detta Arduino pH-mätarprojekt ges nedan:
Anslutning av pH-signalomvandlingskort med Arduino:
Förbindelsen mellan Arduino och PH-signalomvandlingskort visas i tabellen nedan.
Arduino |
PH-sensorkort |
5V |
V + |
GND |
G |
A0 |
Po |
Programmering av Arduino för pH-mätare
Efter framgångsrika hårdvaruanslutningar är det nu dags för programmering av Arduino. Den kompletta koden för denna pH-mätare med Arduino ges längst ner i denna handledning. Stegvis förklaring av projektet ges nedan.
Det första du ska göra i programmet är att inkludera alla bibliotek som krävs. Här i mitt fall har jag inkluderat " LiquidCrystal_I2C.h " -bibliotek för att använda I2C-gränssnittet på en LCD-skärm och " Wire.h " för att använda I2C-funktionalitet på Arduino.
#omfatta
Därefter definieras kalibreringsvärdet, vilket kan modifieras efter behov för att få ett exakt pH-värde för lösningarna. (Detta förklaras senare i artikeln)
float calibration_value = 21.34;
Inuti installationen () skrivs LCD-kommandon för att visa ett välkomstmeddelande på LCD-skärmen.
lcd.init (); lcd.begin (16, 2); lcd.backlight (); lcd.setCursor (0, 0); lcd.print ("Välkommen till"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); fördröjning (2000); lcd.clear ();
Inside loop (), läs 10 exempel på analoga värden och lagra dem i en matris. Detta krävs för att jämna utgångsvärdet.
för (int i = 0; i <10; i ++) {buffer_arr = analogRead (A0); fördröjning (30); }
Sortera sedan de analoga värden som tas emot i stigande ordning. Detta krävs eftersom vi måste beräkna det löpande genomsnittet av prover i det senare skedet.
för (int i = 0; i <9; i ++) {för (int j = i + 1; j <10; j ++) {if (buffert_arr> buffert_arr) {temp = buffert_arr; buffert_arr = buffert_arr; buffert_arr = temp; }}}
Slutligen beräkna medelvärdet av ett 6-centers prov Analoga värden. Sedan omvandlas detta medelvärde till faktiskt pH-värde och skrivs ut på en LCD-skärm.
för (int i = 2; i <8; i ++) avgval + = buffer_arr; float volt = (float) avgval * 5.0 / 1024/6; float ph_act = -5,70 * volt + kalibreringsvärde; lcd.setCursor (0, 0); lcd.print ("pH Val:"); lcd.setCursor (8, 0); lcd.print (ph_act); fördröjning (1000); }
Kalibrering av pH-elektrod
Kalibrering av PH-elektroden är mycket viktigt i detta projekt. För detta måste vi ha en lösning vars värde är känt för oss. Detta kan ses som referenslösning för kalibrering av sensorn.
Antag att vi har en lösning vars PH-värde är 7 (destillerat vatten). Nu när elektroden doppas i referenslösningen och PH-värdet som visas på LCD-skärmen är 6,5. För att kalibrera den, lägg bara till 7-6,5 = 0,5 i kalibreringsvariabeln " kalibreringsvärde" i koden. dvs gör värdet 21,34 + 0,5 = 21,84 . Efter att ha gjort dessa ändringar, ladda upp koden igen till Arduino och kontrollera pH igen genom att doppa elektroden i referenslösningen. Nu ska LCD-skärmen visa rätt pH-värde, dvs. 7 (små variationer är stora) . Justera på samma sätt denna variabel för att kalibrera sensorn. Sök sedan efter alla andra lösningar för att få exakt produktion.
Testar Arduino pH-testare
Vi har provat denna Arduino pH-mätare genom att doppa den i rent vatten och citronvatten, du kan se resultatet nedan.
Rent vatten:
Citronvatten:
Så här kan vi bygga en pH-sensor med Arduino och kan använda den för att kontrollera pH-nivån för olika vätskor.
Komplett kod och demonstrationsvideo ges nedan.