Ankündigung

Einklappen
Keine Ankündigung bisher.

Frequenzzähler (Item.prev_change())

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Ganz einfach:

    Es sind nicht 1/800 kWh sondern 800/1 kWh.

    800 Impulse je kWh ->

    800/1 kWh
    800/1000 Wh
    800/1000 * 3600 Ws
    8/0,036 Ws

    Damit ergibt sich:
    Code:
    8/0,036*sh.Allgemein.Stromzaehler.Counter.age()
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #17
      Zitat von JuMi2006 Beitrag anzeigen

      Damit ergibt sich:
      Code:
      8/0,036*sh.Allgemein.Stromzaehler.Counter.age()
      Das kann nicht sein, oder es fehlt eine Klammer - je höher das Counter.age desto GERINGER ist der Verbrauch...

      Kommentar


        #18
        Wieso, je länger kein Impuls gekommen ist (also je langsamer die Impulse eingehen) desto geringer der Verbrauch...
        Mit freundlichen Grüßen
        Niko Will

        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

        Kommentar


          #19
          Zitat von 2ndsky Beitrag anzeigen
          Wieso, je länger kein Impuls gekommen ist (also je langsamer die Impulse eingehen) desto geringer der Verbrauch...
          Hab ich was anderes geschrieben? Und genau deswegen fehlt oben mindestens eine Klammer...

          Kommentar


            #20
            Ah okay, dann hab ich deine Antwort falsch gedeutet...
            Mit freundlichen Grüßen
            Niko Will

            Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
            - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

            Kommentar


              #21
              Ja das ist richtig.
              Schnelles Blinken, hoher Verbrauch, hohe Frequenz und geringes age.
              Langsames Blinken, geringer Verbrauch, niedrige Frequenz und großes age.

              Edit ja die klammer fehlt
              Umgezogen? Ja! ... Fertig? Nein!
              Baustelle 2.0 !

              Kommentar


                #22
                Hi,

                auch mal ein Versuch

                1 Impuls == 1/800 kWh
                1000/800 Wh
                1,25 Wh
                1,25 * 3600 Ws
                4500 Ws

                1 Impuls == 4500Ws

                W = 1/age * 4500

                Bis bald

                Marcus

                Kommentar


                  #23
                  Wenn man eine Einheitenbetrachtung macht sieht man wohin die Klammer kommt. Ich hab den Zettel noch aufm Schreibtisch liegen, bin aber nicht im Büro.

                  Bei mir ists auch irgendwie falsch ;')

                  Marcus hats aber:

                  W = 1/age * 4500
                  W = (1/age) * 4500

                  W = (1/s) * 4500(W*s)

                  Da kürzen sich die beiden Sekunden raus und "Watt" bleibt übrig
                  Umgezogen? Ja! ... Fertig? Nein!
                  Baustelle 2.0 !

                  Kommentar


                    #24
                    Danke euch.
                    Ich weiß nicht, warum ich mich mit Stunden/Minuten und kWh so schwer tue. Als Ing. ist mir das Konzept von Einheiten eigentlich wohl bekannt..

                    Hier mal ein Screenshot der drei Möglichkeiten:
                    1) (Wert-Wert_vor_1min)/1min
                    2) (Wert-Wert_vor_10min)/10min
                    3) (Wert-Letzter_Wert(=1000/800))/prev_change()

                    Ich denke, dass der letzte Wert der genaueste ist.

                    Gruß,
                    Hendrik

                    Kommentar


                      #25
                      Zitat von henfri Beitrag anzeigen
                      1) (Wert-Wert_vor_1min)/1min
                      2) (Wert-Wert_vor_10min)/10min
                      3) (Wert-Letzter_Wert(=1000/800))/prev_change()

                      Ich denke, dass der letzte Wert der genaueste ist.
                      Nicht ganz ernst gemeint:

                      Der Ing weiß: kann nicht genau sagen, weil: Kommt auf die Genauigkeit der Zeitmessung an. Hier spielt der Jitter eine große Rolle: Modellbildung: S0 -> Eingangsstufe Binäreingang (z.B. bei UK/S32.2 massiv das serielle Einlesen durch Schieberegister ("SPI") - der hat ca. 0,8 Sekunden Zykluszeit, aber auch generell Entprellung die nicht konstant ist) -> KNX-Stack (ggfl. andere Pakete im Knoten) -> KNX-PHY (CDMA) -> IP-Gateway -> IP -> eibd -> Socket (Systemauslastung) -> smarthome.py

                      Setze für jedes Glied dieser Kette ein entsprechendes Modell an (insbesondere Verteilungsfunktion mit Varianz für den Jitter). Bitte begründe die Modelle durch geeignete Referenzen oder Versuchsreihen. Erstelle die kumulative Verteilungsfunktion. Dann noch ein paar Kurven für verschiedene Leistungsaufnahmen (unterschiedliche Frequenzen), Lastzustände KNX, IP, smarthome.py. Gleiches bitte für 1/2, wobei hier evtl. Vereinfachungen zutreffen, wie z.B. das Aussummieren im Binäreingang. Hier muss höchstens ein Fehlermodell für den Binäreingang her - kein Problem *g*. Vergleich von 1/2/3 als mittlerer und 90% worst-case Fehler zum korrekten Wert. Filterung mehrerer Messungen durch geeignete Filter (hier: gerne Kalman mit Modellbildung der Stromaufnahme eines typischen eFH). Veröffentlichung mit peer-review auf einer IEEE Konferenz (wahlweise Journal, nicht unter 16 Seiten). Meinen Namen bitte anfügen. Danke!


                      Ansonsten: Lass alles drei laufen und guck was passiert.

                      Viele Grüße
                      Robert

                      P.S.: Die Verwendung der Beaglebone PRU wäre hierfür ideal. Ist aber auch nichts für vor dem Mittag...

                      Kommentar


                        #26
                        :-)))

                        Kommentar


                          #27
                          Endgültiger Stand

                          Hallo,

                          ich versuche mich auch gerade mit dem Counter und der Momentanleistung. Da ich noch neu im Thema bin, könnte einer mal seinen aktuellsten Stand der *.conf bezüglich dieser Verrechnung posten? Was nehmen ich jetzt? age()?

                          Gruß

                          Kommentar


                            #28
                            Code:
                            [Allgemein]
                                [[Stromzaehler]]
                                sv_page=Strom
                                name = Strom
                                visu=yes
                            	[[[Counter]]]
                            	    name = Counter
                            	    type = num
                            	    cache=yes
                            	    sqlite = yes
                            	    knx_dpt = 12
                            	    enforce_updates=yes
                            	    knx_send = 6/7/0
                            	    knx_listen = 6/7/0
                            	[[[Zaehlerstand]]]
                            	    name = Zaehlerstand
                            	    type = num
                            	    sqlite = yes
                            	    knx_dpt = 14
                            	    #knx_send = 6/7/1
                            	    eval = sh.Allgemein.Stromzaehler.Counter()/800.0
                            	    eval_trigger = Allgemein.Stromzaehler.Counter
                                	    sv_widget={{ plot.period('p99872', 'item', 'avg', '2h',0,'','','','','','area') }}
                                	    visu=yes
                                [[[Momentanleistung_1min]]]
                            	    name = Momentanleistung_1min
                            	    type = num
                            	    sqlite = yes
                            	    knx_dpt = 14
                            	    #knx_send = 6/7/2
                            	    eval = (sh.Allgemein.Stromzaehler.Zaehlerstand()- sh.Allgemein.Stromzaehler.Zaehlerstand.db('max', '1i', '1i'))*60.0*1000.0
                            	    eval_trigger=Allgemein.Stromzaehler.Counter
                                	    sv_widget={{ plot.period('p998dd71', 'item', 'avg', '2h', 0, 0,4000, ''    , '', '','area') }}
                            	    visu=yes
                                    [[[Momentanleistung_10min]]]
                            	    name = Momentanleistung_10min
                            	    type = num
                            	    sqlite = yes
                            	    knx_dpt = 14
                            	    knx_send = 6/7/2
                            	    eval = (sh.Allgemein.Stromzaehler.Zaehlerstand()- sh.Allgemein.Stromzaehler.Zaehlerstand.db('max', '11i', '10i'))*60.0*1000.0/10.0
                            	    eval_trigger=Allgemein.Stromzaehler.Counter
                                	    sv_widget={{ plot.period('p99871', 'item', 'avg', '2h',0,0,4000, ''    , '', '','area') }}
                                	    visu=yes
                                    [[[Momentanleistung_freq]]]
                            	    name = Momentanleistung_freq
                            	    type = num
                            	    sqlite = yes
                            	    knx_dpt = 14
                            	    knx_send = 6/7/3
                            #Frequenzzähler: Jeder Counter=1/800kWh=3600/800kws=3600/800*1000Ws; Zeit zwischen zwei Impulsen messen und dadurch teilen --> W
                            	    eval = 4500/sh.Allgemein.Stromzaehler.Counter.prev_age()
                            	    eval_trigger=Allgemein.Stromzaehler.Counter
                            	    enforce_updates=yes
                                	    sv_widget={{ plot.period('p998dsd71', 'item', 'avg', '2h',0,0,4000, ''    , '', '','area') }}
                            	    visu=yes
                                    [[[Leistungsdurchschni24h]]]
                            	    name = Last
                            	    type = num
                            	    sqlite = yes
                            	    knx_dpt = 14
                            	    eval = (sh.Allgemein.Stromzaehler.Zaehlerstand()-sh.Allgemein.Stromzaehler.Zaehlerstand.db('max', '1d', '1d'))/24*1000
                            	    eval_trigger=Allgemein.Stromzaehler.Counter
                                	visu=yes        
                            		[[[Leistung_Haustechnik]]]
                            		type=num
                            		sqlite=yes
                            		knx_dpt=9
                            		knx_cache=6/7/10
                            		[[[Verbrauch_Haustechnik]]]
                            		type=num
                            		sqlite=yes
                            		eval=value+sh.Allgemein.Stromzaehler.Leistung_Haustechnik()*sh.Allgemein.Stromzaehler.Leistung_Haustechnik.prev_age()/60.0/60.0
                            		eval_trigger=Allgemein.Stromzaehler.Leistung_Haustechnik
                            Ich weiß nicht, welche Variante die genaueste ist.

                            Gruß,
                            Hendrik

                            Kommentar


                              #29
                              Moin,

                              ist schon vier Jahre her... Aber ich habe eine Frage.
                              Ich gehe im folgenden nicht davon aus, dass sich jemand an obiges noch erinnert ;-)

                              Ich ermittle den Verbrauch so auf diese zwei Weisen:

                              Code:
                              Mittelwert1min=sh.Allgemein.Stromzaehler.FinalerCo unter.db('max', '2i', '1i')- sh.Allgemein.Stromzaehler.FinalerCounter.db('min', '2i', '1i')
                              Mittelwert10min=(sh.Allgemein.Stromzaehler.Finaler Counter.db('max', '11i', '1i')- sh.Allgemein.Stromzaehler.FinalerCounter.db('min', '11i', '1i'))/10
                              Zusätzlich habe ich einen Frequenzzähler implementiert (ein Impuls=1000/800Wh geteilt durch die Zeit seit dem letzten Impuls).

                              Die beiden Varianten geben einen deutlichen Unterschied:
                              stromverbrauch.png

                              Dabei gibt der Frequenzzähler und der 10 min Mittelwert ein konsistentes Bild ab, während 1min um einen Faktor von fast 2 auseinander liegen (Achse startet nicht bei 0).

                              Jetzt liegt der Verdacht nahe, dass ich statt 1 und 10 Minuten tatsächlich 2 und 11 erwische.
                              Daher die Frage:
                              db('max', '2i', '1i') gibt doch den maximalen Wert im Zeitraum von vor zwei Minuten und vor einer Minute (also den letzten Wert dieses Intervalls)
                              db('min', '2i', '1i') gibt entsprechend den ersten Wert des Intervalls aus.

                              Richtig?

                              Sieht jemand dne Fehler?

                              Gruß,
                              Hendrik
                              Zuletzt geändert von henfri; 01.05.2018, 10:34.

                              Kommentar

                              Lädt...
                              X