Regenmesser, Eigenbau am 13.7.2011
Nach dem Kauf eines Regenmessers mit Funkübertragung suchte ich eine Erweiterung, da dieser:
-
Nur eine grafische Anzeige hat: 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100mm
-
Keine Speicherung der Messdaten
Die Datengewinnung von diesem Regenmesser schied aus, da
die eingebaute Kippwaage nur für 1mm Regen ausgelegt ist.
Als
Ing. der Feinwerktechnik reizte mich ein Eigenbau mit einer
Genauigkeit von ca. 0,1 mm Regen.
Zuerst erfolgte der Bau einer Kippwaage die bei ca. 1,3 bis 2 cm³ Wasser ansprechen sollte. Damit kann mit einer entsprechenden Regensammelfläche die Genauigkeit auf 0,1mm Regen eingestellt werden, für z.B. 1,5cm³ sind 150cm² Fläche erforderlich.
Ich hatte etwas Glück, der erste Aufbau der Kippwaage kippte
entsprechend und konnte mit den Ausgleichsgewichten (2 Muttern M3)
auf ca. 1,5cm³ Wasser justiert werden. So wurde die oben
angegebene Fläche erforderlich. Konstruktionswerkstoff für
die Waage: Alu-Blech und Alu-Profile, Schrauben: Messing M3,
Klebeverbindungen: UHU plus schnell fest. Über einen kleinen
Zeiger an der Waage kann über die Lichtschranke die Kippbewegung
der Waage erfasst werden.
Die Auswertung der Lichtschranke und
die Datenübertragung zu dem Heizungsdatenmodul erfolgt mit einem
Attiny25. Die Spannungsversorgung erfolgt über ein 12V Stecker
Netzteil das schon die Heizungsdaten usw. versorgt. Verbindung
über
3 Leitungen.
Die Regenmess-Daten werden ca. jede Minute über ein
Software-UART mit 300 Baud übertragen. Die Nachricht wird 3 mal
in Abständen von wenigen Sekunden gesendet. Die Nachricht
enthält ein Flag, das bei jedem Minuten Zyklus geändert
wird. Im Empfänger wird die Nachricht nur übernommen wenn
ein neues Flag erkannt wird, zusätzlich ist die Nachricht mit
einem Prüfzeichen gesichert.
Da Attiny25 keinen
integrierten UART Baustein besitzt und das Empfängermodul
(Atmega168) zwar einen UART hat, dieser aber schon belegt war wurde
die komplette Entwicklung eines Software UARTs notwendig.
Die Sender Routine war relativ einfach, der Sender wurde in die Interrupt Routine eines Timers eingebaut.
Die Empfänger Software war etwas komplizierter. Eine gute Dekodierung ergab eine freie Timer Interrupt Routine sowie ein Pinchange Interrupt zur Synchronisation des Timers, damit die Impulse in der Mitte des Bit-Zeitfensters auswertbar sind. Es sind keine Software Delays zur Auswertung notwendig.
Schaltung des Senders mit dem Attiny25:
Die LED der Gabellichtschranke ist über einen Widerstand von 470 Ohm am Port PB2 angeschlossen. Die LED wird zu 20% im Software PWM Mode angesteuert, zur Stromersparnis. Der UART-Output ist ca. 20mA an einen Optokoppler. Im Ruhezustand ist die Leitung ohne Strom.
Die Software:
für
den Attiny25.
basis.c und basis.h
Erweiterung eines ATmega168 Controllers für den Software UART
Empfang.
Über den Optokoppler OK3 wird das REGEN Signal erzeugt und über einen 10poligen Stecker mit der Wannenbuchse verbunden. Die OK3 Schaltung sitzt auf einer kleinen Platine und wird über den ISP Anschluss mit Spannung versorgt.
Beispiel für den Software-UART Empfang
Von diesem Controller werden die Regendaten an meine Heizungsmessung gmess weitergereicht und dort auf eine SD Karte gespeichert. In der Auswertungssoftware können die Daten, wenn notwendig, mit einem Korrekturfaktor manipuliert werden.
Die Außenansicht des Regenmessers 160cm² = 127 * 126mm:
Bilder der Kippwaage, Lagerung: Eine 1,75mm Edelstahlachse aus
einem CD Laufwerk, gelagert in Messinglagern mit einer 2mm Bohrung. Die
Gabellichtschranke ist ebenfalls aus einem CD-Laufwerk
oder Floppylaufwerk. Die Auswertungselektronik ist geschützt in
einem Alu-Rohr. Die Kippwaage ist die 2. Version, da die erste manchmal
nicht funktionierte. Jetzt kann die Menge etwas größer
werden damit es sicher kippt. Die Waage wurde auf 1,5 cm³ Wasser
justiert ( eigentlich müsste es 1,6 cm³ sein). trotzdem wird
zuwenig gemessen und die Regenticks werden in der Auswertung mit einem
Faktor 25/21 korrigiert.