Forum: Mikrocontroller und Digitale Elektronik Wettersensor / serielle Daten auswerten?


von Marcel K. (hobride)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ermutigt von diesem Beitrag "FreeTec Außensensor an Arduino empfangen" bin ich 
auf die Idee gekommen zu versuchen meine Wettersensoren auszulesen.

Ich hatte also eine Wetterstation mit Sensoren von Pearl. Aber die 
Wetterstation ist defekt und kann man nicht mehr nachkaufen. Die 
Sensoren funktionieren aber noch.

Aus der Wetterstation habe ich das AM Empfangsmodul ausgebaut und das 
Signal an meine Soundkarte geleitet. In den Bildern kann man gut die 
Singale, welche ich jetzt auch entschlüsselt habe, erkennen.

ca. alle 40 sek.

36 Bit , 2ms Low = 0 , 4 ms Low = 1

und das ganze 6x

Jetzt würde ich diese Daten gerne an einen AVR Mega8 leiten, verarbeiten 
und auf ein LCD ausgeben. Nur habe ich leider überhaupt keine Ahnung wie 
ich die Daten einlesen kann. Könnte mir jemand mal schildern wie man mit 
solchen Daten am besten umgeht.

Die erste Frage ist: Ist dieses Signal überhaupt geeignet?
Die fallende Flanke sieht so komisch aus. Es kann aber auch an meiner 
Soundkarte liegen. Mangels echtem Oszi kann ich das nicht prüfen.

Und die zweite Frage wäre: Wie und wann am besten einlesen und 
wie und wann am besten auswerten und ausgeben?

Und das ganze am besten noch in BASCOM, vielleicht mit einigen 
Code-Schnipseln :-)

Gruß Marcel

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

a) Signalform. Die ist wahrscheinlich vom Eingang der Soudkarte so 
verformt. Zur Sicherheit kannst du ja einen Trigger oder Komparator 
vorschalten, der saubere Rechtecke macht

b) zum dedektieren brauchst du einen MC. Ich würde einfach die Zeiten 
zwischen den Impuls-Hinterflanken messen: kurz=0 , lang =1 oder so ...

Die drei "Zappler" am Anfang sind anscheinend ein Start- bzw. 
Synchronzeichen. Damit kannst du z.B. auch jedesmal deinen Zähler neu 
kalibrieren.
Solche Aufgaben löst man z.B. mit Hilfe eines Programmablaufplans. 
Flanke kommt, Flanke geht, wieviel Zeit ist vergangen, wenn ... dann ... 
usw.

von Marcel K. (hobride)


Lesenswert?

Hallo Frank,

danke schon mal für die hilfreichen Hinweise.

Was ich jetzt noch gerne wissen würde ist, wie detektiere ich das Signal 
am besten?

In der Hauptschleife den Port immer wieder abfragen?

Oder lieber einen Interrupt auslösen lassen? Was sollte dann in der ISR 
passieren und was nicht?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Konkret zur MC-Programmierung bin ich nicht so der Spezi, aber ich denke 
mit der ISR zur Impulsabstandsmessung liegst du nicht falsch. Die 
gesamte Datenübermittlung dauert ja grob geschätzt ca. 800 ms, danach 
hast du 40 Sekunden Zeit, irgendwas damit zu machen.
Also würde ich mit dem ersten Impuls die ISR scharf machen und in einen 
Loop von ca. 1 Sekunde gehen. Die dort dedektierten Nullen und Einsen in 
einen Puffer schreiben (String?) und danach die ISR wieder entschärfen, 
den Puffer gemütlich auswerten, leeren und auf den nächsten Zyklus 
warten ...

von Karl H. (kbuchegg)


Lesenswert?

Sieh dir an, wie DCF77 Auswertung gemacht wird. Bis auf den 
Protokollanfang funktioniert das ziemlich ähnlich.

von Marcel K. (hobride)


Lesenswert?

Hallo Karl Heinz,

>Sieh dir an, wie DCF77 Auswertung gemacht wird. Bis auf den
>Protokollanfang funktioniert das ziemlich ähnlich.

auf diese Idee hätte ich auch alleine kommen können.
Aber Danke für den Denkanstoß.

Gruß Marcel

von Marcel K. (hobride)


Lesenswert?

Achso auch an Frank nochmals ein Dankeschön. (Beitrag übersehen)

Ich glaube ab jetzt komme ich klar bzw. ab jetzt habe ich konkret was zu 
tun.

:-)


Gruß Marcel

von T. E. N. (ten)


Lesenswert?

Die HAMs DC3YC und F6FBB haben sich bereits um die Dekodierung und 
Dokumentation gängiger Wettersensor-Sendeformate verdient gemacht, vgl. 
http://www.f6fbb.org/domo/ und 
http://www.wetterstationen.info/phpBB/viewtopic.php?p=149001#149001 ff.
Thread beschreibt auch die anhand eines beeindruckenden Geräteparks 
http://www.wetterstationen.info/phpBB/viewtopic.php?p=153015#153015 
entwickelte Mikrocontroller-Implementierung von nane.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.