Albatros

Albatros

Infos für Modellflug und Technik!

Bau eines Messsensors zur Messung von EWD und Ruderauschlägen

Ein Open-Source Projekt zum Nachbauen von J.Raichle, S.Sauter und R.Stransky

Hier wird ein Selbstbau-Projekt zum Bau eines Ruderweg-Mess-Sensors beschrieben, mit folgenden Zielen:

  • paralaxenfehlerfreies Vermessen von Ruderwegen bei Modellflugzeugen
  • Genauigkeit besser als 0.5mm an der Endleiste des Ruders
  • Tara und Möglichkeit einer Min-/Max-Messung. Nach einmaligem Tara, werden alle Wege in Bezug auf diese Nulllage gemessen und angezeigt.
  • schnelles Vermessen pro Ruder für Flugphasen
  • Messmethoden für: Kreisbogen, Kreissehne, senkrecher Abstand
  • Anstatt eines Displays wird das Smartphone oder ein Rechner benutzt

Architektur-Übersicht

Hier ein kurzer Überblick über die Komponenten des Sensors. Der Sensor besteht aus der GY-521 Sensorplatine, die über eine I2C-Bus mit der Mikrokontrollerplatine Wemos D1 verbunden ist. Der Mikrokontroller liest die Werte des Sensor macht die Berechnungen, stellt einen Web-Server über eine WiFi-Schnittstelle zur Verfügung, über die sowohl die Messdaten als auch die Konfiguration durchgeführt werden kann.

upload:RWMS_Architecture.png

Funktionsbeschreibung und Anleitung

Inbetriebnahme

  • Stromversorgung
    • Der Sensor / das Mikroprozessorboard ist mit einem Micro-USB-Anschluss ausgestattet, hier kann man jedes handelsübliche USB-Netzteil anschließen oder besser jede normale Powerbank. Damit ist man in der Werkstatt oder auf dem Flugfeld mobil ausgestattet.
  • WiFi
    • Der Sensor muss zuerst mit Smartphone oder PC verbunden werden. Dazu stellt der Sensor per WiFi einen Accesspoint mit der SSID "UHU" und Kennwort "12345678" zur Verfügung. Ist das Gerät mit diesem WLAN verbunden, kann im Web-Browser über die Adresse http://192.168.4.1 die Benutzeroberfläche benutzt und der Sensor konfiguriert werden. Sowohl obige SSID als auch das Kennwort können danach geändert werden.
    • Auf der Einstellseite kann eine SSID und ein Kennwort für ein WLAN (WLAN-Client) konfiguriert werden, mit dem sich der Sensor verbinden. Dabei wird dem Sensor eine IP-Adresse zugewiesen, die am WLAN-Router abgefragt werden muss. Änderungen der WLAN Einstellungen müssen gespeichert werden und werden erst nach Neustart aktiv.
    • Ist die Verbindung zu einem WLAN konfiguriert (WLAN-Client), kann auf der Einstellungsseite, der Accesspoint deaktiviert werden (nach Speichern und Neustart). Kann beim Neustart keine Verbindung zum konfigurierten WLAN aufgebaut werden, wird der Accesspoint-Mode aber trotzdem aktiviert, damit ein Zugang zum Gerät möglich ist.
  • Sensorboard GY-521 mit MPU-6050
    • Genauigkeit: Der MEMS Chip des MPU-6050 sollte Winkelauflösungen besser als 0.5° bei 45° Ausschlag messen können, was bei einer 60mm Rudertiefe von 60mm einen Fehler von kleiner als 0.5mm ergibt.
    • Kalibrierung: Damit der MPU-6050 allerdings diese Genauigkeit erreicht, muss er nachträglich kalibriert werden. Die Software unterstützt diese Funktion und kann die Werte intern speichern. Zur Kalibrierung muss die GY-521-Sensorplatine mit der flachen Rückseite möglichst exakt horizontal aufgelegt werden. Dann den Kalibrier-Button drücken und ca. 5s warten bis die Kalibrierung beendet ist. Dabei sollte die Auflagefläche (Tisch) nicht bewegt werden und frei von Vibrationen sein.
    • Einbaulage: Die Sensorplatine sollte auch genau so, wie bei der Kalibrierung, betrieben werden. Also die flache Seite nach unten und die Seite mit den Elektronikbausteinen nach oben. Nur so wird die oben genannte Genauigkeit erreicht.
    • Achsen und Anzeige-Genauigkeit: Auf der Konfigurationsseite, kann die Bezugs-Achse der Winkelmessung, je nach Einbaulage in der Klemmeinrichtung ausgewählt werden. Zudem sind diverse Anzeigegenauigkeiten für die Winkel und die Ruderwegs-Messung auswählbar. Die Anzeige hat zwar immer auf 2 Dezimalstellen, aber intern wird dann gerundet.

Messen

  • Der mit dem Mikrokontroller verbundene Messsensor sollte mit einer Klemmvorrichtung fest verbunden sein, und kann dann einfach an eine beliebige Stelle des Ruders aufgeklemmt werden. Die Ruderdrehachse, sollte möglichst parallel zur ausgewählten Dreh-Achse (X- oder Y-Achse) sein. Wie schon beschrieben, muss der Sensor mit dem Gesicht nach oben auf dem Ruder befestigt sein.
  • Einschränkungen: Der Sensor kann nur Winkel in Bezug auf die Schwerkraft messen. Somit sind Ruderwegsmessungen für das Seitenruder nur möglich wenn der Rumpf um 90° gedreht liegt.
  • Der Ruderweg ist abhänig von der Rudertiefe. Diese ist an der Stelle zu Messen, an der man den Ruderweg messen will. In der Web-Oberfläche des Sensor kann diese Rudertiefe eingegeben werden.
  • Ist der Sensor so auf dem Ruder angebracht, und die Rudertiefe eingestellt, ist die Ruderstellung in die Null-Lage zu bringen. Jetzt können Winkel und Ruderweg per "Tara"-Button auf 0 gesetzt werden.
  • Bewegt man das Ruder nun nach oben oder unten werden die Ausschläge in Grad und Millimeter angezeigt. Sollte das Vorzeichen nicht den Erwartungen entsprechen, kann dies bei den Einstellungen angepasst werden.
  • Zur Flugphasenmessung kann die Min-/Max-Rudermessung benutzt werden. Hier sollte man das Ruder in die Neutralstellung der Flugphase bringen. Nun den Schalter für die Min-/Max-Ruderweg-Messung aktivieren. Damit wird der aktuelle Ruderausschlag als Neutralwert übernommen. Jetzt können die beiden Min-/Max-Werte angefahren werden. Alle drei Werte werden bis zur Deaktiverung der Messung angezeigt.

Details:

  • Sollte die geänderten WiFi-Daten nicht mehr verfügbar sein, kann der Pin "D5" des Wemos D1 mit einem Kabel beim Einschalten auf Ground gezogen werden. Dabei werden alle Einstellungen auf Default zurückgesetzt und gespeichert. Danach sollte eine Verbindung zum AccessPoint wie oben beschrieben wieder möglich sein.
  • Die Messmethode zur Bestimmung des Ruderwegs ist auswählbar. Hier die Unterschiedlichen Strecken. Der Unterschied ist bei kleinen Winkeln und kleinen Rudern vernachlässigbar.
upload:RWMS_RuderausschlagMessmethoden.png

Hardware

Messsensor

Als Messsensor wird der GY-521/MPU-6050 benutzt. Die Genauigkeit liegt nach Kalibrierung bei Winkeln bis +/- 45° kleiner als 0.5°. Der Baustein MPU-6050 wird von einer wirklich sehr gut gemachten Libs von J.Rowberg unterstützt (siehe Link)

Die rohen Messwerte des MPU-6050 rauschen ca. 0.015g, was einem Winkel von 1.35° entspricht. Das würde bei einer 50mm Rudertiefe einem Rauschen von 1.2mm entsprechen, was natürlich zu schlecht wäre. Durch eine hohe Abtastrate des Sensors (>500/s) und einem Tiefpass-Filter kann ein Rauschen von ca. 0.05° erreicht werden, was bei einer 50mm Rudertiefe einem Rauschen von 0.04mm entspricht.

Wichtig ist jedoch die Kalibrierung jedes einzelnen Sensors, da jeder anders ist (Produktionsungenauigkeiten des MEMS-Chips), damit die Messgenauigkeit auch im Bereich der genutzten Winkel (+-45°) gut genug ist. Siehe hierzu weiter oben das Kapitel "Inbetriebnahme".

Hier ein paar Links:

Mikrokontroller

Als Mikrokontroller wird der Wemos D1/ESP8266 benutzt, der ausreichende Rechenpower und Speicherresourcen bietet und eine WLAN Schnittstelle hat. Auch dieser Mikrokontroller hat super gemachte Bibliotheken, zur Nutzung der WiFi-Schnittstelle und zur Programmierung des Web-Servers.

Hier ein paar Links:

Schaltplan:

Der Schaltplan ist denkbar einfach. Es werden nur 4 Verbindungen zwischen Sensorplatine und Mikrokontroller benötigt. Das Layout und die Software sind so ausgelegt, dass mit einer Stiftleiste 4x1 das Sensorboard mit dem Gesicht in Richtung Mikrokontroller direkt verlötet werden kann.

upload:RWMS_Schaltplan.png

Klemmvorrichtung / Gehäuse:

Ein Gehäuse zur einfachen Klemmung an einem Ruder ist als 3D-Model konstruiert und verfügbar:

upload:RWMS_Gehaeuse3D.jpg

Eine Klemmvorrichtung kann aber natürlich auch leicht selber gemacht werden.

Software

Die Software liegt unter der "GNU General Public License v3.0" bei GitHub für jeden frei zur Verfügung: