Inhoudsopgave:
- Stap 1: Materialen
- Stap 2: De printplaat voorbereiden
- Stap 3: Het "schild" maken
- Stap 4: Pijpleiding
- Stap 5: Kalibratie
- Stap 6: De waterdoseerder
- Stap 7: Automatische reset
Video: Elke liter telt! Arduino Water Doser "Shield" - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
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
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
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
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
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:
Hoe Multiwindow in elke Android-telefoon in te schakelen: 6 stappen
Multiwindow inschakelen op elke Android-telefoon: Multiwindow-modus is een geheime of bètamodus op Android 6.0 Marshmallow. Deze functie is niet beschikbaar voor alle mobiele apparaten. Maar er is een techniek om de multiwindow-modus in Android 6.0 Marshmallow in te schakelen. Vereisten: 1. Telefoon moet worden geroot.2. Android-versie
DIY Ambilight met Raspberry Pi en GEEN Arduino! Werkt op elke HDMI-bron: 17 stappen (met afbeeldingen)
DIY Ambilight met Raspberry Pi en GEEN Arduino! Werkt op elke HDMI-bron.: Ik heb een vrij basaal begrip van elektronica, daarom ben ik supertrots op mijn doe-het-zelf Ambilight-opstelling in een eenvoudige houten behuizing met de mogelijkheid om de lichten aan en uit te zetten wanneer en wanneer ik wil. Voor wie niet weet wat een Ambilight is;
Hoe u uw computer elke dag of wanneer dan ook automatisch kunt laten opstarten: 5 stappen
Hoe u uw computer elke dag of wanneer dan ook automatisch kunt laten opstarten: in deze instructable leert u hoe u uw computer elke dag op een bepaald tijdstip automatisch kunt laten opstarten. Dit is ook mijn eerste instructable
Zorg dat uw dieet telt: 7 stappen
Zorg ervoor dat uw dieet telt: tegenwoordig is het onderwerp "gezondheid" bekend was geworden en bediscussieerd. Op dieet gaan is voor de meeste mensen een zware taak, velen van hen besluiten het op te geven vanwege de verleiding van het eten. Het doel van het maken van deze machine is om de suc
Bootloader uploaden naar elke Arduino!: 5 stappen
Bootloader uploaden naar elke Arduino! Laten we zeggen dat je een Arduino hebt meegenomen en hebt geprobeerd je allereerste programma uit Voorbeelden te uploaden en er staat Error avrdude: stk500_getsync()Dit betekent dat je Arduino een ontbrekende bootloader heeft. Dus vandaag laat ik je zien hoe je een Bootloader uploadt