Inhoudsopgave:

Elke liter telt! Arduino Water Doser "Shield" - Ajarnpa
Elke liter telt! Arduino Water Doser "Shield" - Ajarnpa

Video: Elke liter telt! Arduino Water Doser "Shield" - Ajarnpa

Video: Elke liter telt! Arduino Water Doser
Video: How to Make Coca Cola Soda Fountain Machine with 3 Different Drinks at Home 2024, November
Anonim
Image
Image
Materialen
Materialen

Hoi! Met deze instructable kunt u een gewenste hoeveelheid water doseren. Het systeem kan werken in ml en L. We gebruiken een Arduino UNO, een flowmeter om de hoeveelheid water te tellen, een LCD om de status weer te geven, drukknoppen om instellingen te wijzigen en een relais om een magneetventiel te activeren.

Het systeem kan vele toepassingen hebben: de tuin water geven, water mengen met sommige ingrediënten, een tank vullen, het waterverbruik regelen, enz.

In een eerste poging probeerde ik het op een breadboard te maken, maar vanwege de 8 drukknoppen (veel draden), ontkoppelingen, verkeerde maatregelen en de noodzaak om buiten of in de buurt van een waterbron te testen, besloot ik een "afscherming" te maken. ".

Als je nog nooit een PCB hebt gemaakt, is dit misschien een goed moment. Het is gemakkelijk, je hoeft alleen maar voorzichtig te zijn met de betrokken elementen. Ik heb een korte handleiding gemaakt voor de PCB. Als je meer details nodig hebt, kun je op deze pagina goede tutorials vinden.

OPMERKING: De nauwkeurigheid van de meting wordt bepaald door de kwaliteit van de flowmeter. Dit is geen hoge-precisiedoseerder. Je hebt geduld nodig om het systeem te kalibreren, maar het uiteindelijke resultaat is behoorlijk nauwkeurig.

Bekijk de video!

Stap 1: Materialen

PCB

-Eenzijdige koperen plaat minimaal 13x10 cm (glasvezel aanbevolen)

-Ijzerchloride

-Plastic bak

-Plastic handschoenen

-Thermisch transferpapier (de gele)

-Een strijkijzer (voor thermische overdracht)

-Soldeerbout, soldeerdraad, polijstkussen

-Boor, boor van 1 mm

Elektronica

-Arduino UNO

-LCD 16x2

-Waterstroommeter (ik gebruik de YF-S201)

-10K weerstanden x 8

-1K weerstand

-10K-trimpot

-Drukknoppen x 8

-Enkele rij mannelijke rechte pin headers x 21-pins

-Enkele rij gebogen pin-headers x 6-pins

-Female pin header connectoren 2 x 6-pins

-5V relaismodule

-Magneetventiel (12, 24 VDC aanbevolen)

-Conectors, draden

En leidingen volgens uw behoeften

Stap 2: De printplaat voorbereiden

De printplaat voorbereiden
De printplaat voorbereiden
De printplaat voorbereiden
De printplaat voorbereiden
De printplaat voorbereiden
De printplaat voorbereiden
De printplaat voorbereiden
De printplaat voorbereiden

Misschien is dit de moeilijkere stap, als je nog nooit een PCB hebt gemaakt. U hoeft alleen de aanwijzingen te volgen.

Er zijn veel manieren om een PCB te maken, deze werkt voor mij:

1.- Bereid het bord voor door het koperen oppervlak te polijsten. Je hebt een glad en glanzend oppervlak nodig. Was het daarna af met afwasmiddel. Als je dat eenmaal hebt gedaan, raak het oppervlak dan niet meer aan (vingerafdrukken). Laat het drogen

2.- Druk de bestanden (PDF) af op het thermotransferpapier. In mijn geval heb ik papier voor toner (geen inkt), dus je hebt de juiste printer nodig voor je papier. Print op het gladde/briljante oppervlak van het papier.

Opmerking: de bestanden zijn klaar om over te zetten, gebruik geen spiegelbeeld om af te drukken. Als je wilt, print dan eerst op normaal papier om er zeker van te zijn. Je ziet de letters achterstevoren, maar het is goed.

3.-Plaats het papier met het bedrukte oppervlak naar beneden en plaats het op het bord (koperen oppervlak). Doe wat tape om het te repareren

4. Gebruik nu een heet strijkijzer om de sporen over te brengen naar het koperen oppervlak. Doe dit door het strijkijzer te verplaatsen en ongeveer ingedrukt te houden

2-3 minuten.

5.- Laat het afkoelen en verwijder dan al het papier. U kunt het voorzichtig wassen om het resterende papier te verwijderen. Beschadig de sporen niet!.

6.-Bereid de oplossing in de plastic container. Gebruik plastic handschoenen!. Ik gebruik een verhouding van één deel ferrichloride voor twee delen warm water (40 C). Ik had 300 ml nodig om de PCB te maken (100 ml ijzerchloride en 200 ml warm water), maar dit hangt af van de grootte van je container.

7.- Leg het bord in de oplossing, verplaats de container af en toe, "golven makend" om het koper te verwijderen. Normaal gesproken duurt het ongeveer 20-30 minuten. Controleer het bord constant.

8.-Zodra al het koper is verwijderd, trekt u zich terug en wast u het bord (gebruik plastic handschoenen om te manipuleren). Poets opnieuw om de inkt te verwijderen en de kopersporen te zien.

9.-Je kunt de resterende delen van het bord knippen als je wilt.

10.-Nu moet je de gaten boren. Gebruik een boor van 1 mm. De gaten zijn gemarkeerd in het midden van de cirkels zonder koper.

11.-Nu kun je de bovenkant overzetten. Het bedrukte papier moet in de gaatjes passen. Gebruik de hoeken van de lijnen van de drukknoppen als referentie. Je kunt dit doen tegen sterk licht of de zon. Doe wat tape om het te repareren.

Herhaal de stappen 3-5.

En de print is klaar!

Stap 3: Het "schild" maken

Het maken van
Het maken van
Het maken van
Het maken van
Het maken van
Het maken van

Monteer en soldeer nu de componenten. Eerst de pinheaders. U moet de pinnen duwen om een "lange pin" te krijgen of u kunt een ander type pin-header gebruiken. Zie de foto.

Dan de weerstanden. Elke weerstand is bovenaan gemarkeerd met de respectieve waarde. Ga verder met de drukknoppen, trimpotmeter, gebogen pin-headers en vrouwelijke pin-header.

WAARSCHUWING: U moet wat tape in de "cover"-zone plaatsen om contact met de metalen USB-aansluiting te voorkomen

Monteer het lcd-scherm en de arduino. "0" en "A5" tonen u de juiste manier om het te monteren.

OPMERKING: Uw uiteindelijke schild kan verschillen van het mijne, omdat ik een aantal problemen heb opgelost (relaisconnector, "cover" -zone, contraststempel)

Stap 4: Pijpleiding

Pijpleiding
Pijpleiding
Pijpleiding
Pijpleiding
Pijpleiding
Pijpleiding
Pijpleiding
Pijpleiding

Om eerlijk te zijn, ik ken de naam in het Engels niet van alle componenten, hoe dan ook, de pijplijn hangt af van je toepassing. Zie de foto's om een idee te krijgen van hoe je de pijplijn moet maken. Vergeet niet om een goed aangesloten en afgesloten circuit te maken, want de waterdruk kan overal en de elektronica uitspatten!

WAARSCHUWING: De stroommeter heeft een pijl die de stroomrichting aangeeft.

Stap 5: Kalibratie

Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie

Test uw waterstroommeter met het "schild" en de pijpleiding gereed.

Je hebt een waterbron nodig. Ik heb de sensor in de buurt van de wasmachine getest, met behulp van de watertoevoerconnector op mijn magneetventiel (hetzelfde type) Arduino kan geen magneetventiel aandrijven, daarom heb ik een relais gebruikt, dus je hebt een externe stroombron nodig, volgens de spanning van uw magneetventiel, zie het schema. Gebruik de "COM" en "NO" om een regel te onderbreken. Ik gebruik een 220V magneetventiel van een oude wasmachine. Als u de magneetklep moet kopen, raad ik een laagspanningsklep aan (12 of 24 volt). Vergeet er niet een te kiezen die u kunt leveren.

Zelfs als de flowmeter de pulsen x liter aangeeft, moet u deze testen, vanwege de specifieke vorm van uw leidingen.

Mijn output van mijn flowmeter is bijvoorbeeld 450 pulsesxliter, maar in de test kreeg ik er maar 400. Andere factor, ik kon niet werken met de toevoerklep volledig geopend, omdat de metingen onstabiel werden. U moet dus ook de watertoevoerklep kalibreren.

OPMERKING: Vergeet niet binnen de parameters van uw sensor te werken, in mijn geval 1-30 l/min en 1,75 Mpa.

Zoals ik al zei, alles hangt af van de kwaliteit en specificaties van de flowmeter.

Sluit de sensor aan op de afscherming. De bovenkant heeft de respectievelijke connectoren bedrukt.

+ = 5V (rode draad)

- = GND (zwarte draad)

S = Signaal of Puls (Gele Draad)

De relaismodule heeft dezelfde markeringen.

Ik heb een code voorbereid om de pulsen te tellen. U kunt START/STOP en RST CNT gebruiken. Gebruik een 1 liter fles, emmer of beker en druk op de startknop. Stop wanneer u 1 liter bereikt. Herhaal een paar keer om een patroon te krijgen. Druk op de RST CNT-knop om de teller te resetten en opnieuw te beginnen.

Nu weet je de pulsen x liters van je sensor.

Bekijk de video.

Stap 6: De waterdoseerder

De waterdoseerder
De waterdoseerder

Hardwarekenmerken:

LCD: Toon de status, "SP" is het setpoint of de gewenste hoeveelheid water en "CNT" is de teller. Ik heb een code ingevoerd die ervoor zorgt dat het lcd-scherm werkt als twee schermen. De ml-functie en de L-functie zijn volledig onafhankelijk.

START/STOP: Is een "toggle"-functie. om het relais en het systeem draaiende te houden wanneer u de knop loslaat. Als u nogmaals drukt, stopt het systeem en is het relais "UIT". Alle knoppen werken niet als het systeem AAN is

EENHEID: Wissel tussen ml en L, waarbij de instellingen en waarden van het vorige scherm behouden blijven. Ook is een "toggle" functie. Als het laag is, zit je op ml-scherm en als het hoog is, zit je op L-scherm.

RST SP: Reset het instelpunt op het huidige scherm om een nieuwe in te voeren.

RST CNT: Reset de teller op het huidige scherm om een nieuwe telling te starten. Als de teller hoger of gelijk is aan het setpoint, start het systeem niet.

Adders Knoppen: Je hebt 4 drukknoppen om het setpoint te veranderen, +1, +10, +100, +1000. Dit is een gemakkelijke manier om de instellingen te wijzigen. De optellerknoppen werken niet terwijl het systeem actief is. Je kunt geen +1 toevoegen aan de ml-functie.

Softwarefuncties:

Ik nam de sensor als een drukknop (heel snel ingedrukt!) Het gebruikt dezelfde "debounce"-functie van alle knoppen. De sensor stuurt een "high" wanneer een ronde is voltooid (elke 2,5 ml ongeveer). De rest van de tijd is "laag", hetzelfde effect als je op een knop drukt.

U hoeft uw pulsen x liter en de ml x pulse alleen als volgt in te voeren:

In de vorige stap heb je de sensor getest en je uitgangspulsen gekregen. Probeer het getal af te ronden.

zweven cal_1=2,5; // Kalibreer ml x puls

Waarbij cal_1 = 1000/pulsen per liter (mijn geval; 1000/400 = 2,5 ml x puls

int cal_2= 400; // Kalibreer pulsen x liter

Dit is een perfect rond getal om mee te werken. Ik weet niet of je zoveel geluk zult hebben als ik. Maak een laatste kalibratie om de fout tot een minimum te beperken

De variabelen zijn "int", dus als je grotere getallen nodig hebt, verander dan naar "long" of "unsigned long"

Op de video is de werking van het schild te zien. Met een beetje geduld kunt u een bijna perfecte prestatie bereiken.

Stap 7: Automatische reset

Bewerkt 23-10-2018, Testen

Verzoek van gebruikers. Nadat de teller het setpoint bereikt, wordt automatisch op 0 gezet om een nieuwe telling te starten. U kunt altijd de Reset-knop gebruiken als het systeem niet actief is.

Aanbevolen: