Energiemeter

From Voidwarranties - Hackerspace Antwerp, Belgium
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{Project |Current=Yes |Category=Electronics |Logo=event.png |Participants=warddr, Berz, |Locations=Den Bunker, |Short description=We zijn bezig met het uitzoeken van de werkin...")
 
Line 27: Line 27:
 
*De 68R komt uit de berekening hier [http://openenergymonitor.org/emon/buildingblocks/ct-sensors-interface], en deze heb ik gekozen rekening houdende dat we nooit meer dan 50A gaan verbruiken op 1 fase, en zo hebben we toch iets meer detail.
 
*De 68R komt uit de berekening hier [http://openenergymonitor.org/emon/buildingblocks/ct-sensors-interface], en deze heb ik gekozen rekening houdende dat we nooit meer dan 50A gaan verbruiken op 1 fase, en zo hebben we toch iets meer detail.
 
*Omdat de 100nF keramische condensator alleen nog voor wat 50Hz schommelingen zorgde op de 2.5V offset heb ik een 10µF elco toegevoegd, dit is een eerder grote waarde voor een ontkoppelingscondensator, maar omdat dit constant 2.5V is kan dit geen kwaad.
 
*Omdat de 100nF keramische condensator alleen nog voor wat 50Hz schommelingen zorgde op de 2.5V offset heb ik een 10µF elco toegevoegd, dit is een eerder grote waarde voor een ontkoppelingscondensator, maar omdat dit constant 2.5V is kan dit geen kwaad.
 +
 +
=== code ===
 +
==== arduino ====
 +
void setup() {
 +
  Serial.begin(115200);
 +
}
 +
void loop() {
 +
  Serial.println(analogRead(A0));
 +
}
 +
 +
==== python ====
 +
from serial import Serial
 +
from matplotlib import pyplot
 +
import time
 +
 +
def millis(): #give current time in miliseconds
 +
    return int(round(time.time()*1000))
 +
 +
ser = Serial('/dev/ttyACM0',115200,timeout=2)
 +
ser.open()
 +
start = millis()             
 +
x=[]
 +
y=[]
 +
while True:
 +
            mytime = millis()-start
 +
            reading = ser.readline()
 +
 +
            if ((mytime > 3250) and (mytime < 3500)):
 +
                x.append(mytime)
 +
                y.append(reading)
 +
            if (mytime>3500):
 +
                break
 +
ser.close()
 +
 +
pyplot.plot(x, y, '-' )
 +
pyplot.show()
 +
 +
* Wat hier dus gebeurt is dat we de data van arduino inlezen, de eerste 3 seconden laten vallen (om zeker alles te laten stabilizeren), en dan meten we voor 250ms. Op die 250ms kunnen we ongeveer 500 metingen doen. Later worden die metingen mooi geplot.
 +
 +
== resultaten ==
 +
=== onbelast ===

Revision as of 10:29, 11 March 2014


Energiemeter
What:
We zijn bezig met het uitzoeken van de werking van AC current clamps, en hoe we ze kunnen gebruiken om het stroomverbruik van de space in kaart te bregen. Hier is de progress.
Event.png
Participants:
warddr, Berz
Category:
Electronics
Locations:
Den Bunker

Contents

11 maart

5V ----- 330kR ------ 330kR ----- GND -----
                 |                 |      |
                 |                 |      |
                 |                 |      |
             SPOEL p1 --------- 100nF -- 10µF
                 |
                 |
                 |
                68R
                 |
                 |
                 |
A1 --------- SPOEL p2


code

arduino

void setup() {
  Serial.begin(115200);
}
void loop() {
  Serial.println(analogRead(A0));
}

python

from serial import Serial
from matplotlib import pyplot
import time

def millis(): #give current time in miliseconds
    return int(round(time.time()*1000))

ser = Serial('/dev/ttyACM0',115200,timeout=2)
ser.open()
start = millis()               
x=[]
y=[]
while True:
            mytime = millis()-start
            reading = ser.readline()

            if ((mytime > 3250) and (mytime < 3500)):
                x.append(mytime)
                y.append(reading)
            if (mytime>3500):
                break
ser.close()

pyplot.plot(x, y, '-' )
pyplot.show()

resultaten

onbelast

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Content Creation
Belgian Spaces