Ik zie de DDS238-1 slechts één keer zijdelijngs genoemd, dus ik start een apart topic omdat het volgens mij een eigen topic verdient.
De DDS238-1 is een electriciteitvermogenmeter. Hij kost ongeveer 15 USD op eBay. Hij is bedoeld om in je meterkast te monteren, maar je kan hem ook los gebruiken. Je kan hem gebruiken om het geleverde vermogen van je zonnepanelen te meten, bijvoorbeeld als je inverter geen reporting doet, of je niet wil dat die info via China loopt (zoals solarmanpv).
Met de DDS238-1 kan je op drie manieren het vermogen meten daar er doorheen loopt:
- LCD-schermpje, met een nauwkeurigheid van 0.1 kWh
- knipper-LEDje, met 1000 pulsen per kWh
- en, belangrijk hier in dit forum: een aparte connector met een "open-collector" waarop je bijvoorbeeld een Raspi kan aansluiten om de pulsen te tellen. Technische naam: S0, zie Duitse beschrijving op http://de.wikipedia.org/wiki/S0-Schnittstelle
Tot nu toe heb ik de DDS238 alleen opgenomen in het snoer van een verlengdoos. Zie youtube-filmpje: https://www.youtube.com/watch?v=qcMvB_k-hds
Update:
De DDS238 aangesloten op een Raspberry Pi, op GPIO pin23:
Uitlezen gaat eenvoudig na het lezen van http://makezine.com/proje...-pi-gpio-pins-and-python/
Python:
Aanroep:
code:
To do:
- spullen gaan inbouwen in mijn meterkast
- een daemon-achtige counter
- werken met interrupts. Op http://www.themagpi.com/i...ctivities-with-gpio-pins/ lijkt nuttige informatie te staan. Op http://ryniker.ods.org/raspberrypi/MagPi/interrupt_test23.py lijkt een python progje te staan dat werkt met interrupts
Next step:
Python programma (te bewaren als /usr/local/sbin/gpio23-counter.py) om de GPIO23 pulsen te tellen en te schrijven naar de file /var/log/gpio23-counter
Python:
Je kan het programma aanroepen met:
code:
Als /var/log/gpio23-counter netjes gevuld wordt, dan kan je verder naar de volgende stap: Het programma met "sudo crontab -e" in de cron van root zetten zodanig dat hij na booten start in de achtergrond:
code:
Nu je Raspi rebooten en daarna controleren of het programma draait:
code:
De counter /var/log/gpio23-counter gaat nu gevuld en geupdate worden.
Resultaat van het koken van 1.7 liter water:
Beginwaarde:
code:
Uitleg: de eerste regel is de puls-counter, de tweede regel is het moment dat de laatste puls is gezien.
Eindwaarde:
code:
Dus 443-282=161 Wh energie nodig om 1.7 liter water te koken (vanaf kamertemperatuur).
TBC
De DDS238-1 is een electriciteitvermogenmeter. Hij kost ongeveer 15 USD op eBay. Hij is bedoeld om in je meterkast te monteren, maar je kan hem ook los gebruiken. Je kan hem gebruiken om het geleverde vermogen van je zonnepanelen te meten, bijvoorbeeld als je inverter geen reporting doet, of je niet wil dat die info via China loopt (zoals solarmanpv).
Met de DDS238-1 kan je op drie manieren het vermogen meten daar er doorheen loopt:
- LCD-schermpje, met een nauwkeurigheid van 0.1 kWh
- knipper-LEDje, met 1000 pulsen per kWh
- en, belangrijk hier in dit forum: een aparte connector met een "open-collector" waarop je bijvoorbeeld een Raspi kan aansluiten om de pulsen te tellen. Technische naam: S0, zie Duitse beschrijving op http://de.wikipedia.org/wiki/S0-Schnittstelle
Tot nu toe heb ik de DDS238 alleen opgenomen in het snoer van een verlengdoos. Zie youtube-filmpje: https://www.youtube.com/watch?v=qcMvB_k-hds
Update:
De DDS238 aangesloten op een Raspberry Pi, op GPIO pin23:
Uitlezen gaat eenvoudig na het lezen van http://makezine.com/proje...-pi-gpio-pins-and-python/
Python:
1
2
3
4
5
6
7
8
9
10
11
12
| import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) counter = 0 while True: GPIO.wait_for_edge(23, GPIO.RISING) counter += 1 print "Counter is now", counter/1000.0, "kWh" GPIO.wait_for_edge(23, GPIO.FALLING) GPIO.cleanup() |
Aanroep:
code:
1
2
3
4
5
6
7
8
9
| $ sudo python pin23-flank-counter.py Counter is now 0.001 kWh Counter is now 0.002 kWh Counter is now 0.003 kWh Counter is now 0.004 kWh Counter is now 0.005 kWh Counter is now 0.006 kWh Counter is now 0.007 kWh Counter is now 0.008 kWh |
To do:
- spullen gaan inbouwen in mijn meterkast
- een daemon-achtige counter
- werken met interrupts. Op http://www.themagpi.com/i...ctivities-with-gpio-pins/ lijkt nuttige informatie te staan. Op http://ryniker.ods.org/raspberrypi/MagPi/interrupt_test23.py lijkt een python progje te staan dat werkt met interrupts
Next step:
Python programma (te bewaren als /usr/local/sbin/gpio23-counter.py) om de GPIO23 pulsen te tellen en te schrijven naar de file /var/log/gpio23-counter
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| #!/usr/bin/python import RPi.GPIO as GPIO import datetime GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) workfile = '/var/log/gpio23-counter' counter = 0 while True: GPIO.wait_for_edge(23, GPIO.RISING) # reading try: f = open(workfile, 'ab+') # open for reading. If it does not exist, create it value = int(f.readline().rstrip()) # read the first line; it should be an integer value except: value = 0 # if something went wrong, reset to 0 #print "old value is", value f.close() # close for reading # writing f = open(workfile, 'w') f.write((str(value+1)+ '\n')) # the value f.write((str(datetime.datetime.now())+ '\n')) # timestamp f.close() GPIO.wait_for_edge(23, GPIO.FALLING) GPIO.cleanup() |
Je kan het programma aanroepen met:
code:
1
| sudo /usr/local/sbin/gpio23-counter.py & |
Als /var/log/gpio23-counter netjes gevuld wordt, dan kan je verder naar de volgende stap: Het programma met "sudo crontab -e" in de cron van root zetten zodanig dat hij na booten start in de achtergrond:
code:
1
| @reboot /usr/local/sbin/gpio23-counter.py & |
Nu je Raspi rebooten en daarna controleren of het programma draait:
code:
1
2
| pi@raspberrypi ~ $ ps -ef | grep -i gpio root 2143 1 0 Oct12 ? 00:00:00 /usr/bin/python /usr/local/sbin/gpio23-counter.py |
De counter /var/log/gpio23-counter gaat nu gevuld en geupdate worden.
Resultaat van het koken van 1.7 liter water:
Beginwaarde:
code:
1
2
3
| pi@raspberrypi ~ $ cat /var/log/gpio23-counter 282 2014-10-12 23:59:41.175129 |
Uitleg: de eerste regel is de puls-counter, de tweede regel is het moment dat de laatste puls is gezien.
Eindwaarde:
code:
1
2
3
| pi@raspberrypi ~ $ cat /var/log/gpio23-counter 443 2014-10-13 00:05:13.058467 |
Dus 443-282=161 Wh energie nodig om 1.7 liter water te koken (vanaf kamertemperatuur).

TBC
surfert wijzigde deze reactie 14-10-2014 22:36 (62%)
Reden: uitbreiding met Raspi-info