Mäta elförbrukning via 1wire och rrdtool.

Hur gör man för att ... ? Hur fungerar ... ? Steg för steg-guider och förklarande artiklar finns i detta forum.
Många guider finner också på vår blogg: https://blog.m.nu/
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Mäta elförbrukning via 1wire och rrdtool.

Inlägg av elf98 »

OBS!
Ett nytt, enklare sätt att mäta elförbrukningen finns beskrivet i Wikin!
http://wiki.temperatur.nu/index.php/M%C ... ed_rrdtool



Så du vill ha stenkoll på din elförbrukning?

Hårdvara som behövs: Installationen av detektorn kan kräva lite intrimmning;
  • koppla in allt och se till att detektorn är spänningsmatad
  • LED-detektorn skall placeras framför den blinkanden lysidoden
  • Reflexdetektorn skall placeras så att den grön/blå lysdioden belyser kanten på den snurrande skivan. Eventuellt kan det vara en bra idé att sätta detektorn på sidan av elmätaren så det inte finns en massa plåt nära skivan som kan reflektera ljuset. Justera detektorn i höjd- och sidled tills lysdioden lyser. Vänta tills den svarta markeringen på skivan passerar, den röda lysdioden skall då slockna. Justera eventuellt läget ytterligare.
Grundläggande definitioner för att förtydliga tankegånen:
  • Joule är SI-enheten för energi.
  • 1W=1 Joule/Sekund
  • 1Wh är en Watt per sekund under 3600 sekunder. 1Wh är därmed 3600Joule.
Enligt information på elmätaren snurrar skivan på elmätaren 120 varv per kWh.
Varje varv på min elmätare motsvarar 1000Wh/120 = 8.333Wh, vilket motsvarar 8.333*3600 = 30000Joule.

Databasens minsta enhet är därmed 1/30000 Joule / Sekund, eller 1/30000Watt

Så för att få ut W:
Multiplicera räknarvärdet med 30000

För att få ut förbrukad effekt Wh:
Multiplicera med 8.3333 och summera över tid.

Att skivan snurrar så långsamt är ett problem när man inte har tillgång till exakta tider på en rotation, vi har ju bara antalet roteringar per minut (eller rättare sagt; antalet blinkningar eller "mörka" passeringar per minut).
Om databasen skulle sampla varje minut skule det vid 1kW endast hinna bli 2 uppräkningar på en minut, förbrukningen skulle därmed kunna detekteras med 500W intervall.

Jag väljer därför att ha 10 minuter som minsta intervall i databasen. Om din elmätare har en högre rotationshastighet eller blinkhastighet kan du antagligen ha ett kortare intervall men ändå få en hög nogrannhet på effektuttaget.

Med 10 minuters intervall kan jag detektera förbrukningen med en nogrannhet på 50W.

Följande exempel är skrivna för databas- och grafgenererings-mjukvaran Rrdtool.

Skapa databas för rrdtool:

Kod: Markera allt

rrdtool create energi.rrd -s 600 DS:energi:COUNTER:1200:0:U RRA:AVERAGE:0.5:1:52560 RRA:AVERAGE:0.5:6:87600
Denna databas har ett minsta intervall på 10 minuter. Värden för var 10:de minut sparas i 1 år, och medelvärden över 1h sparas i 10år.

Uppdatera databasen:

Kod: Markera allt

#!/bin/bash
COUNT=`cat /mnt/1wire/uncached/1D.94EC09000000/counters.A|sed -e s/" "//g`
/usr/bin/rrdtool update energi.rrd N:$COUNT
Värdet (ej cachat) från ingång A på räknaren läses in och eventuella mellanslag klipps bord. Databasen uppdateras sedan med det inlästa värdet.

Grafgenerering: (graph.pl)

Kod: Markera allt

#!/usr/bin/perl
use Getopt::Std;
getopt('st');
use RRDp;
use CGI;
$cgi = new CGI("");                   # Load the CGI routines
RRDp::start "/usr/bin/rrdtool";
$rrd = "energi.rrd";
$starttime = "$opt_s";
$endtime = time;
$width = "800";
$height = "500";
RRDp::cmd "graph energi$opt_s.png --imgformat PNG --start '$starttime' --end '$endtime' --width $width --height $height -E --title '$opt_t' --vertical-label 'Watt' -l 0",
        "DEF:energi=$rrd:energi:AVERAGE",
        "CDEF:W=energi,30000,*",
        "CDEF:W_real=energi,8.3333333333333333,*,1000,/",
        "VDEF:value_sum=W_real,TOTAL", 
        "AREA:W#9999ee",
        "LINE1:W#000000",
        "GPRINT:value_sum:\"Förbrukad mängd\\\: %0.2lfkWh\\n\"",
        "GPRINT:W:MIN:\"Momentanförbrukning\\\: Min\\\: %0.2lf%sW\"",
        "GPRINT:W:AVERAGE:\"Medel\\\: %0.2lf%sW\"",
        "GPRINT:W:MAX:\"Max\\\: %0.2lf%sW\"",
        "GPRINT:W:LAST:\"Just nu\\\: %0.2lf%sW\\n\"",
        "COMMENT:\"Copyright Freiholtz Consulting 2007\"";
$answer=RRDp::read;

print $$answer;

RRDp::end;
Skriptet kan sedan exekveras med:

Kod: Markera allt

./graph.pl -s -24h -t 'Elförbrukning Blästadsgatan 12 det senaste dygnet' 
Varpå en png-fil med namnet energi-24.h skaps.

Bild

Observera att du måste ange fullständiga sökvägar till databas och bildfiler om du vill köra skripten från crontab.
Senast redigerad av elf98 den 13 nov 2010, 16:09, redigerad totalt 3 gång.
Anledning: Lagt till länkar till hårdvaran
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Hejsan..

Skulle denna möjligheten kunna registrera vatten flödet på en vattenmätare?
Som denna:

Bild borttagen på grund av fellaktig länk! /admin

Tänke föra statestik över den visaren längts till vänster, (x0.0001).
Eller finns det andra bättre sätt?


Mvh
Anders
Quart
Moderator
Inlägg: 566
Blev medlem: 17 jun 2007, 21:14
Ort: Hindås
Kontakt:

Inlägg av Quart »

Skulle vara kul med en sån här howto för oss som kör Windows också :lol:
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Plutonium skrev:Hejsan..

Skulle denna möjligheten kunna registrera vatten flödet på en vattenmätare?
Som denna:

Bild borttagen på grund av fellaktig länk! /admin

Tänke föra statestik över den visaren längts till vänster, (x0.0001).
Eller finns det andra bättre sätt?


Mvh
Anders
Ingen som vet om den går med reflexdetektorn? Om den nu gör det jag tror den gör..
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Inlägg av elf98 »

Det går kanske att få det att fungera med detektorn. Det gäller bara att skärma av tillräckligt mycket.

Detektorn skickar ut ljus med en rätt bred vinkel. Om man skärmar av det tillräckligt mycket bör det kanske gå att få den att kunna detektera när den röda armen snurrar.
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Ja det är ju en bra idé :)..
Finns det nått annat som är lite mer preciserat, som en stråle?

Är själv väldigt vilsen med elektroniska komponenter, men finner det underhållande och lär mig mer för varje dag.
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Inlägg av Dowser »

Jag är skeptisk till att det går med reflexdetektorn, jag har letat ivrigt på min mätare, men inte hittat något som ger en bra reflex.
De holländska gasmätarna med liknande utseende har en reflex fäst på 6'an i slutet, men det hjälper ju inte mycket.

Själv har jag istället köpt en vattenmätare med puls-utgång på ebay istället, skall montera den vid tillfälle...
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Tackar för ditt svar..
Jag får nog skaffa mig en mätare med puls-utgång..
Ser fram emot en utvärdering av din mätare framöver!

Mvh
Anders
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Inlägg av Dowser »

Jo, så snart jag fått röven ur det skruvstäd den verkar vara förpassad i för tillfället så skall jag se till och sätta den på plats, och då kommer också en notis här.
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Härligt :).. hehe

Letar förbrillt på ebay + liknande sidor..
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Vet inte om detta kan vara något intressant? För ca 650 kr
http://www.bellflowsystems.co.uk/Single ... 16202.html
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Inlägg av Dowser »

Specarna ser ut att vara rätt lika, förutom att min klarar 110 grader istället för 30, men det spelar ju bara roll om man skall sätta den på varmvattnet. Samt att min ger en puls per liter, men det är ju *nästan* overkill. :)
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Ja men det kan ju vara intressant med 1 liters marginaler oxå..
Ska leta vidare och se.. Vill ha en efter min varmvattenberedare då måste den vara som din.. Vad gav du din för beg?
Användarvisningsbild
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

Inlägg av Dowser »

Jag köpte den inte begagnad utan ny, men via ebay.de
*tror* att jag la nån stans kring 8-900 för min, men är inte helt hundra just nu.
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Inlägg av Plutonium »

Okey tackar, då har jag nått att referera till, vad det får kosta..

Hittade en på ebay.. Men vad betyder:
Kapazität nom. : 1,5 cbm " max. : 3 " Viele Grüsse gartenfee
Länk till objekt

Du verkar kunna det där med tyska :)
Skriv svar