Problem A:
In Schräglage und bei Steigungen/Gefällen zeigt die Tankanzeige immer falsch an. Bergab ist der Tank leer, bergauf voll, in Linkskurven leer, in Rechtskurven voll. (Der Geber sitzt rechts und misst nach hinten.) Man muss also erstmal ein paar hundert Meter auf ebener Strecke geradeaus fahren, bis sie wieder den korrekten Wert anzeigt.
Lösungsvorschläge für Problem A:
Man müsste es schaffen, dass der Tankgeber auch in Schräglage korrekt misst. Entweder, indem man mit mehreren Gebern arbeitet. Mindestens 2 (links + rechts), maximal 4 (links, rechts, vorne, hinten). Aus deren Werten müsste ein Mittelwert berechnet werden, der dem realen Füllstand entspricht. Theoretisch möglich, praktisch unsinnig. 4 Geber in einem Tank sprengen jeden vernünftigen Rahmen.
Man könnte stattdessen mit den Messwerten des einen Tankgebers arbeiten und die Werte nachträglich "glattziehen". Indem man z.B. pro Sekunde 1 Messung durchführt und aus den letzten 60 Werten einen Mittelwert errechnet. Dann sind zumindest kurzzeitige Schräglagen ausgeglichen. Der Nachteil wäre nur, dass es zB beim Tanken eine Weile dauert, bis der volle Tank korrekt angezeigt wird. Das wäre zu verschmerzen. Aber wie könnte man diese Lösung umsetzen? Die Werte des Tankgebers über einen Raspberry erfassen, bereinigen und dann an die Tankanzeige ausgeben? (Das sagt sich so einfach. Ich kenne mich mit sowas überhaupt nicht aus.)
Problem B:
Aber selbst dann zeigt die Tankuhr nicht automatisch richtig an, denn nach meiner Einschätzung berücksichtigen die Anzeigen die Tankform nicht. Wenn ich es richtig sehe, arbeiten die Tankgeber "linear". Also wenn der Geber in Mittelstellung ist, geht die Anzeige davon aus, dass der Tank halb voll/leer ist. Ist er aber nicht. Durch den Tunnel im Tank ist in der oberen Hälfte deutlich mehr Sprit als in der unteren. Konkret bedeutet das bei meiner Katana, dass ich fast 100 km fahren kann und die Anzeige immer noch voll anzeigt. Dann fällt sie schlagartig. Ein Blick auf die Anzeige sagt also gar nichts aus, man muss immer auch auf die Tageskilometer schauen, weil das viel aussagekräftiger ist. Dann kann man sich den Blick auf die Tankuhr aber auch gleich ganz sparen.
Lösungvorschläge für Problem B:
Auch hier gäbe es eine analoge und eine digitale Lösung. Die analoge: Ich baue den Tankgeber so um, dass er direkt den korrekten Inhalt misst und nicht nur die Höhe des Schwimmers. Ich als Laie vermute mal, dass da ein Poti drinsteckt. Man müsste die Wicklung des Widerstands progressiv wählen, dass der Widerstand im oberen Bereich feiner misst als im unteren. (Auch hiervon habe ich keine Ahnung. Falls das Blödsinn ist, einfach Bescheid sagen.) Bleibt die Frage: Kann man die "Widerstandskurve" einen Potentiometers überhaupt ändern?
Digitale Lösung: Man könnte die Werte des Tankgebers elektronisch erfassen und mittels einer Kennlinie umrechnen. Die Kennlinie müsste das Tankvolumen im Verhältnis zum Füllstand beschreiben. (Junge, junge, ich schmeiß wie immer mit lauter Wörtern um mich, von denen ich keine Ahnung habe.) Da wäre nur die Frage, ob die Werte des Tankgebers dafür überhaupt taugen. Wenn sich der Widerstand im oberen Drittel überhaupt nicht ändert (zB weil der Geber schon bei 70% Tankvolumen auf Anschlag ist), bringt es auch nichts, die Werte umzurechnen. Müsste man mal messen. Sollten die Werte nicht verwertbar sind, könnte man versuchen, ihre Plausibilität zu bestimmen. Indem man sie zB mit dem Tageskilometerstand oder der Betriebsdauer seit dem letzten Volltanken abgleicht. Die Betriebsdauer ließe sich leicht über die Zündung messen, man bräuchte nur einen Knopf zum Nullen. Der Kilometerstand ließe sich nur über einen zusätzlichen Tachosignalgeber ermitteln, da der Tacho analog ist. (Oder mittels Kamera überm Tacho.

Meine Frage in die Runde: Habe ich die Probleme richtig erkannt und sind meine Lösungsvorschläge überhaupt korrekt? Also zumindest in der Theorie? Lasst mal Eure Meinung hören, vielleicht können wir das Sommerloch damit ein bisschen füllen.