Geautomatiseerde ontvochtiger-opvangpomp
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Benodigde gereedschappen en machines
| ||||
| ||||
| ||||
|
Over dit project
Idee:
In december ben ik naar huis gereisd naar Missouri om de feestdagen met mijn gezin door te brengen. Ik had geen idee wat ik mijn schoonouders voor Kerstmis moest geven en ik was met lege handen thuisgekomen. Dus terwijl ik op bezoek was, vroegen ze toevallig of ik naar de kelder kon rennen om de ontvochtiger leeg te maken. Luchtontvochtigers hebben meestal een uitlaat of uitloop om een tuinslang aan te sluiten, zodat het condenswater in een afvoer kan lopen. Helaas doet hun model dat niet, dus moeten ze minstens twee keer per dag de trap naar de kelder op en af lopen. Eureka! Ik realiseerde me wat ik kon maken voor hun kerstcadeau... een automatische ontvochtigingspomp!!! Dus ik rende naar RadioShack, pakte alle onderdelen en ging aan het werk!
Probleemstelling:
Voordat het waterpeil hoog genoeg wordt om de luchtontvochtiger uit te schakelen, moet ik de tank leegmaken, wachten tot hij weer is gevuld en dit voor onbepaalde tijd herhalen.
Oplossing:
Schakel een pomp in wanneer het waterniveau boven een bovengrens komt en schakel de pomp vervolgens uit wanneer het waterpeil onder een ondergrens komt.
Hoe bepaal ik nu de drempels? Water (tenzij gedistilleerd) heeft het vermogen om elektriciteit te geleiden. Theoretisch zou ik twee paar draden op verschillende lengtes kunnen draaien en de aanwezigheid van water kunnen bepalen op basis van een kortsluiting over elk paar. Helaas maakt water een slechte geleider, dus er zullen spanningsverliezen zijn die moeten worden verzoend om de aanwezigheid van de kortsluiting te meten. Gelukkig hebben we transistors om dat te doen, en bovendien hebben we een Darlington-paar, wat een dubbele dosis is!
OPMERKING:Een transistor bestaat uit drie delen, een collector (input), emitter (output) en basis (klep). Wanneer stroom op de basis wordt toegepast, verlaagt dit de weerstand tussen de collector en de emitter en kan er stroom van de collector naar de emitter vloeien. Hoe meer stroom er op de basis wordt toegepast, hoe meer stroom er van de collector naar de emitter stroomt, wat de zogenaamde stroomversterkings- of versterkingsfactor van de transistor produceert. Als je ze vervolgens verdubbelt en de uitvoer van de emitter van de ene transistor naar de basis van een andere, Viola!, leidt, krijg je een Darlington-paar.
Nu ik een manier heb om de aanwezigheid en diepte van het water te detecteren, heb ik een manier nodig om een pomp aan en uit te zetten. De pomp is een eenvoudig apparaat, hij wordt gewoon in de muur gestoken en loopt. Ik heb een manier nodig om de pomp effectief aan te sluiten en los te koppelen. Een relais biedt de mogelijkheid om hoogspanning en stroom te schakelen van spanning en stroom op logisch niveau. Ik kan het relais aansluiten met een verlengsnoer en het gebruiken als een logisch aangedreven stroomschakelaar.
Ten slotte heb ik de logica nodig. Dit is een goed idee - de Arduino UNO. Het is goedkoop, gemakkelijk verkrijgbaar en kan eenvoudig worden geprogrammeerd om de watersensor te lezen en het relais te activeren.
http://www.learningaboutelectronics.com/Articles/What-is-hfe-of-a-transistor
Uitvoering:
Ik heb mijn plan klaar, nu is het tijd om mijn oplossing te breadboarden!
Ik begon met het aansluiten van het circuit van de waterdetector. Sluit eerst de draden die het water in gaan, aan op 5V0. Sluit vervolgens de transistors aan. Sluit de collectoren aan op 5V0, de bases op de draden die terugkeren uit het water en de emitters op pinnen 2 en 3 van de Arduino. Voeg ten slotte status-LED's toe. Sluit de anode (positieve of lange poot) van de LED aan op de basis van een transistor. Sluit vervolgens de kathode (negatieve of korte poot) van de LED aan op het ene uiteinde van een 100Ω-weerstand en verbind het andere uiteinde van de weerstand met aarde.
OPMERKING:Zorg ervoor dat u het gegevensblad ophaalt en controleert of u de poten correct hebt aangesloten. Uiteindelijk heb ik de mijne bij mijn eerste poging achterstevoren aangesloten; bespaar jezelf de hoofdpijn.;-)
Vervolgens heb ik mijn relaiscircuit getest. De "spoel" is in feite de schakelaar en is bidirectioneel, dus haak het ene uiteinde aan aarde en het andere aan pin 8. U wilt de hogere spanning die u gaat overschakelen naar de COM (gemeenschappelijke) pin en uit de NO (normaal open) pin op het relais.
Nu is het tijd om het in het proto-bord te solderen en een schild voor de Arduino te maken!
Om de controller te voltooien, voegt u het projectvak toe om de nieuwe pompcontroller te beschermen. Ik heb metalen vijlen gebruikt om de doos net genoeg weg te slijpen om de kabel te laten passen. Er zit een natuurlijke kraag aan het stekkeruiteinde van het verlengsnoer, dus dit is een uitstekende manier om het schild te beschermen tegen rondtrekken door het snoer. De andere kant is echter kwetsbaar. Zoals je hieronder kunt zien, heb ik een ritssluiting gebruikt om te voorkomen dat het andere uiteinde eruit zou worden getrokken.
Afwerking:
De laatste stap is het toevoegen van de pomp. Bevestig de waterdetector in een positie waarbij de onderste detector zich boven de inlaat voor de pomp bevindt en de bovenste detector zich onder de uitschakelschakelaar voor de bevochtiger bevindt. WAARSCHUWING: De positie van de onderste detector ten opzichte van de pompinlaat is erg belangrijk. De pomp gaat kapot als hij voor een langere periode lucht aanzuigt in plaats van water. Leid uw slang tot slot waar hij heen moet, zelfs bergopwaarts!
Code
- SimplePumpControl.ino
SimplePumpControl.inoArduino
Dit is de basisschets die u op de Arduino gaat toepassen om de uitgang voor uw pomp te bedienen./* Gemaakt en auteursrechtelijk beschermd door Zachary J. Fields. Aangeboden als open source onder de MIT License (MIT). */const int ENABLE_PIN =2;const int FULL_PIN =3;const int RELAY_115V_30A_PIN =8;void setup() { pinMode(ENABLE_PIN, INPUT); pinMode (VOLLEDIGE_PIN, INPUT); pinMode (RELAY_115V_30A_PIN, OUTPUT);} ongeldige lus () {if (digitalRead (FULL_PIN)) {digitalWrite (RELAY_115V_30A_PIN, HIGH); } else if (!digitalRead(ENABLE_PIN)) {digitalWrite(RELAY_115V_30A_PIN, LOW); }}/* Gemaakt en auteursrechtelijk beschermd door Zachary J. Fields. Aangeboden als open source onder de MIT License (MIT). */
Schema's
Dit is de breadboard-versie van het schema, dus je kunt een prototype maken en testen voordat je het op het Adafruit Proto Shield soldeertProductieproces