Hallo  Thomas,

ich habe teils ähnliche Erfahrungen gemacht wie Du. Aber, um eines 
vorwegzuschicken, es sind eben Erfahrungen, nicht mehr, denn ich bin weder 
Experte in Mikroelektronik noch an der Entwicklung des vzloggers beteiligt...

> Das kann nicht durch ein "echtes" Verhalten der Wasseruhr kommen, aber
> ich habe noch eine andere Idee: Zwischen dem Abtast-Optokoppler und der
> restlichen Schaltung ist etwa 1m 3er-Draht, weder geschirmt noch verdrillt.
> Evtl kann man sich da irgendwelche Störsignale einfangen?

Ja, die GPIOs des Raspberry sind schon sehr störanfällig. Das kann teils durch 
elektrostatische "Einschläge" oder elektromagnetische Interferenzen auf dem 
Signalweg bedingt sein, teils auch durch Störungen aus dem 230V-Netz, denn das 
Netzteil des Raspberry hat keinen entsprechenden Filter. Besonders Motoren (wie 
die von Waschmaschinen oder Spülmaschinen) sind prädestiniert für derartige 
Einstreuungen.

> - ich bau geschirmtes Kabel ein

Eine Abschirmung des Kabels zwischen dem Sensor  und dem Raspberry kann helfen, 
wenn man sie auch erdet. Sollten Probleme aus dem 230V Netz dazukommen (das 
kannst Du ja zeitlich vielleicht einem bestimmten Verbraucher zuordnen), kann 
ein Netzfilter helfen, oder den Raspberry auf eine andere Phase klemmen als den 
Störenfried.

> - weiss jemand eine andere Moeglichkeit, die GPIO-Aktivitaet moeglichst
> nah an der Hardware zu loggen?

Es gibt sicher Möglichkeiten, höhere Spannung mit (zweitem?) Optokoppler oder 
Spannungsteiler, aber das sollte Dir lieber einer der Elektronikfachleute hier 
in der Liste beantworten. Ursprünglich gab es ja nicht zuletzt zur Vermeidung 
derartiger Probleme die Erweiterungen des VZ, die leider so nicht mehr zu 
bekommen sind.

> Interessant, dass sowas aehnliches beim Gas auch passiert (nur Reed-
> Kontakt + Pull-Up Widerstand), ab+zu werden Impulse gezaehlt, obwohl
> 100% sicher
> den ganzen Tag kein Gasverbrauch. Die Frage ist nur, wo die Fehler
> reinkommen - "ueber den Draht" oder in der Verarbeitung im RPi (falsche
> Interrupts).

Wenn Du den Gaszähler mittels Pull-Up direkt am GPIO laufen hast, mit 
configure_gpio explizit oder implizit aktiviert, dann zählst Du ja dank Flanke 
auf "rising" und "active_low" auf 0 wieder die Pausen und nicht die positiven 
Impulse... der vzlogger kann (soweit ich das verstehe!) schon zu einem gewissen 
Grad filtern was ein Impuls ist und was nicht. Wenn man aber die Pausen zählt, 
sind diese ja immer lange genug um als Impuls durchzugehen...

Probiere doch mal aus was passiert, wenn Du die Schaltung auf einen 
Pull-Down-Widerstand umstellst, oder active_low aktivierst. Bei mir hat der 
Pull-Down anstelle des auch von mir ursprünglich verwendeten Pull-Ups dazu 
geführt, dass der größte Teil der Fehlimpulse nun nicht mehr sichtbar wurde. 
Und der (in diesem Fall logisch korrekte aber de fakto fehlerhafte) Erstimpuls 
beim Starten des Systems ist dann auch weg.

> wie sind sonst die Erfahrungen: Es kommen zwar immer schoene Graphen raus, 
> aber sind die Werte auch exakt?

Bei mir: Jetzt zu 99%. Hin und wieder mal den Zählerstand mit der Datenbank 
vergleichen und ggfs. geringste Abweichungen korrigieren schadet ja dennoch 
nicht.

Gruss,
Alex

PS - da ich kein Entwickler bin habe ich an die vz-users-Liste geantwortet mit 
CC Deine Email

Antwort per Email an