medelvärde av temperatur?
medelvärde av temperatur?
funderar på att man skulle vilja mäta vad medeltemperaturen ligger på under ungefär en dygns tid
vad säger ni om för och nackdelar med följande metoder
alla skulle i så fall ha sin givare i ett väl ventilerat vitt skåp ungefär som man ser att dom riktiga mätstationerna har
1:släng in givare i tjugo kilo järn, in med allt i cellplast, och vips har man en tidskonstant på dagar
2:enkel givare och en elektronisk låååågpassfilter
3:in med temeraturen till en logger som tar och lägger ihop medelvärdetvärden för dom sista 24 timmarna
pesronligen så skulle jag tycka att metod nr 1 har sina kuliga sidor, något helt icke elektroniskt, om man så vill
vad säger ni om för och nackdelar med följande metoder
alla skulle i så fall ha sin givare i ett väl ventilerat vitt skåp ungefär som man ser att dom riktiga mätstationerna har
1:släng in givare i tjugo kilo järn, in med allt i cellplast, och vips har man en tidskonstant på dagar
2:enkel givare och en elektronisk låååågpassfilter
3:in med temeraturen till en logger som tar och lägger ihop medelvärdetvärden för dom sista 24 timmarna
pesronligen så skulle jag tycka att metod nr 1 har sina kuliga sidor, något helt icke elektroniskt, om man så vill
Jag hade definitivt använd metod 3. Temperaturen ska ju i alla fall omvandlas till något digitalt och att sedan göra olika medelberäkninger är enkel match.
Järn är tungt, kostar och rostar och du har dålig kontroll över vad det har för konstant med all bubbelplast osv.
Ett elektronisk lågpassfilter med den tidskonstant får allvarliga problem med läckströmmar osv.
Järn är tungt, kostar och rostar och du har dålig kontroll över vad det har för konstant med all bubbelplast osv.
Ett elektronisk lågpassfilter med den tidskonstant får allvarliga problem med läckströmmar osv.
Jo du, 3:an så klart. Titta här så förstår du varför jag svarar så. http://80.86.67.171
Jag kommer, när jag fått ihop lite mer data, lägga till en funktion för att visa medeltemperaturer per månad.
Jag kommer, när jag fått ihop lite mer data, lägga till en funktion för att visa medeltemperaturer per månad.
- NSR_Martin
- Inlägg: 358
- Blev medlem: 30 november 2003, 13:37:31
- Ort: Jönköping
- Kontakt:
Hur mäter man medeltemperatur egentligen?
Det går ju tex inte att logga tempen varje heltimma för att få fram medeltempen skapligt exakt på ett dygn, tänk om det blir väldigt mycket varmare varje halvtimme tex, även om det är osannlolikt att det händer så borde väll detta fenomen innebära att medelvärdet inte blir så exakt?
Det går ju tex inte att logga tempen varje heltimma för att få fram medeltempen skapligt exakt på ett dygn, tänk om det blir väldigt mycket varmare varje halvtimme tex, även om det är osannlolikt att det händer så borde väll detta fenomen innebära att medelvärdet inte blir så exakt?
Man mätar varje sekund och gör ett medelvärde på varje minut som man använder till att göra medelvärde för varje timme som man använder till att ge medelvärde per dygn........
Eller också mätar man varje sekund (eller var 10'nde) och adderar ihop i ett stort tal och räknar antalet mätningar och sen, varje dygn, kör du en division och spottar ut resultatet.
Eller också mätar man varje sekund (eller var 10'nde) och adderar ihop i ett stort tal och räknar antalet mätningar och sen, varje dygn, kör du en division och spottar ut resultatet.
Det kan kanske bli problem efter ett tag om det "stora" talet blir för stort, så att man får overflow. Men det kan man lösa genom kontinuerlig medelvärdesbildning (eller vad det nu kallas):Icecap skrev:Man mätar varje sekund och gör ett medelvärde på varje minut som man använder till att göra medelvärde för varje timme som man använder till att ge medelvärde per dygn........
Eller också mätar man varje sekund (eller var 10'nde) och adderar ihop i ett stort tal och räknar antalet mätningar och sen, varje dygn, kör du en division och spottar ut resultatet.
[Nytt medelvärde] = [Gammalt medelvärde] * (([antalet mätningar] - 1) / [antalet mätningar]) + [Nytt värde] / [antalet mätningar]
Visst är det ett bra sätt...men det kräver floating point för att bli i närheten av korrekt. Personligt hade jag tagit ett mätvärde per sekund och sett till att ha lagom med minne.
60 värden med sekundstatus. Räknas ihop varje minut, delas med 60 och rullas in i nästa steg.
60 med minutvärden
24 med timmevärden
Byta dom rullande och sedan beräkna med heltal.
Med rätt skalning & offset kan man klara det mesta med 144 bytes minne till detta, att sedan mäta tempen varje sekund är lite överkurs, var 10'nde duger helfint.
60 värden med sekundstatus. Räknas ihop varje minut, delas med 60 och rullas in i nästa steg.
60 med minutvärden
24 med timmevärden
Byta dom rullande och sedan beräkna med heltal.
Med rätt skalning & offset kan man klara det mesta med 144 bytes minne till detta, att sedan mäta tempen varje sekund är lite överkurs, var 10'nde duger helfint.
Som Icecap säger så kräver metoden floating point, vilket kanske blir lite tungt att utföra varje sekund i en mikrocontroller.
ristomemo: Med 32-bitars signed integer och summering av hela grader var 10e sekund med en medeltemp på 15º så får jag också det till 45 år. Jag hade dock tänkt mig att få medeltemperaturen i högre noggrannhet än hela grader, samt gärna även sampla den i högre noggrannhet.
ex.
sensorns noggrannhet: ±0.05º
medeltemp: 15º
samplingsfrekvens: 1Hz
variabel: 32-bitars float, (24 bitar till värdet, 8 bitar exponent)
Med dessa förutsättningar får jag det till att man kan summera temperaturen i 31 timmar (har säkert räknat fel men det blir iaf inte så värst länge).
Gimbal: Jag kan inte förstå varför man inte skulle få ut korrekt medelvärde direkt? Kan du ha glömt att sätta [Gammalt medelvärde] till 0 i början kanske?
ristomemo: Med 32-bitars signed integer och summering av hela grader var 10e sekund med en medeltemp på 15º så får jag också det till 45 år. Jag hade dock tänkt mig att få medeltemperaturen i högre noggrannhet än hela grader, samt gärna även sampla den i högre noggrannhet.
ex.
sensorns noggrannhet: ±0.05º
medeltemp: 15º
samplingsfrekvens: 1Hz
variabel: 32-bitars float, (24 bitar till värdet, 8 bitar exponent)
Med dessa förutsättningar får jag det till att man kan summera temperaturen i 31 timmar (har säkert räknat fel men det blir iaf inte så värst länge).
Gimbal: Jag kan inte förstå varför man inte skulle få ut korrekt medelvärde direkt? Kan du ha glömt att sätta [Gammalt medelvärde] till 0 i början kanske?