Im folgenden Dokument versuche ich eine Beziehung zwischen der Hybridsystem-Anzeige und dem aktuellen Kraftstoffverbrauch herzustellen. Alle hier verwendeten Daten entstammen meinen Aufzeichnungen mit dem Hybrid Assistant und sind abhängig vom Fahrprofil und der persönlichen Fahrweise. Dennoch ergeben sich einige interessante Aspekte, die sich sicherlich auch auf andere HSD Fahrzeuge (im Speziellen dem RAV4 Hybrid) übertragen lassen.
Zur Darstellung meiner Ergebnisse verwende ich ein Jupyter Notebook. Hierin vermischen sich Dokumentation, Berechnungen und grafische Darstellungen. Um dennoch eine gewisse Übersichtlichkeit zu behalten, sind komplexere Berechnungen und Grafikdefinitionen in eine Hilfsdatei (helper.py) ausgelagert.
# Notwendige Bibliotheken importieren
import sqlite3
import pandas as pd
# Objekte und Funktionen importieren
from helper import EcoTypVerteilung
from helper import berechne_mittelwert_und_reicher_daten_an
from helper import plot_fuelflowh_verteilung
from helper import plot_hsi_verteilung
from helper import plot_hsi_verbrauch
# Inlinegrafik in diesem Dokument erlauben
%matplotlib inline
# Verbindung zur Hybrid Assistant Datenbank herstellen
dbconnection = sqlite3.connect('hybridassistant.db')
# Notwendige Daten aus der Datenbank einlesen
dfo = pd.read_sql_query("SELECT HSI, FUELFLOWH FROM FASTLOG", dbconnection)
# Was verbirgt sich hinter den Datenfeldern?
# - HSI Hybrid System Indicator
# - FUELFLOWH Der aktuelle Verbrauch zum Zeitpunkt der Messung in l/100km
# Wie sehen die eingelesenen Daten aus (hier am Beispiel HSI 60)
dfo[dfo.HSI == 60].head(3)
# Wie viele Einträge (Messpunkte) liegen für die Auswertung vor?
len(dfo.HSI)
# In welchen Wertebereich liegt HSI und FUELFLOWH?
print("min HSI.......: {}".format(min(dfo.HSI)))
print("max HSI.......: {}".format(max(dfo.HSI)))
print("min FUELFLOWH.: {}".format(min(dfo.FUELFLOWH)))
print("max FUELFLOWH.: {}".format(max(dfo.FUELFLOWH)))
Schauen wir uns zunächst einmal die HSI Verteilung im Einzelnen an:
plot_hsi_verteilung(dfo)
Hierbei fällt auf, dass sich an einigen Positionen Ausreißer nach oben befinden. Außerdem gibt es zwischen -5nn und -1nn keine Werte. Dies möchte ich nun ein wenig genauer wissen und zoome heran:
HSI Bereich von -120 bis -120
plot_hsi_verteilung(dfo, von=-120, bis=120)
Meine bevorzugte Fahrweise scheint um die 50 bis 70 HSI zu pendeln.
HSI Bereich von -520 bis -500
plot_hsi_verteilung(dfo, von=-520, bis=-500)
Bei -512 HSI gibt es eine Häufung von Messpunkten. Da der Wert im negativen Bereich liegt, wird es sich vermutlich um Bremsungen handeln. Reine Vollbremsungen können es aber nicht sein, denn dafür sind es zu viele Einträge. Meine Vermutung liegt hier eher an "Restbremsungen" bis zum Stillstand.
Nachdem ich mir diese Werte einmal direkt in der Datenbank angesehen habe, möchte ich meine Annahme revidieren und komme zum Schluss, dass es sich vermutlich um das Betätigen der Bremse im Stillstand handelt. Auffällig ist das ein HSI von -512 immer am Anfang und Ende einer Reise (TRIP_DIST) entsteht und sich die Distanz nicht ändert.
HSI Bereich von -120 bis -80
plot_hsi_verteilung(dfo, von=-120, bis=-80)
Ein HSI von -100 kennzeichnet vermutlich den Bereich wo die maximale Energie durch Rekuperation zurückgewonnen wird und zusätzlich die mechanischen Bremsen einsetzen.
HSI Bereich von -20 bis 20
plot_hsi_verteilung(dfo, von=-20, bis=20)
Den Nullpunkt würde ich mal als "Fuß vom Gas" bezeichnen. Der Wagen rollt aus und wird allmählich langsamer. Die Rekuperation dürfte hier nur gering sein.
HSI Bereich von 30 bis 70
plot_hsi_verteilung(dfo, von=30, bis=70)
Bei HSI 50/51 schaltet sich der Verbrenner hinzu und dürfte für die entsprechende Lücke verantwortlich sein.
HSI Bereich von 80 bis 120
plot_hsi_verteilung(dfo, von=80, bis=120)
Da die Anzahl der HSI Werte über 100 deutlich weniger werden und zudem wieder eine Häufung bei HSI 100 auftritt, vermute ich hier den Übergang von ECO zu PWR.
Um die HSI Werte mit der Hybridsystem-Anzeige in Einklang zu bringen, lege ich mal folgende Einteilungen für mich zu Grunde:
HSI Bereich | vermuteter Eco Bereich | Meine Erklärung |
---|---|---|
-512 | BREAK | Bremse getreten, Wagen steht |
-100 bis -50 | CHG HIGH | hohe Rekuperation |
-49 bis -1 | CHG MEDIUM | mittlere Rekuperation |
0 | CHG LOW | keine oder nur geringe Rekuperation |
1 bis 25 | ECO 25% | reiner EV Betrieb möglich |
26 bis 50 | ECO 50% | --"-- |
51 bis 75 | ECO 75% | Verbrenner läuft mit |
76 bis 100 | ECO 100% | --"-- |
101 bis 200 | PWR 25% | Leistung und Kraftstoffverbrauch steigen |
201 bis 300 | PWR 50% | --"-- |
301 bis 400 | PWR 75% | Verbrenner wird "lauter" |
401 bis 512 | PWR 100% | Höchster Leistungsbereich |
Schauen wir uns nun mal die Verbrauche zu den Messzeitpunkten an:
plot_fuelflowh_verteilung(dfo)
Abgesehen von der Zeit wo der Verbrenner nicht läuft, pendelt der Verbrauch zwischen 1 bis ca. 15 l/100km. Die meisten Einträge liegen um die 4,5 l/100km und entsprechen mein "gemütliches Rollenlassen" bei 70 bis 90 km/h. Beschleunigungen liegen bei mir meist zwischen 6 bis 10 l/100km. Diese Werte zeigt mir auch der Hybrid Assistant an.
Kommen wir nun zum spannenden Teil und setzen HSI und FUELFLOWH in Beziehung:
plot_hsi_verbrauch(dfo)
Wie man auf den ersten Blick erkennen kann, gibt ein HSI Wert nicht automatisch einen eindeutigen Verbrauch an. Die Werte können stark schwanken und sollten daher erst einmal gemittelt werden. Bei dieser Gelegenheit ergänze ich die Daten auch noch um den ECOTYP, die Anzahl der in diesen Bereich fallenden Messpunkte und der Ausgabefarbe für die Grafiken.
dfm = berechne_mittelwert_und_reicher_daten_an(dfo)
# Wie sehen die Daten nun aus?
dfm.head(3)
Nun kommt Farbe ins Spiel und es werden nur noch die gemittelten Werte verwendet.
HSI Bereich von -512 bis 512
Beginnen wir mit einen Überblick über das gesamte Spektrum:
plot_hsi_verbrauch(dfm)
Und arbeiten uns wieder Stück für Stück vor...
In diesem Bereich findet man die meisten Messpunkte. Da der Verbrenner auch noch im CHG Bereich laufen kann, gibt es durchschnittliche Verbrauche oberhalb von 0 l/100km.
Im PWR fangen die Werte an zu streuen. Dies liegt vermutlich daran, dass weniger Messdaten vorliegen und somit der Mittelwert ungenauer wird. Oberhalb von PWR 50% sind keine vernünftigen Aussagen mehr möglich.
plot_hsi_verbrauch(dfm, von=-150, bis=250)
Zwischen 0 und 60 HSI erkennt man aber eine recht gute Linie, die bei HSI 50 unterbrochen ist. Wie bereits oben schon angedeutet, schaltet sich hier der Verbrenner hinzu und der Durchschnittsverbrauch steigt sprunghaft an.
plot_hsi_verbrauch(dfm, von=0, bis=60)
Im oberen ECO Bereich, also von 50 bis 100%, erkennt man ebenfalls einen sehr gleichmäßigen Anstieg. Da der PWR Bereich von mir gemieden wird, kommt es dort wieder zu Sprüngen. Anderenfalls würde ich auch dort einen gleichmäßigen Anstieg des Verbrauchs vermuten.
plot_hsi_verbrauch(dfm, von=60, bis=130)
Es folgen einige Grafiken, die mein persönliches Fahrverhalten verdeutlichen:
Fahrprofil allgemein
verteilung = EcoTypVerteilung(dfm)
verteilung.plot_gesamt()
Ich fahre überwiegend im ECO und komme selten in den PWR Bereich.
Verhältnis zwischen CHG und BREAK
verteilung.plot_chg_vs_break()
Im CHG Bereich bin ich hauptsächlich am Rekuperieren.
Verhältnisse im Bereich CHG
verteilung.plot_chg()
Innerhalb von CHG bewege ich mich meistens im MEDIUM Bereich und sorge somit für ein gemäßigtes Aufladung des Akkus.
Verhältnisse im Bereich ECO
verteilung.plot_eco()
34.6% meiner Fahrten liegen in der unteren Hälfte des ECO Bereichs und könnten theoretisch auch elektrisch bewältigt werden. Da der Akku aber nicht genügend Energie speichern kann, läuft auch hier des öfteren der Verbrenner mit.
Verhältnisse im Bereich PWR
verteilung.plot_pwr()
In den PWR Bereich verirre ich mich selten und bin dann auch nur im ersten Viertel zu finden. Leistungsabforderungen bis zur Hälfte des PWR Bereichs kommen noch seltener vor und darüber liegen sie weit unter einen Prozent. Aber dies ist auch kein Wunder, denn dort wird der Verbrenner deutlich lauter und für mich ein eindeutiges Zeichen eines Fahrfehlers ;-)