Windfahne mit Drehpoti

Medium · 40 min · Günstig

Ziel & Lerninhalt

Eine kleine Windfahne dreht ein Standard-Potentiometer – der ADC liest direkt den Winkel der Windrichtung.

  • Drehwinkel als Spannung am Spannungsteiler verstehen.
  • Totwinkel eines Standard-Potis kennen und im Aufbau berücksichtigen.
  • Tiefpass und gleitenden Mittelwert gegen Schleiferrauschen einsetzen.

Erklärung & Wissen

Basic

Eine Windfahne dreht sich, bis ihre Spitze in den Wind zeigt – wie bei einem Wetterhahn. Bauen wir die Achse der Fahne direkt auf den Knopf eines Drehpotentiometers, dreht der Wind den Schleifer des Potis mit. Innen im Poti sitzt eine kreisförmige Widerstandsbahn zwischen 0 V und 5 V; der Schleifer greift je nach Winkel eine andere Spannung ab. Der ADC liest also direkt einen Wert, der zur Windrichtung gehört. Mit map() rechnen wir den 10-Bit-Wert auf 0–360° um.

Medium

Wichtig: Ein Standard-Drehpoti hat einen mechanischen Anschlag und einen 'Totwinkel' – meist etwa 300° aktiv, 60° tote Zone. Würde die Fahne in diese Zone zeigen, sähe das Mainboard einen Anschlag-Wert und keine echte Richtung. Lösung: Den Anschlag in eine selten genutzte Richtung (z.B. Süd-Ost im windschwachen Quadranten) drehen, oder ein 'endlos drehendes' Poti (ohne mechanischen Stop) bzw. einen Magnet+Hallsensor verwenden. Im Code mittelt man über ein paar Samples und glättet zusätzlich, weil Schleiferpotis ein kleines Kontaktrauschen mitliefern.

Expert

Beim Drehen über die Anschlag-Lücke springt der ADC sprunghaft von ~0 auf ~1023 (oder umgekehrt) – jeder simple Mittelwertfilter erzeugt dort einen scheinbar gemittelten 180°-Wert, den der Wind nie eingenommen hat. Saubere Lösungen: (a) Sinus/Kosinus-Pärchen mitführen ($x = \cos\theta, y = \sin\theta$, mitteln, atan2 zurück) – das sorgt für winkelkorrekte Mittelung; (b) Hall-Sensor mit Magnet ohne Lücke; (c) zwei Potis um 90° versetzt verbauen und die jeweils 'sichere' Hälfte auswerten. Mechanisch ist Reibung der größte Feind: ein Tropfen Silikonöl im Lager, dazu eine ausreichend lange Fahnenstange (Hebel) und ein leichtes Leitwerk hinten machen den Sensor auch bei wenig Wind reaktionsschnell.

Fun Fact

Mittelalterliche Wetterhähne auf Kirchturmspitzen waren ebenfalls Windfahnen – nur ohne Elektronik. Sie wurden um 820 n.Chr. von Papst Nikolaus I. sogar verbindlich auf jeder Kirche vorgeschrieben.

Drehwinkelgeber
Bauteil, das einen Drehwinkel in ein elektrisches Signal wandelt. Im Schleifer-Poti gilt $U_{out}(\theta) = U_{in} \cdot \theta/\theta_{max}$. Vorteil gegenüber Inkremental-Encodern: absolute Lage ohne Referenzfahrt – beim Einschalten weiß das Mainboard sofort, wohin die Fahne zeigt.
Totwinkel
Bereich des Potis, in dem keine definierte Spannung anliegt. Übliche Bauteile haben einen toten Bereich von 10–60° zwischen Maximal- und Minimalstellung. Für Vollkreis-Messungen entweder geeignet wählen oder mit zwei Sensoren / einem Magnetsensor lösen.
Winkelmittelung
Geometrisch korrekte Mittelung zyklischer Winkelwerte. Statt direkt Winkel zu mitteln, mittelt man komponentenweise $\bar{x}=\overline{\cos\theta}$, $\bar{y}=\overline{\sin\theta}$ und rechnet zurück: $\bar{\theta} = \mathrm{atan2}(\bar{y}, \bar{x})$. Damit gibt es keinen Sprung-Artefakt an der 0°/360°-Grenze.
Schleifer-Rauschen
Kurze Widerstandssprünge im Drehpoti, die der ADC als Zitter im Messwert anzeigt. Ein Drehpotentiometer hat einen physischen Schleifer, der über eine Widerstandsbahn gleitet. An Mikro-Unebenheiten oder Staubpartikeln entstehen kurze Kontaktschwankungen → ADC-Wert springt um ±5–30 Punkte, obwohl sich nichts bewegt. Lösung: 16–32 Werte mitteln im Code, oder einen 100 nF Kondensator zwischen A0 und GND setzen (Hardware-Tiefpass). Das glättet auch Einstreuungen ohne Reaktionszeit stark zu erhöhen.

Praktischer Versuch: Windfahne mit Drehpoti

Fahne aus leichter Pappe, Achse auf Poti-Knopf, ADC und map() liefern den Winkel.

  • 1 Drehpoti 10 kΩ (linear, am besten 300°-Type)
  • 1 leichtes Holzstäbchen oder Strohhalm als Fahnen-Arm
  • 1 kleines Stück steifer Pappe als Leitwerk (Schwanz)
  • 1 kleines Gegengewicht (Gummi-Tropfen, Büroklammer)
  • Heißkleber, Kreuzschraubendreher
  1. Fahne bauen

    Bohre/stiche mittig ein kleines Loch in den Arm. Hinten flächige Pappe, vorne Gegengewicht. Arm soll mit minimaler Reibung balancieren.

    Check: Fahne ist um den Drehpunkt ausbalanciert (etwa gleiche Hebel vorne/hinten).

    Tipp: Hinten kommt das Leitwerk (große Fläche → Wind angreifend), vorne ein kleines Gegengewicht – die Spitze richtet sich dann immer GEGEN den Wind aus.

  2. Arm auf Poti-Knopf montieren

    Klebe oder schraube den Arm fest auf den Poti-Knopf. Der Knopf MUSS sich beim Drehen synchron mit dem Arm bewegen.

    Check: Beim Drehen des Arms folgt der Schleifer ohne Spiel.

    Tipp: Direkter Heißkleber-Tropfen auf den Poti-Knopf hält, lässt sich aber später wieder lösen – kein Sekundenkleber!

  3. Totwinkel-Position wählen

    Drehe den Poti so, dass der mechanische Anschlag in einer Richtung liegt, die in deinem Garten selten genutzt wird (z.B. Süd, wenn der Wind meist aus West kommt).

    Check: Der Poti-Anschlag liegt in eine Richtung, die im Einsatzgebiet selten Wind bringt.

    Tipp: Standard-Potis kämpfen mit dem Anschlag. Verstärkst du den Knopf um 30°, ist der tote Bereich weiter weg vom 'normalen' Wind.

  4. Leichtgängigkeit prüfen (ohne Strom)

    Halte das Bauteil in der Hand, puste die Fahne aus verschiedenen Richtungen an. Sie muss sich frei drehen können.

    Check: Sanftes Pusten dreht die Fahne sicher in den Wind, ohne stehen zu bleiben.

    Tipp: Beim Klemmen einen Tropfen Silikonöl auf die Poti-Achse.

  5. Anschließen und auswerten

    Poti-Enden an 5V und GND, Schleifer an A0. Code hochladen, Fahne drehen, Werte beobachten.

    Check: Im Monitor wechselt 'Winkel' plausibel zwischen 0° und 360°, ohne wilde Sprünge.

    Tipp: Bei Sprung-Artefakten an der Anschlag-Lücke die Cosinus/Sinus-Mittelung aktivieren.

Poti-Pin 1 → 5V, Pin 3 → GND, Pin 2 (Schleifer) → A0. Optional: 100 nF parallel zwischen A0 und GND als Tiefpass.

// ProtoPeaks - Windrichtungs-Poti
const int sensorPin = A0;

void setup() { Serial.begin(9600); }

void loop() {
  long sum = 0;
  for (int i = 0; i < 16; i++) sum += analogRead(sensorPin);
  int adc = sum / 16;
  int winkel = map(adc, 0, 1023, 0, 359);
  Serial.print("ADC: "); Serial.print(adc);
  Serial.print("  Winkel: "); Serial.print(winkel); Serial.println(" Grad");
  delay(150);
}
  • Werte springen wild zwischen 0° und 359°. — Du bist im Totwinkel des Potis. Anschlag-Position drehen, oder Cosinus/Sinus-Mittelung implementieren.
  • Fahne dreht erst bei starkem Wind. — Lager klemmt oder Fahne ist zu schwer. Mit Silikonöl schmieren, Leitwerk größer machen, oder Arm verlängern (mehr Hebel).
  • Wert hängt schlagartig an einem Endwert. — Schleifer am mechanischen Anschlag. Fahne so neu setzen, dass die Hauptwindrichtung NICHT auf dem Anschlag liegt.

Kurzzusammenfassung

Eine ausbalancierte Fahne auf einem Drehpoti liefert die Windrichtung als Spannungswert direkt am Analogeingang. Mit map() wird der ADC zu Grad, gleitende Mittelung beruhigt das Schleifer-Rauschen – nur der Totwinkel verlangt sorgfältige Montage.

Ähnliche Themen