Arduino temperaturmåling

Jeg har tenkt en stund på å lage meg en temperaturstyring for gjæring som bruker Arduino. Jeg har nå en STC-1000 som fungerer fint, men for noen av oss så er alt enda gøyere om vi kan lage og programmere det selv!  :klovn:

Jeg begynte med å kjøpe meg en Arduino og lærte meg noen grunnleggende prosjekter. Begynte så å lese meg opp på bruk av pt100 eller pt1000 med Arduino, og dette var noen hakk mer komplisert enn jeg hadde håpet på. Jeg fant denne siden som har et relevant prosjekt: 
http://openenergymonitor.org/emon/buildingblocks/rtd-temperature-sensing

Jeg har ikke mye elektronikkerfaring, men jeg kjøpte delene og satte i vår sammen en krets som beskrevet i artikkelen. Den fungerte, men hadde så mye støy i målingene at den i praksis var ubrukelig (senere ble støyen lavere, men målingene var på helt på jordet  :bank2:) . Jeg antar at mye kan gjøres for å redusere støyen om jeg får kretsen til å virke igjen. For eksempel å montere kretsen på noe annet enn et loddefritt breadboard. Men så kom sommeren og prosjektet har ligget urørt.

I kveld googlet jeg litt igjen, og kom over et kit fra Adafruit som bruker DS18B20: https://www.adafruit.com/products/381
Denne sensoren angis til å være nøyaktig til +/-0.5C over området -55 til +125. +/-0.5C er dårligere enn jeg ønsker, men så leste jeg at den har 12 bit avlesning som skulle gi en avlesning på nesten +/-0.04C. Jeg tolker dette slik at det er nøyaktigheten som er oppgitt, altså at sensoren ikke skal avvike mer enn +/-0.5 C fra den faktiske temperaturen. For mitt formål holder det imidlertid at sensoren gir samme temperatur hver gang jeg bruker samme sensor, og at den ikke avviker mer enn ca 0.1 mellom hver gang den måler en temp.

Er det noen som har noen tanker eller erfaringer om dette? DS18B20 er vanskeligere å programmere siden den er digital, men for meg er det veldig mye lettere enn å bygge og feilsøke en analog elektronisk krets... :bank2:
 
Er selv i oppstarten av lignende prosjekt. Tenker å bruke pt100 for måling. Driver å skriver kode med muligheter for stegmesking og sirkulasjons styring av pumpe under meskingen. Hvis jeg får løst d blir variabler hentet direkte fra et sd kort for enkelthetens skyld. Satser også på å benytte labview for logging av temp og kontroll av pid.

Skal undersøke litt rundt sensoren du har linket til. Virker interassant.

Sent from my GT-I9100 using Tapatalk 2
 
Hei! Avhengig av hvor du bor på Hop, er vi jo praktisk talt naboer ;)

Har ikke gjort noe Arduino før, bruker PIC kontrollere fra Microchip, men har brukt DS18B20 opp til flere ganger.. Siste prosjekt er faktisk en liten måle-gjærings-temperatur-dings som bruker denne sensoren. Den er ikke så vanskelig å bruke når man bare har lest dataarket ett par ganger, men om du trenger starthjelp kan det sikkert skaffes :)

Jeg har designet kort selv siden jeg er litt opphengt i å få ting så smått det går an (det er størrelsen det kommer an på vet du....), og det blei slik:


AAA powered Wifi Sensor by otjervaag, on Flickr

(.. håper de bildene virka....)

Den kjører på 2 x AAA batterier, temperatursensoren plugges inn i en av kontaktene nede på kortet (ikke plugget i på bildet..), og så kobler den til et WiFi nett for å sende fra seg verdier (enten til en lokal server eller f.eks til Google Docs eller liknende). For øyeblikket sender den verdier bare til en lokal server, og har enda ikke begynnt på kode for USB (Som skal brukes til å konfigurere dingsen..)

Har bare loddet sammen 2 kort til nå, men jeg tenkte å få spikret sammen ett par til og donere om noen har lyst til å prøve (det er litt kode som gjenstår, så det skjer ikke heeeelt enda..) .. og det hadde jo vært kjekt om testeren var i nærheten, så er det lettere å bistå om det trengs ;)

Øyvind
 
Har du sett! Det var jo hyggelig å få svar fra nabolaget! :) Jeg bor like ved troldhaugen forøvrig.

Hvor mye koster PIC kontrollerene? Og hva slags verktøy bruker man til å programmere disse?

Vedrørende sensoren, hva er erfaringene dine der? Siden jeg skal bruke den til gjæring er jeg ute etter best mulig presisjon i et relativt lite intervall (0-30C for eksempel).

Imponerende design forøvrig, og jeg er mer enn gjerne med på å teste ut. :)


(Jeg er forøvrig ikke fullt så opptatt av størrelsen, det er jo tross alt prosessen og resultatet som er det viktigste ;-)  )
 
fjerdrum: Hvordan har du tenkt å lese pt100 fra Arduinoen? Arduino kan ikke lese denne direkte siden. Såvidt jeg skjønner så må du i det minste omforme motstanden i pt100 til spenning som Arduino kan lese og temperaturintervallet du skal lese bør gi 0-5V dersom du ønsker å ha god oppløsning.
 
Arduino og DS18B20 er omtrent så enkelt som det er mulig å få det. Jeg har selv både sentralvarmen i huset og temperatur i gjæringsskap styrt av et slikt oppsett. Du trenger bare tre wire mellom arduino og sensoren og en pull-up på data-signalet. Det geniale er at når du først har fått opp systemet, er det bare å koble til så mange sensorer du ønsker.

Et par sider til inspirasjon:

http://www.elcojacobs.com/uberfridge/ http://arduino.cc/playground/Code/PIDLibrary
http://www.pjrc.com/teensy/td_libs_OneWire.html
Den siste linken har kildekode for å bruke sensoren.

Bruker du PID algoritmen slipper du store variasjoner på temperaturen. Hos meg ligger temperaturen på +-0.25grader i gjæringsskapet.
 
EspenL skrev:
Har du sett! Det var jo hyggelig å få svar fra nabolaget! :) Jeg bor like ved troldhaugen forøvrig.

Kloppedalen her, så om man er flink til å kaste stein når vi sikkert hverandre :p

Hvor mye koster PIC kontrollerene? Og hva slags verktøy bruker man til å programmere disse?

Bare ett par dollars for kontrolleren, men så kommer det jo krets/andre deler osv i tillegg.. Det finnes diverse ferdige utviklingskor som kan brukes (se f.eks. https://www.sparkfun.com/categories/9 ), men det er jo på ingen måte så utbredt eller fullt så enkelt å komme igang med som Arduino.. Til PIC må man  (om ikke man har USB bootloader) ha en programmerer utenom for å skrive til den. Noe som dette f.eks: www.microchip.com/pickit3

Vedrørende sensoren, hva er erfaringene dine der? Siden jeg skal bruke den til gjæring er jeg ute etter best mulig presisjon i et relativt lite intervall (0-30C for eksempel).

Har bare positive erfaringer med den sensoren, selv om jeg ikke har testet nøyaktigheten så mye. Det er jo ikke så lett å få til det på andre temperaturer enn 0C og 100C om man ikke har en annen bra referase å teste mot, men jeg vil tro nøyaktigheten er bra mellom 0 og 30. Dataarket påstår -0.2C gjennomsnitlig error i dette området..

Imponerende design forøvrig, og jeg er mer enn gjerne med på å teste ut. :)

Finfint! Da må jeg lodde litt til, og skrive ett par linjer kode til for å få på plass det mest essensielle.. :)
 
+- 0,5 antar jeg er i forhold til virkelig temperatur, har brukt sikkert 30 stk og alle viser på 100del samme temp når de er i samme miljø, men har aldri kontrolert de i forhold til virkelig temp fordi det vil aldri ha noen betydning.
Dette gjelder Ds18s20 og DS18b20 eller blanding av disse.
 
oyvindt skrev:
Jeg har designet kort selv siden jeg er litt opphengt i å få ting så smått det går an (det er størrelsen det kommer an på vet du....), og det blei slik:

Generelt veldig enig, hvertfall som elektronikk ingeniør, dessuten er jeg veldig glad i PIC kontrollere .....men som hjemmebrygger, litt uenig....
ikke om å gjøre å ha minst mulig "HLT", ikke om å gjøre å ha minst mulig mesketank og heller ikke om å gjøre å ha minst mulig kokekar. Sett i sammenheng har størrelsen på en temperatursensor eller den tilhørende elektronikk lite å si, så det viktigste er å finne en løsning som passer den enkelte.
Personlig ville jeg også tatt høyde for å kunne regulere temperaturen når jeg først hadde satt i gang ett slikt prosjekt.....den ekstra veien er jo så kort....men da finnes jo også en del ferdige løsninger på markedet.

EDIT: Men ser ut som ett veldig komprimert design, det skal du ha !!!!
        Den skal kunne logge uten USB, siden du har batterier ?.....Ja det skal den selvsakt...WiFi....
 
Okai, da, så er det ikke ALT som er bedre når det er mindre da... :)

.. og den kunne hatt flere utganger for regulering. Den har det ikke, for den var egentlig ikke helt tenkt til dette formålet. Egentlig er det for overvåkning av ute/inne-temperatur, fuktighet og andre vær-data, åpne/lukka dører osv. men så snubla jeg over noen særs passende thermo-wells som til TO-92 pakker, og vips, så måtte man prøve :D

Den har en utgang til, så den kan kjøle eller varme med kun få ektra komponenter utenom, men det får bli i neste runde..
 
Blir nok Arduino på meg når jeg bygger selv iom at denne er lett å komme i gang med og er lett å utvide.

Men for logging blir jeg gjerne med og tester kontrolleren din Øyvindt. Lager du kretskort og alt selv?

@Oddvar: Veldig oppløftende å høre. Jeg blei nok litt vel fokusert på pt100 da jeg startet opp...
 
Jeg bruker også Arduino + thermistor(er) for å styre et kjøleskap til gjæring. I begynnelsen leste jeg 3 termistorer fra 3 analoge inneganger rett etter hverandre. Da ble det interferens mellom sensorene. Dette fikset jeg (dvs. Google) ved å legge inn et lite delay på 50ms mellom lesing fra de forskjellige inngangene...
Jeg har noen TMP36 sensorer som jeg skal bruke i stedet... Det blir vel ganske likt  DS18B20.

PS! har du sett denne http://www.homebrewtalk.com/f51/diy-submersible-temperature-probe-26400/
 
EspenL skrev:
Blir nok Arduino på meg når jeg bygger selv iom at denne er lett å komme i gang med og er lett å utvide.

Men for logging blir jeg gjerne med og tester kontrolleren din Øyvindt. Lager du kretskort og alt selv?

Det er nok et lurt valg :) Det finnes jo masser av Arduino-resurser der ute!

Finfint å få noen som vil være med og prøve. Jeg skal haste meg ferdig så den kan brukes! Selve kretskortet er etset av en eller annen fabrikk langt østover, men før det blei det designet av meg, og etter det blei det loddet og programmert av meg ;)

Øyvind
 
fjerdrum skrev:
Er selv i oppstarten av lignende prosjekt. Tenker å bruke pt100 for måling. Driver å skriver kode med muligheter for stegmesking og sirkulasjons styring av pumpe under meskingen. Hvis jeg får løst d blir variabler hentet direkte fra et sd kort for enkelthetens skyld. Satser også på å benytte labview for logging av temp og kontroll av pid.

Skal undersøke litt rundt sensoren du har linket til. Virker interassant.

Sent from my GT-I9100 using Tapatalk 2

Jeg holder også på med en applikasjon (.Net) for styring/monitorering av bryggeriet jeg holder på med. Jeg har gått til innkjøpt av pt100 sensorer, men jeg slikter litt med å få tak i (eller laget) den analoge målekretsen for tilkobling til A/D'n (10bit) . Er veldig interessert i det, hvis du har en løsning på det. En krets som gir 0-5v for 0 - 120grader (100 - 146Ohm), f.eks.
 
Lunde skrev:
fjerdrum skrev:
Er selv i oppstarten av lignende prosjekt. Tenker å bruke pt100 for måling. Driver å skriver kode med muligheter for stegmesking og sirkulasjons styring av pumpe under meskingen. Hvis jeg får løst d blir variabler hentet direkte fra et sd kort for enkelthetens skyld. Satser også på å benytte labview for logging av temp og kontroll av pid.

Skal undersøke litt rundt sensoren du har linket til. Virker interassant.

Sent from my GT-I9100 using Tapatalk 2

Jeg holder også på med en applikasjon (.Net) for styring/monitorering av bryggeriet jeg holder på med. Jeg har gått til innkjøpt av pt100 sensorer, men jeg slikter litt med å få tak i (eller laget) den analoge målekretsen for tilkobling til A/D'n (10bit) . Er veldig interessert i det, hvis du har en løsning på det. En krets som gir 0-5v for 0 - 120grader (100 - 146Ohm), f.eks.

Linken til openenergymonitor i første posten i denne tråden gjør akkurat dette.
Men jeg er nå overbevist om at DS18B20 er veien å gå. Den har digital avlesning, og eliminerer såvidt jeg forstår problemer med støy. Hadde jeg hatt masse erfaring med analoge kretser, og hatt bla et oscilloskop, så hadde jeg kanskje tenkt anderledes.

Er forøvrig interessert i å vite mer om hvordan du snakker med Arduino fra .NET. Bruker dette selv til andre formål, men har ikke forsøkt å kommunisere eller styre Arduino ennå.
 
Viktste skrev:
Jeg bruker også Arduino + thermistor(er) for å styre et kjøleskap til gjæring. I begynnelsen leste jeg 3 termistorer fra 3 analoge inneganger rett etter hverandre. Da ble det interferens mellom sensorene. Dette fikset jeg (dvs. Google) ved å legge inn et lite delay på 50ms mellom lesing fra de forskjellige inngangene...
Jeg har noen TMP36 sensorer som jeg skal bruke i stedet... Det blir vel ganske likt  DS18B20.

PS! har du sett denne http://www.homebrewtalk.com/f51/diy-submersible-temperature-probe-26400/

Den lille forskjellen her er at TMP36 fortsatt har analog utgang, mens DS18B20 må man snakke med digitalt. :) Hva man velget av slike sensorer blir jo fort bestemt av hva man kan bruke alle rede. Bare husk at om man bruker eksterne komponenter til f.eks forsterking av analogt signal, vil dette påvirke nøyaktighet og repeterbarhet. Vet ikke hva dataarket til Atmel-kontrollerene sier, men regner også med at minst signifikante bit i ADC'en stort sett er støy, og kan kastes?

TMP36 sensoren ser også ut til, ifølge dataarket på siden du linket til, å ha litt dårliere nøyaktighet?

... uansett er dette kanskje et spørsmål for å starte en helt ny tråd, men har denne nøyaktigheten egentlig noe som helst å si for sluttproduktet når det drikkes (jeg tror i alle fall at det ikke har det...)? :)
 
EspenL skrev:
Men jeg er nå overbevist om at DS18B20 er veien å gå. Den har digital avlesning, og eliminerer såvidt jeg forstår problemer med støy. Hadde jeg hatt masse erfaring med analoge kretser, og hatt bla et oscilloskop, så hadde jeg kanskje tenkt anderledes.

Sikkert flott til å måla temperatur i luft med.  Litt usikker om den egnar seg når du skal måle i væske -- blir ein solid thermowell du må ha….
 
Tilbake
Topp