Bosch Athlet 25,2 V Akku 7 Stück Tauschen

#7739550
Lesenswert?

Hallo! Ich habe einen Bosch Athlet ProAnimal 25,2V BCH6Z000 Selbes Problem wie alle anderen auch. Das Board Layout sieht etwas anders aus. Ich wäre gern behilflich, diesen Sauger auch mit in die Firmware zu integrieren. Was braucht ihr da von mir? USBasp ist bestellt. Lötkenntnisse sind vorhanden ;)

mfg

Torsten

#7757430
Lesenswert?

Hallo, dies ist mein erster Eintrag. Ich bin auf der Suche nach Hilfe, da ich das Board mit DIY-Dateien aktualisiert habe. Mein Glück war nur von kurzer Dauer. Der Staubsauger funktionierte, aber nach dem Zusammenbau nicht mehr. Beim Versuch, ihn zu starten, blinken 1 x 4 LEDs (1 Power und 3 für den Batteriestatus). Beim Einstecken des Ladegeräts leuchten 3 LEDs auf. Wiederholte Versuche, das Gerät neu zu programmieren, bringen nichts. Das Modell, das ich habe, ist der BBH7320K. Ich weiß nicht, was schief gelaufen ist.

Angehängte Dateien:
#7798418
Lesenswert?

Hallo, Vielen Dank an Lena, Daniel, Drago und alle anderen, welche ihren aktiven Beitrag in diesem Forum gebracht haben. Mein defekter Bosch Athlet BBH6P25K läuft wieder, nachdem ich die Akkus einzeln wieder auf die gleiche Spannung geladen habe und die neue Firmware mit eXtreme Burner AVR geflasht habe. Das EEPROM lässt sich allerdings nicht löschen od. überschreiben, warum??? Der Staubsauger läuft trotzdem. LG

#8013909
Lesenswert?

Hallo zusammen, mein Beitrag ist zwar schon etwas älter, aber euer Code hat meinen Staubsauger gerettet. Entschuldigt mein Deutsch, ich benutze Google Translate. Ich habe die Funktion battmeas() leicht angepasst. Sie lieferte fehlerhafte Werte und schaltete sich ständig ab und lud dann wieder auf. Hier ist die neue Funktion:

1
void battmeas(){
2
  // 1. Switch to Host Mode and LATCH FETs 
3
  // We force CHG and DSG high so the BQ doesn't "blink" the power during measurement
4
  I2C_8Bit_writeToModule(0x10, 2, 0b00000010); 
5
  I2C_8Bit_writeToModule(0x10, 1, 0b00000110); 
6

7
  // 2. Measure Current with Filtering
8
  analogReference(DEFAULT); // 3.3V Ref
9
  delay(50);                 // CRITICAL: Let ADC voltage settle
10
  
11
  long currentSum = 0;
12
  for(int i=0; i<10; i++) {  // Take 10 samples to filter out noise
13
    currentSum += analogRead(IBAT);
14
    delay(2);
15
  }
16
  
17
  float avgIbat = currentSum / 10.0;
18
  I_CHG_BRUSH = IBAT_ZERO - avgIbat;
19
  I_CHG_BRUSH = I_CHG_BRUSH * 3.3 / 1023.0 / 10.0 / 0.005;
20

21
  // 3. Robust Charging Logic (Debounced)
22
  Serial.println("----- start of cyclic measurement -------");
23
  Serial.print("I_CHG_BRUSH="); Serial.print(I_CHG_BRUSH,2);
24
  
25
  if (I_CHG_BRUSH > 0.18) charging = HIGH;      // Slightly higher threshold
26
  else if (I_CHG_BRUSH < 0.08) charging = LOW; // Lower hysteresis floor
27
  
28
  Serial.print("A -> CHARGE:"); Serial.println(charging);
29
  brush_OC = (I_CHG_BRUSH < (BRUSH_I_MAX * -1.0));
30

31
  // 4. Measure Pack Voltage
32
  analogReference(INTERNAL); // 1.1V Ref
33
  delay(50);                 // Let ADC settle again
34
  BAT = analogRead(VBAT) * 1.1 / 1023.0 * 50.0;
35
  Serial.print("U_PACK = "); Serial.print(BAT, 2); Serial.println("V");
36

37
  // 5. Measure Individual Cells (Balancing OFF for accuracy)
38
  I2C_8Bit_writeToModule(0x10, 3, 0b00000001); 
39
  I2C_8Bit_writeToModule(0x10, 4, 0b00000000); 
40
  
41
  UCELLMIN = 5.0;
42
  UCELLMAX = 0.0;
43
  for (int x = 0; x < NUM_OF_CELLS; x++) {
44
    I2C_8Bit_writeToModule(0x10, 05, x); 
45
    delay(10); // Slightly longer delay for MUX to settle
46
    UCELL = ((0.975 - analogRead(VBAT) * 1.1 / 1023.0) / 0.15);
47
    
48
    Serial.print("Ucell_"); Serial.print(x+1); Serial.print("= ");
49
    Serial.print(UCELL, 3); Serial.println("V");
50
    
51
    if (UCELL < UCELLMIN) UCELLMIN = UCELL;
52
    if (UCELL > UCELLMAX) UCELLMAX = UCELL;
53
  }
54

55
  Serial.print("Ucmin= "); Serial.print(UCELLMIN,3);
56
  Serial.print("V / Ucmax= "); Serial.print(UCELLMAX,3);
57
  Serial.print("V / delta= "); Serial.println(UCELLMAX-UCELLMIN,3);
58

59
  // 6. Re-enable Balancing if needed
60
  if (NUM_OF_CELLS == 7) {
61
    I2C_8Bit_writeToModule(0x10, 3, 0b00010011);
62
    I2C_8Bit_writeToModule(0x10, 4, 0b01111111);
63
  }
64

65
  // 7. THE SAFETY EXIT: Only go back to Standalone if we are NOT charging
66
  // This prevents the BQ from shutting down the 5V LDO while charging
67
  if (!charging) {
68
    I2C_8Bit_writeToModule(0x10, 2, 0b11000000); 
69
    Serial.println("Mode: Standalone (Economy)");
70
  } else {
71
    Serial.println("Mode: Host (Active Charging)");
72
  }
73
  
74
  Serial.println("------ end of cyclic measurement --------");
75
  t_meas = 0;
76
}
#8091336
Lesenswert?

Ich habe auch so ein Board wo auf der Oberseite kein Controller drauf ist, blos ein BQ7693003.

Ich konnte die Rückseite bisher noch nicht anschauen. Ist da ein Controller drauf, bzw. was für einer?

Ich habe auf dem Balancer-Stecker 10 Leitungen. 8x Zellenspannungen + 2x Temp-Fühler.

Aktuell läuft der Sauger noch, aber nur für ca 20 Minuten auf Stufe 1 und ca. 3 Sekunden auf Turbo. Würde daher gern die Zellen tauschen.

Hat das bei dem Board hier schon wer gemacht? Gibt es bei diesem Board Besonderheiten zu beachten?

Würde sonst von der Reihenfolge B- ablöten, Balancer-Stecker trennen, B+ ablöten. Zellen tauschen und dann anschließen in umgekehrter Reihenfolge.

Danke schon mal...

Angehängte Dateien:
#8092282
Lesenswert?

So, hat etwas gedauert. Wollte erst den WAF für meinen Plan abchecken bevor ich das Ganze weiter voran treibe.

Mein aktueller Plan sieht vor die Zellen nicht nur zu tauschen, sondern auf ein 7s2p Pack zu erweitern. Zellen sind geordert und auf dem Weg. Das braucht dann ein paar Modifikationen am Gehäuse und eine angepasste Anordnung der Zellen. Sollte aber hoffentlich hinhauen.

Wenn wer Interesse am Ausgang des Experimentes hat... gerne melden, dann liefere ich mal ein Update dazu.

Klaus R. schrieb:

Wenn du nur die Zellen tauschen willst ist der Controller ja egal und um einen zellentausch geht es in diesem Thread eigentl. nicht. Ja auf der Rückseite muss maSgW ein Controller sein.

Mag sein, dass es in dem Thread mehrheitlich nicht direkt um Zellentausch geht, aber der Thread hat damit angefangen, dass Geräte durch Fehler beim Tausch unbrauchbar wurden oder ein Tausch allein die Geräte nicht wiederbeleben konnte, etc.

Daher meine Frage ob es Leute gibt die Erfahrung mit dem Board ohne Atmel Controller und eventuell hilfreiche Tipps dazu haben. Ob eventuell jemand Ahnung hat, ob sich diese Boards auch unter bestimmten Umständen quasi dauerhaft selbst deaktivieren oder Ähnliches und vor Allem wie ich das beim Zellentausch vermeiden kann. Aber auch ob eventuell jemand mit mehr Erfahrung generell ein Problem bei meinem geplanten Vorgehen für den Zellentausch sieht.

Bezüglich Controller bei meinem Board (vermutlich RL78 bzw. R7F0C901B2, konnte die Rückseite noch immer nicht genau genug inspizieren) muss ich gestehen, dass ich einen älteren Beitrag von Hubert in die Richtung übersehen habe - siehe unterhalb.

Die eigentliche Frage dazu wäre, ob es hier auch eine alternative Firmware gibt um Geräte wieder zu beleben... nach meinem aktuellen Erkenntnisstand glaube ich die Antwort ist leider nein, aber korrigiert mich da gerne wenn da jemand andere Infos hat.

An sich wäre das Analysieren der Platine und Entwickeln einer neuen Firmware schon was wo ich Bock drauf hätte... fürchte aber, dass mir aktuell dafür die Zeit fehlt. Speziell da ich mit dem Controller-Typ noch gar keine Erfahrung, keine Tools und vor allem keinen Programmer oder Debugger habe.

Hubert schrieb:

Vielen Dank für die Software, ich habe damit meinen Sauger wiederbelebt. Nun ist der augenscheinlich baugleiche neuere Sauger meiner Mutter defekt und nach dem Zerlegen habe ich festgestellt, daß dieser eine gänzlich andere Platine aus 2018 mit einer anderen MCU hat, statt einer ATmega328PB eine RL78/G13 (R7F0C901B2). BMS ist auch anders, nämlich eine BQ7693003. Dieser ist wesentlich weniger performant, aber daran sollte der Fehler nicht liegen. Kennt sich da wer aus? Da scheint mir die Sache recht kompliziert.

Wäre für jegliche Zusatz-Info dankbar. Werde aber mit meinem Plan starten sobald die Zellen da sind und ich ein ausreichendes Zeitfenster für die Bastelei finde.

: Bearbeitet durch User
#8092340
Lesenswert?

Интересно, как Вы туда вставите 7s2p ? Весь корпус испортите, будет выглядеть как какое то недоразумение. Мне вот очень бы хотелось увидеть, что из этого могло получиться. У нас практикуют в пятибаночные 10 элементов пихать. Феррит на помойку просто отправляют

#8092388
Lesenswert?

Dominik L. schrieb:

es hier auch eine alternative Firmware gibt um Geräte wieder zu beleben... nach meinem aktuellen Erkenntnisstand glaube ich die Antwort ist leider nein

Glaub ich auch.

Würde auch hoffen dass die Wechselroutine dann gleich ist. Aber das Inet/youtube sind groß, vll auch dort schauen. Oder, sehr aufwendig & unbequem, mit (kleinen) Stützzellen beim Tausch arbeiten.

Klaus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren