Forum: Analoge Elektronik und Schaltungstechnik Programm für Transistorkennlinien


von Christian K. (cknoll)


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

von Simon (simonberlin)


Angehängte Dateien:

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...

von Christian K. (cknoll)


Lesenswert?

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.

von Yalu X. (yalu) (Moderator)


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.

von Dirk S. (dirkst)


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

: Bearbeitet durch User
von Guido B. (guido-b)


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).

von Yalu X. (yalu) (Moderator)


Lesenswert?

Guido B. schrieb:
> Ein Diagramm, bei dem die
> Pfeilspitzen in alle Richtungen zeigen, sind mathematisch
> unsinnig

Darin sehe ich kein Problem. Es gibt 4 beteiligte Größen (Uce, Ic, Ib 
und Ube) und damit 4 Koordinatenachsen, 4 Zahlenstrahlen und 4 
Pfeilspitzen.

von Christian K. (cknoll)


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.

von M. K. (sylaina)


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? ;)

von Yalu X. (yalu) (Moderator)


Lesenswert?

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

Hier sind alle vier zu sehen:

  https://upload.wikimedia.org/wikipedia/commons/e/e3/Kombiniertes_Kennlinienfeld_Transistor_2.svg

  https://de.wikipedia.org/wiki/Bipolartransistor#Kennlinienfelder

von M. K. (sylaina)


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?

von Christian K. (cknoll)


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.

von Stephan S. (uxdx)


Lesenswert?

Christian K. schrieb:
> Eventuell ein Programm bei dem man einfach Punkte einträgt.

gnuplot !!!

von Yalu X. (yalu) (Moderator)


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.

von Alexander S. (alesi)


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.

von Hannes J. (Firma: _⌨_) (pnuebergang)


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.

von Hannes J. (Firma: _⌨_) (pnuebergang)


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.

von Christian K. (cknoll)


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!

von Yalu X. (yalu) (Moderator)


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.

von Hannes J. (Firma: _⌨_) (pnuebergang)


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.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Hannes J. schrieb:
> 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.

Die letzte Version ist immerhin von 2009, und es ist nach wie vor in den
meisten Linux-Distros enthalten.

von Alexander S. (alesi)


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.

von Yalu X. (yalu) (Moderator)


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

von Alexander S. (alesi)


Lesenswert?

Yalu X. schrieb:
> gamma.py sieht nur so aus

Ja, korrekt. Danke.

von Re D. (Gast)


Lesenswert?

Ich habe immer Qtiplot genutzt. Das kann so ziemlich alles, aber für 
unsere klamme öffentliche Hand sicher zu teuer, obwohl es doch sicher 2 
10er-Potenzen billiger ist, als Origin.

von Christian D. (chris_f)


Lesenswert?

An der Stelle möchte ich noch folgende wertvolle Tools ergänzen:

- LabPlot: https://labplot.kde.org/
- Veusz: https://veusz.github.io/

von M. K. (sylaina)


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?

von Christian K. (cknoll)


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!

von Dirk S. (dirkst)


Angehängte Dateien:

Lesenswert?

Gruss

 zur Thematik
  habe ich noch 'exemplarisch'
  eine svg datei
  unter:
  https://lp.uni-goettingen.de/get/text/4274

   gefunden.

Dirk St

: Bearbeitet durch User
von Purzel H. (hacky)


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.

von Re D. (Gast)


Lesenswert?

Purzel H. schrieb:
> Solche Geschichten sollte man vermeiden ausser bei wirklichen
> Einzelstuecken, bei welchen der Aufwand keine Rolle spielt.

Es geht um Bildung, nicht um Massenproduktion.

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.