Arduino-osmolator, med optisk nivågivare

Berätta om dina pågående projekt.
daniel_i_malmö
Inlägg: 32
Blev medlem: 23 januari 2012, 22:11:26

Arduino-osmolator, med optisk nivågivare

Inlägg av daniel_i_malmö »

Hej
Detta är min första post här, och detta är mitt första elektronikprojekt sedan tekniktimmarna på högstadiet för snart 25 år sedan. Så snälla ha överseende och tålamod! :)

Jag har en bakgrund som mjukvaruutvecklare. Nu har jag skaffat mig en Arduino och har lite frågor, främst angående en optisk vätskenivågivare.

Projektbeskrivning
Som ett lämpligt första eget Arduinoprojekt har jag tänkt mig replikera funktionen hos den Tunze Osmolator jag har till mitt saltvattensakvarium. http://www.tunze.com/149.html?&L=1&C=SE ... oxunter036

Dess syfte är att fylla på sötvatten i saltvattensakvariet efterhand som akvarievattnet avdunstar. Om det avdunstade vattnet ej ersätts stiger salthalten.

Osmolatorn har två nivågivare.

En optisk som monteras i höjd med akvariets vattenyta, när denna hamnar ovan vatten startar pumpen i sötvattensbehållaren och pumpar upp vatten till akvariet. Pumpen stannar igen när vattenytan når den den optiska givaren. Det är tre sekunders hysteres för att undvika att vågskvalp stör funktionen.

Den andra nivågivaren är en flottörgivare. Den monteras ovanför den optiska givaren. Det är en backup om den optiska givaren skulle fallera. Om flottörbrytaren löser ut har nivån stigit för högt, och då stoppas osmolatorpumpen omedelbart, ett larm piper och en varningsdiod lyser.

Det finns en andra backupfunktion: om pumpen i osmolatorbehållaren är igång i mer än 10 minuter i ett sträck stoppas den och larmet utlöser. Detta skyddar både mot överfyllning av akvariet om båda nivågivarna skulle fallera, och mot att pumpen kör torrt om sötvattnet i behållaren tagit slut.

Osmolatorns kontrolldosa har fyra leds:
Röd, om flottörgivaren löst ut, dvs för hög vattennivå.
Grön, om vattennivån är OK, dvs den optiska givaren i vatten.
Gul, om den optiska givaren löst ut och pumpen är igång.
Röd nr 2, om den optiska givaren löst ut men nivån inte stigit tillräckligt på 10 minuters pumpande.

Jag känner att denna funktionalitet inte ska vara allt för svår att replikera med arduino, eller?

Komponenter
Förutom arduinon har jag tänkt mig förljande komponenter:

Flottörgivare:
http://www.ebay.com/itm/Free-Shipping-5 ... 566wt_1143

Optisk givare:
Även om det vore mycket billigare att ersätta den optiska givaren med ännu en flottörgivare vill jag använda en optisk nivågivare, dels pga att det känns säkrare med två givare med olika verkningsmekanism, och dels därför att jag helt enkelt vill efterlikna Tunzeoriginalet så långt som möjligt. Dock visade sig det relativt svårt att hitta denna typ av givare. På ebay fanns det inte alls. Efter en hel del sökning har jag hittat den här:
ELS-900 level sensor, 5V, dry sink
http://se.rs-online.com/web/p/products/6163006/

Fråga: Går denna givare att koppla direkt till arduinon? Betyder 'dry sink' att den är stängd när den är vatten och på när den är i luft, vilket jag önskar?

Givaren ska inte direkt styra pumpen, utan arduino ska känna av givarens status och sedan styra ett relä som kontrollerar pumpen.

Relä:
Jag har ett sånt här relä: http://www.electrokit.com/relay-shield.48468
Det borde väl fungera, även om jag bara behöver kontrollera en pump?

Dränkbar 12v pump:
http://www.conrad.se/DR%c4NKBAR-PUMP-TY ... 85_0813015

+ lite leds, summer mm.

Vad säger ni? Det är den optiska givaren jag känner mig mest osäker på, om jag valt rätt modell.

Tanken är sedan att jag ska bygga ut funktionaliteten med ytterligare flottörer i sötvattenbehållaren, så att jag varnas innan den är helt tom, och ev även kan fylla på den genom att styra en magnetventil koppad på vattenledningen.

Än så länge har jag kommit så här långt: skaffat arduino, relä, leds, kablar och summer. Kommer att beställa de övriga komponenterna så fort jag känner mig säker på att de är rätt.

Sedan finns det massor av inspirerande avancerade akvariekontrollers baserade på arduino beskrivna på nätet, som bla simulerar solupp och -nedgång genom att styra leds. Men det får bli ett senare projekt...
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av jesse »

Välkommen :)

Om du köper den modell som drivs på 5 volt så går den ju att koppla in på samma matningsspäning som arduinon (för den går väl på 5 volt?)

I databladet står det:

Output May Sink 40 mA. max., up to 30 VD

Det betyder att du enkelt kan ansluta den till en digital ingång direkt till din arduino. Du kan antingen aktivera intern pull-up eller använda ett externt motstånd. Ett motstånd på ca 10k är lämpligt. Vill du spara ström (t.ex. vid batteridrift) så ansluter du motståndet till en utgång som bara aktiveras vid avläsning (ger etta ut då, annars nolla). Om den är öppen eller sluten i vatten spelar ju ingen roll- det kan du ju lösa i mjukvaran.
Användarvisningsbild
DeVille
Inlägg: 2361
Blev medlem: 29 mars 2004, 15:04:22
Ort: Dalsländska skogen.
Kontakt:

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av DeVille »

Tyckte det stod nåt om två varianter, en för Dry conditions och en för Wet.
Du kanske skulle kolla så att du får rätt variant.

Intressant projekt, men för att få 2 system för nivå kännare kanske du skulle kolla på 2 olika typer av flottörer istället?

/DeVille
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av jesse »

Ja, en dåligt gjord flottör kan ju fastna etc. men det är ju mindre troligt att två olika modeller skulle få samma problem samtidigt.
daniel_i_malmö
Inlägg: 32
Blev medlem: 23 januari 2012, 22:11:26

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av daniel_i_malmö »

Tack för svaren! :)

Håller på att kolla nu med försäljaren vilken optisk nivågivare som fungerar så som jag tänkt mig. Bra att veta att det går att lösa i mjukvaran och att bara aktivera utgången vid avläsning annars. Tänkte väl lite analogt där eller något och tänkte att det skulle gå (slösas) spänning (ström? el? vad är rätt benämning, jag kan verkligen inget om el eller elektronik...) konstant genom givaren om jag valde fel. Kan inget om arduino eller mikroprocessorer heller som ni märker, så det här blir spännande. :)
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av blueint »

Borde inte salthalten mätas snarare än nivån?
daniel_i_malmö
Inlägg: 32
Blev medlem: 23 januari 2012, 22:11:26

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av daniel_i_malmö »

Salthalten mäter jag när jag blandar till saltvattnet, med hjälp av en refraktometer. Så länge vattenvolymen sedan hålls konstant genom kompensation för avdunstning förblir salthalten konstant - möjligtvis sjunker den något, något lite över lång tid pga saltstänk och den lilla mängd saltvatten som försvinner när jag tömmer koppen till äggviteavskummaren.
meconer
EF Sponsor
Inlägg: 497
Blev medlem: 27 april 2010, 20:07:46
Ort: Järfälla

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av meconer »

Finns det nåt bra sätt att mäta salthalt elektroniskt?
daniel_i_malmö
Inlägg: 32
Blev medlem: 23 januari 2012, 22:11:26

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av daniel_i_malmö »

Att mäta konduktiviteten är en bra och enkel början.
meconer
EF Sponsor
Inlägg: 497
Blev medlem: 27 april 2010, 20:07:46
Ort: Järfälla

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av meconer »

Om man skulle vilja mäta just brytningsindex elektroniskt då? Det är väl det man gör med en refraktometer? Man skulle ju kunna tänka sig att mäta andra koncentrationer då.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av blueint »

Eftersom refraktormeter mäter brytningsavvikelse. Så borde det gå att använda en lysdiod som skikar en rak ljusstråle genom mediat (akvarievattnet) och sedan läser man av avvikelsen med en avlång bildsensor.

Bild

För att undvika problem med smuts som hindrar ljus. Så kanske infrarött eller ultraljud kan fungera?
daniel_i_malmö
Inlägg: 32
Blev medlem: 23 januari 2012, 22:11:26

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av daniel_i_malmö »

Ja, det finns mätutrustning som mäter optiskt. Men för kontinuerlig mätning i akvariet är det nog inte realistiskt pga alger och annan beläggning skulle bildas snabbt på sensorn?

Ett annat mätalternativ, förutom konduktivitet och refraktion, är att mäta densiteten.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av blueint »

Har kikat lite mer på refraktion. Det borde gå att skicka ultraljud och mäta signalen med piezoelement eller mikrofon.
metric
Inlägg: 786
Blev medlem: 16 maj 2010, 11:04:52

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av metric »

Här är en beskrivning på hur du gör en kapacitiv sensor med två pinnar audrino.
Borde gå att få vattennivån.

http://www.arduino.cc/playground/Main/CapSense
daniel_i_malmö
Inlägg: 32
Blev medlem: 23 januari 2012, 22:11:26

Re: Arduino-osmolator, med optisk nivågivare

Inlägg av daniel_i_malmö »

Hehe, kul detta. Massor av spännande förslag.

Beträffande vattennivån så har jag nu beställt flottörgivare från ebay:
http://www.ebay.com/itm/280786362892?ss ... 566wt_1039

Jag har även beställt en 'Ultrasonic Module HC-SR04 Distance Measuring':
http://www.ebay.com/itm/320815133657?ss ... 990wt_1272

Min tanke är ju att förutom som originalapparaten mäta nivån i saltvattensakvariet även mäta vattennivån i sötvattentanken. Dels en flottörgivare som larmar och skyddar mot torrkörning av påfyllningspumpen. Avståndsmätaren tänkte jag sätta i locket på tunnan, och mäta avståndet till vattenytan. När det närmar sig kritisk nivå, men i god tid före flottörbrytaren larmar så skulle apparaten kunna varna med först en led sedan korta glesa signaler tätare ju lägre vattennivå.

Beträffande salthalten så är den viktigt, men långsamma förändringar inom rimliga gränser är egentligen ingen fara eftersom djuren anpassar sig då. Men det är möjligt att jag försöker mig på en konduktivitetsmätare i framtiden. Här finns en färdig i stort sett produkt, som går att koppa till serieport på dator eller till tex arduino:
http://atlas-scientific.com/index.php/s ... ct=7766632

pH är också intressant. Finns modul på samma ställe som ovan, eller tex här, med inbyggd arduinokompatibel mikroprocessor:
http://www.sparkyswidgets.com/Products.aspx

Men i första steget är det alltså sötvattenpåfyllningen jag ska kontrollera.
Skriv svar