Es ist wichtig, den Stromverbrauch eines Fahrzeugs im Laufe der Zeit zu verfolgen, aber es ist noch viel interessanter, dies im Zusammenhang mit der Art der zurückgelegten Strecke zu tun. Dieses Projekt ermöglicht es Ihnen, mit Hilfe eines GPS-Empfängers und Google Maps Informationen über die Streckenführung, den An- und Abstiege und die Höhe zu sammeln und so die grundlegenden elektrischen Parameter des Fahrmotors zu ermitteln. 

Einblicke in den Stromverbrauch von EVs

Ein behinderter Freund von mir benutzt einen Elektroroller, um sich autonom bewegen zu können. Er lebt viele Monate im Jahr in einem kleinen Dorf im ligurischen Apennin, nur wenige Schritte von meinem Haus entfernt. Wir befinden uns in einer Gebirgsgegend und es gibt viele Auf- und Abstiege, auch mit steilen Hängen. Aus diesem Grund müssen die beiden für die elektrische Traktion energiespendenden Blei-Säure-Batterien mit großer Kapazität recht häufig gewechselt werden.

Ich habe mich gefragt, wie viel der Roller unter verschiedenen Bedingungen verbraucht, und sogar darüber nachgedacht, auf leistungsfähigere Batterien wie Lithium-Ionen-Batterien umzusteigen. In diesen Rollern werden schwere Gleichstrom-Permanentmagnetmotoren und Blei-Säure-Batterien verwendet, im Gegensatz zu E-Bikes und Scootern, die kompakte, leichte bürstenlose Motoren und Lithium-Batterien besitzen. Der Roller, mit dem die Tests durchgeführt wurden, ist mit zwei Batterien (12 V/36 Ah) ausgestattet, die kürzlich durch Batterien mit größerer Kapazität (45 Ah) ersetzt wurden.

Zuvor hatte ich bereits ein System zur Messung der Stromaufnahme von Gleichstromgeräten entwickelt und zu diesem Projekt einen GPS-Empfänger hinzugefügt, der die Position und Geschwindigkeit des Fahrzeugs auf einer microSD-Karte speichert. Dieses System ist natürlich auf alle Elektrofahrzeuge anwendbar, sofern der Shunt und der Spannungsadapter entsprechend angepasst werden.


Abonnieren
Tag-Benachrichtigung zu Test & Messung jetzt abonnieren!

Für das GPS habe ich eigene Funktionen zur Auslesung von Geschwindigkeit, Position und UTC-Zeit entwickelt. Die GPS-Höhenmessung habe ich verworfen, da sie nicht genau genug ist, um Steigungen präzise zu bestimmen. Während der ersten Programmkopilierungen stellte ich fest, dass der Arbeitsspeicher (2 kB) der MCU ATMega328 des Arduino Nano für einen stabilen Betrieb nicht ausreichte. Daher erwog ich, sie durch die MCU ATmega32U4 mit 2,5 kB RAM und einem freien UART zu ersetzen, wie sie im Arduino Leonardo verwendet wird.

Der Name dieses Projekts leitet sich deshalb teils vom Namen „Leonardo“ (da die Platine Arduino-Leonardo-kompatibel ist), vom Namen des Moduls INA226, das Strom und Spannung an der Last misst, sowie vom GPS-Empfänger ab, der das System vervollständigt.

Durch diese Tests konnte ich den Energiebedarfs des Rollers meines Freundes unter verschiedenen Bedingungen auf einer auf Google Maps leicht erkennbaren Strecke ermitteln. Leider konnte die Steigung nicht aus den vertikalen GPS-Koordinaten berechnet werden, da deren Genauigkeit und Auflösung nicht ausreichten. Es gibt zwar Drucksensoren, die die Höhe mit einer Auflösung von wenigen Zentimetern messen können, aber diese wurden in den Tests nicht verwendet.

Beschreibung des Systems

Das Funktionsschema der verschiedenen Bauteile des Systems ist in Bild 1 dargestellt.

Figure 1 - The system functional scheme for power consumption.
Bild 1. Das Funktionsschema des Systems.

Das Modul INA226

Strommessungen mit einem Shunt sind auf zwei Weisen möglich:

  • In Richtung Masse (Low-Side): Der Shunt wird zwischen der Last und der Masse angeschlossen.
  • Zur Quelle hin (High-Side): Der Shunt wird zwischen dem Pluspol der Stromversorgung und der Last angeschlossen.

Die integrierte digitale Schaltung INA226 von Texas Instruments kann den Strom über einen High-Side- oder Low-Side-Shunt messen. Zusätzlich ermitttelt sie die Spannung, berechnet die Leistung und gibt einen multifunktionalen Alarm aus. Die Funktion des INA226 ist in Bild 2 dargestellt.

Figure 2: The INA226 functional scheme. (Source: TI)
Bild 2. Innenschaltung des INA226. (Quelle: Texas Instruments)

Der interne Analog-Digital-Wandler (ADC) basiert auf einem 16-Bit-Delta-Sigma-Wandler (ΔΣ) mit einer typischen Wandlungszeit von wenigen Millisekunden, wodurch er auch für schnell wechselnde Ströme geeignet ist. Darüber hinaus kann er auch negative Ströme messen, wobei negative Werte im Zweierkomplementformat dargestellt werden.

Die Auflösung der Shunt-Spannung beträgt 2,5 µV mit einem Skalenendwert von 32.768 × 2,5 µV = 81,92 mV. Für die Spannung VBUS beträgt die Auflösung 1,25 mV bei einem theoretischen Skalenendwert von 40,96 V, wobei in der Praxis 36 V nicht überschritten werden darf. Die Auflösung der Leistung ist 25-mal so hoch wie die des Stroms, wobei der Skalenendwert vom verwendeten Shunt abhängt. Alles in allem bietet das System also eine bemerkenswerte Messgenauigkeit.

Figure 3: The INA226 module for power consumption project.
Bild 3. Das INA226-Modul.

Der Chip ist über den I2C-Bus mit einem Mikrocontroller verbunden. Auf dem Markt sind kleine Module auf Breakout-Boards erhältlich, wie das von mir verwendete in Bild 3. Der INA226 besitzt zwei Adresspins, A0 und A1, deren Anschluss an VCC, GND, SDA oder SCL die I2C-Adresse des Moduls bestimmt. Bei dem von mir verwendeten Modul sind zwei Pull-Down-Widerstände eingebaut, wodurch die Adresse auf 0x40 eingestellt ist. Auf der Rückseite des Moduls befinden sich Pads, mit denen man die Adresse ändern kann: Durch Verbindung mit VCC, SDA oder SCL können bis zu 16 verschiedene Adressen eingestellt werden, was besonders nützlich für die Überwachung einer Batterie mit vielen Zellen ist.

Das Modul ist standardmäßig mit einem 0,1-Ω-Shunt (R100) ausgestattet, der die Messung eines maximalen Stroms von 0,8192 A ermöglicht. Ich habe natürlich den Shunt entfern, an seiner Stelle einen 1-µF-Kondensator als Rauschfilter eingelötet und meinen eigenen Shunt verwendet (mehr dazu unten).

Das Modul ATmega32U4 Pro Micro

Das verwendete Pro-Micro-Modul besitzt eine MCU des Typs ATmega32U4 und ist Arduino-Leonardo-kompatibel. Es kann mit der Arduino-IDE programmiert werden, die auf das Leonardo-Board eingestellt ist. Das Ganze ist mit etwa 33 mm × 18 mm winzig, noch kleiner als der Arduino Nano, was in etwa der Größe eines alten 24-poligen DIL-EPROMs entspricht. Wenn Sie keine Platzprobleme haben, können Sie stattdessen auch ein „richtiges“ Arduino-Leonardo-Board verwenden.

Figure 4: The ATmega32U4 MCU used for the power consumption project.
Bild 4. Der ATmega32U4-auf dem Pro-Micro-Modul.

Bild 4 zeigt die für dieses Projekt eingesetzte Platine, die über einen 5-V-Spannungsregler verfügt und deshalb nicht nur über USB, sondern auch über den RAW-Eingang (6...12 V) mit Energie versorgt werden. Wird der RAW-Pin mit einer Mindestspannung von 6 V versorgt, liefert der Regler eine VCC von +5 V. Bei der Stromversorgung über USB stehen am RAW-Pin etwa +4,8 V zur Verfügung, was durch den Spannungsabfall an einer Schottky-Diode, die zusammen mit einer Sicherung als Schutz dient, verursacht wird. Möchte man den internen Regler verwenden, der keinen Kühlkörper besitzt, sollte man die Eingangsspannung auf 6...7,2 V begrenzen und Lasten über 100...150 mA vermeiden. Wenn wie in unserem Fall ein externer Spannungsregler zur Verfügung steht, kann die Platine auch direkt über den VCC-Pin mit +5 V betrieben werden, wodurch der interne Regler umgangen wird.

Das MicroSD-Modul

Ich habe ein SD-Modul ausgewählt, das speziell für Arduino entwickelt wurde und mit 5-V-Logikpegeln sowie einer 5-V-Stromversorgung arbeitet. Das Modul ist in Bild 5 zu sehen. Es ist mit einem 3,3-V-Spannungsregler und einem Pegelwandler ausgestattet. Module ohne Pegelwandler und 3,3-V-Spannungsregler sind für dieses Projekt nicht geeignet. Für die Verwaltung der SD-Karte habe ich die SD-Bibliothek von Arduino verwendet.

Figure 5: The microSD module for the power consumption project.
Bild 5. Das microSD-Modul.

Das LCD

Ich habe ein gängiges zweizeiliges 16-Zeichen-LCD mit einem Hitachi HD44780-kompatiblen Controller und Hintergrundbeleuchtung aus hocheffizienten LEDs verwendet. Diese LEDs zogen ursprünglich etwa 20 mA, was ich durch einen externen Widerstand (in Reihe mit dem internen Widerstand) auf 10 mA reduzieren konnte. In Bild 6 ist das Display zu sehen, das über eine parallele Schnittstelle mit vier Daten- und zwei Steuerbits an die MCU angeschlossen ist.

Figure 6: The LCD for the power consumption project.
Bild 6. Das LCD.

Das GPS-Modul

Auf dem Markt gibt es zahlreiche preiswerte GPS/GNSS-Satellitenempfänger. Wichtig ist, dass sie mit 5 V betrieben werden können und die Baudrate der seriellen Schnittstelle bekannt ist, die normalerweise 4.800 bit/s oder 9.600 bit/s beträgt. Einige Module besitzen eine eingebaute Antenne, während andere eine externe Antenne verwenden. Für dieses Projekt habe ich einen älteren Empfänger mit einer Baudrate von 4.800 bit/s, einer integrierten Antenne, einem Magnetfuß und einem 4-poligen JST-Steckverbinder zur Verbindung mit dem System verwendet.

Schaltplan mit Modulen

Bild 7 zeigt den Schaltplan des Systems. Neben dem Anschluss für die serielle Schnittstelle des GPS-Moduls habe ich auch einen Schalter eingebaut, mit dem man eine Leistungsmessung mit oder ohne GPS auswählen kann. Die Taste SS startet und stoppt die Datenerfassung auf der microSD-Karte. Der Spannungsregler LM7805 könnte theoretisch entfallen, wenn wir den auf der Platine vorhandenen Regler verwenden. Der externe Regler ist jedoch zuverlässiger und benötigt eine Mindestspannung von 7 V und kann - mit einem Kühlkörper ausgestattet - Spannungen bis zu 24 V verarbeiten. Die Stromaufnahme des Geräts (inklusive Hintergrundbeleuchtung) beträgt etwa 47...50 mA.

Figure 7: The system wiring diagram for the power consumption project.
Bild 7. Das Schaltbild des gesamten Systems.

Die Schottky-Diode D1 verhindert einen Konflikt, der entstehen würde, wenn sowohl die externe Stromversorgung (5Ve) als auch die USB-Versorgung gleichzeitig angeschlossen sind. Die Widerstände R1 und R2 bilden zusammen mit dem Kondensator C5 ein Tiefpassfilter erster Ordnung zur Rauschunterdrückung.

Shunt-Berechnung

Bei hohen Strömen ist es ratsam, den Shunt (mit Kelvin-Schaltung) nicht selbst zu bauen: Im Handel sind Hochstrom-Shunts leicht erhältlich; sie sind auch sehr genau, typischerweise im Bereich von 0,5 %, und sehen ähnlich aus wie in Bild 8. Ein recht gängiger Spannungswert an den Ausgangsklemmen des Shunts beträgt 75 mV für den gesamten Messbereich.

Figure 8: The 50 A shunt.
Bild 8. Der 50-A-Shunt.

Diese Spannung liegt sehr nahe an der maximalen Eingangsspannung des INA226 von 81,92 mV. In meinem Fall wollte ich Ströme bis zu 50 A messen, dessen Widerstand sich für die maximalen 75 mV wie folgt berechnen lässt:

Rse = 75 mV / 50 A = 1,5 mΩ

Der Vollausschlag des Stroms ist dann:

Ifs = 81,92 mV / Rse = 54,613 A

Die Auflösung des Stroms ist:

54,613 / 32.768 = 1,666 mA

Die maximale Leistung, die vom Shunt abgeleitet wird, beträgt:

P = U × I = U2 / R = 4,474 W

GPS-Daten

Für die Interpretation der NMEA-Meldungen, die vom GPS-Empfänger gesendet werden, habe ich selbst geschriebene Funktionen verwendet. Das Programm liest die NMEA-RMC-Sätze (Recommended Minimum Specific Data), da sie neben den Positionskoordinaten auch die Geschwindigkeit in Knoten sowie Datum und Uhrzeit enthalten. Ein Beispiel für einen solchen Satz wäre:
 

$GPRMC,141507.870,A,4429.2796,N,00907.4338,E,0.00,,180522,,*1B
 

Das bedeutet UTC-Zeit 14:15:07,870, gültige Daten, Breitengrad 44°29,2796' N, Längengrad 9°07,4338' E, Geschwindigkeit 0 Knoten, kein Kurs, Datum 18/05/2022, keine Modusanzeige. Die Parameter sind in Tabelle 1 aufgeführt.

Table 1: The NMEA RMC Fields.
Tabelle 1: Die NMEA-RMC-Felder

Die Koordinaten werden von Grad und Minuten in Dezimalgrade umgewandelt. Die auf der microSD-Karte gespeicherten Daten sind wie folgt aufgebaut:

 

,time,latitude,longitude,speed

 

Und im Falle des vorherigen Beispiels:

 

,141507,4429.2796,00907.4338,0.00

 

INA226 Verwaltungssoftware

Ich habe eine modifizierte Version der Bibliothek INA226.h von Korneliusz Jarzebski verwendet, da das Original einige Fehler enthielt. Ich habe die Funktionen calibrate(float rShunt, float iMaxExpected) und setShuntVoltageLimit(float voltage) geändert.

Vielleicht hat der Autor die Bibliothek inzwischen aktualisiert, aber ich empfehle, die Version zu verwenden, die auf der Elektor Labs-Webseite für diesen Artikel zum Download bereitsteht, da sie mit diesem System getestet wurde.

Die Funktion calibrate() hat als Eingabeparameter den Shunt-Widerstand und den maximalen Strom, in unserem Fall:

 

rShunt = 0.0015 Ω und iMaxExpected = 54.613 A

 

Es werden mehrere Variablen berechnet:

 

currentLSB = iMaxExpected / 32768 = 54,613 / 32.768 = 1,666 [mA]

calibrationValue = 0.00512 / currentLSB / rShunt = 0,00512 / 0,00166 / 0,0015 = 2.048

powerLSB = currentLSB * 25 = 0.000625 * 25 = 15.625 [mW]

 

Die Datenformate von Display und microSD

Unter Berücksichtigung der Auflösung der Variablen, die auf dem Display angezeigt werden sollen, sind dies ihre Formate:

 

Bus-Spannung:   V=xx.xx  (sieben Zeichen)

Shunt-Strom: I=xx.xxx (acht Zeichen)

Bus-Leistung:     W=xxx.xx (acht Zeichen gedruckt)

 

In der ersten Zeile werden daher Spannung und Strom angezeigt, getrennt durch ein Leerzeichen. In der zweiten Zeile folgt die Leistung, etwa so:

 

V=xx.xx I=xxx.xxx

W=xx.xx

 

Falls GPS verwendet wird, werden in der zweiten Zeile die Geschwindigkeit in km/h und die UTC-Zeit angezeigt.

Messungen der Energieaufnahme

Der String dataString, der auf SD gespeichert wird, ist wie folgt aufgebaut:

 

Vbus,Ishu,power,Vshu

 

Dabei steht Vbus für die Batteriespannung, Ishu für den durch den Shunt fließenden Strom, power für deren Produkt und Vshu für die Spannung an den Enden des Shunts. Wenn kein GPS an Bord ist, sind dies die einzigen Messungen für jede Probenahme; wenn GPS vorhanden ist, werden auch Zeit-, Positions- und Geschwindigkeitsdaten hinzugefügt.

LeoINAGPS-Systemtests

Für diese Tests habe ich den oben beschriebenen 50-A-Shunt verwendet, der der Klasse 0,5 % entspricht. Diese Tests wurden in einem kleinen Dorf im ligurischen Apennin durchgeführt, und die Messgeräte wurden auf einem Elektromobil montiert, das in Bild 9 zu sehen ist und von seinem Besitzer, meinem Freund Roberto, gefahren wird. Um Platz für die Messgeräte zu schaffen, wurde die Verkleidung unter dem Fahrersitz entfernt.

Figure 9: The electric scooter with the test equipment, and my friend Roberto visibly concerned about the modifications made to his vehicle!
Bild 9. Der Elektroroller mit der Messausrüstung und mein Freund Roberto,
der die Änderungen an seinem Fahrzeug sichtbar besorgt zur Kenntnis nimmt.

Die Teststrecke begann im Garten des Hauses meines Freundes. Der erste Teil der Strecke war durch mehrere mehr oder weniger steile Abfahrten gekennzeichnet, während der Rückweg über eine andere Straße mit ziemlich steilen Anstiegen führte. Es gab jedoch auch mehrere Abschnitte, die in beide Richtungen befahren wurden. Die Strecke war relativ kurz, wies aber deutliche Steigungen auf, die den Motor dieser meist in China gefertigten Motorroller stark beanspruchten.

Die Roller sind mit einem konventionellen Gleichstrommotor von etwa 1.000 W ausgestattet, der von zwei in Reihe geschalteten 12-V-Blei-Säure-Batterien gespeist wird, die für den elektrischen Antrieb geeignet sind. Der Schutz erfolgt über eine 40-A-Sicherung und einen 30-A-Thermoschalter. Der eingebaute elektronische MOSFET-Controller steuert den Motor im PWM-Modus. Die ursprünglichen Batterien hatten eine Kapazität von 35 Ah, wurden aber durch Batterien mit 45 Ah ersetzt, um die Reichweite auf unebenem Gelände wie im Testgebiet zu erhöhen. Diese Batterien haben in solch bergigem Gelände eine relativ kurze Lebensdauer und müssen fast jedes Jahr ausgetauscht werden. Die angegebene Kapazität von 45 Ah wurde auf der Grundlage einer 20-stündigen Entladung (I = 2,25 A) berechnet, während sie sich bei einer 5-stündigen Entladung, die den realen Bedingungen näher kommt, auf 35 Ah (I = 7 A) verringerte.

Mit Ausnahme des GPS wurden die Instrumente unter dem Sitz des Rollers und über den Batterien angebracht, wie in Bild 8 und Bild 10 zu sehen ist. Das LeoINAGPS-System wurde von zwei in Reihe geschalteten Lithiumbatterien (7,2 V) versorgt.

Figure 10: Placement of on-board instrumentation for the power consumption project.
Bild 10. Platzierung der Messgeräte an Bord.

Der GPS-Empfänger wurde samt Antenne auf einem speziellen Ständer montiert, damit er den Fahrer nicht behindert (siehe Bild 9). GPS-Empfänger liefern in der Regel jede Sekunde eine Positionsmessung, sodass das System mit dem Empfang von NMEA-Nachrichten synchronisiert werden muss. Jede Messung, die auf der microSD-Karte gespeichert wird, besteht aus acht Daten: Batteriespannung [V], gelieferter Strom [A], Leistung [W], Shunt-Spannung [V], UTC-Zeit, Breitengrad, Längengrad und Geschwindigkeit [km/h]. Die Koordinaten werden in Grad und Zehntelgrad angegeben.

Bevor die Erfassung durch Drücken der Taste auf der Vorderseite des Loggers gestartet wird, muss man warten, bis das GPS das Signal von mindestens drei Satelliten empfangen und verarbeitet hat, was ein paar Minuten dauern kann. Wenn das GPS in Betrieb ist, beginnt die LED zu blinken, und die UTC-Zeit erscheint auf dem Display.

Die italienische Ortszeit liegt während der Sommerzeit (MESZ) eine Stunde und während der Normalzeit (MEZ) zwei Stunden vor der UTC-Zeit. Nach Abschluss der Tests muss die Taste erneut gedrückt werden, um die Erfassung zu beenden. Der Test verlief sehr gut und dauerte 963 Sekunden, also etwa 16 Minuten.

Messungen

Bild 11 zeigt die Zeitverlaufsdiagramme der Batteriespannung, des gelieferten Stroms, der Leistung und der Geschwindigkeit des Fahrzeugs als Funktion der Zeit, ausgedrückt in Sekunden. Der Abschnitt, in dem die Geschwindigkeit gleich Null ist, ist darauf zurückzuführen, dass das Fahrzeug angehalten hat, um das Foto in Bild 9 zu machen. Bei Abfahrten wirkt der Bürstenmotor wie ein Dynamo, und in diesen Abschnitten kehrte sich der Strom um und die Spannung überschritt einige Male 32 V, was für die Batterien nicht gerade ideal ist.

Figure 11: Time-history chart of the main parameters.
Bild 11. Zeitverlauf-Diagramm der Hauptparameter.

Wichtige Informationen erhält man aus dem Zeit-Strom-Diagramm, in dem man leicht die verschiedenen Abfahrten erkennen kann, die durch die negativen Stromwerte gekennzeichnet sind: die erste Abfahrt (Punkte 89...112), dann eine kleine Bodenwelle und der Beginn der zweiten Abfahrt (Punkt 136), gefolgt vom Stopp (Punkte 148...186) und der Fortsetzung mit verschiedenen Abfahrten (Punkte 189...300), die längste, die dritte (Punkte 660...683), und die vierte, das intensivste Downhill-Strecke (Punkte 759...786).

Wie zu erwarten war, trat der höchste Verbrauch an den Steigungen auf, mit Spitzen von mehr als 800 W. Man kann die Stromspitzen beim Anlassen des Motors oder beim Anhalten des Rollers (Bremsen) sehen.

Die typische Geschwindigkeit während des Tests betrug etwa 4...5 km/h mit einigen Spitzen von 6 km/h, was praktisch Schritttempo entspricht. Dies ist darauf zurückzuführen, dass es keine langen flachen Abschnitte gab. Die Hinfahrt endete am Punkt 372; die Rückfahrt erfolgte auf einer weitgehend anderen Strecke und war zudem länger. Der Zeitpunkt der Umkehr ist im Geschwindigkeitsdiagramm als Spitze von 5,2 km/h auf 2 km/h zu erkennen. Dieses Manöver lässt sich noch besser aus dem Längengraddiagramm in Bild 12 ablesen.

Figure 12: Chart of coordinates.
Bild 12. Diagramm der X/Y-Koordinaten.

Nach einer ziemlich steilen Steigung bog der Roller in eine kleine Straße ein, die er hundert Meter lang befuhr und dann wieder zurückkehrte. Diese Umkehr, die am Punkt 704 stattfand, ist im Breitengraddiagramm zu sehen. Aus diesen Kurven geht hervor, dass die Koordinaten des Endpunktes dem Startpunkt ähneln.

Import der Route in My Maps

Um die Route über den Satellitenfotos zu sehen, können Sie My Maps und Google Maps verwenden, die online und kostenlos verfügbar sind. Sie benötigen ein Google-Konto und müssen die folgenden einfachen Schritte ausführen:

  • Melden Sie sich mit Ihrem Computer bei My Maps an.
  • Klicken Sie auf +EINE NEUE KARTE ERSTELLEN.
  • Klicken Sie in der Kartenlegende auf Ebene hinzufügen.
  • Geben Sie der neuen Ebene einen Namen, wenn Sie möchten.
  • Klicken Sie in der neuen Ebene auf Importieren.
  • Wählen Sie die Datei VIPVSGPS.csv aus oder laden Sie sie hoch und klicken Sie auf Auswählen (Select)
  • Wählen Sie die Spalten mit den Breitengraden (erster Wert), den Längengraden (zweiter Wert) und den Bezeichnungen für die einzelnen Punkte (zum Beispiel Leistung) aus.
​​​​​​
Figure 13: Complete round trip route. (Source: Google Maps)
Bild 13. Jetzt geht’s rund! (Quelle: Google Maps)
Figure 14: Detail of the starting and ending points of the test. (Source: Google Maps)
Bild 14. Detail der Start- und Endpunkte des Tests. (Quelle: Google Maps)

Wenn Sie die Route mit Google Maps anzeigen und das Satellitenfoto überlagern möchten, importieren Sie mit diesen einfachen Schritten diese Ebene. Das Ergebnis ist in Bild 13 zu sehen, und Bild 14 zeigt den Ausschnitt, an dem die Route beginnt und endet. Mit diesem Programm können Sie neben jedem Punkt einen bestimmten Wert eingeben. In diesem Fall habe ich die zum jeweiligen Zeitpunkt gemessene Leistung des Motors angegeben.

Energieberechnung

Um eine Vorstellung von der Reichweite zu bekommen, ist es wichtig zu wissen, wie viel Energie aus den Batterien entnommen wurde. Die Menge an elektrischer Energie ∆E, die von den Batterien an den Motor geliefert wird, hängt von der abgegebenen Leistung und der Zeit ∆t = t2 - t1 ab. Wenn die Leistung P über die Zeit konstant wäre, ließe sich die Energie leicht berechnen:

 

∆E = P × ∆t [J]   (1)

 

Im internationalen System wird die Energie in Joule ausgedrückt (1 J = 1 W/s), doch für elektrische Systeme verwenden wir lieber Wattstunden (Wh), die durch 3.600 geteilt werden. In unserem Fall ist die Leistung aber keineswegs konstant, sondern schwankt, so dass wir von einer diskreten zu einer kontinuierlichen Formel (1) übergehen müssen:

ev eq1.png

 

Eine grundlegende numerische Methode zur Durchführung einer Integration ist die der Trapezoide:

 

ev eq2.png

 

Dieses System ist zwar nur näherungsweise genau, aber es kann die Fläche unter einer Funktion P(t), die das definite Integral darstellt, durch eine Vielzahl von Trapezen ersetzen, deren Flächeninhalte sich leicht berechnen lassen, wie es in Bild 15 zu sehen ist.

Figure 15: Integration by trapezoids.
Bild 15. Integration durch Trapeze.

Diese Methode ist umso genauer, je kleiner das ∆t ist. In unserem Fall beträgt die Abtastperiode ∆t eine Sekunde, also:

 

E2 = (P1 + P2) × 1s / 2 + E1   [J]

 

Mit einer Tabellenkalkulation ist es einfach, die Energie in Joule und, durch Division mit 3600, in Wattstunden zu berechnen. Um die ungefähre Reichweite des Rollers abzuschätzen, müssen wir die von den Akkus entnommene Ladung C, ausgedrückt in Amperestunden (Ah), berechnen, indem wir den Strom integrieren, ähnlich wie bei der Energie:

 

C2 = (I1 + I2) × 1s / 2 + C1   [Ah]

 

Die Ladung steht in Zusammenhang mit der Energie durch die Spannung. Die Energie in Wh erhält man durch Multiplikation der Ladung mit der durchschnittlichen Spannung. Die Ergebnisse der Testdaten, die in Matlab verarbeitet wurden, sind:

Verarbeitung der Messungen des LeoINAGPS-Systems:

  • Name der verarbeiteten Datei = VIPVSGPS2.CSV
  • Anzahl der erfassten Proben = 963
  • Abtastperiode = 1,000 [s]
  • Dem Motor zugeführte Energie = 48,943 [Wh]
  • „Verlorene“ Kapazität (P und N) = 1,650 [Ah]
  • „Verlorene“ Kapazität (P) = 1,793 [Ah]
  • Durchschnittliche Batteriespannung = 26,103 [V]
  • Durchschnittlicher Entladestrom = 6,206 [A]
  • Kapazität (E/U durchschnittlich) = 1,875 [Ah]

 

In diesem Fall wird die verlorene Kapazität (positiv und negativ) unterschätzt, zum einen aufgrund des zu hohen ∆t und zum anderen wegen der Abschnitte, in denen der Strom negativ ist (Steigungen), die nicht effektiv zum Laden der Batterie beitragen und letztendlich eher schädlich als nützlich sind. Zusätzlich wurden die Kapazität, die nur mit positivem Strom (P) berechnet wurde, die durchschnittliche Batteriespannung und der durchschnittliche Strom ermittelt.

Abonnieren
Tag-Benachrichtigung zu elektrisches Fahrzeug jetzt abonnieren!

Das Programm

Beim Start initialisiert das Programm die Ein- und Ausgänge, das LCD, das INA226-Modul, überprüft das Vorhandensein der microSD-Karte und liest die Position des GPS-Schalters aus. In setup()wird die serielle Schnittstelle mit einer Baudrate von 4.800 kbit/s initialisiert:

 

Serial1.begin(4800); // initialize UART with GPS baud rate

 

Falls Ihr GPS-Modul moderner ist und eine Baudrate von 9600 kbit/s verwendet, müssen Sie diesen Funktionsparameter entsprechend ändern.

Wenn der Schalter auf GPS gestellt ist, sendet das Programm die Meldung „Wait for GPS ..“ an das Display und wartet auf ein gültiges Signal vom GPS-Empfänger. Die Funktion GetData() extrahiert die Zeit, die Position und die Geschwindigkeit aus den NMEA-RMC-Datensätzen.

Wenn die Daten gültig sind (Status = „A“), werden die Geschwindigkeit und die Zeit (hhmmss) in der zweiten Zeile des Displays angezeigt. Diese Funktion konvertiert zudem die Koordinaten, die ursprünglich in Grad und Minuten angegeben sind, in Dezimalgradnotation.


Sie haben Fragen oder Kommentare?

Haben Sie technische Fragen oder Kommentare zu diesem Artikel? Schreiben Sie an den Autor oder an die Redaktion unter redaktion@elektor.de.
Der Artikel „Das LeoINAGPS-System“ (240305-02) erscheint in Elektor Sep/Okt 2024.