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
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.
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?
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 ...
Sieh dir an, wie DCF77 Auswertung gemacht wird. Bis auf den Protokollanfang funktioniert das ziemlich ähnlich.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.