- Vad är grumlighet i vätska?
- Hur mäter jag grumlighet med Arduino?
- Komponenter som behövs för att tillverka grumlingsmätare
- Översikt av grumhetssensorn
- Nyckelfunktioner i grumhetsmodulen
- Gränssnittsgrumhetssensor med Arduino - kretsschema
- Programmering av Arduino för att mäta grumlighet i vatten
När det gäller vätskor är grumlighet en viktig term. Eftersom det spelar en viktig roll i flytande dynamik och används också för att mäta vattenkvaliteten. Så i denna handledning, låt oss diskutera vad som är grumlighet, hur man mäter grumligheten hos en vätska med Arduino. Om du vill ta detta projekt vidare kan du också överväga att ansluta en pH-mätare till Arduino och också läsa pH-värdet för vatten för att bättre bedöma vattenkvaliteten. Tidigare har vi också byggt en IoT-baserad övervakningsenhet för vattenkvalitet med ESP8266, du kan också kolla in den om du är intresserad. Med det sagt, låt oss komma igång
Vad är grumlighet i vätska?
Grumlighet är graden eller graden eller grumligheten hos en vätska. Detta händer på grund av närvaron av ett stort antal osynliga partiklar (med blotta ögat) som liknar vit rök i luften. När ljus passerar genom vätskor sprids ljusvågor på grund av närvaron av dessa små partiklar. Grumligheten hos en vätska är direkt proportionell mot de fria suspenderade partiklarna, det vill säga om antalet partiklar ökar grumligheten också ökar.
Hur mäter jag grumlighet med Arduino?
Som jag nämnde tidigare händer grumlighet på grund av spridning av ljusvågor, för att mäta grumligheten bör vi mäta spridningen av ljus. Grumlighet mäts vanligtvis i nefelometriska grumlingsenheter (NTU) eller Jackson grumhetsenheter (JTLJ), beroende på metoden som används för mätning. De två enheterna är ungefär lika.
Låt oss nu se hur en grumlingssensor fungerar, den har två delar, sändare och mottagare. Sändaren består av en ljuskälla, vanligtvis en led- och en drivkrets. I mottagaränden finns en ljusdetektor som en fotodiod eller en LDR. Vi placerar lösningen mellan sändaren och mottagaren.
Sändaren sänder helt enkelt ljuset, att ljusvågor passerar genom lösningen och mottagaren tar emot ljuset. Normalt (utan närvaro av en lösning) tar det sända ljuset helt emot på mottagarsidan. Men i närvaro av en grumlig lösning är mängden överfört ljus mycket låg. Det är på mottagarsidan, vi får bara ett ljus med låg intensitet och denna intensitet är omvänt proportionell mot grumlighet. Så vi kan mäta grumligheten genom att mäta ljusintensiteten om ljusintensiteten är hög, lösningen är mindre grumlig och om ljusintensiteten är mycket låg betyder det att lösningen är mer grumlig.
Komponenter som behövs för att tillverka grumlingsmätare
- Grumhetsmodul
- Arduino
- 16 * 2 I2C LCD
- Vanlig katod RGB LED
- Bakbord
- Bygeltrådar
Översikt av grumhetssensorn
Turbiditetssensorn som används i detta projekt visas nedan.
Som du kan se kommer denna grumhetssensormodul med 3 delar. En vattentät ledning, en drivkrets och en anslutningskabel. Testproben består av både sändare och mottagare.
Bilden ovan visar, denna typ av modul använder en IR-diod som ljuskälla och en IR-mottagare som en detektor. Men arbetsprincipen är densamma som tidigare. Drivardelen (visas nedan) består av en op-amp och några komponenter som förstärker den detekterade ljussignalen.
Den aktuella sensorn kan anslutas till den här modulen med en JST XH-kontakt. Den har tre stift, VCC, jord och utgång. Vcc ansluts till 5v och mark till mark. Utgången från denna modul är ett analogt värde, det vill säga den ändras beroende på ljusintensiteten.
Nyckelfunktioner i grumhetsmodulen
- Driftspänning: 5VDC.
- Ström: 30mA (MAX).
- Arbetstemperatur: -30 ° C till 80 ° C.
- Kompatibel med Arduino, Raspberry Pi, AVR, PIC, etc.
Gränssnittsgrumhetssensor med Arduino - kretsschema
Det fullständiga schemat för att ansluta turbiditetssensorn till Arduino visas nedan, kretsen designades med EasyEDA.
Detta är ett mycket enkelt kretsschema. Utgången från grumlingssensorn är analog så att den är ansluten till Arduinos A0-stift, I2C LCD ansluten till I2C-stiften i Arduino som är SCL till A5 och SDA till A4. Sedan RGB LED ansluten till digitala stift D2, D3 och D4. När anslutningarna är klar ser min hårdvaruinstallation ut så här nedan.
Anslut sensorns VCC till Arduino 5v och anslut sedan jord till jord. Utgångsstiftet på sensorn till analog 0 av Arduino. Anslut sedan VCC och jord på LCD-modulen till 5v och jord på Arduino. Sedan SDA till A4 och SCL till A5, dessa två stift är Arduinos I2C-stift. ansluter slutligen marken för RGB-LED till marken för Arduino och ansluter grön till D3, blå till D4 och röd till D5.
Programmering av Arduino för att mäta grumlighet i vatten
Planen är att visa grumligheten från 0 till 100. Det vill säga mätaren ska visa 0 för ren vätska och 100 för mycket grumliga. Denna Arduino-kod är också väldigt enkel och den fullständiga koden finns längst ner på denna sida.
Först inkluderade jag I2C flytande kristallbibliotek eftersom vi använder en I2C LCD för att minimera anslutningarna.
# inkluderar
Sedan ställer jag in heltal för sensorinmatning.
int sensorPin = A0;
I installationssektionen definierade jag stiften.
pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT);
I loop-avsnittet, som jag nämnde tidigare, är sensorns utgång ett analogt värde. Så vi måste läsa dessa värden. Med hjälp av Arduino AnalogRead- funktionen kan vi läsa utgångsvärdena i slingavsnittet.
int sensorValue = analogRead (sensorPin);
Först måste vi förstå beteendet hos vår sensor, vilket innebär att vi måste läsa lägsta och högsta värdet på grumlighetssensorn. vi kan läsa det värdet på den seriella skärmen med hjälp av funktionen serial.println .
För att få dessa värden, läs först sensorn fritt utan lösning. Jag fick ett värde runt 640 och efter det, placera en svart substans mellan sändaren och mottagaren, får vi ett värde som är minimivärdet, vanligtvis är det värdet noll. Så vi fick 640 maximalt och noll som minimum. Nu måste vi konvertera dessa värden till 0-100
För att jag använde kartan funktion Arduino.
int grumlighet = karta (sensorValue, 0,640, 100, 0);
Sedan visade jag de värdena på LCD-skärmen.
lcd.setCursor (0, 0); lcd.print ("grumlighet:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (grumlighet);
Efter det, med hjälp av om villkor, gav jag olika villkor.
if (grumlighet <20) { digitalWrite (2, HÖG); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("dess CLEAR"); }
Detta kommer att lysa grönt och visa "det är klart" på LCD-skärmen om grumligheten är under 20.
if ((grumlighet> 20) && (grumlighet <50)) { digitalWrite (2, LÅG); digitalWrite (3, HÖG); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("dess CLOUDY"); }
Detta aktiverar blått lysdiod och visar "dess molnigt" på LCD om grumligheten ligger mellan 20 och 50.
om ((grumlighet> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("its DIRTY"); }
Detta kommer att leda rött och visa "det är smutsigt" på LCD-skärmen om grumligheten är större än 50 enligt bilden nedan.
Följ bara kretsschemat och ladda upp koden, om allt går rätt bör du kunna mäta vattnets grumlighet och LCD-skärmen ska visa vattnets kvalitet som visas ovan.
Observera att denna grumlighet visar mängden grumlighet och det kanske inte är ett exakt industriellt värde, men ändå kan den användas för att jämföra vattenkvaliteten på två vatten. Det fullständiga arbetet med detta projekt finns i videon nedan. Hoppas att du gillade handboken och lär dig något användbart om du har några frågor, du kan lämna dem i kommentarsektionen nedan eller använda CircuitDigest-forumen för att skicka dina tekniska frågor eller starta en relevant diskussion.