WindmesserWindmesser Gesamt

Die Richtung des einfallenden Windes wird klassisch mit einem Potentiometer ohne Anschlag gemessen. Dazu ist die Widerstandsbahn an die geregelte Betriebsspannung angeschlossen. Der Schleifer greift nun eine zum Winkel proportionale Spannung ab, die nach Tiefpassfilterung einem der AD-Wandler im Mikrocontroller zugeführt wird. Hier wird sie mit 10 Bit Auflösung digitalisiert und steht für die weitere Verarbeitung zur Verfügung. Diese ist hier besonders einfach, denn in der Firmware ist eine Tabelle abgelegt, die den gemessenen Werten direkt die entsprechende Richtung zuordnet. Eine aufwändige Umrechnung entfällt daher bzw. wurde schon zur Entwicklungszeit ein für alle Mal getätigt.

Die Messung der Windgeschwindigkeit ist etwas komplizierter. Das größte Problem ist hierbei die Mechanik. Nach dem Beschaffen der Kunststoffschalen steht die Wahl eines geeigneten Lagers an. Das Lager muss sehr leichtgängig sein, darf sich nicht während der Lebensdauer stark abnutzen. Besonders die Leichtgängigkeit bereitete mir einige Probleme, schließlich wollte ich nicht erst bei Windstärke 6 den Anfang meines Messbereichs haben. Nach einigem Experimentieren bin ich dazu übergegangen, ein kommerzielles Lager aus einem defekten Windrichtungsanzeiger auszubauen und mit den Schalen zu verbinden. Die Reibungsfläche ist bei diesem Lager sehr klein, so dass die Flügelschalen schon bei geringen Windstärken von 1-2 m/s anfangen sich zu drehen.


Windgeschwindikeit Detail Nachdem die Mechanik geklärt war, konnte ich mich an die elektrische Erfassung der Umdrehungsgeschwindigkeit wagen. Hier hatte ich bei der letzten Version einen Spielzeug-Motor verwendet, der gleichzeitig als Lager und Dynamo fungierte. Über eine Spitzenwert-Gleichrichtung der induzierten Spannung konnte ich auf die Dreh-Geschwindigkeit schließen. Dennoch ist dieses Verfahren verschleißbehaftet, denn die Bürsten im Motor nutzen sich mit der Zeit ab. Außerdem war ja nun ein neues Lager verbaut. Als Lösung erwählte ich eine berührungslose Erfassung durch einen mitrotierenden Magneten sowie einen Magnetfeldsensor auf Basis des Hall-Effektes. Wie man im Bild deutlich erkennt, habe ich an die Befestigung der Schalen mit Epoxyd-Kleber zwei kleine Stabmagnete befestigt und den Hall-Sensor 1,5 mm unterhalb der Bahn dieser Magnete angebracht. Damit ich bei jeder Umdrehung nur einen Impuls erhalte (und nicht zwei), sind die Magnete in verschiedener Richtung aufgeklebt. Der Hall-Sensor ist aber unipolar und reagiert daher nur auf eine Magnetfeld-Richtung. Im Endeffekt dient der 2. Magnet nur dazu, die durch den 1. Magneten entstehende Unwucht aufzuheben.

 

ElektronikDie Elektronik konnte sehr einfach gehalten werden. Herzstück ist ein ATMEL MEGA 8 Mikrocontoller. Dieser hat den für die Richtungsmessung nötigen AD-Wandler bereits auf dem Chip integriert. Auch die Zeitmessung zwischen zwei Schalen-Umläufen wird durch interne Hardware unterstützt. Insofern langweilt sich der Controller, der zur Vermeidung von HF-Störungen mit nur 2 MHz betrieben wird, den meisten Teil seiner Zeit zu Tode, wenn er nicht gerade von einer RS232-Kommunikation zur Abfrage der Messwerte aus dem Tiefschlaf gerissen wird. Ein großer Vorteil beim verwendeten MEGA 8 ist, dass er auch im eingebauten Zustand über die serielle Schnittstelle programmierbar ist. Das bedeutet, dass Software-Updates, so sie denn nötig werden sollten, aus der Ferne ohne Demontage und Öffnen des Gehäuses vorgenommen werden können.

Die Software ist vollständig in AVR-Assembler geschrieben. Hier konnte ich auf meine Erfahrung mit dem 8051-Assembler aus meiner Facharbeit zurückblicken und musste mir mich nur auf die neue Hardware-Struktur eines AVR-Controllers umstellen. Nach einiger Eingewöhnung hat dieses auch recht gut funktioniert. Wer mich jetzt fragt, warum ich die Software nicht in einer Hochsprache geschrieben habe, dem möchte ich antworten, dass ich als Mikrosontroller-Programmierer sowieso die Hardware wie meine Westentasche kennen muss, d.h. ganz tief einzusteigen, und die Struktur des hier benötigten Algorithmus so übersichtlich war, dass die Benutzung einer Hochsprache keinen Vorteil gegeben hätte. Mit dem Assembler bin ich mir sicher, dass mein Code auch bei 2 MHz Taktfrequenz sicher und schnell genug läuft, um die Messaufgaben zu erfüllen. Ich weiß in jeder halben Mikrosekunde, was der Controller gerade macht. Das möchte ich nicht missen. Aber ich sehe auch ein, dass die Hochsprache vs. Assembler-Problematik in vielen Punkten eine Glaubensfrage ist, die natürlich jede(r) für sich beantworten muss.

TestaufbauDie Hardware-Entwicklung und den Bau habe ich zu Hause in Nettetal vorgenommen, denn dort stehen mir die mechanischen Geräte und Werkzeuge eher zur Verfügung als in meiner Studenten-Bude. Die Entwicklung der Software jedoch konnte ich gut am Schreibtisch (siehe Bild) in Aachen erledigen. Dort bietet sich die entsprechende PC-Ausstattung gerade dazu an, den Uni-Alltag durch Assembler-Debuggen zu versüßen.


Hier ist der Test-Aufbau gezeigt, bei dem ich den Luftstrom durch einen PC-Lüfter erzeuge.

 

 

 


Valid XHTML 1.0!
letztes Update: 20.09.2009 19:07
Get Firefox!