Auswertung Impulse Volkswindmesser

BigBangTheory:
Kann dieses Phänomen daran liegen, dass die Entfernung zwischen Arduino und Windmesser relativ lang ist? Zur Info, zwischen Arduino und Windmesser sind 60m Kabel...d.h. 60m hin und 60m zurück, also 120m.

Ja, natürlich kann das daran liegen. Wenn ich das richtig beurteile, hast Du die Übertragung über die lange Leitung ja überhaupt nur dadurch halbwegs störungsfrei hinbekommen, dass Du meinem Ratschlag gefolgt bist und einen stärkeren Pull-Widerstand mit kleinerem Ohm-Wert eingebaut hast.

Die störungsfreie Signalübertragung ist von der Länge abhängig, und zwar ist die maximale Länge hauptsächlich durch die Geschwindigkeit der Signale begrenzt. D.h. wenn Du das Limit überschreitest, dann werden zuerst schnelle Signale falsch übertragen. Also bei einem Windmesser Impulse, die in extrem schneller Folge auftreten, bei Starkwind also. Und das äußert sich in erster Linie dadurch, dass Impulse verlorengehen, d.h. Du mißt bei Starkwind weniger Wind als eigentlich da ist.

Dieser Fall ist bei Deiner Kabellänge der wahrscheinlichste, aber den Fall beschreibst Du ja nicht (er ist auch als Fehler schwer zu entdecken).

Der andere Fall, dass durch bestimmte Effekte Impulse gemessen werden, wo gar keine da sind, kann auch auftreten. Aber wenn dieser Effekt auftritt und wenn das schaltungsbedingt von der Hardware verursacht wird, dann tritt er nicht nur bei Nullwind auf, sondern er tritt allgemein auf, also bei allen Windgeschwindigkeiten.

In dem Fall solltest Du also nicht nur bei Nullwind Ausreißer auf über 34 m/s dabei haben, sondern bei allen Windgeschwindigkeiten sollten Ausreißer in derselben Form auftreten.

Wenn die Ausreißer ausschließlich bei Nullwind auftreten, würde ich eher einen Softwarefehler vermuten. Z.B. einen Überlauf des micros() Timers. Der micros() Timer läuft alle ca. 70 Minuten über und Du verwendest ihn, um das Timing über einen Interrupt zu machen. Je nach Programmierung kann also nach 35 oder spätestens 70 Minuten Windstille ein Problem auftreten: Wenn nämlich bei Windstille 70 Minuten lang kein einziger Windimpuls auftritt, ist das Timing danach falsch. Und je nachdem wie die Softwarelogik ist, kann das die unterschiedlichsten Auswirkungen haben. Prüfe Deine Software mal darauf, ob das ein Problem bei Dir sein kann!

Um 60 Meter Entfernung zuverlässig auch bei hoher Datenrate (Starkwind!) zu überbrücken, mußt Du wahrscheinlich zwei Arduinos einsetzen und auf RS232-Pegel umsteigen und die Datenrate bei der Übertragung recht niedrig halten. Dazu benötigst Du zwei Arduinos und zwei Serial-TTL-RS232 Adapter.

Windmesser => wenige Meter Kabel zum ersten Arduino
Erster Arduino ==> viele Meter RS232 Kabel ==> zweiter Arduino

Mit 2400 Baud auf RS232-Pegel sollten sich 60 Meter zwischen zwei Arduinos leicht überbrücken lassen.

Wenn Du sowieso ein Kabel liegen hast: Falls das Kabel mindestens dreipolig ist, reicht es aus, den Außen-Arduino mit Strom zu versorgen und gleichzeitig von ihm RS232-Daten zu erhalten.

Und in jedem Fall muß natürlich die verwendete Software fehlerfrei sein, also beispielsweise darf nicht der Fall eintreten, dass micros() Überläufe in bestimmten Konstellationen die Software zum Durchdrehen bringen. Sonst haut es auch bei einer guten Übertragung nicht hin, gute Messwerte zu erhalten.