1. Home
  2. ACCU
  3. Batterij resetten: SoH & laadcyclusteller

Batterij resetten: SoH & laadcyclusteller

De volgende secties bevatten enige technische basisinformatie over de Stromer BQ-serie accu's. Ze zijn alleen bedoeld als hulpmiddel voor doe-het-zelvers die een oplossing willen vinden voor het resetten van de SoH- en laadcyclusteller na het vervangen van een cel.

Het is niet de bedoeling om hier een 'eindklantvriendelijke oplossing' te publiceren. De auteur heeft er ook geen.

Algemene informatie

Bij het resetten moet onderscheid worden gemaakt tussen 'batterij resetten' en het resetten van de 'SoH' (State of Health) en 'laadcyclusteller'. 

Een reset van de accu kan nodig zijn als de accu overschakelt naar de veiligheidsmodus door een onverwachte externe fout in het elektrische systeem (bijv. kortsluiting). Als dit gebeurt, wordt de 48 V van de accu uitgeschakeld en kan de Stromer niet meer worden aangedreven. De accu moet worden teruggebracht naar Stromer om de veiligheidsmodus te resetten (accuterugstelling).

De situatie is anders bij het resetten van de State of Health (SoH) en de laadcyclusteller, wat nodig is na een celrenovatie (refurbish).

SoH & laadcyclusteller gereset - waarom?

Voor zover ik weet is een specifieke SoH/laadcyclus-reset niet nodig na een celvervanging voor de oude BO-accu's en de oudere BQ-accu's (vóór 2016). Het BMS 'accepteert' de nieuwe cellen en de nieuwe actieradius kan weer worden bereikt. Dit is niet het geval bij de accu's uit de BQ-serie vanaf ca. 2016, waarbij de oude SoH- en laadcyclustellerwaarde die is opgeslagen in EEPROM 24LC256 NIET wordt teruggezet naar de fabrieksinstelling wanneer de cellen worden vervangen. Het GBS blijft 'rekenen' met de oude waarden. Het resultaat is dat de accu nu nieuwe cellen heeft maar dat alleen het oude 'bereik' kan worden aangestuurd. Een reset is bij de BQ accu's niet mogelijk via een eenvoudige resetknop of jumper op de printplaat. In plaats daarvan gebeurt dit via de CAN-bus, waarvoor de bijbehorende software nodig is.

Moet ik IT-kennis hebben? Is het mogelijk zonder de batterij te openen?

Het werkt zonder IT-kennis en zonder de batterij te openen. Het Zwitserse bedrijf Swissvolts biedt de reset aan via de CAN-bus. Ik kon dit zien op mijn BQ983. De Rosenberger plug werd aangesloten op het accucontact en in een paar seconden stond de SoH/laadcyclusteller op de fabrieksinstelling. Dit kon echter niet ter plaatse worden gecontroleerd omdat mijn accu 100 % was opgeladen. Ik moest een paar kilometer rijden. Tijdens de eerste rit gaf de Omni aanvankelijk een SoC van 74 % aan, wat overeenkwam met de oude SoH. Na een paar kilometer rijden sprong de waarde naar 100 %. Vervolgens kon ik de SoH uitlezen via de API - weer 100 %!

Swissvolts is niet de enige Forma die de rest biedt. Zie de overeenkomstige tabel onder AKKU - 'Reparatie / Opknappen (Refit / Refurbishing) / Occasions'

Typen batterijen

U kunt zien welke accumodellen verkrijgbaar zijn bij Stromer op "Modelreeks - Technische gegevens en veiligheidsinstructies". lees meer.

Er zijn twee leveranciers van de nieuwere BQ-serie accu's met een nominale spanning van 48 V, HTE (TD Hightech Energie) en Simplon. Ze verschillen uiterlijk in het aantal schroeven op de oplaadbasis.

De SoH (State of Health) en de laadcyclusteller kunnen alleen worden gereset na een celvernieuwing met accu's van de fabrikant HTE. Bij Simplon zijn de corresponderende gebieden in de EEPROM beschermd door de schrijfbeveiliging van de fabrikant en kunnen niet achteraf worden gewijzigd.

PCB van de BQ batterijen van HTE (3-schroef)

Hier laat ik een printplaat zien van de BQ accu van HTE (3 schroeven) en vind ik de relevante componenten voor een SoH/laadcyclusteller-reset. De opening van de JST GH connectoren 'J303' & 'J304' (foto links) zit aan de andere kant van de printplaat.

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

Omgekeerde techniek

De twee CHIP's zijn cruciaal voor het resetten van de SoH- en laadcyclusteller. Microchip PIC18F4685 en de externe Microchip EEPROM 24LC256. Om de 'ingewanden' te onderzoeken moet je wat forensisch onderzoek doen.

OD dump van de CAN-bus

OD staat voor octal dump en verwijst naar een UNIX commando waarmee een dump (geheugendump) mogelijk is in verschillende door mensen leesbare formaten. Deze dump is nodig om zogenaamde reverse engineering uit te kunnen voeren. Het dient als basis om uit te zoeken welke geheugensegmenten gereset moeten worden voor een SoH/load cycle counter reset.

Software: Met dumpcap een OD-dump kan worden gerealiseerd en vervolgens Wireshark worden geanalyseerd. Hoe je dit doet, lees je in hier mening. Er is meer theorie hier. Diverse CAN-busadapters bieden ook alles-in-één oplossingen.

Hardware: Aan de hardware kant heb je een CAN bus adapter nodig om de bus te kunnen sniffen (beluisteren). Zie bijv. 1 | 2 | 3.

Dump de BQ batterijen: In de speedpedelecreview.nl - Forum de gebruiker heeft Jebolic heb zo'n CAN-bus dump gepubliceerd voor de BQ983 & 814 accu's van HTE en de BQ618/655 van Simplon en het zo goed mogelijk gedocumenteerd. Ik heb het bestand grafisch wat mooier gemaakt en maak het hier 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.

Er wordt bijvoorbeeld beschreven hoe een EEPROM kan worden geprogrammeerd 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.

Is een reset ook mogelijk in hardware (reset-jumper)?

Deze variant is de eenvoudigste voor doe-het-zelvers. Er hoeft geen software geschreven te worden. Het nadeel is dat de batterij geopend moet worden. Je moet ook weten waar en hoe zo'n reset kan worden uitgevoerd.
BMS-ontwikkelaars maken deze taak soms gemakkelijker door een 'reset-jumper' op de printplaat aan te bieden. Dit is bijvoorbeeld het geval bij de voedingsbatterijen uit de BO-serie (Zie ook 'batterij resetten'). Dit ontbreekt op de BQ batterijen.

Er zijn verschillende methoden om de microchip en de EEPROM te resetten: Link 1 | Link 2 | Link 3. Bij de BQ accu's bevindt de sleutel zich op de JST GH connector 'J304' (pennen 4 & 6) aan de achterkant van de BMS.

Ze bedienen de overeenkomstige pinnen van de Microchip PIC18F4685.

Meer informatie

Gegevensblad Microchip PIC18F4685 Gegevensblad Microchip EEPROM 24LC256

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

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

Veel plezier! ... en zoals geschreven - feedback is altijd welkom!

Bijgewerkt op 25 augustus 2025
Was dit artikel nuttig?

Verwante artikelen

Laat een reactie achter