[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