Automatische 80% Ladung selbst gebaut
Verfasst: Mo 15. Jul 2024, 17:22
Wenn man wie ich oben am Berg wohnt, möchte man nie auf 100% laden - zumindest nicht wenn man zuhause lädt. Also hab ich mir überlegt wie ich das hinbekomme nachdem das Auto es nicht kann.
Der erste Gedanke war via OBD den SOC auszulesen. Das ginge auch, der Parameter den man Filtern muss ist #630. Das Ergebnis ist ein Byte mit dem SOC Wert. Allerdings läuft der SOC Wert davon wenn man nicht auf 100% lädt - aktuell habe ich 23% weniger SOC Anzeige als in Wirklichkeit. Keine Ahnung warum das nicht besser geht, irgendeinen Grund wird es schon haben. Diese Methode fällt also Flach.
Der zweite Gedanke war die Spannung zu messen. Die NMC Akkus haben netterweise einen ziemlich linearen Spannungsverlauf. So kann man, zumindest ungefähr, den SOC Wert ausrechnen. Der Lader lädt auf 55V, das heisst 55V sind 100%. Ich habe dann die Spannung vs SOC zwischen 70 und 100% mal aufgenommen und hab ungefähr die Steigung ermittelt.
Was ich nun gemacht habe:
- Ich messe die Batteriespannung mit einem GPS Tracker von Teltonika (FMC130, https://teltonika-gps.com/products/trackers/fmc130). Diese sind sehr universell und können auch andere I/O verarbeiten. Die Spannung greife ich über eine Feinsicherung von 500mA ab, damit es sicher kein Problem mit einem Kurzschluss gibt. Danach kommt ein Spannungsteiler, da der Tracker nur 0-30V messen kann. Der GPS Tracker bekommt nur Strom wenn das Auto an ist oder lädt - damit da sicher keine zusätzliche Entladung der 12 Batterie stattfindet obwohl die Geräte sehr sparsam sind.
- Den Wert schicke ich periodisch über einen MQTT Broker auf Amazon an meinen Webserver. Den Messwert kalibriere ich dann auf dem Server und rechne ihn in einen SOC Wert um.
- Meine Hausautomation (openhab), holt sich die Werte vom Webserver und steuert dann die Wallbox entsprechend.
Das funktioniert natürlich nur mit der eigenen Wallbox, was aber ausreichend ist. Es funktioniert auch ausreichend genau. Ich weiss aber noch nicht wie es im Winter aussieht, wenn die Batterietemperatur tiefer ist.
Ich muss bei Gelegenheit mal den gesamten Bereich der Batterie aufnehmen. Dies werde ich wohl im Winter nochmals machen müsssen. Es gibt aber in der Literatur auch Angaben über Temperaturkoeffizienten. Das heisst ich habe aktuell keine Ahnung was ich unter 70% Messe.
Ich habe ein Webinterface gebaut um auch während der Fahrt den Stand sehen zu können. Der ausgegebene SOC Wert schwankt massiv im normalen Fahrbetrieb - die Spannung ändert sich wegen des Innenwiderstandes je nach Leistung sehr stark. Vielleicht messe ich noch den Strom und versuche es zu kompensieren. Vielleicht finde ich den Strom auch noch im CAN Bus, aber es ist schon ziemlich viel Arbeit die Werte da zu finden.
Wichtig ist mir aber erst mal, dass ich reproduzierbar und automatisiert auf 80% laden und den Fortschritt auch überall via Internet kontrollieren kann. Es geht natürlich um 3 Ecken, aber es ist besser als nichts.
Der erste Gedanke war via OBD den SOC auszulesen. Das ginge auch, der Parameter den man Filtern muss ist #630. Das Ergebnis ist ein Byte mit dem SOC Wert. Allerdings läuft der SOC Wert davon wenn man nicht auf 100% lädt - aktuell habe ich 23% weniger SOC Anzeige als in Wirklichkeit. Keine Ahnung warum das nicht besser geht, irgendeinen Grund wird es schon haben. Diese Methode fällt also Flach.
Der zweite Gedanke war die Spannung zu messen. Die NMC Akkus haben netterweise einen ziemlich linearen Spannungsverlauf. So kann man, zumindest ungefähr, den SOC Wert ausrechnen. Der Lader lädt auf 55V, das heisst 55V sind 100%. Ich habe dann die Spannung vs SOC zwischen 70 und 100% mal aufgenommen und hab ungefähr die Steigung ermittelt.
Was ich nun gemacht habe:
- Ich messe die Batteriespannung mit einem GPS Tracker von Teltonika (FMC130, https://teltonika-gps.com/products/trackers/fmc130). Diese sind sehr universell und können auch andere I/O verarbeiten. Die Spannung greife ich über eine Feinsicherung von 500mA ab, damit es sicher kein Problem mit einem Kurzschluss gibt. Danach kommt ein Spannungsteiler, da der Tracker nur 0-30V messen kann. Der GPS Tracker bekommt nur Strom wenn das Auto an ist oder lädt - damit da sicher keine zusätzliche Entladung der 12 Batterie stattfindet obwohl die Geräte sehr sparsam sind.
- Den Wert schicke ich periodisch über einen MQTT Broker auf Amazon an meinen Webserver. Den Messwert kalibriere ich dann auf dem Server und rechne ihn in einen SOC Wert um.
- Meine Hausautomation (openhab), holt sich die Werte vom Webserver und steuert dann die Wallbox entsprechend.
Das funktioniert natürlich nur mit der eigenen Wallbox, was aber ausreichend ist. Es funktioniert auch ausreichend genau. Ich weiss aber noch nicht wie es im Winter aussieht, wenn die Batterietemperatur tiefer ist.
Ich muss bei Gelegenheit mal den gesamten Bereich der Batterie aufnehmen. Dies werde ich wohl im Winter nochmals machen müsssen. Es gibt aber in der Literatur auch Angaben über Temperaturkoeffizienten. Das heisst ich habe aktuell keine Ahnung was ich unter 70% Messe.
Ich habe ein Webinterface gebaut um auch während der Fahrt den Stand sehen zu können. Der ausgegebene SOC Wert schwankt massiv im normalen Fahrbetrieb - die Spannung ändert sich wegen des Innenwiderstandes je nach Leistung sehr stark. Vielleicht messe ich noch den Strom und versuche es zu kompensieren. Vielleicht finde ich den Strom auch noch im CAN Bus, aber es ist schon ziemlich viel Arbeit die Werte da zu finden.
Wichtig ist mir aber erst mal, dass ich reproduzierbar und automatisiert auf 80% laden und den Fortschritt auch überall via Internet kontrollieren kann. Es geht natürlich um 3 Ecken, aber es ist besser als nichts.