[vz-dev] Messungenauigkeit

Justin Otherguy justin at justinotherguy.org
Thu Dec 2 21:14:11 CET 2010


Hi Jakob,

Am 02.12.2010 um 17:28 schrieb Jakob Hirsch:

> Justin Otherguy, 2010-12-01 09:00:
> 
>> 150 Watt -> 1 KWh in 1.000/150 h = 6,67 h 
>> pro KWh erzeugt der Zähler 2.000 Impulse -> 2.000 Imp. in 6,67h 
>> -> Zeit zwischen 2 Impulsen: = 0,0033 h = 12 s
>> 
>> anders rum: die zeitliche Auflösung des Controllers liegt bei 1s - daraus ergibt sich im Fall von 2.000 Imp./KWh eine Auflösung in der Leistung von 
>> 150 W / 12s = 12,5 W
>> 
>> Und das sind die Stufen, die man in Deinem Diagramm sieht.
>> 
>> Intervall A hat 12 Impulse -> 12*12,5W = 150 W
>> Intervall B hat 11 Impulse -> 11*12,5W = 137,5 W
> 
> Naja, nicht ganz, soweit ich das sehe. Das Problem ist doch, daß durch
> die mangelnde zeitliche Auflösung mal 12, mal 13s zwischen zwei Impulsen
> liegen, und somit:
> 12s-Impuls: 0,5W * 3600s / 12s = 150W
> 13s-Impuls: 0,5W * 3600s / 13s = 138.46W
genau. So ist es. Danke.

Oder auch (wenn man das gesamte Intervall anschaut):
5 Minuten mit 24 Impulsen -> 12,5 s / Impuls -> 144 Watt

> Fragt sich nur, was "50 ticks entprechen ca ner sekunde" bedeutet. Nicht
> daß wir da eine Auflösung vorgaukeln, die garnicht gegeben ist.
> Hab mir den Controller-Code bisher nicht angeschaut, aber was didi
> beschrieben hat, hört sich ja nicht so wild an. Oder spricht was dagegen?
klingt für mich auch lösbar - muss halt Jemand machen...

>> Es gibt 3 Fälle, die wir serverseitig unterscheiden müssten, dann wären wir eigentlich komplett:
>> a) Puffer wird gerade entleert -> es sollte der Zeitstempel des Controllers verwendet werden
>> b) Uhrzeit des Controllers geht nach dem Mond (manchmal klappt das Setzen der Uhrzeit per ntp nicht beim Reboot; dann läuft der Controller knallhart bei 1970-01-01 los...) -> das ist sehr einfach zu entdecken (z.B. Delta > 1 Tag) ; dann sollte die Serverzeit verwendet werden
> 
> Kann man da nicht RTC nachrüsten?
gute Frage. Weiss ich nicht. Lohnt das? Ein zuverlässiger ntp-Client wäre da meine bevorzugte Variante.

> Ansonsten sollte man das evt. auf dem Controller abfangen.
ACK.

> Holt der das dann eigentlich später nach oder läuft der dann so weiter bis zum nächsten Neustart.
leider letzteres.

>> c) Rest: es sollte die Serverzeit verwendet werden (Latenz, aber höhere Auflösung)
>> 
>> Wenn uns ein gutes Kriterium für den Fall a) einfällt, hätten wir eigentlich alles beieinander.
> 
> Wenn man das Kriterium für b) eher Richtung > 1 oder 10 Jahre oder auch
> Jahr < 1971 macht, kann man das über t_delta machen. Besser wäre es
> aber, wenn der Controller einfach sagt, daß er schonmal probiert hat,
> das einzuliefern (resend=1 oder sowas).
das klingt für mich nicht schlecht. @Jens - was meinst Du?


Gruss, J.



More information about the volkszaehler-dev mailing list