Automatiserad växtodling utan jord (Hydroponiocs)

Berätta om dina pågående projekt.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av squiz3r »

Tjena! Nu var det ett längesen jag var aktiv här sist men här kommer ett litet projekt som jag slängde ihop häromdagen!

Mål
Ett automatiserat odlingssystem för växter där plantorna vattnas automatiskt. Plantorna skall dessutom inte odlas i jord utan med hydrokultur i ett så kallat "Ebb and Flow" system. Detta för att öka produktionen och kvalitén på plantorna. Plantorna kommer ges artificiellt ljus av en 180 watt LED-lampa med 10 spektrum i det röda och blå området.
P1050022.JPG
Hydrokultur
Hydrokultur, eller hydroponic som det heter på engelska, är en teknik som utvecklades bland annat av NASA för att odla växter på rymdstationer med högre effektivitet ur både plats, tid och vattenåtgångssynpunkt. Det finns i princip tre olika sätt att odla utan jord: hydroponics, aquaponics och aeroponics. I det förstnämnda befinner sig växterna under vatten (eller rättare sagt näringslösning) en del av tiden och i luft en del av tiden, i det sist nämnda hänger växternas rötter i en vattendimma eller i ett vattensprej. Aquaponics är samma som hydroponics fast istället för näringslösning använder man en tank/damm med fiskar och får på så sätt ett eget kretslopp.

Sedan finns det olika underkategorier till hydroponics tex "Deep Water Culture" och "Ebb and Flow". I DWC (Deep Water Culture) hänger rötterna konstant ner i näringslösningen och luftpumpar används för att tillsätta luft till rötterna via bubbling. Ebb and Flow som jag kommer bygga denna gången går ut på att man översvämmar växterna regelbundet och sedan låter dem torka en stund innan man upprepar. I mitt fall kommer jag köra 13 minuter under vatten och 7 minuter torka för att sedan upprepa processen. Detta upprepas hela dagen men stängs av innan det blir mörkt.

Växtmedium
Att man inte kan använda jord är lätt att förstå då rötterna inte skulle ha tid att torka ut utan ruttna. Därför finns det olika material som man kan använda. Växtmediet är dött och används bara för att hålla plantan på plats, inte för att ge näring eller dyl som jord gör. Vanliga medium är sten, lekakulor eller stenull.

Vid odling i jord vill jag minnas att jag sett siffror på att rötterna får runt 20% luft. Med hjälp av jord uppblandad med perlit eller kokosfibrer kan man komma upp i 30%. Hydroponics ger cirka 80% medan aeroponics ger 99% eller mer. Mer luft ger snabbare tillväxt och friskare plantor. Med hydroponics kan man räkna med åtminstone dubbla tillväxthastigheten som med jord. Aeroponics kan vara cirka 30% snabbare än hydroponics.

Tillvägagångssätt
Här är en film på hur jag byggde mitt system.
https://www.youtube.com/watch?v=A_E90ihuPwo
Untitled2.jpg
Elektroniken som används är en PIC12F629 som timerstyrning. Genom en knapptryckning kan man välja tre olika intervaller, vattningsperioden 20 minuter, 60 minuter eller 180 minuter.
pic.jpg
Här är koden som jag programmerade PIC;en med.

Kod: Markera allt

/*
 * Author: Daniel Andersson, DA-Robotteknik
 *
 * Connect:
 * Water pump to GP0
 * LED to GP1
 * Switch to GP2 (active low)
 *
 * Created on den 4 januari 2015, 12:50
 */
#include <xc.h>

// CONFIG
#pragma config FOSC = INTRCIO   // Oscillator Selection bits (INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-Up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // GP3/MCLR pin function select (GP3/MCLR pin function is MCLR)
#pragma config BOREN = OFF      // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF         // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled

#define _XTAL_FREQ  4000000      // 4MHz clock (used for delays)
#define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))
#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))

#define TIME_1ms (_XTAL_FREQ/4000.0)

// Define pinnumbers
#define sw          GP2
#define pump        GP0
#define led         GP1


// Define timeconstants
#define TCYCLE_SHORT 1200 // 20 minutes
#define TCYCLE_MEDIUM 3600 // 1 hour
#define TCYCLE_LONG 20800 // 3 hours

#define TIME_ON 600 // 10 minutes

#define SW_PRESS 0 // Switch active low

unsigned int wateringPeriod; // How many seconds between watering? (24-bit)
unsigned int onTime; // How many seconds should each watering cycle be active?

unsigned int halfSeconds; // 24-bit to store elapsed time since last watering

// Check adress 0 in EEPROM, if set to 123 a time intervall should have been saved on adress 2
unsigned char tCycleIsSaved(){
    EEADR = 0x00;
    EECON1 |= 0b00000001; // Sett RD to start read
    return (EEDATA == 123);
}

// Read the value last saved on adres 1 in EEPOROM
unsigned int tCycleRead(){
    unsigned char value;
    EEADR = 0x01;
    RD = 1; // Sett RD to start read
    value = EEDATA;
    if (value == 0)
        return TCYCLE_SHORT;
    else if (value == 1)
        return TCYCLE_MEDIUM;
    else if (value == 2)
        return TCYCLE_LONG;
    else
        return TCYCLE_MEDIUM;
}

// Save an value in adres 1 in EEPROM and set adr 0 to 123
void tCycleSave(unsigned int value){
    // Write the value
    EEADR = 0x01;
    if (value == TCYCLE_SHORT)
        EEDATA = 0;
    else if (value == TCYCLE_MEDIUM)
        EEDATA = 1;
    else if (value == TCYCLE_LONG)
        EEDATA = 2;
    else
        EEDATA = 1;
    //EEIF = 0;
    WREN = 1; // Write enable
    GIE = 0; // Disable interrupts during write..
    EECON2 = 0x55; // Required sequence. Se datasheet.
    EECON2 = 0xAA; // Required sequence. Se datasheet.
    WR = 1;
    __delay_ms(10);
    //EEIF = 0;
    // Write the checkvalue to adres 0
    EEADR = 0x00;
    EEDATA = 123;
    EECON2 = 0x55; // Required sequence. Se datasheet.
    EECON2 = 0xAA; // Required sequence. Se datasheet.
    WR = 1;
    __delay_ms(10);
    //EEIF = 0;
    // Re enable interrupts
    GIE = 1;
    WREN = 0; // Write disable
}

// Blink LED X number of times
void blinkLed(unsigned char x){
    while(x > 0){
        x --;
        led = 1;
        __delay_ms(500);
        led = 0;
        __delay_ms(500);
    }
}

// Switch pressed.
// Change the time delay between watering
void swPressed(){
    switch (wateringPeriod){
        case TCYCLE_SHORT:
            wateringPeriod = TCYCLE_MEDIUM;
            tCycleSave(TCYCLE_MEDIUM); // Save to EEPROM
            blinkLed(2);
            break;
        case TCYCLE_MEDIUM:
            wateringPeriod = TCYCLE_LONG;
            tCycleSave(TCYCLE_LONG); // Save to EEPROM
            blinkLed(3);
            break;
        case TCYCLE_LONG:
            wateringPeriod = TCYCLE_SHORT;
            tCycleSave(TCYCLE_SHORT); // Save to EEPROM
            blinkLed(1);
            break;
    }
}

// Main function...
void main(){
    //init GPIO pins
    TRISIO = 0b00001100;    // Switch and MCLRE as input
    CMCON = 0b00000111;     // Disable comparator
    GPIO = 0b00000000;      // Set all GPIO pins low

    onTime = TIME_ON; // in seconds
    // Check if eeprom contains info about intervall time
    if (tCycleIsSaved()){
        wateringPeriod = tCycleRead(); // Get last saved time from eeprom
        led = 1;
        __delay_ms(2000);
        led = 0;
    }
    else {
        tCycleSave(TCYCLE_MEDIUM); // First time controller is started after programming
        wateringPeriod = TCYCLE_MEDIUM;
        blinkLed(10);
    }

    halfSeconds = (wateringPeriod-onTime)*2; //Start the first cycle 10 seconds after startup

    // Enable global and peripheral interrupts to use timers..
    GIE = 1;
    PEIE = 1;

    // Set up timer 0 (used for delay between watering)
    TMR1GE = 0; // Don't use the gate input
    T1CKPS1 = 1; // 1:8 prescale
    T1CKPS0 = 1;
    T1OSCEN = 0; // No external osc
    TMR1CS = 0; // Use Fosc/4
    TMR1H = 11; // Preload with 3036 (11 and 220) to get Tint = 0.5s
    TMR1L = 220;
    TMR1ON = 1;
    TMR1IE = 1;


    while(1){
        if(sw == SW_PRESS) // Look for switch press
            swPressed();
    }
}

void interrupt tc_int(void){       // interrupt function
    // Timer 1 used for watering period
    // Interrupts every half second and increase the half-seconds counter variable
    if(TMR1IF && TMR1IE)
    {
        TMR1H = 11; // Preload with 3036 (11 and 220) to get Tint = 0.5s
        TMR1L = 220;
        halfSeconds ++;

        if(halfSeconds > 2*(wateringPeriod - onTime)){ // Delay passed, start pump
            pump = 1; // Watering cycle started
            if (halfSeconds > 2*wateringPeriod){ // Watering cycle ended
                halfSeconds = 0; // Clear time counter
            }
        } else {
                pump = 0; // Turn of pump
        }
        TMR1IF = 0;   // clear the interrupt flag
    }
}
Schema på spänningsregulatorn också:
vreg.jpg
Hoppas ni uppskattade läsningen!
/ Daniel
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av ElectricNooB »

Häftigt! Se bara till att lampan inte syns utanför annars kan du få finbesök alá husis! :lol: (Seriöst dock)
Användarvisningsbild
)ExecutoR(
Inlägg: 256
Blev medlem: 11 juni 2008, 09:18:31
Ort: Hälsingland

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av )ExecutoR( »

Fast det gör väl inget om man får finbesök och bara odlar tomater och lite sallad? Det är väl snarare bara bra, då kan man byta inriktning efter besöket när de redan kollat. ;)
Miramithe
Inlägg: 1423
Blev medlem: 21 januari 2013, 17:45:10
Ort: Borlänge

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av Miramithe »

Trevligt projekt, ska tipsa min bror om det, han odlar chili och dom blev så bleka i bladen så han köpte en precis lika lampa som du har och på bara ett par veckor så har dom blivit gröna och fina igen.
zealotry
Inlägg: 918
Blev medlem: 9 oktober 2004, 22:28:40
Ort: Västerås

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av zealotry »

Kul, jag har ett aquaponicsprojekt i pipelinen, dvs i bakhuvudet =) Kanske borde testa lite hydroponics först, mycket som överlappar och det ena utesluter ju inte det andra. Vad ska du använda för näringlösning? Var köper du den?
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av squiz3r »

Såååå misstänkt ser det väll inte ut :P Jag har byggt ett ljuställt till den nu så att växterna ska få mer ljus och att det inte skall synas lika mycket utifrån (kommer film om det snart också!)
DSC_0027.JPG
Jag fick precis min leverans med näring, det är från Gold Label, som jag försår en utav de bättre tillverkarna. Man skall alltid se till att ha minst tvåkomponent också för annars bryter de ner varandra och blir inte lika effektivt. Jag beställde från Hydrogarden.se, bra utbud av allt till hydrokultur. De har stenullskuber osv.
http://www.hydrogarden.se/naring/gold-label/

Miramithe: Jag odlade chili under en vanlig CFL lampa tidigare, 6500K och 15 watt. Normalt sett använder man 6500K för tillväxt och 2500K för blomning/frukttillverkning men det gick bra med bara den. Hade en annan chili under ett 30W 6500K CFL och ett 2500K CFL på 28watt med PAR38, men de chiliarna har fortfarande inte gått upp i blom efter typ 4 månader.. Skall bli intressant att se hur det går med denna nya lampan!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
NULL
Inlägg: 2522
Blev medlem: 15 september 2010, 12:59:25
Ort: Örebro

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av NULL »

Att man inte kan använda jord är lätt att förstå då rötterna inte skulle ha tid att torka ut utan ruttna.
Nja, det beror på... jord kan man visst ha i "Ebb and Flow". Det beror på en rad faktorer, från hur tålig växten är, till hur ofta du har högvatten...
Tomater tycker jag inte blir lika goda utan jord.
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av superx »

Coolt! Jag har ett liknande bygge som väntar på att slutföras. Automatiseringen är inte klar än, och hittills har jag bara kört med lågenergi-lampor. Var köpte du din lampa?
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av squiz3r »

Jag köpte min lampa på ebay. Riktigt snabb frakt! Beställde den 31e på kvällen, skickades den 1'e och den 5'e levererades den med bud till dörren!
http://www.ebay.com/itm/191267498440

NULL: Självklart finns det växter som tål att svämmas över regelbundet eller stå konstant under vatten, och man kan ju köra med långsamma cykler på vanliga plantor. Men det blir ju inte hydrokultur då utan bara automatisk bevattning. Jag har länge kört med min andra plattform som en gång per dag svämmar över med 1-2 cm högt vatten som får sugas upp i jorden och det går utmärkt, främst för att jag alltid glömmer vattna om jag har det manuellt. Men annars säger man att om det ska växa så snabbt som möjligt i jord skall plantorna precis hinna torka ut innan man vattnar igen vilket ofta tar ca tre dygn. Så utan jord skyndar man ju på processen. Tomater har jag aldrig odlat i hydrokultur, men jag har sett många som gjort det. Vad använde du för näringslösning till dem? Fick de lika mycket sol som de i jord? Tomater kräver väldigt mycket sol jämfört med andra plantor för att bli goda.

/ Daniel
Användarvisningsbild
hcb
Moderator
Inlägg: 5792
Blev medlem: 23 februari 2007, 21:44:50
Skype: hcbecker
Ort: Lystrup / Uppsala
Kontakt:

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av hcb »

Kul projekt, jag köpte mig en lampa jag också.

Vad använder du för pump?
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av superx »

Nu har jag också beställt en lampa!

Jag kör med denna pump:
http://www.hydrogarden.se/bevattning-pu ... 0ltim.html
G-man
EF Sponsor
Inlägg: 1368
Blev medlem: 21 december 2005, 20:04:36
Ort: Lkpg

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av G-man »

kul projekt! nästan något man skulle kunna göra med barnen... kan man kanske köra detta utomhus på sommaren? Jag hade en tanke att slänga upp ett par pallkragar och odla lite i för skoj skull i sommar, men man skulle ju kunna ställa ett par såna här i en pallkrage istället.
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av superx »

Jag odlade koriander och mynta utomhus utan lampa, men i stenull och med pump, i somras. Funkade bra!
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av squiz3r »

Yes, det fungerar utmärkt utomhus också! Finns en massa på youtube, tex denna snubben:
https://www.youtube.com/watch?v=EJjAWF2DfWY

Jag gjorde ett lite enklare ebb and flow system i somras också. Rekommenderar dock att sätta ett överfyllnadsskydd i den också, min timer hängde sig när jag var på semester och tömde hela dammen..
https://www.youtube.com/watch?v=Uqi1isxSqnY

Pumparna köpte jag från någon säljare på ebay, tror det var typ 200kr för 5 stycken.
Användarvisningsbild
NULL
Inlägg: 2522
Blev medlem: 15 september 2010, 12:59:25
Ort: Örebro

Re: Automatiserad växtodling utan jord (Hydroponiocs)

Inlägg av NULL »

Det var för länge sen för att jag ska komma ihåg tyvärr, det enda jag la på minnet var att jag drog slutsatsen att det kanske var spårämnen i jorden som fattades i mineralullen...
Skriv svar