Att mäta temperatur

Uppdaterad 12.9.2013. (Automatisk testkörning + uppdatering av texten)

Jag har länge planerat att bygga ett enkelt mätsystem för att direkt mäta temperaturstegringen från koldioxiden i atmosfären. Växthuseffekten till följd av koldioxid beror på att koldioxiden i atmosfären absorberar den infraröda strålningen från marken och därigenom hindrar den från att direkt stråla ut i rymden. En koldioxidmolekyl som har absorberat en foton antas efter ett kort ögonblick skicka iväg en motsvarande foton i en slumpmässig riktning. En del av fotonerna som koldioxiden absorberade kommer då också att träffa marken som då bör varmas upp.

Dagens klimatologer antar att den extra uppvärmningen från koldioxiden i atmosfären borde vara ungefär en grad C per fördubbling av koldioxidhalten. En grads uppvärmning, eller något i denna storleksordning bör vara relativt lätt att mäta direkt. IPCCs siffror på 4 till 6 grader är en följd av att IPCC antar att mängden vatten i atmosfären ökar och då vattenånga är en ännu kraftigare växthusgas än koldioxid så kommer det att ske en positiv återkoppling d.v.s. vattenångan förstärker effekten av koldioxid.

Man har redan för hundra år sedan försökt uppskatta hur stor växthuseffekten är. Fysikern R.W. Wood gjorde ett experiment år 1909 där han gjorde två identiska växthus (små!), det ena med glas som släpper igenom synligt ljus men inte infraröd strålning. Det andra var försett med ”glas” av natriumkloridkristall som släpper igenom infraröd strålning. Logiskt sett bör resultatet av att glas inte släpper ut IR betyda att det växthuset värms mera än växthuset klätt med NaCl kristall. Man har ofta hänvisat till Woods experiment i klimatsammanhang. Det visar sig dock att det inte är lätt att göra ett övertygande experiment. Fysikern Roy Spencer har försökt verifiera Woods experiment delvis med moderna material. Intresserade läsare kan bekanta sig med Spencers experiment via länken nedan.

http://www.drroyspencer.com/2013/08/revisiting-woods-1909-greenhouse-box-experiment-part-i/

Personligen ser jag Woods experiment som mycket tvivelaktigt. Orsaken till detta är att uppvärmningen av marken i växthusen kommer att leda till att varm luft stiger upp från den varma marken. Det kommer snabbt att uppstå konvektion d.v.s. luften rör sig. Luft i rörelse transporterar mångdubbelt mer värme än stillastående luft och också mycket mer än utstrålningen via IR. Vi har en situation där luften i rörelse effektivt värmer glaset som i sin tur värmer luften på utsidan. Det stora problemet blir att hålla koll på alla de möjliga felen till följd av konvektion.

Jag har tänkt svänga på experimentet. Jag använder ett rör som står vertikalt. Överst finns elektriska värmemotstånd som simulerar den varma marken och som kommer att stråla ut infraröd strålning på samma sätt som marken i ett växthus. Ca. 150 mm nedanför värmemotstånden placerar jag en välisolerad temperatursensor som är isolerad uppåt mot värmaren och tittar ner i röret. Temperatursensorn bör mäta den omgivande luftens temperatur men om det finns signifikanta mängder tillbakastrålad IR så bör strålningen ge en extra temperaturhöjning.

Varför bygga experimentet upp och ned? Orsaken är att vi då åstadkommer en naturlig temperaturinversion där den varma luften är i huvudsak i toppen av röret och kallare luft finns nere i röret. Resultatet är en situation där konvektion inte uppstår och vi har eliminerat mängder av felkällor.

Kan man faktiskt köra experimentet i ett kort rör, atmosfären sträcker sig ju långt över 10 km upp? Denna fråga analyseras mera i detalj nedan.

Jordens atmosfär innehåller ca. 400 ppm koldioxid d.v.s. ungefär 400 molekyler på en miljon är koldioxid (d.v.s. ungefär en molekyl på 2500 är koldioxid).

Vi kan uppskatta den absoluta mängden koldioxid i luftpelaren från marken till atmosfärens yttersta gräns på följande sätt. Det är fråga om en överslagsberäkning, men det är tillräckligt för mina behov. Vid en atmosfärs tryck är trycket mot en yta på en kvadratcentimeter 1 kp vilket samtidigt betyder att atmosfären ovanför ytan väger 1 kg vilket betyder att volymen avanför är ungefär 1/1.2 m³ (en kubikmeter luft väger ca. 1.2 kg). Volymen koldioxid i denna luftmängd är om gaserna är väl blandade (400/1000000)*(1/1.2)*1000 liter = 0.333 liter.

Vi kalylerar nu hur långt ett rör med tvärsnittsytan 1 cm² måste vara för att det skall innehålla samma mängd koldioxid som hela atmosfären från jordytan upp till rymden. En meter rör kommer att rymma 100 cm² vilket betyder att vi behöver ett 3.33 meter långt rör för att det optiskt skall motsvara all koldioxid i atmosfären.

Min idé är att montera elektriska effektmotstånd upptill i ett stående rör. Effektmotstånden kommer att ge ifrån sig infraröd strålning (IR) precis som en varm markyta på jorden. Då röret är fyllt av koldioxid kommer en del av IR-strålningen att absorberas av koldioxiden och slumpmässigt emitteras i olika riktninga också bakåt tillbaka mot värmekällan. Om en välisolerad temperaturgivare som ser ner i röret placeras något nedanför värme-elementen så bör sensorn detektera en del av den tillbakastrålade IR strålningen vilket bör leda till högre temperatur.

Varför placerar jag uppvärmningen upptill och inte nedtill? Orsaken är att jag vill studera hur IR strålningen påverkar temperaturen utan en massa störande konvektion. Om jag skulle värma luften i botten av röret skulle den uppvärmda gasen börja stiga uppåt och kallare luft uppifrån skulle ”rinna” ner. Värmetransporten via konvektion är betydligt effektivare än värmetransport via strålning … det är inte utan orsak man använder fläktar för att skapa luftflöden över komponenter som skall kylas. Kylning som sker endast via strålning är ett måste i rymden men nere på jorden använder man värmeledning och konvektion. Genom att bygga systemet upp och ned kan jag på ett väldigt enkelt sätt förhindra i stort sett all konvektion.

Det är självklart att ett mätsystem av denna typ kräver god temperaturmätning. Det är inte viktigt att den absoluta temperaturen är exakt, däremot är jag intresserad av att detektera små temperaturförändringar.

Det första steget i processen är att se hur små temperaturvariationer det går att detektera.

temperatur

Fig. 1  Bilden visar två körningar. Den övre kurvan visar temperaturdrift i rummet och mitt i kurvan värms motstånden med 5W i en minuts tid. Man kan tydligt se hur temperaturen stiger och sedan börjar falla igen. Den nedre röda kurvan visar en senare körning där luftens temperatur i rummet har ändrat.  Då temperaturen börjar stiga värms motstånden med 9W under en minuts tid. X-axeln är i sekunder d.v.s experimenten har gått på ungefär en timme per körning. Y-axeln är graderad i tusendedelsgrader men så att hela grader har subtraherats.

Mätningarna görs med en analog LM35 linjär temperatursensor. Utspänningen från sensorn mäts med hjälp av en 18-bitars analog till digitalkonverter men så att adkonvertern gör trettio mätningar under ca. sju sekunders tid varefter ett medeltal beräknas. Mätningar lagras med trettio sekunders intervall. De första körningarna visar att brusnivån ligger på ca. 2/10000 grader. Observera att detta inte säger något om sensorns kortvariga inre temperaturdrift.  Tillverkaren anger att långtidsstabiliteten är ungefär +/-  80/1000 grader mätt över tusen timmar. Kortvarig drift kan då eventuellt antas vara proportionell mot mätningens längd vilket skulle vara ungefär 1/10000 grad C. Detta är också ungefär systemets brusnivå.

Bilden visar tydligt att den relativa upplösningen är bättre än en tusendedels grad. Experimenterande visar att systemet är så känsligt att det tydligt störs av att jag sitter vid datorn en halv meter från det 100 mm pvc rör i vilket sensorn befinner sig. En människa representerar en värmeeffekt på kanske 100 W vilket mätsystemet utan problem ser som ökad temperaturdrift.

Bilderna ovan visar tydligt hur temperaturen i rummet hela tiden förändras, tiondelsgrader har stor inverkan på mätningarna. Hur tänker jag hantera en föränderlig temperatur i omgivningen där förändringarna är betydligt större än de temperaturdifferenser jag hoppas se?

Lösningen är att jag låter datorn (Raspberry Pi) sköta både temperaturmätningen och kontrollen av värmemotståndet. Då datorn sköter datainsamlingen och kontroll av värmemotstånden behöver jag inte själv vara på plats och störa experimentet. En bättre noggrannhet går också att uppnå genom att låta datorn göra ett (stort) antal mätcyklar. Jag mäter alltså grundtemperaturen, därefter slås värmen på en stund t.ex. en minut varefter datorn mäter tumperaturen den närmaste timmen. Därefter mäts den nya bastemperaturen varefter värmen slås på under en minut o.s.v.

Mätningarna kalibreras i luft d.v.s. ett tillräckligt antal temperaturcykler mäts så att jag vet hur stor temperaturstegringen blir i luft. Då luften senare byts mot koldioxid kan dessa mätningar senare jämföras med mätningarna i luft.

IMGP5358

Fig. 2  Den grå rörstumpen är den övre ändan av vad som skall bli mitt växthuseffektexperiment. Röret är överst pluggat med en plugg av PVC. Längs den inre kanten av denna plugg finns fyra effektmotstånd om 3 W.  Totalt kan alltså motstånden ge ut max 12 W. Jag räknar med att kunna gå något högre eftersom uppvärmningen sker endast under kort tid. Med 6 volts drivspänning ger motstånden effekten 9W d.v.s. 2.25 W per motstånd. Vid 7.5 volt är effekten ca. 3.5 W per motstånd (14W totalt) vilket borde vara OK under en kort stund. Till höger i bilden ses min salladsodling i artificiellt ljus. En 100W ledlampa som producerar rött och blått ljus används (se andra artiklar). Bakom den runda plattan på framsidan finns temperatursensorn. Sensorn är monterad på en polyuretanplatta som är överdragen med aluminiumfolie. Tanken är att aluminiumfolen reflekterar IR strålning. Själva sensorn är monterad med tejp på nedre sidan av isolatorn utanför aluminiumfolien. Värmeledning i folien bör ge temperaturfel men jag hoppas trots detta se skillnader mellan vanlig luft och ren koldioxid. Bilden visar två Raspberry Pi Linux datorer, Den lilla datorn ost-sydost om mätröret sköter temperaturmätningen.  En annan likadan Raspberry Pi fotograferar hur salladen växer då artificiell belysning används.

Effekten per kvadratmeter är med 7.5 volts drivspänning 1778  W/m².  Vid 6 volts uppvärmningseffekt är effekten 1143 W/m². Eppvärmningseffekten är större än den utstrålade effekten från jordytan vid normal temperatur.  Jag hoppas att effekten skall vara tillräcklig för att detektera något …

test_20130912

Fig. 3  Bilden visar en automatisk testkörning den 12.9.2013.

Kontroll av mätningar och av värmare sker nu helt automatiskt. Driften i systemet minskar i mycket hög grad då allt styrs automatiskt och jag inte själv behöver sitta bredvid systemet och störa det.  I fig 3 kan man se ett steg på ungefär 10 mK (10/1000 grad) vid ungefär 6700 sekunder. Detta temperatursteg är en följd av att jag gick in i rummet, satte mig vid datorn, slog på bildskärmen och kontrollerade om körningen fortfarande var igång … det var den varpå jag genast gick ut igen.  Vid 8000 sekunder lämnade jag dörren öppen vilket gav kraftig temperaturdrift.

Bilden är skalad i tusendedelsgraders förändring från en bastemperatur. Då uppvärmningen aktiveras för ungefär en minut vid 2100 sekunder stiger temperaturen med ungefär 0.2 grader. Uppvärmningseffekten är 9W vilket ger en uppvärmning som ungefär motsvarar den effekt som i medeltal träffar en yta på jorden. Uppvärmningen begränsas av de röda linjerna.

Mitt program som gjorde mätningen ovan har följande utseende:

echo "*************"
echo "Program start"
echo "*************"
rm myFile.dat
echo "Measure temperature base line"
./repeat.py 40 interval 55 { ./measure_ad.py 1 18 4 10 myFile.dat }
echo "Set heater to on"
./heater.py on myFile.dat
./repeat.py 30 interval 2 { ./measure_ad.py 1 18 4 10 myFile.dat }
./heater.py off myFile.dat
./repeat.py 120 interval 55 { ./measure_ad.py 1 18 4 10 myFile.dat }
echo "Program done!"

Jag skrev några enkla Pythonprogram repeat.py och heater.py som används för att upprepa enkla operationer. Fördelen är att jag inte hela tiden behöver skriva om ett stort mätprogram. De kritiska delarna kan då hållas små och enkla att förstå. Skriptet/Programmet ovan läsar av programmet controller.py som kör en rad i taget.

Programmet börjar efter diverse kommentarer med att temperaturen mäts 40 gånger med en minuts intervall.  Mätningen sköts av programmet measure_ad.py . Parametrarna betyder kanal nummer 1, ad konverterns upplösning 18-bitar, förstärkning 4x, antalet mätningar i resultatet 10 (medeltal). Mätresultatet lagras i filen myFile.dat .

Kommandot heater.py on myFile.dat gör att värmen slås på och den exakta tidpunkten lagras i filen myFile.dat .

Temperaturen mäts nu snabbt under den tid värmaren är på.

Värmaren stängs av (off) varefter programmet gör 120 mätningar med en minuts intervall.

Denna artikel kommer att uppdateras under de närmaste månaderna då jag kompletterar mätsystemet med mera funktionalitet.

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s


%d bloggare gillar detta: