Programm für Transistorkennlinien

OP #7521246
Lesenswert?

Hallo!

Ich suche ein Programm mit dem Ich Koordinatensysteme wie solche für Transistorkennlinien einfach erstellen kann.

Ich selbst könnte die Messschaltung aufbauen und in LTSpice oder anderen Tools darstellen. Hier geht es eher um etwas ganze einfaches bei dem Die Schüler ihre Messwerttabellen in Diagrammform übertragen können. Das gute alte Millimeterpapier ist natürlich immer möglich aber ich habe mich gefragt ob es außerhalb von Excel eine schnelle und wenn es geht kostenlose Version von soetwas gibt. (In Excel kann man ja dann auch nur 1-achsige Diagramme machen und dann aneinander Stückeln....)

Eventuell ein Programm bei dem man einfach Punkte einträgt. Die meisten Online-Programme, wie Desmos oder GeoGebra benötigen ja fertige Funktionen zum darstellen...

Viele Grüße, Christian

#7521281
Lesenswert?

Christian K. schrieb:

(In Excel kann man ja dann auch nur 1-achsige Diagramme machen und dann aneinander Stückeln....)

Also ich bin mir ziemlich sicher dass Excel so wie auch Libreoffice Calc ein x/y Diagramm kann in dem man einfach eine Tabelle mit Wertepaaren erstellt.

Einfach nur die Werte in der Tabelle angelegt und dann als x und y Werte in dem Diagramm benutzt. Ich hab einfach mal quadratisch gemacht weil ich gerade keine echten Kennlinienwerte zur Hand hatte.

Irgendwo gab es da auch mal eine Funktion die dann eine Kurve in die Werte fitted und die Formal dazu ausspuckt...

Angehängte Dateien:
Moderator #7521373
Lesenswert?

Solche Vierquadrantendiagramme sind nicht sehr verbreitet, weswegen die meisten Plotprogramme dafür keine direkte Unterstützung bieten.

Das gilt prinzipiell auch für Matplotlib (eine Graphenplotbibliothek für Python), allerdings ist dieses Tool so mächtig, dass man mit relativ wenigen Verrenkungen auch sehr spezielle Dinge hingebastelt bekommt.

Das Vierquadrantendiagramm würde man damit aus vier einzelnen Diagrammen zusammensetzen, wobei sich jeweils zwei horizontal oder vertikal benachbarte Diagramme die y- bzw. x-Achse teilen. Dadurch überflüssig werdende Achsenbeschriftungen kann man ausblenden.

Matplotlib ist aber nicht klickibunti, d.h. man muss ein paar Zeilen Python programmieren, um zum gewünschten Ergebnis zu gelangen. Am besten schreibt der/die Klassenbeste oder der Lehrer diesen Code in einer Weise, dass die Messdaten von Textdateien gelesen werden, während der Rest der Schüler die Messungen durchführt und die Messdaten mit einem Texteditor (bspw. Notepad) in die Dateien einträgt. Schließlich wird der erstellte Python-Code mit den Textdateien gefüttert, um das Diagramm zu generieren.

#7521515
Lesenswert?

Mit Gruss

Ich ergänze dann mal zu der kompetenten Erwähnung von python matplotlib mit pyspice.

Als Vorschlag: 'bjt matplotlib' angabe in der internet suche

Die Beispiele bei matplotlib zeigen sich exemplarisch, Darstellung einfacher Tabellen bis hin zu Python und Module umfassend verstehen, und für Diagramme verwenden.

Dirk St

#7521535
Lesenswert?

Yalu X. schrieb:

Solche Vierquadrantendiagramme sind nicht sehr verbreitet

und das aus gutem Grunde. Ich finde man sollte gerade Schülern gegenüber Abstand davon nehmen. Ein Diagramm, bei dem die Pfeilspitzen in alle Richtungen zeigen, sind mathematisch unsinnig. Immer daran denken, dass der Pfeil den Zahlenstrahl darstellen soll. Vermutlich wird das auch deshalb in den Datenblättern seit Jahrzehnten nicht mehr so gemacht.

Mit drei Diagrammen muss man zwar die einzelnen Werte jeweils übertragen, dafür geht das aber auch mit (fast) jedem Programm (damit meine ich z.B. Gnuplot).

OP #7521615
Lesenswert?

Yalu X. schrieb:

Matplotlib ist aber nicht klickibunti, d.h. man muss ein paar Zeilen Python programmieren, um zum gewünschten Ergebnis zu gelangen. Am besten schreibt der/die Klassenbeste oder der Lehrer diesen Code in einer Weise, dass die Messdaten von Textdateien gelesen werden, während der Rest der Schüler die Messungen durchführt und die Messdaten mit einem Texteditor (bspw. Notepad) in die Dateien einträgt. Schließlich wird der erstellte Python-Code mit den Textdateien gefüttert, um das Diagramm zu generieren.

Auch Dirk, danke für die Ergänzung. Wird wohl so werden, dass ich ein Programm in Python vorbereite und die Schüler die Textdateien dazu.

#7521633
Lesenswert?

Christian K. schrieb:

Ja, für einzelne Werte passt das super, aber ein Transistorkennliniendiagramm besteht ja aus 4 unterschiedlich beschrifteten Achsen.

https://ueba.elkonet.de/static/ueba/eoffline/sites/bau/diagramm/02031111.gif

Und die bekommt mit Excel so mmn nicht hin. 4 Einzelne Diagramme sind kein Problem, aber dann passt das Ablesen nicht so toll.

Ich sehe da eigentlich nur zwei Diagramme, 3 mit wohlwollen aber 4? Ube über Uce...also wie soll das aussehen? ;)

#7521713
Lesenswert?

Yalu X. schrieb:

Hier sind alle vier zu sehen:

Danke Yalu, für dieses Beispiel. Mir ist schon klar, dass es die vier Diagramme gibt. Wenn aber der, der schon eine Lösung für das Problem sucht, nicht mal in der Lage ist zu zeigen, was er sich am Ende vorstellt...mein ';)' am Ende meines Posts war nicht grundlos. Schon die Darstellung des 2. und 4. Quadraten ist ja alles andere als trival. Der Nutzen dieser Digramme, insbesondere bei Schülern, ist recht fragwürdig ;)

Meiner Ansicht nach sollte der TE überlegen, ob es wirklich Sinn macht, seinen Schülern so ausgiebig eine doch schon recht lange, veraltete Darstellung beizubringen. Ich will nicht sagen, dass es schaden würde, aber was nützt es bei der begrenzten Lehrzeit?

OP #7521911
Lesenswert?

M. K. schrieb:

Yalu X. schrieb:

Meiner Ansicht nach sollte der TE überlegen, ob es wirklich Sinn macht, seinen Schülern so ausgiebig eine doch schon recht lange, veraltete Darstellung beizubringen. Ich will nicht sagen, dass es schaden würde, aber was nützt es bei der begrenzten Lehrzeit?

Jo mein Fehler, die Rückwirkungskennlinie macht keiner - ich auch nicht. Brauche trotzdem ein Koordinatensystem mit 4 verschiedenen Achsen :P

Meine Schüler sind Elektroniker für Geräte und Systeme sowie Elektroniker für Automatisierungstechnik. Da kommt es schonmal vor, dass man sich einen Transistor ausmessen und sein spezifisches Kennlinienfeld erstellen muss. Und diese Kenntnisse und Fähigkeiten werden als Teil meines Elektronikkurses anhand der eigenständigen Dimensionierung einer Transistorschaltung aufgebaut.

Datenblatt vom BC547 nützt mir recht wenig (eine Erkenntnis des Kurses) da die Kennlinien Mittelwerten von x Samples entnommen sind. Wenn's genau werden soll müssen also Kennlinien von dem Transistor aufgenommen werden, den man dann vor sich hat. Dann kann man auch mit Basteltransistoren und ein bisschen Abgleichen gute Ergebnisse erzielen.

Die Frage war ob es da etwas gibt, dass auch "Laien" (also keine Programmierer) auf dem Tablet/Laptop (Digitalisierung kommt in großen Schritten) Nutzen können, ohne dass man Millimeterpapier verwenden muss. Man kann natürlich auch einfach in eine Millimeterpapier-PDF einzeichnen, aber das ist unelegant. Daher der Post und die Frage ob Programme für komplexere Koordinatensysteme existieren.

Moderator #7521923
Lesenswert?

Stephan S. schrieb:

gnuplot !!!

Daran dachte ich auch zuerst, allerdings habe ich auf die Schnelle keine praktikable Möglichkeit gefunden, die drei bis vier Einzeldiagramme bzw. die vier verschiedenen Achsen zu einem zusammenhängenden Diagramm zusammenzupappen. Selbst wenn es doch irgendwie möglich sein sollte, wird der Schreibaufwand für das Skript vermutlich nicht viel geringer als für das entsprechende Python-Programm mit Matplotlib sein.

#7521930
Lesenswert?

Yalu X. schrieb:

allerdings habe ich auf die Schnelle keine praktikable Möglichkeit gefunden, die drei bis vier Einzeldiagramme bzw. die vier verschiedenen Achsen zu einem zusammenhängenden Diagramm zusammenzupappen.

Das geht mit 'set multiplot' https://gnuplot.sourceforge.net/demo/layout.html Wenn man im Beispiel ganz unten die Abstände Null oder fast Null setzt, sollte es gehen. Bleibt noch die Achsen passend zu beschriften.

#7521935
Lesenswert?

Guido B. schrieb:

Yalu X. schrieb:

Solche Vierquadrantendiagramme sind nicht sehr verbreitet

Sie sind - leider - immer noch in der Ausbildung verbreitet. In der Praxis verwendet die doch keiner. Letztmalig habe ich ein Vierquadrantendiagramm vor Jahrzehnten in einem alten Datenblatt für einen Telefunken-Transistor gesehen.

und das aus gutem Grunde. Ich finde man sollte gerade Schülern gegenüber Abstand davon nehmen. Ein Diagramm, bei dem die Pfeilspitzen in alle Richtungen zeigen, sind mathematisch unsinnig.

Das auch. Aber schon deshalb weil sie in der Praxis nicht verwendet werden sollte man endlich drauf verzichten. Man kann die einzelnen Kennlinien auch separat behandeln.

#7521947
Lesenswert?

Yalu X. schrieb:

Stephan S. schrieb:

gnuplot !!!

Daran dachte ich auch zuerst, allerdings habe ich auf die Schnelle keine praktikable Möglichkeit gefunden, die drei bis vier Einzeldiagramme bzw. die vier verschiedenen Achsen zu einem zusammenhängenden Diagramm zusammenzupappen.

Ich würde aus Spaß wahrscheinlich sehr old-school ran gehen.

GNU graph aus aus den GNU plotutils (nicht gnuplot!). Ein GNU Clone vom alten Unix graph Programm (kennt kein Mensch). https://www.gnu.org/software/plotutils/

Da speziell das Multiplotting https://www.gnu.org/software/plotutils/manual/en/html_node/Multiplotting.html#Multiplotting

Drumherum fleißig skripten. Tabellen einlesen, Diagramm skalieren usw.

Einfach aus Spaß, nach dem Motto geht doch, weil ich es ewig nicht mehr gemacht habe und weil es so exotisch ist :)

Eine andere Alternative aus der Ecke wäre troff mit pic.

OP #7521964
Lesenswert?

Hannes J. schrieb:

Guido B. schrieb:

Yalu X. schrieb:

Solche Vierquadrantendiagramme sind nicht sehr verbreitet

und das aus gutem Grunde. Ich finde man sollte gerade Schülern gegenüber Abstand davon nehmen. Ein Diagramm, bei dem die Pfeilspitzen in alle Richtungen zeigen, sind mathematisch unsinnig.

Das auch. Aber schon deshalb weil sie in der Praxis nicht verwendet werden sollte man endlich drauf verzichten. Man kann die einzelnen Kennlinien auch separat behandeln.

In den Vierquadrantendiagrammen kann man halt so schön mit Lineal arbeiten wenn man für die Wertefindung die Quadranten durchquert. (Nostalgie?) Im Datenblatt sind ja heute auch eher einzelne Diagramme zu finden das stimmt!

Moderator #7521967
Lesenswert?

Alexander S. schrieb:

Das geht mit 'set multiplot' https://gnuplot.sourceforge.net/demo/layout.html Wenn man im Beispiel ganz unten die Abstände Null oder fast Null setzt,

Ah, jetzt, ja, der Parameter "spacing" in multiplot macht das Gewünschte. Danke für die Erleuchtung :)

Dann ist Gnuplot natürlich auch ein Kandidat.

Ich habe das "spacing" in der Doku wohl übersehen und nur mit "scale" und "offset" herumprobiert. Diese Parameter beziehen sich aber wohl auf die Diagramme inkl. Beschriftung, weswegen es kaum möglich ist, damit den grafischen Teil der Diagramme präzise und lückenlos nebeneinander- bzw. übereinanderzulegen.

Hannes J. schrieb:

GNU graph aus aus den GNU plotutils (nicht gnuplot!).

Danke, das kannte ich noch nicht. Werde es bei Gelegenheit auch mal ausprobieren.

#7521994
Lesenswert?

Yalu X. schrieb:

Danke, das kannte ich noch nicht. Werde es bei Gelegenheit auch mal ausprobieren.

Sagen wir mal so, graph ist kein stark nachgefragtes Wissen :) Heutzutage nicht und wahrscheinlich nie. Es tauchte wohl erstmals 1975 in Version 6 Unix auf und schimmelt seit fast 50 Jahre vor sich hin. Das es überhaupt eine GNU Version gibt hat mich sehr überrascht als ich das vor Jahren zufällig gesehen habe.

#7522023
Lesenswert?

Hallo,

drei weitere Optionen

https://plplot.sourceforge.net/examples.php

https://www.dislin.de/examples.html

https://asymptote.sourceforge.io/gallery/2Dgraphs/index.html

Damit sollte sich ein Kennlinienfeld relativ "einfach" realisieren lassen, auch wenn ich keine konkreten Beispiele gefunden habe.

alignedaxis.asy und gamma.asy unter https://asymptote.sourceforge.io/gallery/2Dgraphs/index.html sind ja schon dicht dran.

Moderator #7522044
Lesenswert?

Alexander S. schrieb:

alignedaxis.asy und gamma.asy unter https://asymptote.sourceforge.io/gallery/2Dgraphs/index.html sind ja schon dicht dran.

alignedaxis.asy, ja, da müssen nur noch irgendwie die 4 Koordinatensysteme zusammengeschoben werden.

gamma.py sieht nur so aus, tatsächlich ist das eine einzelne Funktion, die für ganzzahlige Argumente ≤ 0 Polstellen hat:

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

#7522433
Lesenswert?

Christian K. schrieb:

In den Vierquadrantendiagrammen kann man halt so schön mit Lineal arbeiten wenn man für die Wertefindung die Quadranten durchquert.

Naja, das kann man auch in einzelnen Diagrammen: Wenn man Achse y an Punkt X in Diagram 1 verlässt sollte klar sein, dass man in Diagram 2 bei Achse y, Punkt X ins "neue" Diagramm wieder einsteigt. DAS sollte doch bei eurem Niveau keine unüberwindbare Hürde sein. ;)

Seis drum, es gibt ja anscheinend einige Lösungen dafür die aber alle mehr oder wneiger Programmieraufwand erfordern oder hast du schon was gefunden, was deinen Anforderungen entspricht?

OP #7522441
Lesenswert?

M. K. schrieb:

Naja, das kann man auch in einzelnen Diagrammen: Wenn man Achse y an Punkt X in Diagram 1 verlässt sollte klar sein, dass man in Diagram 2 bei Achse y, Punkt X ins "neue" Diagramm wieder einsteigt. DAS sollte doch bei eurem Niveau keine unüberwindbare Hürde sein. ;)

Seis drum, es gibt ja anscheinend einige Lösungen dafür die aber alle mehr oder wneiger Programmieraufwand erfordern oder hast du schon was gefunden, was deinen Anforderungen entspricht?

Du hast recht das Ablesen aus 4 einzelnen Diagrammen sollte an der Stelle Vorausgesetzt sein. Aber du glaubst nicht was es für Azubis gibt. Da musst du eben wirklich sehr weit unten ansetzen damit die überhaupt noch mitkommen.

Teste gerade noch Veusz und labPlot. Aber in allem gab es hier viele hilfreiche Einwürfe und Links. Ich schwanke momentan noch zwischen gnuPlot oder Excel. Excel könnten die Auszubildenden vermutlich selbst bedienen. Bei gnuplot müsste ich ein Programm vorbereiten, geht aber auch.

Auf jeden fall ist das Thema an der Stelle hiermit für mich geklärt und ich danke allen Beteiligten!

#7523114
Lesenswert?

Christian K schrieb :

Datenblatt vom BC547 nützt mir recht wenig (eine Erkenntnis des Kurses) da die Kennlinien Mittelwerten von x Samples entnommen sind. Wenn's genau werden soll müssen also Kennlinien von dem Transistor aufgenommen werden, den man dann vor sich hat. Dann kann man auch mit Basteltransistoren und ein bisschen Abgleichen gute Ergebnisse erzielen.

Solche Geschichten sollte man vermeiden ausser bei wirklichen Einzelstuecken, bei welchen der Aufwand keine Rolle spielt. zB bei Ultra Low Noise Verstaerkern, bei welchen man eine ganze Reihe von einzeln ausgemessenen Transitoren parallel schaltet. Das Rauschen geht mit der Wurzel der Anzahl. Dann muss man aber auch alles Andere richtig machen. Ich hatte hier einen auf dem Tisch, 1-100kHz, Gain 1000, 1nV/rtHz, bei bis 200V DC Bias, oder aehnlich.

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