Go Down

Topic: Auswertung Impulse Volkswindmesser (Read 9 times) previous topic - next topic

BigBangTheory

Hallo Leute,

vielen Dank schonmal für eure zahnreichen Antwort! Vor allem an jurs für diese wirklich tolle, ausführliche Antwort!

Das Problem das ich geschildert habe, also das es hin und wieder Fehlsignale gibt die dann in der Auswertung zu extrem hohen Windgeschwindigkeiten verrechnet werden, passiert bei allen Windgeschwindigkeiten, nicht nur bei Null.

Ich hab mich jetzt dazu entschlossen, den Arduino direkt an den Mast zu bauen, in einen wasserdichten Kasten, sodass der Abstand zwischen Arduino und Windmesser nicht mehr als 5-6 Meter beträgt, je nach Masthöhe.

Die Stromversorgung des Arduinos werde ich dann über eine NYY-J 3x1,5 Leitung gewährleisten, damit die Signalleitungen nicht mehr der Grund sind, warum ich Fehlsignale bekomme. Als kleine Anmerkung, als Signalleitungen verwende ich ein Twin-SAT-Koaxialkabel 75 ? Koax >75 dB Weiß 1 m. Somit habe ich die Hin- und Rückleitung in "einem". Hier mal ein Link dazu: http://www.conrad.de/ce/de/product/285137/Twin-SAT-Koaxialkabel-75-Koax-75-dB-Weiss-1-m/SHOP_AREA_17418?.

Meine Software werde ich auch nochmal auf den Hinweis von jurs hin überprüfen und ggf. anpassen, sodass der micros()-Timer nicht mehr überlaufen kann.

Die Frage die sich mir jetzt dabei stellt ist, ist es möglich die Daten von der Micro-SD-Karte im laufenden Messbetrieb auszulesen, ohne diese aus dem Arduino zu entfernen? Da mein Mast bald mitten auf einem Feld steht, wo rings herum nichts ist, wäre es sehr praktisch bspw. über die Ethernet-Schnittstelle meinen Laptop an den Arduino anzuschließen und die Dateien, welche momentan nicht für die Aufzeichnung benötigt werden, auszulesen. Anmerkung: Der Arduino speichert die Messwerte jeden Tag in eine neue *.txt-Datei, welche mit dem jeweiligen Datum benannt wird. Hierdurch ist es möglich die älteren Daten auszulesen, ohne hierbei den Arduino zu stören.

Hätte hierfür jemand eine Idee, wie man dies bewerkstelligen kann? Ich könnte natürlich auch ca. 1 Jahr warten und dann alle Daten auf einmal auslesen. Ich bin dafür aber glaub ich viel zu neugierig :D.

Vielen Dank für eure tolle Hilfe!!

Gruß

guntherb

Die Idee, den Ardu nahe an den Windmesser zu setzen ist sicherlich gut, wenn auch mit Nachteilen behaftet.
Ich bin beruflich in der KFZ-Branche zuhause und bei uns gibt es NIE ein störungsfreies Signal um trotzdem eine Funktion zu erhalten (auch wir lesen viele Drehzahlsignale) bedarf es verschiedener Strategien
a ) Übertragungsweg sicherer machen.

  • - die beste Möglichkeit ist sicher, die Auswerteelektronik vor Ort zu setzen, und den weiteren Übertragungsweg digital zu gestalten, z.B. über redundante, überprüfte Datenübertragung über Busse, Wlan o.ä.

  • - eine andere Variante ist, die Signalübertragung selbst robust zu machen. Der Hinweis von Jurs in Richtung niedrigere Abschlusswiderstände, also höhere Ströme ist ein guter Weg. Du könntest aber auch überlegen eine Stromschnittstelle einzubauen. Die sind sehr störsicher.


b) Signale besser filtern
du hast ein recht niederfrequentes Nutzsignal, eingekoppelte Störer sind hochfrequent.

  • Blockkondesatoren (22nF,1nF,47pF parallel) genau da, wo das Signalkabel am Bord ankommt, zwischen die beiden Leitungen schalten. möglichst kurze Anschlussdrähte (SMD?) Die verhindern breitbandig, dass hochfrequente Störer erst aufs Board kommen.

  • einen Tiefpass, der wirklich nur das Nutzsignal durchlässt.


c) Signale plausibilisieren
Jetzt sind wir erst bei der Software.

  • Änderungsgeschwindigkeit: wie schnell kann sich die gemessene Windgeschwindigkeit ändern? zuerst Null, dann, 100ms später Orkan? Das kann nicht sein! Also das Signal ignorieren.

  • "Entprellen" geht in die gleiche Richtung, nur ein anderer Ansatz: erst wenn in zwei Zeitfenstern (Pulse, oder anderes) die gleiche Geschwindigkeit gemessen wird, dann wird sie als gültig erkannt. Da sich der Wert ändert, mußt du definieren, wie stark ein gemessener Wert vom nächsten Abweichen darf um Gültig zu sein.



Ich bin sicher damit kriegst du die Übertragung störungsfrei hin!
Grüße
Gunther

BigBangTheory

Hallo Leute,

vor allem auch Danke an guntherb für die super quasi Anleitung, wie man ein fast störungsfreies Signal erhalten kann!

Einige der Tipps werd ich auf jedenfall umsetzen, von dem verkürzen der Signalkabel bis hin zur softwareseitigen Plausibilisierung des Signals.

Eine andere Frage die mir da noch auf dem Herzen liegt zum Windmesser ist,  ist es möglich die Daten von der Micro-SD-Karte im laufenden Messbetrieb auszulesen, ohne diese aus dem Arduino zu entfernen? Da mein Mast bald mitten auf einem Feld steht, wo rings herum nichts ist, wäre es sehr praktisch bspw. über die Ethernet-Schnittstelle meinen Laptop an den Arduino anzuschließen und die Dateien, welche momentan nicht für die Aufzeichnung benötigt werden, auszulesen. Anmerkung: Der Arduino speichert die Messwerte jeden Tag in eine neue *.txt-Datei, welche mit dem jeweiligen Datum benannt wird. Hierdurch ist es möglich die älteren Daten auszulesen, ohne hierbei den Arduino zu stören.

Vielen Dank für eure tolle Hilfe!!

Gruß

michael_x


.. ist es möglich die Daten von der Micro-SD-Karte im laufenden Messbetrieb auszulesen, ohne diese aus dem Arduino zu entfernen? Da mein Mast bald mitten auf einem Feld steht, wo rings herum nichts ist, wäre es sehr praktisch bspw. über die Ethernet-Schnittstelle meinen Laptop an den Arduino anzuschließen und die Dateien, welche momentan nicht für die Aufzeichnung benötigt werden, auszulesen. Anmerkung: Der Arduino speichert die Messwerte jeden Tag in eine neue *.txt-Datei, welche mit dem jeweiligen Datum benannt wird. Hierdurch ist es möglich die älteren Daten auszulesen, ohne hierbei den Arduino zu stören.

Üblicherweise kann immer nur eine Datei gleichzeitig offen sein.
Wenn du also nach jedem Schreiben die Datei schliesst, oder gar vor jedem Schreiben mit SD.begin() prüfst, ob überhaupt eine Karte steckt, stört eine Funktion, die eine Datei liest und komplett an den PC (am einfachsten über Serial) sendet, nicht weiter.

Du kannst so natürlich auch die heutige Datei übertragen.

BigBangTheory

Ich würde gern in folgendem Szenario die *.txt - Files von der SD -Karte auf meinen Rechner laden:

Der Mast mit Windmesser und Arduino steht mitten auf einem Feld. Ich laufe also mit dem Laptop zum Mast, schließe den PC entweder über ein Firewire oder ein Crossover-Ethernetkabel an den Arduino an und zieh mir die *.txt-Files vin der SD-Karte auf den Rechner.

Jetzt die Frage, wie kann man sowas realisieren? Ist das überhaupt möglich?

Viele Dank schonmal für eure Atworten!

Gruß

michael_x

Quote
sehr praktisch bspw. über die Ethernet-Schnittstelle meinen Laptop an den Arduino anzuschließen

Was spricht gegen ein USB-Kabel ?

Im tiefsten Innern deines Sketch hast du dann sowas wie
Code: [Select]
while (myFile.available())
   Serial.write(myFile.read());


Das ist erheblich einfacher als einen ftp server zu schreiben, oder wie kompliziert stellst du dir das vor ?
Wofür brauchst du das edle Ethernet-Shield sonst ?

BigBangTheory

Das Ethernet-Shield nutze ich ja momentan dafür, die Dateien die jeden Tag erstellt werden, auf der SD-Karte zu speichern.

Wenn ich im Code die einzelnen Dateien auslesen lasse (im Maximalfall 365 *.txt-Dateien mit jeweils 86.400 Zeilen), dann müsste ich die Informationen von der seriellen Schnittstelle heraus auslesen und dann auf dem PC- speichern, oder?

Gibt es denn keine andere Möglichkeit, im laufenden Betrieb die Dateien von der SD-Karte auf den PC zu übertragen, ohne die SD-Karte aus dem SD-Card-Slot des Ethernet-Shields zu entnehmen (Datenaufzeichnung wäre dann unterbrochen)?

Vielen Dank für eure Antworten!

Gruß

BigBangTheory

Hallo Leute,

nach weiterer Recherche bin ich auf folgendes gestoßen:

http://www.ladyada.net/learn/arduino/ethfiles.html

Weiterhin benutzen wir bei mir zu Hause, um Internet in allen Gebäuden zu haben das System von devolo, dass DLAN AV Duo. Hier mal ein link dazu:http://www.devolo.de/consumer/93_dlan-200-avduo_starter-kit_produktvorstellung_1.html?l=de.

Ist es denn möglich dies mit meinem Sketch zu verbinden, sodass ich übers Internet auf den Arduino und die SD-Karte zugreife und mir die Files anzeigen bzw. auch herunterladen kann?

Würde das das ablaufende Programm zur Windmessung zu sehr stören?

Gruß

Go Up