Forum: Analoge Elektronik und Schaltungstechnik Tutorial für Schaltungsoptimierung


von Dietmar W. (drdwo)


Lesenswert?

Ich verwalte die Python evolutionary optimization
library https://github.com/dietmarwo/fast-cma-es und würde
gerne ein Tutorial über Schaltungsoptimierung machen
auf Basis von Pyspice/ngspice.

So was wie Beitrag "Analoge Filter optimieren mittels NGSPICE"
(ein größerer Filter mit 8 Parametern zum drehen) wäre ideal,
es können auch gerne mehr Parameter sein.

Es soll so was ähnliches wie 
https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/Sweep.adoc 
oder 
https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/PowerPlant.adoc 
herauskommen, die auch auf Basis von Python-Simulations-Frameworks 
erstellt wurden.

fcmaes ist spezialisiert auf parallele Optimierung, auf einer modernen
Many-Core-CPU können viele Simulationen parallel ausgeführt werden.

Allerdings bin ich kein Elektronik-Spezialist, ich bräuchte also als 
Input eine Schaltung mit Hinweisen, welche Parameter variabel sind, 
welche Constraints beachtet werden müssen und welche Zielkriterien 
optimiert werden sollen (mit welcher Gewichtung).

Kann mir da jemand weiterhelfen? Vielleicht gibt es solche 
Problemebeschreibungen schon? Habe im Netz leider nur sehr einfache 
Beispiele gefunden, mich interessiert mehr etwas mit praktischer 
Relevanz, nach Möglichkeit mit Pyspice code.

von Bernd G. (Gast)


Lesenswert?

Ganz schön dickes Kaliber für deinen ersten Beitrag im Forum. Chapeau!

von Michael B. (laberkopp)


Lesenswert?

Dietmar W. schrieb:
> ich bräuchte also als Input eine Schaltung mit Hinweisen, welche
> Parameter variabel sind, welche Constraints beachtet werden müssen und
> welche Zielkriterien optimiert werden sollen (mit welcher Gewichtung).

Ja, so ist das. Wenn man das alles wüsste, produziert man nur noch 
optimale Schaltungen, auch ohne evolutionaty optimization.

Sicherlich ist ein Optimierungsziel die Kosten (Beschaffung und 
Produktion) und ein Constraint die Beschaffbarkeit, weitere Constraints 
sind die Einhaltung der gesetzlichen Anforderungen laut CE und weitere 
Optimierung wäre die Auswahl der passenden Schaltung mit den IC die die 
Umsetzung der vorgenannten Ziele optimal erlaubt.

Die Informationen kannst du nie alle zusammentragen.

Also musst du dich eng spezialisieren, z.B. nur auf eine Art von 
Schaltung mit nur 1 IC, für das es ein Spice-Modell gibt. Sagen wir 
MC34063 Schaltregler. Veränderbare Parameter stehen um Datenblatt.

Wenn dir alleine das gelingt für die Vorgabe von 
Eingangsspannungsbereich, Ausgangsspannung und Ausgangsstrom, zuerst die 
geeignete Schaltung auswählen, dann die Bauteilwerte berechnen, dann die 
Simulation die beweist dass es auch klappt, dann die Optimierung nach 
Beschaffbarkeit der Bauteile und deren Kosten sagen wir nur von Mouser, 
Digikey, TME  LCSC und Reichelt, unter dem Contraint avisierte 
Stuckzahl, 1-10 in THT, 11-1000000 in SMD, dann hättest du erstaunliches 
geleistet.

Das macht aber nur 0.0001% von dem aus, was ein Elektronikentwickler 
leisten muss.

von Falk B. (falk)


Lesenswert?

Schon wieder ein ChatGPT Test?

von Andrew T. (marsufant)


Lesenswert?

Bernd G. schrieb:
> Ganz schön dickes Kaliber für deinen ersten Beitrag im Forum.
> Chapeau!

drdwo  --- Dr. Dietmar Wolf


Akademiker Modus halt.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Dietmar W. schrieb:
> ich bräuchte also als
> Input eine Schaltung mit Hinweisen, welche Parameter variabel sind,
> welche Constraints beachtet werden müssen und welche Zielkriterien
> optimiert werden sollen (mit welcher Gewichtung).

Hier, wie waers mit sowas:
1
.
2
    75 Ohm      L1         L2         L3
3
 +--/\/\/\-+--UUUUUU--+--UUUUUU--+--UUUUUU--+------+
4
 |         |          |          |          |      |
5
 |         |          |          |          |      /
6
 |         |       C1 |       C2 |       C3 |      \
7
                     ---        ---        ---     /
8
 Uo        A         ---        ---        ---     \  300 Ohm
9
                      |          |          |      /
10
 |         |          |          |          |      \
11
 |         |          |          |          |      |
12
 +---------+----------+----------+----------+------+

Das Dingens soll bei f=135MHz an den 300 Ohm die Spannung Uo abfallen 
lassen.
Zusaetzlich sollte der Phasengang von dem Apparat zwischen "A" und 300 
Ohm im Bereich zwischen 0 und 135MHz moeglichst gut diese Formel 
approximieren:
1
Phi = - sqrt(f/fo)
Mit fo irgend eine Konstante > 0Hz.

Gesucht: Werte fuer L1..3 und C1..3
Gerne auch mit mehr LC-Gliedern in Kette fuer bessere Approximation.

Gruss
WK

: Bearbeitet durch User
von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Geometrische Impedanzanpassung zwischen den Stufen, schätze ich als 
Lösung. Wenn das so definiert ist, kann man dann die einzelnen Stufen 
direkt berechnen.

von Klaus K. (Gast)


Lesenswert?

Dietmar W. schrieb:
> Ich verwalte die Python evolutionary optimization
> library https://github.com/dietmarwo/fast-cma-es und würde
> gerne ein Tutorial über Schaltungsoptimierung machen
> auf Basis von Pyspice/ngspice.

> Allerdings bin ich kein Elektronik-Spezialist,


Dann fehlt Dir als Software-Verwalter leider die Voraussetzung 
irgendetwas praktisch Sinnvolles zum Thema "Schaltungsoptimierung" zu 
verfassen.

Generelle Anpassungsziele sind schwer zu benennen, da kann je nach 
Anwendungsbereich andere Systemeigenschaften, insbesonders 
nichtelektrische wichtig sein, wie:

*Nachbausicherheit
*robust gegen Typstreuung
*Stabilität gegen Alterung, Temperatur und Umweltschwankungen
*geringe Empfindlichkeit gegen Störungen und geringe Störausstrahlung 
(EMV)
*Test-/Kalibrieraufwand
*Patentumgehung
*Robustheit gegenüber Vibrationstest
*schneller Markteintritt
*Entzündungshemmung
*Schadensbegrenzung bei Ausfall

von Dietmar W. (drdwo)


Lesenswert?

>Dann fehlt Dir als Software-Verwalter leider die Voraussetzung
>irgendetwas praktisch Sinnvolles zum Thema "Schaltungsoptimierung" zu
>verfassen.

Ok, wenn das so ist, vergesst das Ganze. Einige scheinen sich hier auf 
den Schlipps getreten zu fühlen, mir ist nicht ganz klar warum.

Natürlich kann eine Optimierung von Schaltungsparametern nur einen 
kleinen Teil dessen abdecken, was ein Elektronik-Ingenieur leisten muss.

Und das ich nicht das Fachwissen habe, sinnvolle Probleme zu 
formulieren, habe ich ja so formuliert, deshalb meine Frage hier.

Ich hatte hier den Beitrag Beitrag "Analoge Filter optimieren mittels NGSPICE" 
gesehen und irrtümlich angenommen, das da ein Interesse besteht.

Es gibt ja auch eine Menge Publikationen zu diesem Thema, z.B.

- https://ieeexplore.ieee.org/document/5393356
- 
https://www.researchgate.net/profile/Alaa-Sheta/publication/220116199_Analogue_filter_design_using_differential_evolution/links/550756b90cf27e990e0661f9/Analogue-filter-design-using-differential-evolution.pdf
- https://link.springer.com/chapter/10.1007/978-3-642-38703-6_49
- https://www.ijspr.com/citations/v23n3/IJSPR_2303_846.pdf
- https://dialnet.unirioja.es/descarga/articulo/6227129.pdf

deshalb bin ich etwas überrascht über die ablehnende Reaktion.

: Bearbeitet durch User
von Dietmar W. (drdwo)


Lesenswert?

> Schon wieder ein ChatGPT Test?
Was ist ein ChatGPT Test?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Dergute W. schrieb:
> Hier, wie waers mit sowas:

Dann setze das doch mal um und wir schauen ob das mathematisch passend 
verifizierbar wird.

Die meisten Leute hier benutzen allerdings LTspice, einige auch TINA. 
Mit NGSPICE wird nur wenig Interesse bestehen.

Mal schauen was draus wird und was es bringt gegenüber ASCO...

von Dietmar W. (drdwo)


Lesenswert?

>Ja, so ist das. Wenn man das alles wüsste, produziert man nur noch
>optimale Schaltungen, auch ohne evolutionaty optimization.

>Sicherlich ist ein Optimierungsziel die Kosten (Beschaffung und
>Produktion) und ein Constraint die Beschaffbarkeit, weitere Constraints
>sind die Einhaltung der gesetzlichen Anforderungen laut CE und weitere
>Optimierung wäre die Auswahl der passenden Schaltung mit den IC die die
>Umsetzung der vorgenannten Ziele optimal erlaubt.

Automatisierte Schaltungs-Optimierung ist also nicht möglich, weil sich 
die Zielfunktion grundsätzlich nicht mit den Mitteln die PySpice bietet 
definieren lässt? In diesem Fall ist der Einsatz von evolutionary 
optimization in der Tat nicht sinnnvoll.

: Bearbeitet durch User
von Abdul K. (ehydra) Benutzerseite


Lesenswert?


von Ralf D. (doeblitz)


Lesenswert?

Dietmar W. schrieb:
>>Dann fehlt Dir als Software-Verwalter leider die Voraussetzung
>>irgendetwas praktisch Sinnvolles zum Thema "Schaltungsoptimierung" zu
>>verfassen.
>
> Ok, wenn das so ist, vergesst das Ganze. Einige scheinen sich hier auf
> den Schlipps getreten zu fühlen, mir ist nicht ganz klar warum.
>
> Natürlich kann eine Optimierung von Schaltungsparametern nur einen
> kleinen Teil dessen abdecken, was ein Elektronik-Ingenieur leisten muss.

Nö, die automatische Optimierung kann von den eigentlichen Tätigkeiten 
des Ingenieurs gar nichts abnehmen - sie kann ihm lediglich die 
mühseligen einzelnen Versuche ersparen.

Ich habe als Informatiker meine Studienarbeit über Evolutionsstrategien 
geschrieben, ich weiß also um was es hier wirklich geht. Und das 
Hauptproblem ist bei realen Anwendungen eben die Defintion der 
Ergebnisfunktion.

Wie reduzierst du ein Simulationsergebnis, bei deinem Beispiel für die 
Parametrisierung eines Analogfilters, auf einen einzigen Qualitätswert? 
Das ist ja genau das, was ein Ingenieur macht: sich das Ergebnis der 
Simulation anschauen und dann entscheiden ob diese Variante besser ist 
als eine anderen.

Was ist wichtiger: beim Frquenzgang lineares Verhalten im 
Durchlaßbereich, geringe/keine Überschwinger, steiler Abfall; welche 
Impulsantwort ist besser? Diese Bewertung hängt ja immer von der 
vorgesehenen Verwendung ab.

Deshalb ist Dietmars Aussage zwar harsch formuliert, aber leider wahr. 
Die Automatisierung der Parameter-Variation und nachfolgende Simulation 
damit ist der kleinste Teil der Optimierungsaufgabe. Und bei der 
Hauptaufgabe, der Bewertung der Ergebnisse kannst du eben leider nicht 
helfen. :-(

Falls natürlich jemand Probleme hat, bei denen man aus der Simulation 
automatisiert ein Qualitätsmaß ermitteln, dann würde das von die 
betreuete Framework sicherlich hilfreich sein.

Aber ganz ehrlich: meien Studienarbeit habe ich vor ein paar Jahrzehnten 
geschrieben (OK, war bei den Maschinenbauern, nicht bei den 
Elektrotechnikern), damals waren die "Probleme" sehr akademische 
Aufgabenstellungen, weil man für realistische Anwendungen eben das 
Problem der Ergebnisfunktion hatte. Und ich fürchte, diesbezüglich hat 
sich da nicht so wahnsinnig viel geändert.

von Michael B. (laberkopp)


Lesenswert?

Dietmar W. schrieb:
> Automatisierte Schaltungs-Optimierung ist also nicht möglich, weil sich
> die Zielfunktion grundsätzlich nicht mit den Mitteln die PySpice bietet
> definieren lässt?

Drücke es so aus: automatisierte (Schaltungs-)Optimierung ist nur 
möglich, wenn ich ein so einfaches Problem habe, dass Parameter und 
Bewertungsfunktion vorliegen.

d.h. nur in konkreten Einzelfällen.

Ich habe dir EINE Schaltung genannt an der man das machen könnte. Du 
kannst dir auch mal WeBench Power Designer von Texas Instruments 
angucken, der für den Spezialbereich Schaltregler der Bauteile die TI 
anbietet eine Berechnung nach gewissen Vorgabeparametern macht, welche 
Schaltungen mit welchen IC überhaupt in Frage kommen und die Kosten auch 
in Form von Leiterplattenfläche nennt. Evolutionär optimiert ist da noch 
nichts, aber die haben wenigstens Daten zusammengetragen. Lediglich bei 
den passiven Bauteilen wird genommen was das Datenblatt vorschlägt und 
nicht berechnet welche Folgen alle möglichen Bauteile zu ihren 
jeweiligen Kosten haben. Wer so was für alle Schaltregler-IC von allen 
Herstellern schafft, würde ohne Zweifel Aufmerksamkeit und Kundschaft 
bekommen, wenn er darüber hinaus nicht nur auf die Datenblattdesigns 
verweist sondern mit realen Passiv-Bauteilen die Schaltungen simuliert 
um Auswirkungen (z.B. auf Wirkungsgrad) der Nebenwerte (z.B. 
Drahtwiderstand der Spule) je nach Kosten der Bauteile zu erfassen, der 
wird bejubelt werden.

Und das alles ist nur ein Bruchteil dessen was die Elektronikentwicklung 
ausmacht.

Ich meine, wir brauchen immer noch einen hhinz weil es nicht mal eine 
App gibt, die auf ein Photo eines Bauteils Hersteller und Wert nennt. 
Und das wäre ganz ohne evolutionäre Algorithmen machbar (ok, runde 
Bauteile rundrum photographieren).

: Bearbeitet durch User
von Dietmar W. (drdwo)


Lesenswert?

Ralf D. schrieb:
> Nö, die automatische Optimierung kann von den eigentlichen Tätigkeiten
> des Ingenieurs gar nichts abnehmen - sie kann ihm lediglich die
> mühseligen einzelnen Versuche ersparen.

Ist das kein Widerspruch? Wenn ihm die "mühseligen einzelnen Versuche" 
erspart werden, wird ihm da nichts abgenommen?

> Ich habe als Informatiker meine Studienarbeit über Evolutionsstrategien
> geschrieben, ich weiß also um was es hier wirklich geht. Und das
> Hauptproblem ist bei realen Anwendungen eben die Defintion der
> Ergebnisfunktion.

Das ist korrekt. Wir brauchen aber noch zwei weitere Elemente:

- Programmatische (automatisierbare) Schaltungkonfiguration.
- Algorithmen, die diese möglichst parallel ausführen. Nicht mit 
zufälligen Parametern, sondern solchen die zu "interessanten" 
Ergebnissen führen.

PySpice löst das erste Problem (aus 
https://arxiv.org/pdf/2306.12224.pdf):

"Most of the commercially available software provides an interface to 
perform parametric analysis on a design. However, if we want to generate 
different versions of a circuit, each version has to be generated by 
hand (e.g., a flash ADC with different number of bits), thus reducing 
the possible space of exploration due to time or complexity constraints. 
With our tool, parametric characteristics can be embedded directly into 
the components and the multiple designs can be generated in a modular 
and programmable fashion."

> Wie reduzierst du ein Simulationsergebnis, bei deinem Beispiel für die
> Parametrisierung eines Analogfilters, auf einen einzigen Qualitätswert?

Wieso sollte das das Ziel sein? Es gibt MultiObjective und 
Quality-Diversity Optimierungsverfahren 
(https://arxiv.org/abs/2012.04322 ) damit man genau das nicht machen 
muss. Resultat sind nicht ein optimiertes Ergebnis, sondern eine Reihe 
von interessanten Alternativen. Die letzliche Auswahl erfolgt durch den 
Ingenier. Nur das "rumprobieren" wird automatisiert. Und zwar nicht mit 
zufälligen Parametern, sondern zielgerichtet auf "interessante" 
Bereiche. Man definiert also nicht ein einzelnes Objective, sondern 
mehrere, die definieren, welche Eigenschaften letztlich interessant 
sind.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Dietmar W. schrieb:
> PySpice löst das erste Problem

Natürlich nicht.

Aus welcher IT Traumwelt stammst du, den Exit aus dem Fantasy 
Rollenspiel nicht gefunden ?

Dietmar W. schrieb:
> With our tool, parametric characteristics can be embedded directly into
> the components

Reale Spice Modell sind eben NICHT so. Du willst doch wohl nicht als 
ersten Schritt alle Spice Modell überarbeiten von allen in Betracht 
gezogenen Bauelementen, damit sie parametrisierbar - ja was denn 
eigentlich, Wunschvorstellungen real nicht existierender Bauteile ? Mamz 
kann ja eine Chipfertigung bezahlen wenn es das geparameterte Ding nicht 
gibt, oder wie stellst du dir das vor ? - entsprechen.

Man ist froh, ein funktionierendes ausreichend realistisches Spice 
Modell zu finden. Extrawünsche sind da nicht drin. Und die Erstellung 
von Spice Modellen finanziert ganze Firmen, weil es Arbeit ist, eine 
Kunst. Und viele Modelle sind ziemlich schlecht.

von Klaus K. (Gast)


Lesenswert?

Dietmar W. schrieb:
>>Dann fehlt Dir als Software-Verwalter leider die Voraussetzung
>>irgendetwas praktisch Sinnvolles zum Thema "Schaltungsoptimierung" zu
>>verfassen.
>
> Einige scheinen sich hier auf
> den Schlipps getreten zu fühlen, mir ist nicht ganz klar warum.

Die allerallermeisten hier tragen keinen Schlipps sondern sind an ihren 
hochgekrempelten Ärmeln als Praktiker zu erkennen.
 Und dir scheint nicht klar zu sein, das Dein Eröffnungsbeitrag als 
"falsches/unhaltbares Versprechen" rüberkommt.

 Statt auf die Karte "Automatische Optimierung für Fachfremde" zu 
setzen, könntest Du eher ein Angebot zur "Design Space Exploration" 
machen. Sprich, es interessieren eher die Eckpunkte die mit einem 
gewissen "Schaltungsansatz" erreichbar sind. Also beispielsweise eine 
Aussage, ob es bei einem bestimmten Reglertyp/Schaltungsonzept überhaupt 
möglich ist die Überschwinger auf der Ausgangsseite kleiner als bspw. 2% 
zu halten.
Das erfordert meiner meinung nach lediglich, alle Simulationsergebnisse 
wiederholbar zu archivieren und aussagekräftig zu repräsentieren.

von Dietmar W. (drdwo)


Lesenswert?

Klaus K. schrieb:
> Und dir scheint nicht klar zu sein, das Dein Eröffnungsbeitrag als
> "falsches/unhaltbares Versprechen" rüberkommt.

Stimmt. Vielleicht kannst du mir da auf die Sprünge helfen?
Welches unhaltbare Versprechen genau? Wie kann man in dem, was ich 
geschrieben habe ein falsches Versprechen erkennen? Es war nur eine 
Bitte um Hilfe.

Man braucht nur einen Blick auf die Feature-Liste von PSPICE zu werfen, 
siehe z.B https://www.youtube.com/watch?v=VfUJMynqIeg , um zu erkennen, 
das für automatisierte Schaltungsoptimierung eine Menge Geld bezahlt 
wird.

Die Frage ist nur, ob man was ähnliches nicht auch mit Open Source
Software hinbekommt. Natürlich ist PySpice nicht perfekt, aber es ist 
ein erster Schritt hin zu programmatischer Schaltungsgenerierung, was 
wiederum Optimierungsverfahren anwendbar macht. Die womöglich am Anfang 
nur begrenzten praktischen Nutzen haben, ist das aber ein Grund, meiner 
Bitte um Rat mit so viel Ablehnung zu begegnen?

: Bearbeitet durch User
von Klaus K. (Gast)


Lesenswert?

Dietmar W. schrieb:
> ist das aber ein Grund, meiner
> Bitte um Rat mit Ablehnung zu begegnen?

Warum hast Du ein Problem damit, das man Dich hier nicht "beraten" kann 
und will?!

Du verschwendest hier nur Deine und anderer Leute Zeit.
Biete das doch einem Institut an, das sich auch mit 
Schaltungsentwicklung beschäftigt und frage/belaste dieses:

* https://www.ims.fraunhofer.de/
* https://www.ipms.fraunhofer.de/
* https://www.iem.fraunhofer.de/
* https://www.iis.fraunhofer.de/
...

von Dietmar W. (drdwo)


Lesenswert?

Klaus K. schrieb:
> Warum hast Du ein Problem damit, das man Dich hier nicht "beraten" kann
> und will?!

Hab ich nicht. Als Open-Source-Entwickler investiert man eine Menge 
Freizeit in sein Hobby. Soweit ich euch verstanden habe, nutzt ihr 
überwiegend Open-Source
Tools wie z.B. LTSpice. Ich bin einfach nur erstaunt, wie ablehnend ihr 
hier auf eine Anfrage eines Open-Source-Entwicklers reagiert. Ich werde 
euch nicht weiter belästigen.

von Klaus K. (Gast)


Lesenswert?

Dietmar W. schrieb:
> Klaus K. schrieb:
>> Warum hast Du ein Problem damit, das man Dich hier nicht "beraten" kann
>> und will?!
>
> Hab ich nicht. Als Open-Source-Entwickler investiert man eine Menge
> Freizeit in sein Hobby.

Eben, die Hardware-Entwickler hier investieren auch eine Menge Zeit in 
ihr Hobby und der Beantwortung von Forumsfragen.


Soweit ich euch verstanden habe, nutzt ihr
> überwiegend Open-Source
> Tools wie z.B. LTSpice. Ich bin einfach nur erstaunt, wie ablehnend ihr
> hier auf eine Anfrage eines Open-Source-Entwicklers reagiert.

Naja wie soll man sonst auf Penentrante Forderungen nach dem Schema:
"Ich möchte ein Anleitung für die Anwendung der x-ten tollen Bibliothek 
schreiben. Leider kenne ich mich mit Anwendungen der toll vrwalteten 
Software-Bibliothek nicht aus und möchte, das ihr mir eine besorgt."

Das nennt man wohl auch "Etwas wie sauer Bier kaufen" und verwundert 
bemerkt, das der Spruch "einem geschenkten Gaul, schaut man nicht ins 
Maul" nicht verfängt.

https://de.wiktionary.org/wiki/anbieten_wie_sauer_Bier
https://www.geo.de/geolino/redewendungen/3882-rtkl-redewendung-einem-geschenkten-gaul-schaut-man-nicht-ins-maul

Natürlich stellt man auch bei Open Source auch die "Sinnfrage". Erst 
recht wenn die eigene Zeit knapp ist.

> Ich werde
> euch nicht weiter belästigen.

Endlich, kann man in Ruhe Hardware entwickeln.

von Michael B. (laberkopp)


Lesenswert?

Dietmar W. schrieb:
> Die Frage ist nur, ob man was ähnliches nicht auch mit Open Source
> Software hinbekommt.

> programmatischer Schaltungsgenerierung

geht mit Spice schon immer, das Simulationsmodell ist eine Textdatei die 
man von einem Programm generieren lassen kann, z.B. Werte von 
Widerständen festlegen oder Diodentypen austauschen, damit kann man 
ganze Heerscharen von z.B. Frequenzbandfiltern generieren und 
vergleichend simulieren.

Die verwendeten Spice Modelle sind aber Beschreibungen real 
existierender Bauteile. Was willst du da mit einem Parameter (ausser der 
Temperatur) ? Bloss weil du eine Bauteilbeschreibung änderst, wird der 
Hersteller dir noch lange nicht ein zum Modell passend verändertes 
Bauteil produzieren. Du hast dann bloss ein schlechteres Modell des real 
existierenden Bauteils, oder vielleicht simulierst du damit 
Herstellerbauteilstreuungen und deren Auswirkung auf deine fest 
vorgegebene Schaltung. Reale Spice Bauteilparameter, wie die Kanalbreite 
eines MOSFETs, sind höchstens parametrisierbar wenn man einen eigenen 
Chip konstruiert und danach fertigen lässt - und dabei keine high level 
Tools einsetzt für die solche Details unwichtig sind, also eher 
onolithische Analogschaltkreise als Digitalschaltkreise entwirft.

Es ist aber ein sehr kleiner Haufen von Leuten, die real Analog-Chips 
entwickeln. Die können sich dann auch kommerzielle Software leisten.

von Dietmar W. (drdwo)


Lesenswert?

Michael B. schrieb:
> Es ist aber ein sehr kleiner Haufen von Leuten, die real Analog-Chips
> entwickeln. Die können sich dann auch kommerzielle Software leisten.

Für alle konstruktiven Beiträge möchte ich mich herzlich bedanken.

Für die Schaltung oben habe ich erste Optimierungsergebnisse. Aber auch 
andere Hinweise sind sehr hilfreich. Z.B darüber, wie Optimierung aus 
Praxis-Sicht am besten eingesetzt werden sollte, oder das kein Bedarf 
für eine Open-Source Lösung besteht, weil alle die das brauchen könnten, 
sich die kommerzielle Lösung leisten können. In anderen Bereichen in 
denen es Simulatoren gibt, ist das Interesse grösser (siehe 
https://github.com/AlgTUDelft/ExpensiveOptimBenchmark ) deshalb ist das 
kein Problem für mich.

von Rolf (rolf22)


Lesenswert?

Dietmar W. schrieb:
>> Schon wieder ein ChatGPT Test?
> Was ist ein ChatGPT Test?

Du bist Software-Spezi? Wo warst du in den letzten 12 Monaten? Auf einer 
Insel ohne Internet, Fachzeitschriften und Tageszeitungen?

https://de.wikipedia.org/wiki/ChatGPT

von Stefan S. (chiefeinherjar)


Lesenswert?

Dietmar W. schrieb:
> Für die Schaltung oben habe ich erste Optimierungsergebnisse.

Ja dann präsentiere sie doch mal. Ein handfestes Ergebnis bzw. eine 
reale Anwendung würde deine Chancen deutlich erhöhen, konstruktives 
Feedback bzw. positive Antworten zu bekommen.
Zeig, wie du die Lib angewendet hast, was der Aufwand war und was der 
Benefit für den Nutzer ist anstatt die beleidigte Leberwurst zu spielen, 
wenn  nicht jeder gleich Lobpreisungen auf deine bahnbrechende Library 
singt und sofort sich die ganze Community um eine Teilnahme an deinem 
Open Source Projekt schlägt.

von Lutz V. (lvw)


Lesenswert?

Dietmar W. schrieb:
> Klaus K. schrieb:
>> Warum hast Du ein Problem damit, das man Dich hier nicht "beraten" kann
>> und will?!
>
> Hab ich nicht. Als Open-Source-Entwickler investiert man eine Menge
> Freizeit in sein Hobby. Soweit ich euch verstanden habe, nutzt ihr
> überwiegend Open-Source
> Tools wie z.B. LTSpice. Ich bin einfach nur erstaunt, wie ablehnend ihr
> hier auf eine Anfrage eines Open-Source-Entwicklers reagiert. Ich werde
> euch nicht weiter belästigen.

Ja - das ist in diesem Forum leider eine oft "geübte Praxis".
Mit ganz speziellen Fragen zu einem realen praxis-orientierten Problem 
ist man hier ganz gut aufgehoben - aber etwas theoretisch-lastige 
Problemstellungen  werden von einigen hier dann gern auch als 
"theoretisch-lästig" empfunden und genauso beatwortet - nämlich mit Häme 
und/oder dummen Sprüchen.
Das geht bis zu Beschimpfungen und persönlichen Beleidigungen (wie ich 
selber schon erleben musste).
(Psychologen hätten ihre Freude an so einem entlarvenden Verhalten).

Schade, aber die Moderatoren dulden so ein niveau-schädigendes 
Verhalten.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ich bin uebrigens einer aus der Minderheit, die ngspice hernehmen und 
nicht ltspice.
Und ich finde es auch immer zum beoemmeln, wenn hier im Forum 
irgendwelche Kasper sich drueber beschweren, dass man ihnen mit seinen 
laecherlichen Problemen die kostbare Zeit stiehlt.
Die sollten sich mal umdrehen und gucken: Denn mit ziemlicher Sicherheit 
steht da keiner mit einer Knarre im Anschlag, der sie zwingt, Posts zu 
lesen die sie nicht interessieren und dann auch noch zwingt, auf diese 
Posts zu schreiben, dass man ihnen damit ihre "kostbare 
Beratungskapazitaet" raubt.

Wenn jemand wie der TO halt Bock hat auf irgendein Projekt, was alle 
anderen voellig bekloppt finden, so what? Wenn's dem TO Spass macht, 
soll er's doch durchziehen.

scnr,
WK

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Lutz V. schrieb:
> Schade, aber die Moderatoren dulden so ein niveau-schädigendes Verhalten.
Jaja, wenn man nur schnellstmöglich einen Schuldigen an der Misere 
gefunden hat...

> Das geht bis zu Beschimpfungen und persönlichen Beleidigungen
Habe ich hier keine gefunden.

Stefan S. schrieb:
> Dietmar W. schrieb:
>> Für die Schaltung oben habe ich erste Optimierungsergebnisse.
> Ja dann präsentiere sie doch mal.
+1

: Bearbeitet durch Moderator
von Dergute W. (derguteweka)


Angehängte Dateien:

Lesenswert?

Moin,

Uebrigens hier mal, was bei mir per asco und ngspice rauskam.
Kann auch durchaus sein, dass da noch irgendwas voellig schief laeuft, 
hab's nicht in alle Einzelheiten getestet. Werte scheinen mir auf den 
ersten Blick plausibel, die Naehrung des Phasenverlaufs halt schlechter 
als erhofft.
Im tar.gz die sourcefiles.

L1:  7.845645E-08
C1:  1.357967E-11
L2:  2.333868E-07
C2:  4.828468E-12
L3:  1.595007E-08
C3:  1.214463E-12
fo:  2.736146E+07

Obs mit Python besser geht? Und wenn ja, dann mit Python2 oder 3? ;-)

Gruss
WK

von Roland D. (roland_d284)


Lesenswert?

Moin,

Dietmar W. schrieb:
> Für die Schaltung oben habe ich erste Optimierungsergebnisse. Aber auch
> andere Hinweise sind sehr hilfreich. Z.B darüber, wie Optimierung aus
> Praxis-Sicht am besten eingesetzt werden sollte, oder das kein Bedarf
> für eine Open-Source Lösung besteht, weil alle die das brauchen könnten,
> sich die kommerzielle Lösung leisten können.

Meine Sicht:
Habe gerade so ein Problem und habe mir zur Lösung ein Programm selbst 
gestrickt. Es werden alle zu verändernden Parameter entlang einer 
zufälligen Gerade in 20 Schritten (.step) geändert, der User muss dann 
Simulieren und rückmelden, an welcher Stelle das Optimum lag. Dann 
wieder iterieren. Der User ist also Teil der Schleife des 
Optimiungsalgorithmus:-)

Das ist sehr stumpf, ineffizient, brute force und uncool. Aber es geht.

In meinem Fall muss ich tatsächlich Timing eines PWM-Signals, einen zu 
bauenden Trafo und Kondensatoren und Widerständen so abstimmen, dass 
alles gut läuft. Also das, was deine Software gut kann. Aber: Dieses 
Problem habe ich vielleicht zwei mal im Jahr. Und habe es mit inclusive 
Programmierzeit in 3 Tagen gelöst.

Wenn ich mir diesen Optimierungs-library-Kram anschaue, dann würde ich 
vermuten, dass ich eher drei Wochen brauche, um damit ein Problem zu 
lösen. Das die Software dann die Lösung in 10 Sekunden berechnet, spielt 
also gar keine Rolle. Und in einem halben Jahr habe ich die Bedienung 
wieder vergessen und muss mich neu einarbeiten.

Deine Software ist sicher gut an Stellen brauchbar, an denen solche 
Otimierungsprobleme alltäglich sind. In der Schaltungsentwicklung - das 
würde ich aus dieser Diskussion entnehmen - ist das eher nicht der Fall.

Also wenn deine Software aus genau einem Programm bestünde und das 
Tutorial aus einer Seite, dann wäre es super.

Gruß, Roland

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Was man bei solchen Simulationen auch immer im Hinterkpof behalten 
sollte:
jede Simulation ist bestenfalls so gut wie ihr schlechtestes Modell. 
Besonders in Grenzbereichen merkt man das dann schnell (frag das mal den 
TO im Beitrag "Re: INA117 Ausgangsspannung dauerhaft 1V").

Ich kenne das von so einigen Luftströmungssimluationen (zur Kühlung 
elektronischer Baugruppen), die nach einem ersten Versuch anhand der 
Realität so lange hingetrimmt wurden, bis sie dieser Realität 
entsprachen. Und wehe man hat dann irgendwas an der Realität geändert 
und z.B. ein kleines Blech anders gekantet...

: Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.