NEWS
PZEM-004T Sensoren für Solareinspeisung geeignet?
-
Hallo zusammen,
bevor ich hier anfange am Stromkasten zu fummeln.
Sind die PZEM-004T Sensoren dafür geeignet die "Stromrichtung" zu erkennen?
Es geht um die die Einspeisung des Solarstroms.
Oder muß zwingend ein z.B. "Fronius Smart Meter" IN die Leitungen?
Grüße
Manfred -
@beowolf Scheint nicht ganz einfach zu sein https://forum.arduino.cc/t/new-pzem004t-v3-00-and-power-flow-direction/597264/6
-
@beowolf Kauf Dir einen Shelly EM / 3EM. Da mußt Du nix basteln.
-
@Beowolf
Was willst du mit den Ergebnissen anfangen?@beowolf Warum
@beowolf sagte in PZEM-004T Sensoren für Solareinspeisung geeignet?:
Fronius Smart Meter
hast du einen Fronius Wechselrichter und der soll irgendwas mit der Erkennung steuern?
Ansonsten solltest du mit deiner Solaranlage einen Zweiwegezähler vom EVU bekommen haben.
Dort kannst du über die optische Schnittstelle alle interessanten Daten zur Einspeisung/Bezug auslesen ohne überhaupt am Leitungsnetz arbeiten zu müssen. -
@1topf sagte in PZEM-004T Sensoren für Solareinspeisung geeignet?:
@beowolf Kauf Dir einen Shelly EM / 3EM. Da mußt Du nix basteln.
Danke für den Vorschlag.
Ja das wäre eine Möglichkeit. Leider hatte ich nicht nach "irgend" einer Möglichkeit gefragt die Stromrichtung zu erkennen, sonder ob es mit den PZEM-004T Sensoren geht.
Grüße
-
Der "Fronius Smart Meter" war nur ein Beispiel für ein Smart Meter der "IN" die Leitung geschaltet wird.
Zweiwegezähler vom EVU? Der hat erst in ca. 1,5 Jahren einen freien Termin bzw. einen Zähler.
Solaranlage - Eigenbau.
-
@beowolf Dann kauf einen und probier es aus. Eventuell hilft das: https://forum.iobroker.net/topic/28453/tutorial-pzem-004t-3-phasen-überwachung
-
@1topf Ich hatte 3 Stück davon noch in der Bastelschublade liegen. Und ein "Test-Prüfstand"...
Habe den mit einem Tisch-Ventilator und diesem Testprogramm mal in Betrieb genommen ...
https://gist.github.com/bandaangosta/134c9d84ae9bd317297e96dcc0b9c860
Werte sind wenig Erfolgversprechend ... zwischen den zwei Aufrufen habe ich die Polarität der Spule umgedreht ....
martin@martin-D2836-S1:~/gitea/PZEM004t$ pipx run pzem_0047.py Voltage [V]: 231.8 Current [A]: 0.149 Power [W]: 32.7 Energy [Wh]: 4 Frequency [Hz]: 50.0 Power factor []: 0.95 Alarm : 0 martin@martin-D2836-S1:~/gitea/PZEM004t$ pipx run pzem_0047.py Voltage [V]: 231.7 Current [A]: 0.149 Power [W]: 32.6 Energy [Wh]: 4 Frequency [Hz]: 50.0 Power factor []: 0.94 Alarm : 0
Hier noch der angepasste Python code (auf meinem Mint PC ist die python Umgebung "managed", deshalb die Zeilen 1...6 eingefügt)
# /// script # dependencies = [ # "modbus_tk", # ] # /// # Reading PZEM-004t power sensor (new version v3.0) through Modbus-RTU protocol over TTL UART # Run as: # python3 pzem_004t.py # To install dependencies: # pip install modbus-tk # pip install pyserial import serial import modbus_tk.defines as cst from modbus_tk import modbus_rtu # Connect to the sensor sensor = serial.Serial( port='/dev/ttyUSB0', baudrate=9600, bytesize=8, parity='N', stopbits=1, xonxoff=0 ) master = modbus_rtu.RtuMaster(sensor) master.set_timeout(2.0) master.set_verbose(True) data = master.execute(1, cst.READ_INPUT_REGISTERS, 0, 10) voltage = data[0] / 10.0 # [V] current = (data[1] + (data[2] << 16)) / 1000.0 # [A] power = (data[3] + (data[4] << 16)) / 10.0 # [W] energy = data[5] + (data[6] << 16) # [Wh] frequency = data[7] / 10.0 # [Hz] powerFactor = data[8] / 100.0 alarm = data[9] # 0 = no alarm print('Voltage [V]: ', voltage) print('Current [A]: ', current) print('Power [W]: ', power) # active power (V * I * power factor) print('Energy [Wh]: ', energy) print('Frequency [Hz]: ', frequency) print('Power factor []: ', powerFactor) print('Alarm : ', alarm) # Changing power alarm value to 100 W # master.execute(1, cst.WRITE_SINGLE_REGISTER, 1, output_value=100) try: master.close() if sensor.is_open: sensor.close() except: pass
EDIT: Mein PZEM-004 hat einen fünften Pin auf der Controller-Seite (CF)...
Das KÖNNTE "Current-Flow" bedeuten. Also die Flussrichtung des Stroms (High-eine Flussrichtung. LOW=andere - Arduino-link weiter oben) ist sogar gleichfalls Opto-Entkopplung
Da habe ich hier ein paar Infos hinterlegt ...
EDIT2:
Ich hatte jetzt die Spule einige Zeit so angeklemmt gelassen, wie sie war, und "Energy [Wh]" ist auf 20 angestiegen...Danach habe ich die Klemmen der Spule vertauscht, und TROTZDEM steigt "Energy [Wh] weiter an ... jetzt schon auf 21 W...
Unbrauchbar, zumindest für genaue Messungen, selbst WENN "CF" die Flussrichtung angibt ...
EDIT3 Laut meinem Reverse-Enginieering Schaltplan gibt es eine Diagnose LED am CF-Pin.
Egal, wie herum ich die Spule anschließe, die LED bleibt dunkel.... also nicht die Energiefluss-Richtung ...
-
@beowolf sagte in PZEM-004T Sensoren für Solareinspeisung geeignet?:
Es geht um die die Einspeisung des Solarstroms.
Noch einmal nach einiger Überlegung eine differenziertere Ansicht zum Thema:
Wenn man den PZEM-004T an einer Stelle einschleift, an der die Leistung im Großen und Ganzen nur in eine Richtung fließt, kann man ihn verwenden, um die momentane Einspeiseleistung im Heimnetz zu ermitteln.
Also zwischen Wechselrichter und Übergabepunkt des Solarstroms in das Hausnetz messen sollte möglich sein, wenn es nicht ganz genau sein soll...
Wenn die Solarzellen gar nicht liefern, gibt es bei manchem Wechselrichter einen kleinen Eigenverbrauch der Wechselrichter, um mit dem Stromnetz synchron zu bleiben. Der würde "falschrum" gemessen.