Växthusautomation
Postat: 30 juli 2019, 17:24:30
Jag beskriver här ett projekt som jag jobbat på i drygt ett år och nu äntligen fått så långt färdigt, att systemet är i användning, om än ofullständigt. Hoppas att tråden åtminstone så där i största allmänhet kan vara till nytta och nöje för någon.
Objektet:
Vid min sommarstuga har jag ett litet (ca. 8 kvm) växthus. För närvarande odlar jag enbart olika sorters chili. Tidigare har jag odlat också grönsaker och örter, men de är rätt tråkiga i längden...
Problemet:
Sommarstugan ligger på en ö i yttre skärgården. Bilresan av och an till båthamnen blir dryga tio mil, därtill båtfärd en dryg mil. På ön finns inte rinnande vatten och elförsörjningen är begränsad till 24 VDC från ett system med solpaneler.
Odlingstiden är därmed i praktiken från maj till oktober, bl.a. p.g.a. menföre och för att man inte kan värma upp växthuset utan el. (Det betyder också att jag inte kan hålla buskarna över vintern och därför planterar jag nya varje år i januari, börjande på fönsterbrädet i stan. I maj är de plantorna sedan tillräckligt stora för att flyttas ut till växthuset.)
Väl i växthuset bör odlingarna vattnas minst två gånger i veckan, men det bästa är att vattna lite varje dag.
Ifall det blir för varmt på dagen måste takluckan öppnas för vädring, och förstås stänga den till natten så att temperaturen inte sjunker under +8 grader, för då avstannar växten för många chiliarter. Så länge det är över +15 är det bra att ha vädringsluckan öppen, så att humlor och andra flygande insekter kommer åt att göra sitt.
Det är alltså rätt jobbigt att sköta underhållet den tid jag inte ”bor” där ute.
Målet:
Ett programmerbart, automatiskt bevattningssystem.
När jag kom så långt i tänkandet var det tid att göra upp en kravspecifikation:
- Systemet skall kunna sköta växthuset automatiskt utan underhåll åtminstone så länge som det finns vatten i "reservoaren".
- Skall stöda upp till fyra odlingsbänkar (i själva verket två bänkar och två vattenodlingshyllor)
- Odlingsbänkarna skall delas in i zoner, 4 st zoner per bänk. Varje zon skall kunna vattnas skilt på basen av individuella inställningar.
- Måste-krav:
- Skall mäta de för tillväxten väsentliga storheterna temperatur, luftfuktighet, jordfuktighet, ljus
- Skall övervaka vattennivån i vattenreservoaren och i bevattningstanken
- Skall sköta basbevattningen enligt programmerat tidsschema.
- Skall mäta fuktigheten i jorden (per zon) samt öka/minska bevattningen där ifall jorden i zonen är extra torr resp. fuktig
- Skall reglera takluckan efter temperaturen och enligt tidsschema
- Skall logga alla mätdata och regelbundet sända loggen trådlöst till en server för att läggas i en databas, som sedan kan nås över Internet
- Via servern skall man också [trådlöst] kunna fråga om status och inställningar
- Inställningarna skall kunna göras lokalt i växthuset och på distans över nätet (via servern).
- Skall tåla eventuella strömavbrott och andra störningar [vilka gör att processorn gör en reset] så, att bevattningsprogrammet fortsätter som programmerat efter avbrottet.
- Användargränssnittet skall vara menybaserat och ”tillräckligt” intuitivt.
Lösning och utförande:
Köpa något färdigt? => NEJ! Inget kul med det!
Så här tänkte jag mej bevattningen: (Principskiss) Reservoaren - Stor plasttunna (100 ltr) varifrån en elektriski pump fyller på
Bevattningstanken - En vattenkanna (2 ltr). Därifrån sker bevattningen med en annan pump, via en fördelare till magnetventilerna och spridarna - 1 vardera för varje zon.
Tanken bakom två vattenkärl och två pumpar är den, att det gör hela systemet mycket enklare. Precis som när man vattnar med sprutkanna, behöver man inte veta absolut hur mycket vatten man sprider varje gång. En bevattningstank från full till tom är därför "en dos", och i programmet kan man ställa in antalet bevattningsomgångar per dag (0..3 ggr) och hur många doser vid varje omgång (1..2 st).
Bevattningstanken behöver då endast två givare (flottörer), en för "Full" och en för "Tom". Genom att ändra på höjdskillnaden mellan dessa kan man då fininställa hur mycket en dos är.
Jag hade redan från början föresatt mig att bygga systemet kring en Arduino Nano. Den har ju förstås sina begränsningar, särskilt då programminnet som är ”endast” 32 kB, men tänkte ändå försöka.
Servern blir en Raspberry Pi (i sommarstugan) som kopplas till nätet över mobilt bredband.
Denna sommar kommer det ut en ny, pin-kompatibel version av Nano med bl.a. 1 MB programminne. Nästa vinter kommer jag troligtvis att konvertera programmet till den.
Här är en översiktsbild från växthuset. Då hade jag endast ett ämbar som bevattningstank (med tegelsten i för att minska vattenvolymen).
Just nu ser vattentanken ut så här: ...och för att visa att det blir resultat också... (försök räkna hur många poddar som syns på bilden ): Fortsättning följer...
Objektet:
Vid min sommarstuga har jag ett litet (ca. 8 kvm) växthus. För närvarande odlar jag enbart olika sorters chili. Tidigare har jag odlat också grönsaker och örter, men de är rätt tråkiga i längden...
Problemet:
Sommarstugan ligger på en ö i yttre skärgården. Bilresan av och an till båthamnen blir dryga tio mil, därtill båtfärd en dryg mil. På ön finns inte rinnande vatten och elförsörjningen är begränsad till 24 VDC från ett system med solpaneler.
Odlingstiden är därmed i praktiken från maj till oktober, bl.a. p.g.a. menföre och för att man inte kan värma upp växthuset utan el. (Det betyder också att jag inte kan hålla buskarna över vintern och därför planterar jag nya varje år i januari, börjande på fönsterbrädet i stan. I maj är de plantorna sedan tillräckligt stora för att flyttas ut till växthuset.)
Väl i växthuset bör odlingarna vattnas minst två gånger i veckan, men det bästa är att vattna lite varje dag.
Ifall det blir för varmt på dagen måste takluckan öppnas för vädring, och förstås stänga den till natten så att temperaturen inte sjunker under +8 grader, för då avstannar växten för många chiliarter. Så länge det är över +15 är det bra att ha vädringsluckan öppen, så att humlor och andra flygande insekter kommer åt att göra sitt.
Det är alltså rätt jobbigt att sköta underhållet den tid jag inte ”bor” där ute.
Målet:
Ett programmerbart, automatiskt bevattningssystem.
När jag kom så långt i tänkandet var det tid att göra upp en kravspecifikation:
- Systemet skall kunna sköta växthuset automatiskt utan underhåll åtminstone så länge som det finns vatten i "reservoaren".
- Skall stöda upp till fyra odlingsbänkar (i själva verket två bänkar och två vattenodlingshyllor)
- Odlingsbänkarna skall delas in i zoner, 4 st zoner per bänk. Varje zon skall kunna vattnas skilt på basen av individuella inställningar.
- Måste-krav:
- Skall mäta de för tillväxten väsentliga storheterna temperatur, luftfuktighet, jordfuktighet, ljus
- Skall övervaka vattennivån i vattenreservoaren och i bevattningstanken
- Skall sköta basbevattningen enligt programmerat tidsschema.
- Skall mäta fuktigheten i jorden (per zon) samt öka/minska bevattningen där ifall jorden i zonen är extra torr resp. fuktig
- Skall reglera takluckan efter temperaturen och enligt tidsschema
- Skall logga alla mätdata och regelbundet sända loggen trådlöst till en server för att läggas i en databas, som sedan kan nås över Internet
- Via servern skall man också [trådlöst] kunna fråga om status och inställningar
- Inställningarna skall kunna göras lokalt i växthuset och på distans över nätet (via servern).
- Skall tåla eventuella strömavbrott och andra störningar [vilka gör att processorn gör en reset] så, att bevattningsprogrammet fortsätter som programmerat efter avbrottet.
- Användargränssnittet skall vara menybaserat och ”tillräckligt” intuitivt.
Lösning och utförande:
Köpa något färdigt? => NEJ! Inget kul med det!
Så här tänkte jag mej bevattningen: (Principskiss) Reservoaren - Stor plasttunna (100 ltr) varifrån en elektriski pump fyller på
Bevattningstanken - En vattenkanna (2 ltr). Därifrån sker bevattningen med en annan pump, via en fördelare till magnetventilerna och spridarna - 1 vardera för varje zon.
Tanken bakom två vattenkärl och två pumpar är den, att det gör hela systemet mycket enklare. Precis som när man vattnar med sprutkanna, behöver man inte veta absolut hur mycket vatten man sprider varje gång. En bevattningstank från full till tom är därför "en dos", och i programmet kan man ställa in antalet bevattningsomgångar per dag (0..3 ggr) och hur många doser vid varje omgång (1..2 st).
Bevattningstanken behöver då endast två givare (flottörer), en för "Full" och en för "Tom". Genom att ändra på höjdskillnaden mellan dessa kan man då fininställa hur mycket en dos är.
Jag hade redan från början föresatt mig att bygga systemet kring en Arduino Nano. Den har ju förstås sina begränsningar, särskilt då programminnet som är ”endast” 32 kB, men tänkte ändå försöka.
Servern blir en Raspberry Pi (i sommarstugan) som kopplas till nätet över mobilt bredband.
Denna sommar kommer det ut en ny, pin-kompatibel version av Nano med bl.a. 1 MB programminne. Nästa vinter kommer jag troligtvis att konvertera programmet till den.
Här är en översiktsbild från växthuset. Då hade jag endast ett ämbar som bevattningstank (med tegelsten i för att minska vattenvolymen).
Just nu ser vattentanken ut så här: ...och för att visa att det blir resultat också... (försök räkna hur många poddar som syns på bilden ): Fortsättning följer...