1. Home
  2. ACCU
  3. Akku – Reset von SoH- und Ladezyklenzähler

Akku – Reset von SoH- und Ladezyklenzähler

Das folgende Kapitel enthält einige technische Basisinformationen zu den Stromer-Akkus der BQ-Serie sowie zum Reset des SoH und des Ladezyklenzählers. Dieser ist nötig, um die volle Reichweite nach dem Einbau neuer Zellen wieder erreichen zu können.

Die folgenden Informationen gelten nicht für die Akkus der BO-Serie. Diese benötigen keinen Reset von SoH und Ladezyklenzähler. Die Neureichweite ist mit neuen Zellen ohne Eingriff in das BMS erreichbar.

Algemene informatie

Beim Reset muss man unterscheiden zwischen „Akku-Reset“ und Reset des „SoH“ (State of Health) sowie des „Ladezyklenzählers“.

Ein Akku-Reset kann nötig werden, wenn der Akku aufgrund eines unerwarteten externen Fehlers in der Stromer-Elektronik (z. B. Kurzschluss) in den Sicherheitsmodus geht. Wenn dies passiert, wird der 48-V-Ausgang des Akkus deaktiviert und der Stromer kann nicht mehr gefahren werden. Der Akku muss über den Händler an die myStromer AG gesendet werden, um die Sicherheitsstellung zurückzusetzen.

Anders liegt der Sachverhalt beim Reset des State of Health (SoH) und des Ladezyklenzählers. Dieser Reset wird bei den Stromer BQ-Akkus nach einer Zellerneuerung (Refit, Refurbishing, Aufbereitung) nötig.

Reset - SoH en laadcyclusteller - waarom?

Nach meinem Wissenstand ist ein SoH- und Ladezyklenreset bei den alten BO-Akkus und den älteren BQ-Akkus (vor 2016) nicht nötig. Das BMS «akzeptiert» die neuen Zellen auch ohne Reset, und die Neukapazität und damit die Neureichweite kann wieder erreicht werden.

Bei der BQ-Serie ab ca. 2016 funktioniert das nicht mehr. Der Wert des SoH und des Ladezyklenzähler wird auch mit neuen Zellen nicht auf die Werkseinstellung zurückgesetzt. Das BMS rechnet nach wie vor mit dem alten SoH-Wert. Das Resultat ist, dass der Akku nun zwar neue Zellen hat, das BMS aber mit der alten Kapazität rechnet und nur die alte Reichweite gefahren werden kann.

Stromer Akkumodelle- und Lieferanten

Welche Akkumodelle es von Stromer gibt kann man im Kapitel Modelreeks - Technische gegevens en veiligheidsinstructies lees meer.

Bei den neueren Akkus der BQ-Serie mit 48-V-Nennspannung gibt es zwei Lieferanten, HTE (TD Hightech Energie) en SMP (Simplo Technology Co. Ltd.). Ze verschillen uiterlijk in het aantal schroeven op de oplaadbasis.

Intern ist der Unterschied beim Aufbau der Platine zu sehen. Akkus von HTE haben eine gut sichtbare CMOS-Batterie, Simplo kommt ohne diese aus. Weiter werden verschiedene Prozessoren verwendet und bei Simplo scheint ein prozessor-externes EEPROM zu fehlen.

BMS van een BQ983-accu van HTE
BMS van een oplaadbare batterij van SMP

Reset mit Reset-Jumper

Für den DIY ist diese Variante die einfachste. Es ist keine spezielle Software nötig. Der Nachteil ist, dass der Akku geöffnet werden muss. Dazu muss man wissen, wo und wie ein solcher Reset gemacht werden kann.
Die Entwickler eines BMS erleichtern dem Anwender manchmal diese Aufgabe, indem sie einen «Reset-Jumper» auf der Platine anbieten. Das ist z. B. bei den Stromerakkus der BO-Serie der Fall – die Details dazu gibt es hier. Bei den BQ-Akkus fehlt dieser bzw. er ist nicht als solcher gekennzeichnet.

Es gibt mehrere Methoden, den verwendeten Microchip und/oder das EEPROM bei einem BQ-Akku zurückzusetzen: Link 1 | Link 2 | Link 3. Der Schlüssel liegt bei der Molex Picoblade 1.25 Steckverbindung «J304» (Pin 4 & 6) auf der Rückseite des BMS. Sie sind zwar nicht als Reset-Jumper bezeichnet, funktionieren aber als solche.

Software-reset via de CAN-bus

De volgende secties zijn alleen van toepassing op BQ oplaadbare batterijen met 3 schroeven (HTE)

Heb ik persoonlijke IT-vaardigheden nodig voor de reset?

Het werkt zonder IT-kennis. De Zwitserse bedrijven Swissvolts | Bünzli Batteries | upVolt bieten den Reset über den CAN-Bus an. Swissvolts und Bünzli Batteries verwenden dabei eine modifizierte Software auf Basis der Stromer-Diagnosesoftware. upVolt lässt den Service bei Bünzli Batteries machen. Mit der Software können folgende Parameter ausgelesen bzw. zurückgesetzt werden:

  • Auslesen: Produktionsdatum, Ladezyklen, State of Health (SoH)
  • Programmierung der Ladeendspannung des Akkupacks
  • Het SoH terugzetten naar 100 % en de laadcyclus-teller naar 0.
  • Reset der Sicherheitsstellung (blockierte Batterie) z. B. aufgrund eines Kurzschlusses im 48-V-System

Bei meinem BQ983-Akku konnte ich zusehen. Der Rosenbergerstecker wurde mit dem Akkusockel verbunden und in wenigen Sekunden war der SoH/Ladezyklenzähler auf Werkseinstellung gesetzt. Allerdings konnte das vor Ort nicht kontrolliert werden weil mein Akku 100 % geladen war. Man sagte mir ich solle ein paar km fahren. Das Omni zeigte bei der ersten Fahrt zuerst einen SoC von 74 % an, was dem alten SoH entsprach. Tatsächlich sprang der Wert nach ein paar km Fahrt auf 100 %. Über das Sromer API konnte ich danach den SoH auslesen – er lag wieder bei 100 %!

Bis Juli 2026 bot nur eine Handvoll Refurbisher die Möglichkeit an, den SoH (State of Health) und den Ladezyklenzähler bei Akkus des Herstellers HTE (mit 3 Schrauben) zurückzusetzen.

Die Firma Bünzli Batteries bietet seit Juli 2026 neu auch den Reset bei den BQ-Akkus von Simplo (mit 4 Schrauben) an.

Reverse Engineering

De twee CHIP's zijn cruciaal voor het resetten van de SoH- en laadcyclusteller. Microchip PIC18F4685 en de externe Microchip EEPROM 24LC256. Om het «binnenwerk» te onderzoeken, moet je een beetje forensisch werk verrichten.

Printplaatmontage BQ batterij met 3 schroeven (HTE)

Hier laat ik een printplaat zien van de BQ accu van HTE (3-schroef) en zoek ik de relevante componenten voor een SoH/laadcyclusteller-reset.

De opening van de Molex-connectoren ‚J303‘ & ‚J304‘ (foto in de linkerhoek) zit aan de andere kant van de printplaat.

J304 is alleen toegankelijk als de accu uit de aluminium behuizing is gehaald en de beschermfolie is opengesneden.

J304
1- x
2- PGC=Pin programmeerklok
3- PGD= De Speld van Programmeringsgegevens
4- GND= Massa (Vss)
5- VDD= Voeding
6- VPP= programmeerspanning

J303
1- GND= Aarde
2- SCL= Seriële Klok
3- SDA= seriële adres/data-I/O
4- VDD= Voeding

Ze bedienen de overeenkomstige pinnen van de Microchip PIC18F4685.

OD dump van de CAN-bus

OD staat voor Octal Dump en duidt op een UNIX-commando dat de creatie van een dump (geheugeninhoud) in verschillende, voor mensen leesbare formaten mogelijk maakt. Deze dump is nodig om reverse engineering te kunnen uitvoeren. Het dient als basis om erachter te komen welke geheugensegmenten gereset moeten worden voor een reset van de SoH/laadcyclusteller.

Software: Met dumpcap kan een OD-dump worden gerealiseerd en daarna in Wireshark geanalyseerd worden. Hoe dat kan, kan men onder andere. hier mening. Er is meer theorie hier. Verschillende CAN-busadapters bieden ook alles-in-één-oplossingen.

Hardware: Qua hardware is een CAN-bus-adapter nodig om de bus te kunnen “sniffen” (afluisteren). Zie o.a. 1 | 2 | 3.

dump van de BQ-accu's: In speedpedelecreview.nl--- Op het forum heeft gebruiker Jebolisch een dergelijke CAN-bus-dump gepubliceerd voor de accu's BQ983 & 814 van HTE en de BQ618/655 van Simplo, en deze waar mogelijk gedocumenteerd. Ik heb het bestand grafisch wat opgefrist en stel het nu beschikbaar. hier beschikbaar.

EEPROM schrijven en lezen

Om de beslissende geheugenadressen waarin de SoH/laadcyclusteller is opgeslagen te kunnen herschrijven, moet je weten hoe een EEPROM (Electrically Erasable Programmable Read-Only Memory) wordt gelezen/geschreven. Een EEPROM behoudt de opgeslagen gegevens zelfs nadat de voeding is uitgeschakeld. Deze functie is handig voor het opslaan van kritieke gegevens die bewaard moeten blijven na een stroomcyclus. Voorbeelden zijn configuratie-instellingen, kalibratiewaarden, gebruikersinstellingen, opslag van de kritische variabelen van het programma of historische gegevenslogboeken.

Wie ein EEPROM programmiert werden kann ist z. B. hier beschreven.

Vereisten
  • Python-installatie: Zorg ervoor dat Python is geïnstalleerd op uw systeem.
  • I2C-bibliotheek: Je hebt een Python-bibliotheek nodig die I2C-communicatie mogelijk maakt. Een populaire optie is smbus2.
  • Hardware: De PIC18F4685, de 24LC256 en de bijbehorende aansluitingen moeten overeenkomstig worden ingesteld.
Voorbeeld voor schrijven en lezen
1 import smbus2

2 # I2C-bus en EEPROM-adres aanpassen
3 bus = smbus2.SMBus(1) # Verander 1 als je een andere bus gebruikt.
4 adres = 0x50 # Verander het adres als het anders is voor je EEPROM.

5 def write_byte(register, data):
6 "Schrijft een byte naar het opgegeven registeradres in de EEPROM."
7 bus.write_byte_data(adres, register, data)

8 def read_byte(register):
9 "Leest een byte van het opgegeven registeradres in de EEPROM."
10 return bus.read_byte_data(adres, register)

10 # Voorbeeld voor schrijven en lezen
11 write_byte(0x00, 0x55) # Schrijf 0x55 naar het adres 0x00
12 data = read_byte(0x00) # Lees de byte van adres 0x00
13 print("Lees byte:", data)
Uitleg
  • Importeren: De smbus2-bibliotheek wordt geïmporteerd om I2C-communicatie mogelijk te maken.
  • I2C bus en adres: De variabelen bus en adres worden gedefinieerd om de I2C-bus en het adres van de EEPROM op te geven.
  • Functies: schrijven_byteSchrijft een byte naar een specifiek adres in de EEPROM. ead_byteLeest een byte van een specifiek adres in de EEPROM.

Brug resetten: Het is het beste om een Molex Picoblade 1,25 connector te gebruiken met een bijbehorende voorgemonteerde brug om te voorkomen dat je aan het J304 chassisdeel zelf moet werken (risico op mechanische schade, per ongeluk kortsluiting met andere pinnen...).

De Procedure van de reset wordt hier niet in detail beschreven. Vindingrijke DIJ's kunnen uit de voeten met de gegeven instructies.

Meer informatie

Gegevensblad Microchip PIC18F4685 Gegevensblad Microchip EEPROM 24LC256

Documentatie CiA 301 – CiA ontwikkelt en publiceert technische documenten. Specificaties bevatten functionele vereisten en permissies die in hardware of software geïmplementeerd moeten worden. Typische voorbeelden zijn de CANopen CC (klassieke) applicatielaag (CiA 301) of het CANopen apparaatprofiel voor generieke I/O-modules (CiA 401-serie).

Python-documentatie Dit is de officiële documentatie voor Python 3.13.1.

Heb je feedback? - in het commentaarveld hieronder.

Bijgewerkt op 10. augustus 2026
Was dit artikel nuttig?

Verwante artikelen

Laat een reactie achter