Jag vill dela mina homebrew kvistsom har tjänat mig i över ett år nu.
Börjar behärska Arduino, Jag tänkte på vilken typ av projekt att genomföra. Jag kom ihåg att jag har många inomhusväxter som regelbundet glömmer att vattna, och frågan om vattning under semester och affärsresor har en plats att vara.
Systemet består av följande komponenter:
Styrenheten är hjärtat i systemet. Här är batterierna, Arduino, DS3231 tidsmodul, display, spänningsomvandlare och kontroller.
Nära växterna finns en vattenbehållare. Det finns sänkbara pumpar i kapseln som pumpar vatten genom rör till växterna.
Fördelningen av vatten mellan växter kan justeras ytterligare med en kam med kranar.
Alla tekniska delar i systemet kan döljas bakom gardiner och krukor, så att de inte slår till
Systemöversikt:
Viktiga systemparametrar:
1. Batteritid på cirka 5 månader
2. Systemet stöder styrning av 3 pumpar. För varje pump kan du ansluta en kam med 2-4 kranar och kontrollera dessutom vattenflödet. Totalt får vi möjlighet att ansluta upp till 12 växter
3. Tiden tas från en separat oberoende klockmodul DS3231. Pumpen startas när den timme som anges i inställningen (till exempel 8:00).
4. Displayen visar information
5. Inställningar för vattning anges i programkoden, de kan ändras genom att skaka om Arduino
Förklaring av informationen som visas på skärmen:
Den första raden är tabellhuvudet. Varje rad visar information om respektive pump. Den första kolumnen - visar arbetsperioden (PR). Till exempel med värdet "5" - pumpen fungerar var 5: e dag. Den andra kolumnen är driftstiden (PD) - timmen i början av vilken pumpen slås på. Den tredje kolumnen är körtid (BP) - pumpens körtid i sekunder. Den fjärde kolumnen - dagar kvar (FÖRE) - visar hur många dagar som finns kvar till nästa operation. Datum och tid visas också.
Systemet har ingen feedback, så inställningarna måste väljas empiriskt. Det är bäst att gruppera växter som är nära när det gäller vattenkrav (vissa tolererar torka bra, medan andra gillar rikligt med vattning) och krukväxter.
Inställningarna är ungefär följande: var femte dag ska pumpen slås på klockan 8:00 i 30 sekunder.
Nedan kommer det att anges i vilken del av koden dessa inställningar finns.
I programkoden kan du inaktivera andra och tredje pumpen. I detta fall visas information endast på de medföljande pumparna.
Autonomi säkerställs av:
• Drivs av 18650 batterier
• Arduino och går i en djup sömn (Powerdown) och vaknar av Watсhdog
• Arduino-spänningsstabilisatorbit från vänster ben
• Displayen stängs av under drift. För att aktivera skärmen måste du hålla nere sömnknappen i cirka 10 sekunder.
• Alla indikatorlampor tas bort från modulerna
Systemet förbrukar cirka 3 mA, en pump förbrukar cirka 350 mA i drift.
Huvuddetaljer:
• Matbehållare för bostäder
• Kinesisk klon Arduino nano
• DS3231 realtidsmodul
• 18650 batterier
• Öka modulen upp till 5V (nuvarande ca 1 A)
• Sänka modulen upp till 3,3V för att driva skärmen
• Nokia 5110-skärm
• TP4056-modul för laddning (+ skydd) av batteriet
• Batteriladdningsindikator
• Olika "frizz": fälteffekttransistorer, motstånd, kondensatorer (elektrolytiska och keramiska)
• Omkopplare och knappar
Montering av "schema" på enheten:
Förklaringar enligt schemat:
1. 4 18650 batterier är anslutna parallellt. Den totala kapaciteten är cirka 13000 mA / h.
2. Batteriet är anslutet till laddnings- och skyddsmodulen TP4056. Laddning sker via mikro-USB-kontakten från telefonladdning. Laddning behövs med en ström på minst 1A. Uppskattad tid att ladda helt är 13-14 timmar. Indikatorlampor kan blinkas ut och visas på chassit.
3. Därefter ansluts en boost-omvandlare upp till 5V genom omkopplaren. Det kommer att driva de flesta komponenter i kretsen, inklusive pumpar. Med en minskning av batteriets laddningsnivå kommer spänningen att minska från 4,2 V till 2,7 V, vilket inte räcker för att kretsen ska fungera. Modulen ger en stabil spänning. Ett filter tillverkat av elektrolytiska och keramiska kondensatorer placeras vid modulens utgång. Den elektrolytiska kondensatorn spelar en jämnande, stabiliserande roll. Keramisk kondensator används för att bekämpa störningar med hög frekvens. Om modulen "piper" induktorn under drift, för att eliminera detta fenomen, kan en extra elektrolytisk kondensator placeras vid ingången till modulen. Elektrolytiska kondensatorer med en kapacitet av 1000 mikrofarad vid 6,3V. Keramiska kondensatorer är lämpliga från 1-2 mikrofarad. Kretsen används vid 10 uF, eftersom jag hade mycket extra.
4. För att driva skärmen behöver du en spänning på 3,3V, så en buck-omvandlare med liknande filter från kondensatorer läggs till.
5. DS3231 klockmodul, behövs för en mer exakt tidtagning. Strömindikatorn (1) lödas av på DS3231-modulen. Detta görs för energisparande ändamål. Om du använder vanliga batterier (inte laddningsbara) måste du lossa motståndet (2). Modulen är designad för uppladdningsbara batterier, inklusive laddning av dem. Om batteriet är normalt gör laddningsströmmen det snabbt oanvändbart.
6. Systemets huvudhjärna är Arduino nano-plattformen. För energibesparingsändamål måste du lossa alla lysdioder (eller åtminstone endast ström), samt bita av spänningsregulatorns vänstra ben.
7. Pumpen styrs via fälteffekttransistorer. Alla som öppnas med 5V spänning och kan växla ström från 1A kommer att göra. Till att börja med använde jag de färdiga. Jag lödde ett batteri av fälteffekttransistorer + motstånd (100 Ohm för att skydda Arduino, 10k Ohm för att dra transistorns slutare till marken så att mosfetten stängs) + lödde också kontakterna KF 301-2P för fixering av trådarna
Senare gjorde ett mer kompakt batteri på AO3400 SMD mosfets
Någonstans under ett halvt år misslyckades fälteffektstransistorer. Anledningen var att i bromsningsläge fungerar kollektormotorn som en generator. För att skydda fälteffekttransistorn måste du använda en skyddsdiod. Jag använde 1N4007.
8. Displayen visar all information. För att väcka skärmen måste du hålla in knappen i upp till 10 sekunder. Om du ändrar minut i timmar kommer systemet att gå i viloläge och skärmen stängs av.
Bygg process:
Första tester på en brädskiva och skrivande firmware
Därefter anslutes allt med en ledad installation
Plockade upp kroppen och testades med riktiga pumpar
Jag borrade hål i fodralet, målade allt med en svart matt primer och fixerade komponenterna till smältlim
Ytterligare monteringspunkter:
• En behållare med vatten måste alltid placeras under krukorna, annars finns det risk för att vatten fortsätter att hälla efter att pumparna stängts av.
• Avståndet från behållarens botten till rörets ände får inte överstiga 70 cm. Det blir svårare för pumpen att höja vattnet till en större höjd.
• På en minipump med Ali är transparenta slangar 6x1,5 mm bra
• Det är viktigt att öppningen av vattenintagspumpen inte vilar mot vattnet i vattentanken, annars kommer det inte att finnas något normalt tryck.
• Använd inte järndelar (klämmor, tråd etc.) för att fästa slangen på pumpen. Allt rostar mycket snabbt.
• Pumpen har korta ledningar. Troligtvis måste de ökas. För att täta trådarna är det bäst att använda smältlim och på värmekrymp på toppen.
Programmets logik:
• Arduino tar sig ur sömn
• DS3231-modulläsningar (datum och tid) tilldelas variabler
• När datumet ändras ändras värdet på räknaren för tidigare dagar
• Om arbetsperioden (inställningen) sammanfaller med antalet passerade dagar kontrolleras timmen
• Om timmen (inställningen) och timmen från tidsmodulen sammanfaller, slå på pumpen för den tid som anges i inställningarna
• Arduino somnar
• Om du håller i viloläge matas strömmen till skärmen och Arduino vaknar
Vattningsinställningar anges här i denna del av koden:
Jag tillämpar en skiss och bibliotek
I allmänhet är jag nöjd med systemet. Hon vattnade regelbundet mina växter i fönsterbrädan i ungefär ett år. Nu flyttade jag systemet till ett annat rum, och i mitt eget satte jag ihop ett nytt, mer bekvämt och intressant, men det är en annan historia ...