Die sehr verbreitete Wetterstation WS1600 kann für ein Logging leider nicht an einen PC angeschlossen werden. Die Pionierarbeit von »Fred führte aber zur Idee, nach seinem Vorbild den Zusatzempfänger der "WS1600 von Conrad" anzuzapfen und die mit einem Mikroprozessor attiny2313 aufbereiteten Empfangsdaten über eine serielle Schnittstelle an einen PC weiterzuleiten. Der ganze Spaß kostet weniger als 5,- Euro und verlangt brauchbare Lötkenntnisse. Außerdem muß eine attiny2313v programmiert werden können (vielleicht hilft da ja ein guter Bekannter).
Für einen Nachbau ist unbedingt ein Besuch Freds Seite zu empfehlen. Meine Schaltung entspricht mit nur wenigen Änderungen seiner Variante 3, siehe folgendes Bild:
Anstelle seines RX29 benutze ich den Zusatzempfänger der WS1600.
Für die Ausgabe der seriellen Daten an
den PC gibt es mehrere Möglichkeiten:
- die billigste braucht nur einen (beliebigen) PNP Schalttransistor und
zwei Widerstände (siehe Schaltung),
- wer an seinem PC kein serielles Port mehr hat kann einen Seriell zu USB Adapterkabel nehmen.
- alternativ wäre auch ein TTL zu USB Adapter gut geeignet. Das Foto unten zeigt einen solchen. Geignete
Adapter gibt es ab ca. 5,- Euro beim bekannten Auktionshaus. Solch ein Adapter kann dann auch gleich die
Stromversorgung für die ganze Schaltung übernehmen. Mein Zusatzempfänger wollte allerdings nicht mit einer
Spannung von 3,3V, die vom Adapter geliefert wird, starten. Zur Spannungreduzierung habe ich daher eine einfache Siliziumdiode eingefügt.
Man kann die ganze Schaltung auch aus den Batterien des Zusatzempfängers versorgen. Dann entfällt natürlich die Diode.
Der Stromverbrauch ist knapp 1 mA. Die Batterien sollten also für ca. 2 Monate reichen.
Auch die Software wurde im wesentlichen von Fred übernommen und nur an das unterschiedliche
Datenprotokoll des TX22 Transmitters der WS1600 angepaßt. Ergänzt wurden Ausgabemöglichkeiten für:
- die Rohdaten für diagnostische Zwecke, und drei alternative Varianten für die Datenübernahme
durch den PC
- 1. ASCII Text der dekodierten Datenfelder oder
- 2. Datenübergabe im Format des ELV-PC-Wettersensor-Empfängers oder
- 3. Datenübergabe im Format der Oregon Scientific WMR918
mit den Formaten 2 und 3 können direkt die Daten an WsWin von Werner Krenn übergeben werden
mit dem Format 3 können die Daten auch an Cumulus übergeben werden
Für die Messung des Luftdrucks, der Innentemperatur und der Luftfeuchte wurde die Hardware um einen Drucksensor BMP085 und einen Temperatur-/Feuchtesensor SHT 11 erweitert. Da der Flashspeicher des Attiny2313 für den umfangreicheren Programmcode nicht mehr ausreicht, wird hier ein ATmega88p verwendet.
Da der Drucksensor BMP085 doch sehr klein und damit schwierig zu löten ist, wird ein fertiges Modul verwendet, welches auch gleich Spannungsregler, Levelconverter und i2c Widerstände enthält, verwendet ( gibts es aus China beim bekannten Auktionshaus für ca. 10,40 Euro). Für den PC-Anschluß und die Stromversorgung wird, wie oben schon beschrieben, ein Seriell-zu-USB Konvertermodul auf der Basis eine FTDI Chips eingesetzt (gibt es ebenfall beim Auktionshaus fertig als Modul).
Die Hardware-Version 2 ist hier mit der Software Cumulus in Demo-Betrieb zu sehen.
Die Software von Version 1 wurde für Erfassung des Luftdrucks durch den BMP085 und der Temperatur/Feuchte durch den SHT11
entsprechend erweitert. Es wurden open source Bibliotheksroutinen aus dem Internet verwendet. leider sind die Autoren z.T.
unbekannt. Es bestehen weiterhin Ausgabemöglichkeiten für:
- die Rohdaten für diagnostische Zwecke, und drei alternative Varianten für die Datenübernahme
durch den PC
- 1. ASCII Text der dekodierten Datenfelder oder
- 2. Datenübergabe im Format des ELV-PC-Wettersensor-Empfängers ( hier wurde die Ausgabe der Druck-,
Temperatur- und Feuchtedaten allerdings nicht ergänzt) oder
- 3. Datenübergabe im Format der Oregon Scientific WMR918 mit allen vorhandenen Daten.
Mit dem Format 3 können die Daten direkt an WsWin von Werner Krenn oder auch an Cumulus übergeben werden ( siehe oben).
Nach Laden der Batterien in den Sensor TX22 beginnt eine Acquisitions-/Synchronisations-Phase von etwa 5 Stunden. Während dieser Zeit können Basisstation und Zusatzempfänger mit dem Sensor synchronisiert werden. Zugleich sendet der Sensor alle ihm zur Verügung stehenden Daten alle 4,5 Sekunden. Ein Beispiel mit Roh- und dekodierten Daten gibts es hier. Nach etwa 5 Stunden ist die Acquisitions-/Synchronisations-Phase beendet. Diese wird durch ein Bit im Datenstrom (siehe Protokoll) angezeigt. Ab diesem Zeitpunkt werden alle 4.5 Sekunden nur noch einzelne ausgewählte Daten gesendet z.B. für Regen oder Wind. Ein Beispiel für diese Datensätze gibt es hier.
Eine Besonderheit ist, dass vom TX22 auch Daten für Windböen (Gusts) gesendet werden, die von der
WS1600 leider nicht angezeigt werden. Das dürfte daran liegen, dass der
Windsensor TX23 auch für die WS3650 benutzt wird, die auch Böen anzeigen kann.
Unklar sind mir die Datenblattangaben zur maximalen Windgeschwindikeit mit 50 m/s. Ein Wert von 50 m/s
entspricht einer Windgeschwindigkeit von gerundet 180 km/h. Ein solcher Wert kann von der Basisstation der WS1600
aber gar nicht dargestellt werden, da nicht mehr als 2 Ziffern vor dem Komma angezeigt werden können.
Außerdem werden für die Übertragung von max. 50,0 m/s im Datenprotokoll 9 Bits benötigt; das 9te Bit
habe ich bislang aber noch nicht gefunden. Böen können allerdings mit 50 m/s angezeigt werden.
Die Software der Version 1 mit dem Attiny2313 kann hier herunter »geladen werden
und die Software der Version 2 mit dem Atmega88p gibt es »hier. Zur Programmentwicklung benutze ich WinAVR2010. Evtl. muß dort im Ordner Util im Template delay.h das include von config.h auskommentiert werden, da es nicht benötigt wird. Alternativ würde auch eine leere Datei config.h helfen.Bitte beachten: es werden in Version 1 keine "Innen-Daten" (Temperatur/Feuchte/Luftdruck) übertragen und angezeigt.!
In Version 2 gibt es nun zusätzlich auch Anzeigen für Luftdruck, Innentemperatur und Innenfeuchte.
Wie immer bei jedem Hobbyprojekt: keine kommerzielle Nutzung, alles unter GNU-Lizenz und natürlich alles auf eigene Gefahr.
goetz@g-romahn.de