Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Current Transformer "kalibreren" grafana/telegraf/...

Pagina: 1
Acties:

  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 11-11 11:27
Hoi,

Ik heb een Arcel AMC16MA waarmee ik automaten in mijn kast mee uitmeet. Uit de CT's komen naar ik vermoed voltages of stromen en de AMC16MA zet dat dan over in een int16. Dat getal lees ik dan uit met modbus dmv. telegraf. Die pompt dat over naar influxdb en met grafana visualiseer ik de data. So far so good. Nu wil ik de waarde die uit de AMC16MA komt "vertalen" naar Watt (ik ga even voorbij dat aan dat de Voltages ook fluctueren, dat los ik wel op).

Dus wat heb ik gedaan. Ik meet de afwasmachine uit met een Shelly plug. Er vanuit gaande dat die "juist" meet, heb ik de grafiek die uit de AMC16MA (groene lijn) komt, over de grafiek van de Shelly plug (gele lijn) gelegd (zie screen shots onderaan). Dan heb ik het hoogste punt genomen en dan de waarde van de AMC16MA vermenigvuldigd met een factor zodat dat "perfect" uit kwam. (nogmaals: fluctuerende spanning vang je hier niet mee op). Nu merk ik dat de waardes lagere stroomsterktes een hogere waarde geven met de AMC16MA dan de Shelly plug. Ik ga er nu ook vanuit dat de Shelly plug relatief OK meet (afgaande van reviews online, niet zelf geconstateerd).

Mijn vraag: hoe zorg ik er nu voor dat ik de grafiek van de AMC16MA onderaan ook min of meer juist krijg? Ik vermoed dat ik iets meer dan een "factor" nodig heb maar mijn wiskunde is niet goed genoeg :). Met de factor 0.4756 kom ik op het Wattage. Dan klopt het dus met de Shelly in de regionen van 2.2kW. Maar lager meet de shelly bijv. 74W terwijl de AMC16MA 172.5W aangeeft met die formule.

Kan iemand me voort helpen om de getallen te "temperen" onderaan de waardes?

Afbeeldingslocatie: https://tweakers.net/i/GKt9OnD73fjmnNTxlB9UlqRZ0RI=/800x/filters:strip_exif()/f/image/M3mpcWJxM8JP77WEzlIptSkF.png?f=fotoalbum_large
edit:
ff de config file van telegraf erbij. met de scale= zou ik dus niet toe komen.

code:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[[inputs.modbus]]
   name = "meterbox"
   name_suffix = "meterbox"
   name_override = "meterbox"
   data_format = "influx"
   slave_id = 1
   timeout = "5s"
   precision = "1s"

   controller = "file:///dev/ttyUSB3"
   baud_rate = 38400
   data_bits = 8
   parity = "E"
   stop_bits = 1
   transmission_mode = "RTU"
   debug_connection = false

   input_registers = [
     { name = "Voltage-L1",   byte_order = "AB",   data_type = "INT16",   scale=0.1,     address = [0]},
     { name = "Voltage-L2",   byte_order = "AB",   data_type = "INT16",   scale=0.1,     address = [1]},
     { name = "Voltage-L3",   byte_order = "AB",   data_type = "INT16",   scale=0.1,     address = [2]},
     { name = "I1",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [83]},
     { name = "I2",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [84]},
     { name = "I3",   byte_order = "AB",   data_type = "INT16",   scale=0.002,     address = [85]},
     { name = "I4",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [86]},
     { name = "I5",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [87]},
     { name = "I6",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [88]},
     { name = "I7",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [89]},
     { name = "I8",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [90]},
     { name = "I9",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [91]},
     { name = "I10",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [92]},
     { name = "I11",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [93]},
     { name = "I12",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [94]},
     { name = "I13",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [95]},
     { name = "I14",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [96]},
     { name = "I15",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [97]},
     { name = "I16",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [98]},
     { name = "I17",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [99]},
     { name = "I18",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [100]},
     { name = "I19",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [101]},
     { name = "I20",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [103]},
     { name = "I21",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [104]},
     { name = "I22",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [105]},
     { name = "I23",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [106]},
     { name = "I24",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [107]},
     { name = "I25",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [108]},
     { name = "I26",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [109]},
     { name = "I27",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [110]},
     { name = "I28",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [111]},
     { name = "I29",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [112]},
     { name = "I30",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [113]},
     { name = "I31",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [114]},
     { name = "I32",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [115]},
     { name = "I33",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [116]},
     { name = "I34",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [117]},
     { name = "I35",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [118]},
     { name = "I36",   byte_order = "AB",   data_type = "INT16",   scale=1.0,     address = [119]}
   ]

[ Voor 52% gewijzigd door bucovaina89 op 08-08-2022 11:25 ]


  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 11-11 11:27
En misschien nog een andere observatie die ik vandaag maakte als ik de meetmethode verander. Eerst vergeleek ik data van een Shelly Plug S met wat de Arcel AMC16MA geeft. En nu plot ik de data van een SE3500h omvormer naast dat wat de AMC16MA me geeft. Het is dus redelijk duidelijk dat de AMC16MA onverwachte waarden geeft. Wanneer de SE3500h "0W" injecteert, meet de AMC16MA 85W. Dat lijkt me onrealistisch veel voor een omvormer in standby mode 8)7 . Tussen de 1W en de 5W zou ik eerder denken.

Afbeeldingslocatie: https://tweakers.net/i/1VsEbZwbhaNZjxwVYx7jhSj67YY=/800x/filters:strip_exif()/f/image/OkdLVkyVYbk9yX1DXrXCllKZ.png?f=fotoalbum_large

Misschien moet ik eerder op zoek naar waarom de AMC16MA nog steeds een hoge waarde doorgeeft terwijl het bijna 0 zou moeten zijn.

  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 11-11 11:27
Update 3. Bij de CT die over de geleider van hierboven zat, merkte ik dat er 2 geleiders uit de bovenkant van de automaat kwamen en de CT zat effectief over beide geleiders. Niet moeilijk dan dat ik bovenstaande ~175 waarde als "0" meet.

Misschien eerst dat probleem eens uitzoeken voor ik verder "fancy kalibratie" ga beginnen. O-)

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:07
Ik denk dat je best realistisch blijft, als je enkel stroom meet én je gebruikt een stroomspoel (die sowiezo niet lineair is over volledige range) ga je afwijking hebben.
Je kan werken met een compensatie van de afwijking, maar dan ga je wel wat tijd moeten investeren:
- Maak een setup waarin je voldoende punten over het meetbereik kan meten met een betrouwbare meter en je stroomspoel (zorg dat je spanningsvariaties hier buiten kan houden).
- Met excel kan je relatief eenvoudig een curve vinden die overeen komt met de grafiek van juiste / gemeten waarde.
- Stop deze curve in je meting (polynoom of look up table).

Let wel, bovenstaande geeft nog steeds geen perfect resultaat, er zijn heel wat extra zaken die je meting beïnvloeden; maar dat zou wel een "best effort" resultaat moeten geven.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • RP6conrad
  • Registratie: April 2017
  • Laatst online: 23:08
Alleen de stroom meten kan werken met resistieve belastingen, maar met inductieve belastingen lukt dit niet ! Alle voedingen, led lampen, motoren geven dus grote meetfouten.

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:07
Zou die Acrel niet het vermogen ook kunnen afgeven, is zo te zien wel netjes voorzien van 3fasige spanningsingang, naast de stroomingangen, dus zou wel in staat moeten zijn om correcte vermogens te meten.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Femme
  • Registratie: Juni 1999
  • Laatst online: 20-11 13:36

Femme

Hardwareconnaisseur

Official Jony Ive fan

Volgens de documentatie meet het apparaat actief vermogen, dus ik zou dat gebruiken anders krijg je hooguit een benadering van schijnbaar vermogen.

  • Proton_
  • Registratie: November 2011
  • Laatst online: 17:35

Proton_

Moderator Wonen & Mobiliteit 

Team Welles

Wat @Femme zegt.
De pieken zijn van een verwarmingselement, dan is de power factor praktisch 1. Dan gaat je gedachtegang wel goed. De lagere vermogens zijn van een pomp en/of elektronica en dan is een PF van 0,5 niet heel raar.
Een PV omvormer heeft ook vaak een beroerde power factor bij lage vermogens.
Dus spanning x stroom = vermogen klopt bij wisselspanning lang niet altijd cq meestal niet.

Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.


  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 11-11 11:27
Allen bedankt voor de antwoorden.

Het gaat me wel wat mijn petje te boven moet ik zeggen. Ik weet niet wat een resistieve vs inductieve belasting is.

@RP6conrad : Ik weet niet of wat ik nu zeg relevant is maar de Acrel meet ook reactief vermogen en de power factor.

@naftebakje : inderdaad, in principe zou je perfect het vermogen moeten kunnen berekenen omdat ik ook per fase het voltage heb op het moment dat de stroomsterkte gemeten is. Hieronder een klein excerpt uit de manual. Dat zijn modbus adressen waar je data uit kan lezen.

Afbeeldingslocatie: https://tweakers.net/i/0WExWmMfJg7isijCPEvlAmbPpXY=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/jv0knevydEGnlxC6wORrcbej.png?f=user_large


Ondertussen heb ik de indruk dat de CT's (max 20A, 50mA) bij lage stroomsterktes relatief hoge waarden geven. Bijvoorbeeld bij een last van 3W geeft de CT via de Acrel een waarde van ~20W aan. Als je hoger gaat dan lijkt het wat beter te zijn. Gaat het echt heel dicht bij 0W, dan geeft de CT ook echt 0W aan.

Nu heb ik deze ook gelezen. Dan zou een CT in theorie toch relatief dicht in de buurt van die 3W moeten kunnen komen. Maar misschien heb ik geen deftige CT's. Deze heb ik gekocht.

Mocht iemand een tip hebben waar ik "goede" CT's kan vinden hoor ik het ook graag. Op zicht is 2% afwijking al ruimschoots goed voor mij. Maar 20W aangeven als het maar 3W is ... .

Het voltage van de afgelopen 24h zoals gemeten door de acrel:
Afbeeldingslocatie: https://tweakers.net/i/DN4SmOWhzVawlmXX9Gy7A7eM_yE=/800x/filters:strip_exif()/f/image/n0psgzxVzJX1eyEAgi6DOcPS.png?f=fotoalbum_large

[ Voor 10% gewijzigd door bucovaina89 op 10-08-2022 21:00 ]


  • Femme
  • Registratie: Juni 1999
  • Laatst online: 20-11 13:36

Femme

Hardwareconnaisseur

Official Jony Ive fan

bucovaina89 schreef op woensdag 10 augustus 2022 @ 20:47:

@naftebakje : inderdaad, in principe zou je perfect het vermogen moeten kunnen berekenen omdat ik ook per fase het voltage heb op het moment dat de stroomsterkte gemeten is. Hieronder een klein excerpt uit de [manual. Dat zijn modbus adressen waar je data uit kan lezen.
Wat je dan berekent is schijnbaar vermogen (apparent power). Hier zit afhankelijk van je load mogelijk een reactieve component in. Reactief vermogen vloeit wel door je kabels maar wordt niet omgezet in warmte, beweging of licht. Het is bijvoorbeeld afkomstig van het op- en afbouwen van lading in een spoel of condensator.

Je moet niets zelf willen berekenen maar de registers voor active power gebruiken.

Een andere reden om dit te willen doen is dat je elektriciteitsmeter met een hoge frequentie spanning, stroomsterkte en faseverschuiving meet en op basis hiervan nauwkeurig actief vermogen en actief energiegebruik kan bepalen.

  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 11-11 11:27
Ik denk dat ik ondertussen het probleem heb opgelost. Registers 120-156 zijn gewoon "Active power". Als ik die data uitlees, krijg ik een integer die 0.00kW geeft. Als ik dat met 2 vermenigvuldig (/0.002*1000) krijg ik het verbuik in Watt.

Hieronder een grafiek. Als de warmtepomp af stond, kreeg ik ~100W verbuik. Nu lees ik ~1W verbuik in idle.

Het lijkt me erop dat de Acrel power meter zelf een ingebouwde correctie heeft. Ik heb het verbuik van bijv. Shelly plugs en de solaredge omvormer over "Active Power" van de Acrel gelegd, en dat komt vrij accuraat overeen.

Dus in plaats van het wiel opnieuw uit te vinden gewoon de juiste registers uitlezen. Dat scheelt veel tijd 8)7

Afbeeldingslocatie: https://tweakers.net/i/o6kxIECHMYnMcE9RR8rNEgI9_q4=/800x/filters:strip_exif()/f/image/KvAt22XXfmpUDAjE5Ugr6889.png?f=fotoalbum_large
Pagina: 1