Excel Näherungsrechnung
#1
Hallo miteinander,

ich habe folgene Aufgabenstellung die ich in Excel nicht lösen kann (meine Kenntnisse halte sich auch in Grenzen)

Vielleicht ist dies aber auch nicht einfach zu lösen Dodgy

Da ich e-Bikes baue will ich das Batterie Pack auf Rundzellen umstellen, da die Pouch Zellen nicht lange konsisten leben.

Ich habe dazu 122 Zellen gekauft, die ich einzeln einem kompletten Lade und Entladezyklus + einem Last Entladezyklus unterzogen habe.
Dabei wurde das Ergebnis jeder Zelle des Entladezyklus zu diesem festgehalten.

Somit ergibt sich jetzt eine Liste mit der Zellennummer 1- 122 (1 Spalte) und den dazugehörigen Kapazitäten jeder Zelle (zweite Spalte)
Ich möchte nun eine 14 s 8p Akku bauen , das heißt 14 Zellen in Reihe geschaltet und jeweils 8 Parallel.

Jetzt die Problematik:
Unter allen Umständen muss die 8p also die 8 parallel geschalteten Zellen in Summe die "gleiche Kapazität" aufweisen wie alle anderen der 13 sPacks.
Ist dies nicht gewährleistet so entleert sich ein p- Pack schneller als die andern, dann schaltet das 'BMS and der Voltuntergrenze sicherheitsmäßig das ganze Pack aus
um nicht die niederste p- Reihe zu beschädigen

Das heißt , würde ich jetzt zufällig folgende Schaltung machen
S1p1 =z5330+z5223+z5321...-z8 hochwertige mAh Zellen
und
S2p2 = z4988+z4899+z4000...-z8 schlechte Zellen
Dann würde das nachvollziehbar dazu führe das wegen dem p2 kommuliert schlechen Kapazitäten das BMS diesen viel zu früh abschaltet,
obwohl in den ander ps noch genügend Energie vorhanden wäre!

Jetzt die Aufgabenstellung:

ich suche einen Lösungsalgorithmus, der als Eingabe" ns" und "np" hat und sich aus einer Gesamtanzahl "nz" die Zellen so heraussucht und zusammenstellt,
das jeder p- Pack sich der idealen durchschnittlichen Zellenkapazität nC-Gesamtkapazität a=Summe (c1:c122)/n-Zellen annähert.
Das hieße dann
p1 enthält Zelle Nr 1,5,78,34.. bis z8 
p2 ehthält Zelle Nr 2,66,122,... bis z8
alle ps sind im Schnitt
wie im Exel schon berechnet ~5691mAh

Die Datentabelle in Excelformat habe ich euch angehängt

Ich hoffe,  wenn es eine Herausforderung ist, ihr habt Spaß daran, es würde mir sehr helfen!
Vielen Dank im Voraus
Gruß Kai

.xlsx   Mittelwert Annaehreung Batterie p-Packs.xlsx (Größe: 102,11 KB / Downloads: 14)
Top
#2
Hallo Kai,

A. 14*8 sind 112 und nicht 122.

B. Vorschlag
In der Anlage habe ich deine Fragestellung als Solver-Problem augestellt (Aufruf über "Daten">"Analyse">"Solver").
Zu jeder Reihe wird das Quadrat der Abweichung des Reihenmittelwertes zum Gesamtmittelwert berechnet und die Summe dieser Quadrate wird minimiert.
Und hier noch einige Bemerkungen.
1. Der Lösungsalgorithmus muss EA sein.
2. Du solltest mit einer gültigen Variante starten, dh. jeder Reihe sollten 14 Zellen zugeordnet sein (zB. 14*(1,2...,8)).
Ansonsten hat der Solver ein Problem überhaupt eine gültige Lösung zu finden.
3. Da die Mutationen relativ dumm sind, solltest du unter Optionen die "Höchstzeit ohne Verbesserungen" relativ hoch setzen. Auch dann kann ein mehrmaliger Aufruf des Solvers noch eine Verbesserung ergeben.


Angehängte Dateien
.xlsx   Mittelwert Annaehreung Batterie p-Packs-1.xlsx (Größe: 104,2 KB / Downloads: 0)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#3
Hallo Kai,

Die Mutationen des Solvers sind in diesem Fall noch "dümmer" als ich erwartet hatte. Ich hatte im ersten Test wohl Glück, das der Solver schnell kleinere Summen der Quadrate gefunden hatte. Bei weiteren Test hat er aber häufig vorzeitig abgebrochen.

Daher zwei Vorschläge:

1. In der neuen Anlage habe ich ein kleines Makro geschrieben (hinter dem Button "tuwat"), dass die Summe der Quadrate zu Beginn ein wenig näher bei 0 starten läst als mein bísher vorgeschlagener Weg. Achtung! Wenn du es nutzt müssen die Kapazitäten der Zellen absteigend sortiert sein.

2. In der Datei ist die "höchste Zeit ohne Verbesserung" auf 30 Sekunden gesetzt. Im "Ernstfall" solltest du sie vervielfachen.


Angehängte Dateien
.xlsm   Mittelwert Annaehreung Batterie p-Packs-1.xlsm (Größe: 129,78 KB / Downloads: 1)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#4
Hallo Kai,

noch einmal.

Da meine Lösung mit dem Excel-Solver sowohl in der Zeit, als auch in dem Ergebnis nicht befriedigend war, habe ich hinter den Button "opt" eine für dieses Problem angepasste Optimierung geschrieben. Hierfür muss die Liste nicht mehr sortiert sein.


Angehängte Dateien
.xlsm   Mittelwert Annaehreung Batterie p-Packs-1.xlsm (Größe: 144,79 KB / Downloads: 6)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#5
Hallo Ego,
wow danke erst mal werde es mir am Wochenende anschauen
Vielen Dank erst mal für dein Mühe
Gruß Kai
Top
#6
Hallo Ego,
ich verstehe das modifiziertes Exel nicht richtig.
Vielleicht kann ich das Ergebnis aber auch nicht richtig interpretieren!?

Bild 1 angefügt
Hier mehr Informationen wie das Ergebnis aus meiner Sicht ausehen sollte
Die Zellen Nummern z.B. "1" und die Kapa 5656mAh müssen über alle Zellen so zugeordnet bleiben, da eindeutig.
Das Ergebnis sollte dann wie in der Matrix rechts ein Feld mit s14 x 8p ergeben,
in der in jeder Reihe (parallel)  sich dies selbe  durchschnittliche Kapa  (Zelle Nr n1+Zelle Nr n2....n8)/8=ca5656mAh ergeben sollte

Jede Zelle darf in der Matrix nur einmal vorkommen.
(Die Zellnummern die ich in der Grünen Reihe gewählt habe, sind willkürlich, nur zur Verdeutlichung und ergeben nicht den Zielwert)

Bild 2 angefügt
bei dir in der Excel sind die Kapaziäten andern Werten zugeordnet damit kann ich die bei mir beschrifteten Zellen und die Kappa in der Reihe nicht mehr zuordnen

Ich danke dir im Voraus für deine Hilfe
Gruß Kai


Angehängte Dateien Thumbnail(s)
       
Top
#7
Sorry, ich habe mich beim Berechnen vertan, Bin um 1 Fahrrad verutscht :16:

der Akkupack soll 16s 7p sein


Angehängte Dateien Thumbnail(s)
   
Top
#8
Hallo Kai,

zu Bild 2:
Ich hatte in meiner zweiten Version ein Makro (hinter "tuwat") geschrieben, für das die Spalte der Kapazitäten absteigend sortiert sein muste (das is in der aktuellen Version nicht mehr notwendig). Dabei hatte ich nicht verstanden, dass die Zellnummer eine Nummer einer bestimmten Zelle war und hatte sie nicht mitsortiert.

zu Bild 1:
A) aktuelles Programm

Ich hatte deine grüne Markierung in Spalte E so verstanden, dass dort die Nummer der Reihe in der diese Zelle eindgebaut werden sollte eingetragen wird.

Für das Makro werden zur Zeit nur zwei benannte Bereiche und zwei benannte Zellen benötigt.
1. benannte Zelle "parallel"
Hier wird die Anzahl der Reihen eingetragen.
2. benannte Zelle "Zeit"
Hier wird eingetragen nach wieviel Sekunden die Optimierung abbrechen soll, wenn keine Verbesserung mehr gefunden wird.
3. benannter Bereich "Liste"
In diesem Bereich werden die Kapazitäten der Zellen in der ersten (und zur Zeit einzigen) Spalte eingetragen. Die Anzahl der Zeilen muss ein vielfaches der Anzahl der Reihen sein (siehe auch B).
4. benannter Bereich "Ausgabe"
Dieser Bereich muss genau soviel Zeilen wie der Bereich "Liste" haben. Hier werden die gefundenen Reihennummern den Zellen zugewiesen.

Die Formeln ab Spalte G sind nur zur Anzeige der Zelle pro Reihe und der Reihenkapazitäten.

B) mehr Zellen als benötigt werden
Ich habe erst jetzt verstanden, dass du wahrscheinlich 10 Zellen mehr gemessen hast als du für dein Pack benötigst.
Wenn diese zusätzlichen Zellen auch in der Optimierung berücksichtigt werden sollen, würde es die Optimierung ein wenig aufwändiger machen.
Ich schlage daher vor für die Optimierung die Zellen mit den niedrigsten oder höchsten Kapazitäten nicht zu nutzen. Das müste bei 10 und mehr Zellen in einer Reihe wohl meistens ein gutest Ergebnis bringen. Falls es in einem Fall einmal nicht so ist, kannst du dich ja noch einmal melden.


Angehängte Dateien
.xlsm   Mittelwert Annaehreung Batterie p-Packs-2.xlsm (Größe: 140,81 KB / Downloads: 1)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#9
Hallo Kai,

Elex, ein weiterer häufiger Helfer in diesem Forum, hat mich darauf hingewiesen, dass ich deinen Text falsch gelesen habe.
In meiner Datei bilde ich für 7 Gruppen a 16 Zellen eine Verteilung so, dass die Summe von jeweils16 Zellen nahezu identisch sind. Gefragt war aber wohl, dass die Summe von jeweils 7 Zellen nahezu identisch sind.

Damit das Programm richtig arbeitet must du nur die Eingabe von ns und np vertauschen, aber die Formeln müssten angepasst werden.

Da ich die Aufgabe interessant fand und Elektromobilität in (fast) jeder Form unterstützen möchte, möchte ich dir zwei Angebote machen.

1. Ich kann die Datei -wenn gewollt- so umbauen, dass jeweils die Summe von np Zellen nahezu identisch sind (die Zahl bleibt natürlich für das Programm flexibel).

2. Ich kann -wenn gewollt- die Optimierung auch so erweitern, dass mehr Zellen berücksichtigt werden als für das Pack notwendig sind.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#10
Hallo Helmut,

das wäre super wenn du das anpassen könntest,
Ich sehe sonst für mich kein andere Möglichkeit, als die Zellen von Hand mühsam irgendwie zusammen zu suchen.
Wenn du dir die Mühe machen könntest wäre ich wie gesagt sehr dankbar.

Deine Bemühungen werden für ein einzigartiges Konzept verwendet und wahrscheinlich auch für die Nächsten.
Ich habe jetzt quasi  3 Fahrzeuge gebaut und jetzt kommt der Umbau auf Rundzellen da die einfach konstanter und langlebibger sind.

Ich hänge hier mal ein paar Bilder an damit du nachvollziehen kannst an was du dich beteiligst

Ich danke dir im Voraus

Gruß Kai

Kai


Angehängte Dateien Thumbnail(s)
                   
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste