Visualisierung von LTspice-Ergebnissen als Sieben-Segment-Anzeige

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
Hallo,

dies ist ein Windows-Tool, mit dem sich exportierte Spannungen auf einer virtuellen 7-Segment-Anzeige visualisieren lassen.
Dieses Tool entstand, um die Ausgangsspannungen einer Simulation auf einer nachgebildeten 7-Segment-Anzeige darzustellen.

Show7Segment.png
Jede der Segmentspannungen V(a) .. V(g), V(RBO) steuert dabei ein Segment an; die Spannungen V(RBO) und V(Carryout) steuern zwei weitere "LEDs" an. Diese Spannungen entnimmt das Programm einer Text-Datei, die die Simulationsergebnisse enthält. Die Text-Datei exportiert man folgendermaßen:
  1. Nach der Simulation klicke auf das Plot-Fenster und dann auf File / Export. Dort wählst Du die oben benannten Spannungen aus. Als Dateiname wird der Name der Simulation mit der Endung .txt vorgeschlagen.
    (Voraussetzung ist natürlich, daß die Ausgangsspannungen tatsächlich V(a) .. V(g), V(RBO) und V(Carryout) heißen. Das Programm sucht in der Kopfzeile der Text-Datei nach diesen Spannungen, merkt sich die jeweilige Spalte und zeigt sie an. Es können ruhig auch weitere Signale gespeichert werden. Falls bestimmte Segment-Signale in der Datei fehlen, können deren Segmenten natürlich nichts anzeigen, der Rest funktioniert aber.)
  2. Dann starte das Programm Show7Segment.exe von der Kommandozeile oder per Batch-Datei:
    Show7Segment.exe CD4033_model_test.txt Start=0.0995 Ende=0.2005 Delay=0.5 Intervall=0.001 hell=FF4000 dunkel=C0C0C0 Schwelle=6.0
  3. Nach dem Aufruf zeigen eine animierte 7-Segment-Anzeige und 2 LED die Simulationsdaten an. Rechts oben steht die aktuelle Simulations-Zeit
    Mit der Schaltfläche "Abbruch" läßt sich das Programm jederzeit beenden.
Der Name der exportierten Datei wird als erster Parameter angegeben. Befindet sich die Datei nicht im aktuellen Ordner, so gib hier den absoluten oder reativen Pfad der Datei an. Enthält der Dateiname Spaces, so schließe ihn mit Anführungszeichen ein. Falls bei Aufruf kein Parameter angegeben ist oder der erste Parameter ein = enthält, öffnet sich ein Dateiauswahlfenster.
Für jeden der folgenden Parameter, der beim Aufruf fehlt, verwendet das Programm einen voreingestellten Wert.
Schwelle Höhe der Hell-Dunkel-Schwelle in V (voreingestellt: 2.5)
Start Anfang des betrachteten Zeitbereichs in Sekunden, siehe Plot-Fenster (voreingestellt: 0.0005)
Ende Ende des betrachteten Zeitbereichs in Sekunden (voreingestellt: 99999999)
Intervall In diesem Zeitintervall wird die exportierte Datei "abgetastet", in Sekunden. Bei einem Clock von 1 ms wäre hier z.B. Intervall=0.001 sinnvoll. (voreingestellt: 0.001)
Delay Verzögerungszeit für die Anzeige aufeinanderfolgender Abtastungen, in Sekunden (voreingestellt: 0.5)
hell RGB-Wert für ein helles Digit, (V(<Segment>) >= <Schwelle>). (voreingestellt: FF4000)
dunkel RGB-Wert für ein ausses :) Digit, (V(<Segment>) < <Schwelle>).(voreingestellt: C0C0C0)

Wenn Du nur die Segmente/LEDs nur zu einem bestimmten Zeitpunkt betrachten willst - z.B. bei 145 ms - , dann gib an: Start=0.145 Ende=0.145 .

Gruß, Frank

Version 04.10.21
- Hell-Dunkel-Schwelle per Parameter einstellbar
- Dateiauswahlfenster, wenn beim Aufruf keine Datei angegeben wurde
 

Anhänge

Zuletzt bearbeitet:

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
Feststellung:
Die Kopfzeile der erzeugten txt muss exakt folgende Bezeichnungen beinhalten, wobei die Reihenfolge der Signale keine Rolle spielt:
Code:
Bitte, Anmelden oder Registrieren to view codes content!
Dh, wenn zBsp V(CA) anstelle von V(Carryout) steht, werden diese Daten nicht verarbeitet.
So werden also diese Signale nicht ausgegeben.
 
Zuletzt bearbeitet:

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
Ja, damit man sie den Segmenten zuordnen kann. Das Programm sucht in der Kopfzeile nach diesen Spannungen, merkt sich die jeweilige Spalte und zeigt sie an. Es können ruhig auch weitere Signale gespeichert werden. Falls bestimmte Segment-Signale in der Datei fehlen, können deren Segmenten natürlich nichts anzeigen, der Rest funktioniert aber.
 

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
Kann man mit Autohotkey auch Abfragen ins Script einbauen?
So könntest im laufenden Script nach der Datei (txt) fragen und ev sogar noch, welche Signale man noch zusätzlich als LED anzeigen lassen möchte.

Das sind nur Ideen. Dein Script V1.0 ist jetzt schon der Hit ^^
 

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
^^ You're welcome!
Ja, das geht. Die Abfrage würde z.B. genau dann aufpoppen, wenn der erste Parameter kein Dateiname ist. Die Signalnamen für die 7 Segmente und sagen wir mal 5 zusätzliche Signale könnte man in einer INI-Datei anpassen oder/und als Kommandozeilenparameter übergeben.

Gruß, Frank
 

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
Es wäre ev noch praktisch, wenn man die Schaltschwelle zwischen H und L verändern könnte. Die Voreinstellung 2.5V ist zwar meistens passend, aber keine Regel ohne Ausnahme ^^
 

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
Ich arbeite an einer Python Lösung.
Bin schätzungsweise in der Hälfte.
Wenn fertig, werd ich eine exe daraus machen, damit auch die einfältigsten Windows User die gebrauchen können.

Die ganze Auswertung fehlt noch!!!!
 
Zuletzt bearbeitet:

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
Wie schon per PN gesagt - der Link tappt leider ins Leere.
Die Python-Version würde mich schon interessieren.

Mal sehen, vielleicht mache ich das auch mal in JavaScript. Aber eher als proof-of-concept - es stürzen sich ja noch keine großen User-Horden auf das Programm. NOCH!!!
So eine universelle, betriebssystemunabhängige Visualisierung hätte schon was.

Gruß, Frank
 

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
Bei Show7Segment.exe öffnet sich nun ein Dateiauswahl-Fenster, wenn man beim Aufruf keine Datei angegeben hat.
Außerdem kann man mit dem Parameter Schwelle die Umschaltschwelle zwischen hellem und dunklem Segment angeben.

Gruß, Frank
 

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Wer hat diesen Thread gelesen

Oben