Tankuhr
![]() |
| Bild: Montageeinheit Geber im Tank |
Warum eine Tankuhr nachrüsten?
Als Tankfüllstandsanzeige wurde serienmäßig ein transparentes
Schauröhrchen verbaut. Bei Lageänderung schwankt die Anzeige jedoch stark.
Im Besonderen ist bei niedrigen Füllstand kein Benzinpegel mehr sichtbar
obwohl noch circa 13 Liter im Tank sind. 13 Liter sind mehr als die vorgeschriebene
30 Minuten Reserve. Gerade wenn das Ziel nicht mehr weit ist und der Sprit
dem Ende zu geht, ist für entspanntes Fliegen eine genaue Tankanzeige notwendig.
Aus ästhetischen Gründen wurde ein Rundinstrument mit weiter Skala gewählt. Wie vorgenannt ist der Füllstand besonders bei geringem Tankinhalt relevant. Der Tank ist kein einfacher zylindrische Körper und der gewählte Tankgeber (Schwenkarm-Widerstand) liefert damit keine genauen Werte. Dem Schwenkarm-Schwimmer muss daher je nach Position ein echter Mengenwert zugeordnet werden.
Aus Sicherheitsgründen ist vor jedem Flug die zur verfügung stehende Kraftstoffmenge doppelt zu prüfen. Wenn vorhanden mit einem Anzeigeinstrument und der Gegencheck durch Sichtprüfung/Peilstab. Ein Anzeigeinstrument ist nicht notwendig wenn der Kraftstoffpegel vom Piloten während des Fluges überprüft werden kann. Verbleibt das Schauröhrchen und wird eine Tankuhr nachgerüstet kann vor Flugbeginn die Kraftstoffkontrolle vom Cockpit aus erfolgen. Schauröhrchen und Tankuhr ergänzen sich somit, i.B. wenn der Pegel schwankt oder sehr niedrig ist.
Herausforderungen
1. Schwankungen des Pegelstands durch Lageänderungen im Flug sollten wenig
Einfluss auf die Anzeige haben.
- Lösung: Schwimmerarm so krümmen und im Tank positionieren, dass sich der
Schwimmer auf seiner Kreissegmentbahn so weit wie möglich in der Mittelachse des
Tanks bewegt.
2. Dem Pegelstand soll eine tatsächliche Menge zugeordnet werden obwohl der
Schwimmerarm eine Kreissegmentbahn beschreibt und der
Tank bauartbedingt unförmig ist.
- Lösung: Es wird ein Arduino Uno als Kleincomputer verwendet der
mittels seiner Ein- und Ausgänge die Spannung über den Schwimmerarm empfängt,
die Daten verarbeitet und das Anzeigegerät steuert. Der Tank wird ausgelitert
(definierte Teilmengen eingefüllt) und dabei der vom Schwimmerarm verursachten
Spannung den tatsächlichen Inhalt in einer Tabelle des Arduino Sketch zugeordnet.
Die Tabelle enthält 11 Positionen für Liter und die entsprechenden rawValues.
(Siehe auch 4. zur Datenermittlung) Das Programm (Sketch) errechnet daraus die
tatsächliche Menge (siehe 3. Spannunbgsprobleme). Zwischen den Tabellenwerten
wird interpoliert.
3. Bord - Spannungsprobleme: Der schwankende Bordstrom würde die Spannung über
den Schwimmerarm verfälschen was Ein- und Ausgabe verfälscht und damit unbrauchbar macht.
Für den Arduino werden 5 Volt Versorgungsspannung benötigt und die Eingangsspannung
darf 5 Volt nicht übersteigen. Das verwendete Rundinstrument mit integrierter Elektronik
kalibriert sich bei jedem Einschalten auf die aktuelle Spannung, es benötigt einen
Spannungsbereich von 8 bis 30 Volt. Beim Einschalten der Zündung und im Betrieb
(Lichtmaschine/Batterie) würde sich das Rundinstrument unkontrolliert kalibrieren.
- Lösung: Es werden stabilisierte Spannungen sowohl für den Arduino (5Volt)
als auch für das Rundinstrument (9Volt) mittels Spannungswandler zur Verfügung gestellt. Durch einen
Schwimmerarm - Vorwiderstand wird die Schwimmerarm Spannung heruntergeregelt um
im zulässigen Input-Bereich des Arduino zu bleiben.
4. Die Bordelektronik stellt bei eingeschalteter Zündung einen Spannungsteiler dar.
Die Input-Werte unterscheiden sich deutlich bei ausgeschalteter oder eingeschalteter Zündung.
- Lösung: Das Auslitern des Tanks darf nur bei eingeschalteter Zündung
erfolgen. Liter und entsprechender Input-Wert (raw-Values) werden in der Programmtabelle
festgehalten. Das Monitoring der Inputwerte erfolgt über den seriellen Monitor der Arduino
Software (Laptop oder Smartphone mit Arduino Software beim Auslitern).
5. Die eingebaute Elektronik des Rundinstruments interpretiert die von Arduino
kommenden Spannungen (PWM) selbst und stellt einen
entsprechenden Zeigerstand dar welcher aber nicht dem errechneten und tatsächlichen
Tankfüllstand entspricht.
- Lösung: Es wird bei jedem Tabelleneintrag/Position ein Korrekturfaktor
verwendet der die Anzeige des Rundinstruments korrigiert.
![]() |
| Bild: Beispiel unförmiger Tank |
Hardware
Der Tank:
Im Bild ist der unförmige Metalltank dargestellt. Die Füllstandshöhe ist nicht
linear mit der Menge, i.B. im unteren Bereich ist durch die konische
Form Füllhöhe und Menge im Ungleichgewicht. Nicht dargestellt ist das
Füllstandsröhrchen welches weit vor dem Tank senkrecht montiert ist damit
man es im Cokpit sehen kann. Gerade beim Nicken des Flugzeugs schwankt daher
der Pegel im Röhrchen extrem.
Der Tanksensor:
Es wird ein einfacher Schwenkarmschwimmer aus dem Autozubehörbereich verwendet.
Ein über den Schwenkarm verändertes Drahtpoti bildet den Sensor (ca. 40-180 Ohm).
Am Schwenkarmschwimmer wurde die Halterung verändert und an dem bestehenden
Innenflansch der Tanköffnung montiert sodass am Tank selbst keinerlei Bohrungen vorzunehmen waren.
Die Position und und die Kröpfung der Schwimmerstange wurde so verändert dass
soweit als möglich der untere Benzinpegel erfasst wird.
Der Kleincomputer:
Es wurde ein Arduino Uno verwendet welcher
entsprechend programmiert ist. Andere Kleincomputer mit Ein- und Ausgängen wären
ebenfalls möglich. Dieser wertet, bezogen auf die einprogrammierten
Positionen (möglich sind P1 bis P11), die von Schwimmerstand erzeugte Eingangsspannung
aus und gibt sie an das Rundinstrumment aus. Der Arduino ist durch ein handelsübliches Gehäuse
geschützt, die Verkabelung ist durch Klebeband gegen herausziehen geschützt.
Das Rundinstrument:
Der Skalenbeeich sollte so groß wie möglich sein damit gerade bei niedrigem
Füllstand sicheres Ablesen möglich ist. Es wurde deshalb solch ein handelsübliches
57mm Rundinstrument verwendet mit großem Skalenbereich.
Die eingebaute Elektronik kann die PWM Ausgangssignale des Arduino verarbeiten.
Ein Digital-Analogwandler wurde nicht verbaut. Um den in der Praxis nicht mehr sicher nutzbaren
Füllstand anzuzeigen (vermutlich weil doch ein DAC dazu nötig gewesen wäre) pulsiert
die Anzeigenadel. Die Möglichkeit einer Beleuchtung der Skala wäre möglich, wird aber nicht genutzt.
![]() |
| Bild: Rundanzeige 57mm mit weiter Skala |
Programmierung
Der Arduino wird programmiert (Sketch).
Es sind 11 Positionen mit je einer Literangabe und dem dazugehörigen Arduino Eingangswert vorhanden.
Zwischen den Positionen wird interpoliert.
Je nach Tankform könnte man die Positionen (Liter) beliebig wälen.
Es sind ausführliche Kommentare vorhanden und es wurde einfachste Programmiertechnik angewandt.
Als Entwicklungsprojekt wurde auf Funktion Wert gelegt.
Programmierer könenn den Sketch vereinfachen.
Z.B. Arrays nutzen und das Programm schlanker, eleganter und in englisch gestalten.
Zur Ermittlung der Eingangswerte (rawValue) hat sich die Arduino IDE auf einem Smartphone bewährt.
Damit kann vor Ort beim Auslitern des Tanks die dazugehörigen rawValue mittels des Seriellen Monitors ausgelesen werden.
Dies jedoch nur bei eingeschalteter Zündung und dabei der Korrekturfaktor für die Ausgabe an des Rundinstrument empirisch ermittelt werden.
Man kann die ermittelten Werte dann direkt in den Scetch eingeben und an den Arduino für jede Position direkt zurückspielen.
Die vorherige eigentliche Programmerstellung erfolgte am PC.
Unter Laborbedingungen wurde eine 12Volt Batterie verwendet.
Zunächst wurden die Widerstände des Schwimmers bei ausgeschalteter Zündung den Literwerten zugeordnet und die Abstimmung des Rundinstruments ebenfalls im Labor gemacht.
Es stellte sich aber heraus dass die schwankenden Spannungen eines im Betrieb befindlichen Motors die Laborabstimmung zunichte macht.
Ebenfalls wurde festgestellt dass bei eingeschalteter Zündung die Bordelektronik als Spannungsteiler wirkt.
Damit wird ebenfalls die Laborabstimmung (selbst auch jetzt mit stabilisierten Eingangsspannungen des Arduino und des Rundinstruments) unbrauchbar.
Die Feinabstimmung muss daher unter realen Bedingungen bei eingeschalteter Zündung erfolgen.
elektrischer Anschluss
Das Gerät wird an die Bordelektrik (abgesicherter Instrumenten Stromkreis) angeschlossen.
Für den Arduino (5Volt) und das Rundinstrument (9Volt) wurden Spannungsregler der 78er Serie verwendet.
Der Schwimmerarm wurde mit einem 440 Ohm Widerstand beaufschlagt um die Eingangsspannung am Arduino unter 5 volt zu bringen.
Spannungsregler und Widerstand wurden in die Verkabelung eingeschleift und mit Schrumpfschlauch gesichert.
Der Strombedarf ist gering sodass von keiner nennenswerten Wärmeentwicklung ausgegangen werden kann.
Magura Bremse ⇐ | ⇒ Vergaser synchronisieren



